จำนวนของประตูไบนารี่ที่จำเป็นในการคำนวณ AND และ OR ของบิตอินพุตพร้อมกัน


16

จำนวนประตูไบนารีที่น้อยที่สุดที่ต้องใช้ในการคำนวณ AND และ OR ของบิตnอินพุตพร้อมกันคืออะไร จิ๊บจ๊อยบนปกเป็น2n-2ฉันเชื่อว่านี่เป็นสิ่งที่ดีที่สุด แต่จะพิสูจน์ได้อย่างไร เทคนิคการกำจัดเกทแบบมาตรฐานไม่ทำงานที่นี่เช่นกันโดยการกำหนดค่าคงที่ให้กับตัวแปรอินพุตใด ๆ ที่ทำให้หนึ่งในเอาท์พุตเล็กน้อย2n2

ปัญหายังได้รับจากการฝึก 5.12 ในหนังสือ "ความซับซ้อนของฟังก์ชันบูลีน" โดย Ingo Wegener ในรูปแบบที่แตกต่างกันเล็กน้อย: "ให้โดยวิธีการกำจัดเราสามารถพิสูจน์ได้ว่าขอบเขตที่ต่ำกว่าขนาดพยายามพิสูจน์ขอบเขตที่ต่ำกว่าให้ใหญ่ขึ้น " n + Ω ( 1 )fn(x)=x1xnx¯1x¯nn+Ω(1)


1
@ Ryan: คำถามไม่เกี่ยวกับ AND of OR แต่เกี่ยวกับ AND และ OR ฉันไม่ทราบคำตอบสำหรับคำถามของ Sasha
Tsuyoshi Ito

1
@Tsuyoshi ฉันขอขอบคุณอย่างใดฉันจัดการแยกมันไม่ถูกต้อง เป็นมั่นเหมาะปัญหาขี้ปะติ๋ว - หนึ่งสามารถจินตนาการโดยใช้ชนิดอื่น ๆ ของประตูที่จะได้รับประโยชน์มากกว่า 2 2n2
Ryan Williams

2
@Sasha คุณลองใช้ตัวแก้ SAT กับตัวอย่างเล็ก ๆ (เช่น ) เหมือนในเอกสารก่อนหน้านี้บ้างไหม? n=4
Ryan Williams

2
@ Ryan ใช่แน่นอน สิ่งที่เรารู้ก็คือ , C 4 = 5 , C 5 7 นี่คือฟังก์ชั่นจากหนังสือ (มันคือ1 iff บิตอินพุตnเท่ากันทั้งหมด) นี้เติบโตเหมือน2 n - 3 และวงจรที่มีขนาด2 n - 3นั้นง่ายต่อการสร้าง: คำนวณครั้งแรกx ix i + 1สำหรับทุกi = 1 , , n -C3=3C4=5C571n2n32n3xixi+1 ( ( n - 1 )ประตู) แล้วคำนวณการรวมของพวกเขา ( ( n - 2 )ประตู) i=1,,n1(n1)(n2)
Alexander S. Kulikov

1
@Tsuyoshi: ผมคิดว่าประตูทำงานของ Sasha เป็นฟังก์ชั่นที่สองของคำถาม ( n ( x ) = x 1 ... x nˉ x 1 ... ˉ x n ) ที่สามารถสร้างขึ้นด้วยn - 1ประตู XNOR (ใช้กับx i , x i + 1 ) และn - 2และประตูที่ใช้กับ XNOR 2n3fn(x)=x1xnx¯1x¯nn1xi,xi+1n2
Marzio De Biasi

คำตอบ:


14

บทความของ Blum & Seysen นี้อาจมีประโยชน์:

N.Blum, M. Seysen ลักษณะของเครือข่ายทั้งหมดที่เหมาะสมที่สุดสำหรับการคำนวณพร้อมกัน AND และ NOR Acta Inf 21: 171-181 (1984)

ฉันมีความคิดว่าสำหรับ 2 n - cขอบเขตล่างสามารถรับใช้วิธีการของบลัม & Seysen แต่ดูเหมือนว่านี้ไม่ได้เป็นกรณีที่x1xnx¯1x¯n 2nc


