ความซับซ้อนหรือวงจรของตัวดำเนินการเชิงเส้นหนาแน่น


14

พิจารณาวงจรแบบโมโนโทนเดียวต่อไปนี้: แต่ละเกจเป็นเพียงไบนารีหรือ อะไรคือความซับซ้อนของฟังก์ชั่นf ( x ) = A xf(x)=Axโดยที่AAคือบูลีนเมทริกซ์ที่มี 0 มันสามารถคำนวณได้โดยขนาดเชิงเส้นหรือวงจร?n×nn×nO(n)O(n)

อีกอย่างเป็นทางการคือฟังก์ชันจากถึงบิต เอาท์พุท -th ของมี (เช่นการหรือการย่อยของบิตการป้อนข้อมูลที่ได้รับจากแถว -th ของ)ffnnnniiffnj=1(Aijxj)nj=1(Aijxj)iiAA

โปรดทราบว่า 0 แยกแถวของเป็นช่วง (ชุดย่อยที่ประกอบด้วยองค์ประกอบต่อเนื่องของ ) สิ่งนี้ทำให้สามารถใช้โครงสร้างข้อมูลแบบสอบถามช่วงที่ทราบได้ เช่นโครงสร้างข้อมูลตารางเบาบางสามารถกลายเป็นหรือวงจรขนาดn) อัลกอริธึมของ Yaoสำหรับการสอบถามโอเปอเรเตอร์กึ่ง semigroup สามารถเปลี่ยนเป็นวงจรเชิงเส้นตรงเกือบ (ขนาดโดยที่คือ Invermann ผกผัน)O(n)O(n)AAO(n)O(n)[n][n]O(nlogn)O(nlogn)O(α(n)n)O(α(n)n)α(n)α(n)

โดยเฉพาะฉันไม่ทราบวิธีสร้างวงจรขนาดเชิงเส้นสำหรับกรณีพิเศษที่แต่ละแถวของประกอบด้วยศูนย์สองตัว ในขณะที่กรณีของศูนย์หนึ่งในแต่ละแถวเป็นเรื่องง่าย (แต่ละฟังก์ชั่นเอาท์พุทสามารถคำนวณได้โดย OR ของคำนำหน้าและคำต่อท้ายซึ่งสามารถคำนวณได้ล่วงหน้าโดยหรือประตู)AA[1..k1][1..k1][k+1..n][k+1..n]2n2n


3
หนึ่งขอบเขตบนเป็นที่รู้จักกัน: มันเป็นอย่างมาก rk (A) คูณ n หารด้วย log n โดยที่ rk (A) คือ OR หรือยศของเมทริกซ์บูลีน A (= จำนวนขั้นต่ำของเมทริกซ์ย่อยทั้งหมด -1 ซึ่ง OR สอดคล้องกับ A ) ดูเลมม่า 2.5 ในหนังสือเล่มนี้ ดังนั้นอันดับบูลีนของเมทริกซ์ nxn ที่มี O (n) zeroes ใหญ่เท่าใด
Stasys

@ Stasys ขอบคุณ Stasys! แล้วเมทริกซ์ที่มีเส้นทแยงมุมเป็นศูนย์ OR-rank นั้นเป็นเส้นตรงใช่ไหม
Alexander S. Kulikov

2
OR อันดับของเมทริกซ์ของคุณ (ศูนย์แนวทแยงมุมและ 1s ที่อื่น) อยู่ที่ 2 \ log n: เลเบลแถว / คอลัมน์โดยสตริงไบนารีของความยาว \ log n และพิจารณารูปสี่เหลี่ยมผืนผ้า {(r, c): r (i) = a, c (i) = 1-a} สำหรับ a = 0,1 โปรดสังเกตว่า Lemma 2.5 เป็นขอบเขตบน ต่ำผูกพันในแง่ของหรือตำแหน่งจะได้รับใน Thm 3.20 ยิ่งไปกว่านั้น log or OR rank ก็คือความซับซ้อนของการสื่อสารแบบ nondeterministic
Stasys

@ Stasys โอ้ใช่แล้ว!
Alexander S. Kulikov

คำตอบ:


7

นี่คือคำตอบบางส่วน (ยืนยัน) ในกรณีที่เรามีขอบเขตบนจำนวนศูนย์ในทุกแถวหรือในทุกคอลัมน์

สี่เหลี่ยมผืนผ้าเป็นเมทริกซ์บูลประกอบด้วยหนึ่งทั้งหมด 1 submatrix และมีศูนย์อื่น ๆ OR- อันดับr k ( A )ของเมทริกซ์บูลีนคือrจำนวนน้อยที่สุดของรูปสี่เหลี่ยมที่ว่าAสามารถเขียนเป็น a (componentwise) หรือของสี่เหลี่ยมเหล่านี้ นั่นคือทุกๆ 1 รายการของAเป็น 1 รายการในรูปสี่เหลี่ยมอย่างน้อยหนึ่งรายการและทุก 0 รายการของAคือรายการ 0 รายการในทุกรูปสี่เหลี่ยมผืนผ้า โปรดสังเกตว่าlog r k ( A )เป็นความซับซ้อนของการสื่อสารแบบ nondeterministic ของเมทริกซ์Ark(A)rAAAlogrk(A)A(ที่อลิซรับแถวและคอลัมน์บ๊อบ) ในฐานะที่เป็น OP เขียนทุกบูลเมตร× nเมทริกซ์= ( ฉัน, J )กำหนดแผนที่Y = xที่ Y ฉัน = n J = 1ฉัน, J x Jสำหรับฉัน= 1 , ... ,ม. นั่นคือเรานำเมทริกซ์ - เวกเตอร์มาแทนบูลีน semiring m×nA=(ai,j)y=Axyi=nj=1ai,jxji=1,,m