1
มีไฟล์ Blum และ Seysen สาธารณะรุ่น pdf หรือไม่
Marzio De Biasi

@ วลาดิเมียร์ขอบคุณสำหรับการอ้างอิง! ฉันจะพยายามตรวจสอบว่าวิธีการของพวกเขามีผลบังคับใช้ในกรณีนี้เมื่อค้นหาบทความหรือไม่
Alexander S. Kulikov

3
@ วลาดิเมียร์แล้วอีกครั้ง! ที่จริงแล้วบทความนี้มีคำตอบที่ตรงกับคำถามของฉันมากขึ้น: มันบอกว่าการคำนวณ AND และหรือพร้อมกันเราต้องการและวงจรใด ๆ ของขนาดนี้คำนวณและและหรือเป็นอิสระ (นี่น่าสนใจ!) นอกจากนี้ยังเป็นไม่ยากที่จะแสดงให้เห็นว่าC ( n ) C ( N D , O R ) - 2 n - ' 2n2C(fn)C(AND,OR)c2nc
Alexander S. Kulikov

@Sasha ใช่ฉันพลาดการก่อสร้างที่เรียบง่ายนี้ เพื่อชี้แจงสิ่งในกระดาษและฟังก์ชั่นและไม่ได้รับการพิจารณาเพื่อให้ AND และ OR เราได้รับขีด จำกัด ล่างโดยการเปลี่ยนหนึ่งประตูและx 1 ... x nˉ x 1 ... ˉ x n --- 2 n - 52n2x1xnx¯1x¯n2n5
Vladimir Lysikov

1
เพียงแค่เตือนความจำ @SashaK หากคุณชอบคำตอบโปรด "ยอมรับ" โดยคลิกที่เครื่องหมายขีดใต้คะแนนการนับ
Suresh Venkat

3

คำถามของคุณเกี่ยวข้องกับคำถามที่รู้จักกันดีเกี่ยวกับการคำนวณขั้นต่ำและสูงสุดของรายการพร้อมกันโดยใช้จำนวนการเปรียบเทียบขั้นต่ำ ในกรณีที่ว่าคำตอบคือ3n/2

อัลกอริทึมที่ชาญฉลาดที่พิสูจน์ขอบเขตที่ถูกแปลไปเป็นวงจร AND / OR ที่มีขอบเขตเท่ากันคุณจะได้รับเนื่องจากการเปรียบเทียบข้อใดข้อหนึ่งคำนวณทั้งขั้นต่ำและสูงสุด

อย่างไรก็ตามขอบเขตล่าง (ที่กำหนดโดยอาร์กิวเมนต์ของฝ่ายตรงข้าม) ดูเหมือนจะแปลอย่างน้อยในกรณีของวงจรโมโนโทน (เนื่องจากวงจร AND และ / หรือแปลเป็นอัลกอริธึมสูงสุด / นาที) นี้จะหมายความถึงความผูกพันที่ต่ำกว่าของ บางทีขอบเขตล่างที่แน่นสามารถทำได้โดยการวิเคราะห์ข้อโต้แย้ง3n/2

ขอบเขตบนจะปรากฏใน "รู้เบื้องต้นเกี่ยวกับอัลกอริธึม" ซึ่งคุณสามารถหาอาร์กิวเมนต์ง่าย ๆ ที่แสดงว่าวงจรเปรียบเทียบสูงสุด / นาทีนั้นถูกต้องถ้ามันทำงานกับอินพุตบูลีน (ใช้เกณฑ์ที่เหมาะสม) ขอบเขตที่ต่ำสามารถพบได้เช่นที่นี่


2
หมายเหตุในคำถามของ Sasha ฟังก์ชันบูลีน 2 บิตทั้งหมดสามารถใช้เพื่อสร้างวงจร
Ryan Williams

ใช่มันไม่ชัดเจนว่าสามารถแปลขอบเขตล่างเป็นกรณีของฟังก์ชันไบนารีทั้งหมดได้อย่างไร
Alexander S. Kulikov
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.