บทแทรกต่อไปนี้เป็นเพราะPudlákและRödl; ดูข้อเสนอ 10.1 ในเอกสารนี้ หรือบทแทรก 2.5 ในหนังสือเล่มนี้สำหรับการก่อสร้างโดยตรง

เลมม่า 1:สำหรับทุกบูลีนn × nเมทริกซ์Aการทำแผนที่y = A xสามารถคำนวณได้โดย fanin ที่ไม่มีขอบเขตหรือวงจรของความลึก -3 โดยใช้สายO ( r k ( A ) n / log n )มากที่สุด n×nAy=AxO(rk(A)n/logn)

นอกจากนี้เรายังมีขอบเขตบนต่อไปนี้ในการจัดอันดับ OR ของเมทริกซ์หนาแน่น อาร์กิวเมนต์เป็นรูปแบบที่เรียบง่ายของ Alon ที่ใช้ในบทความนี้

เลมม่า 2:ถ้าทุกคอลัมน์หรือทุกแถวของเมทริกบูลีนAมีค่าศูนย์dที่สุดดังนั้นr k ( A ) = O ( d ln | A | )โดยที่| A | เป็นจำนวน1ในAdrk(A)=O(dln|A|)|A|1A

พิสูจน์: สร้างสุ่ม all- 1 submatrix Rโดยการเลือกแต่ละแถวอิสระกับความน่าจะเป็นแบบเดียวกันP = 1 / ( D + 1 ) ให้ฉันเป็นเซตย่อยแบบสุ่มที่ได้รับของแถว แล้วปล่อยให้R = ฉัน× Jที่Jคือชุดของคอลัมน์ทั้งหมดของที่มีศูนย์ในแถวในไม่มีฉัน 1Rp=1/(d+1)IR=I×JJAI

1 -entry ( ฉัน, เจ)ของถูกปกคลุมด้วยRถ้าฉันได้รับเลือกใน ฉันและไม่มีใคร (ที่มากที่สุดd ) แถวกับ0ในเจคอลัมน์ -th ได้รับเลือกในฉัน ดังนั้นรายการ( i , j )ถูกปกคลุมด้วยความน่าจะเป็นอย่างน้อยp ( 1 - p ) dp e - p d - p 2 d1(i,j)ARiId0jI(i,j)P / E ถ้าเราใช้วิธีนี้ Rครั้งเพื่อให้ได้ Rสี่เหลี่ยมแล้วน่าจะเป็นที่ ( ผม, เจ)ได้รับการคุ้มครองโดยไม่มีใครสี่เหลี่ยมเหล่านี้ไม่เกิน ( 1 - P / E ) Rอี- อาร์พี/อี จากความผูกพันของสหภาพความน่าจะเป็นที่ 1 ผู้ร่วมงานของ Aยังคงเปิดเผยอยู่มากที่สุด | A | e - r p / ep(1p)dpepdp2dp/err(i,j)(1p/e)rerp/e1A|A|erp/eซึ่งมีขนาดเล็กกว่า1สำหรับR = O ( d LN | | ) 1r=O(dln|A|)

ควันหลง:ถ้าทุกคอลัมน์หรือแถวของเมทริกซ์บูลทุกมีที่มากที่สุดdศูนย์แล้วการทำแผนที่Y = xสามารถคำนวณได้โดยมากมาย fanin หรือวงจรของความลึก-3 ใช้ O ( d n )สาย Ady=AxO(dn)

ฉันเดาว่าขอบเขตบนที่คล้ายกันเช่นเดียวกับใน Lemma 2 ควรค้างไว้เมื่อdคือจำนวนเฉลี่ย1วินาทีในคอลัมน์ (หรือเป็นแถว) มันน่าสนใจที่จะแสดงสิ่งนี้d1


หมายเหตุ: (เพิ่ม 04.01.2018) อะนาล็อกr k ( A ) = O ( d 2บันทึกn )ของเล็มม่า 2 ยังถือครองเมื่อdคือจำนวนเฉลี่ยสูงสุดของเลขศูนย์ในรูปแบบย่อยของAโดยที่เลขศูนย์เฉลี่ยในR × sเมทริกซ์คือจำนวนของศูนย์หารด้วยs + R นี้ต่อไปนี้จากทฤษฏี 2 ในเอ็นอีตันและวี RODL ;, กราฟของมิติขนาดเล็กCombinatorica 16 (1) (1996) 59-85 ขอบบนที่แย่ลงเล็กน้อยrk(A)=O(d2logn)dAr×ss+rr k ( A ) = O ( d 2 ln 2 n )สามารถรับได้โดยตรงจาก Lemma 2 ดังต่อไปนี้rk(A)=O(d2ln2n)

แทรก 3: Let d 1 ถ้าทุกกราฟย่อยของกราฟสองส่วนที่ทอดข้ามGมีระดับเฉลี่ยdดังนั้นGสามารถเขียนเป็นสหภาพG = G 1G 2ซึ่งระดับซ้ายสุดของG 1และระดับขวาสุดของG 2คือd . d1GdGG=G1G2G1G2d

พิสูจน์:การเหนี่ยวนำจำนวนnของจุดยอด กรณีฐานn = 1และn = 2ชัดเจน สำหรับขั้นตอนการเหนี่ยวนำเราจะสีขอบสีฟ้าและสีแดงเพื่อให้ระดับสูงสุดทั้งใน subgraphs สีฟ้าและสีแดงเป็น d ใช้จุดสุดยอดยูปริญญาd ; เช่นต้องจุดสุดยอดอยู่เพราะยังมีการศึกษาระดับปริญญาเฉลี่ยของกราฟทั้งต้อง d ถ้าคุณอยู่ในส่วนด้านซ้ายแล้วให้ทุกสีตกกระทบขอบกับu เป็นสีน้ำเงินส่วนสีอื่น ๆ ทั้งหมดจะเป็นสีแดง ถ้าเราลบจุดสุดยอดคุณnn=1n=2dudduuu then the average degree of the resulting graph GG is also at most dd, and we can color the edges of this graph by the induction hypothesis.

Lemma 4: Let d1d1. If the maximum average number of zeros in a boolean n×n matrix A=(ai,j) is at most d, then rk(A)=O(d2ln2n).

Proof: Consider the bipartite n×n graph G with (i,j) being an edge iff ai,j=0. Then the maximum average degree of G is at most d. By Lemma 3, we can write G=G1G2, where the maximum degree of the vertices on the left part of G1, and the maximum degree of the vertices on the right part of G2 is d. Let A1 and A2 be the complements of the adjacency matrices of G1 and G2. Hence, A=A1A2 is a componentwise AND of these matrices. The maximum number of zeros in every row of A1 and in every column of A2 is at most d. Since rk(A)rk(A1)rk(A2), Lemma 2 yields rk(A)=O(d2ln2n).

N.B. The following simple example (pointed by Igor Sergeev) shows that my "guess" at the end of the answer was totally wrong: if we take d=d(A) to be the average number of zeros in the entire matrix A (not the maximum of averages over all submatrices), then Lemma 2 can badly fail. Let m=n, and put an identity m×m matrix in, say left upper corner of A, and fill the remaining entries by ones. Then d(A)m2/2n<1 but rk(A)m, which is exponentially larger than ln|A|. Note, however, that the OR complexity of this matrix is very small, is O(n). So, direct arguments (not via rank) can yield much better upper bounds on the OR complexity of dense matrices.


Thanks a lot, Stasys! This is nice! In the meantime, Ivan Mihajlin came with another proof. I've posted it below.
Alexander S. Kulikov

2

(I tried to post this as a comment to Stasys' answer above, but this text is too long for a comment, so posting it as an answer.) Ivan Mihajlin (@ivmihajlin) came up with the following construction. Similarly to Stasys' proof, it works for the case when the maximum (rather than average) number of 0’s in each row is bounded.

First, consider the case when every row contains exactly two zeros. Consider the following undirected graph: the set of vertices is [n]; two nodes i and j are joined by an edge, if there is a row having zeros in columns i and j. The graph has n edges and hence it contains a cut (L,R) of size at least n/2. This cut splits the columns of the matrix into two parts (L and R). Let now also split the rows into two parts: the top part T contains all columns that have exactly one zero in both L and R; the bottom part B contains all the remaining rows. What is nice about the top part of the matrix (T×(LR)) is that it can be computed by O(n) gates. For the bottom part, let’s cut all-1 columns out of it and make a recursive call. The corresponding recurrence relation is C(n)an+C(n/2) implying C(n)=O(n).

Now, generalize it to the case of at most d zeros in every row. Let Cd(n) be the complexity of an n×(dn) matrix with at most d zeros per row (if there are more than dn columns, then some of them are all-1). Partition the columns into two parts L and R such that at least n(12d) rows (call them T) satisfy the following property: if there are exactly d zeroes in a row, then not all of them belong to the same part (denote the remaining rows by B). Then make three recursive calls: T×L, T×R, and B×(LR). This gives a recurrence relation Cd(n)an+2Cd1(n(12d))+Cd(2dn). This, in turn, implies that Cd(n)f(d)n. The function f(d) is exponential, but still.


A nice argument. But it seems to be tailor made for the case of d=2 zeros per row. What about d>2 zeros?
Stasys

@Stasys, it is doable if I'm not mistaken. I've updated the answer.
Alexander S. Kulikov
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.