NC เวอร์ชั่นใหญ่คืออะไร


21

จับความคิดของ parallelizable ได้อย่างมีประสิทธิภาพและเป็นหนึ่งในความหมายของมันก็เป็นปัญหาที่แก้ไขได้ในเวลา O ( เข้าสู่ระบบ n )โดยใช้ O ( n k )หน่วยประมวลผลแบบขนานสำหรับบางคนคง ,k คำถามของฉันคือถ้ามีความสลับซับซ้อนคล้ายที่เวลาเป็น n และจำนวนของตัวประมวลผลเป็น 2 n k เป็นคำถามที่เติมในช่องว่าง:NCO(logcn)O(nk)cknc2nk

คือ Pเนื่องจาก__ คือ E X PNCPEXP

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

  1. คอมพิวเตอร์ทุกเครื่องจะอ่านจำนวนพหุนามของข้อความขนาดพหุนามที่ได้รับในขั้นตอนเวลาก่อนหน้า
  2. คอมพิวเตอร์ทุกเครื่องใช้การคำนวณแบบหลายช่วงเวลาที่สามารถขึ้นอยู่กับข้อความเหล่านี้
  3. คอมพิวเตอร์ทุกเครื่องส่งข้อความ (ความยาว) ไปยังแต่ละเพื่อนบ้าน

คลาสความซับซ้อนชื่ออะไรที่ตรงกับโมเดลเหล่านี้? เป็นสถานที่ที่ดีในการอ่านเกี่ยวกับชั้นเรียนที่ซับซ้อนเช่นอะไร? มีปัญหาที่สมบูรณ์สำหรับชั้นเรียนนี้หรือไม่?


คำถามที่เกี่ยวข้องฉันคิดว่า: cstheory.stackexchange.com/q/2788/1037
Artem Kaznatcheev

เรามี , N C = S P อีทีฉันm E ( O ( log n ) , ( บันทึกn ) O ( 1 ) ) , NCk=ASpaceTime(O(logn),(logn)k)NC=ASpaceTime(O(logn),(logn)O(1)) , E X P = T ฉันm E ( 2 n O ( 1 ) ) ดังนั้นคลาสที่สอดคล้องกับ N C kอาจเป็นสิ่งที่ต้องการ A S p a c E T ฉันm e ( n O ( 1 ) , 2 O ( log nP=Time(nO(1))EXP=Time(2nO(1))NCkแล้วระดับที่สอดคล้องกับNC จะSPอีทีฉันmE(n O ( 1 ) ,2 ( บันทึกn ) O ( 1 ) ) มันเป็นแค่การจัดการเชิงพีชคณิตฉันไม่ได้ตรวจสอบว่ามันตรงกับความต้องการของคุณหรือไม่ แต่ฉันคิดว่ามันจะเป็นไปตามเงื่อนไขสามข้อ ฉันคิดว่าคุณควรทิ้งข้อกำหนดนั้นไว้เป็นอย่างอื่น (เพิ่มเติม)ASpaceTime(nO(1),2O(logn)k)NCASpaceTime(nO(1),2(logn)O(1))
Kaveh

ระดับที่เกิดขึ้นจะมีและการเปรียบเทียบจะไม่ถือเป็นN C P EXPNCP
Kaveh

ฉันไม่เข้าใจว่าคุณมีความซับซ้อนพื้นที่ เท่าที่ฉันรู้ว่าN Cอนุญาตให้มีประตูจำนวนมาก ถ้าเราต้องการไปตามแนวอะนาล็อกของคุณเราควรดูที่N Cเป็นP T / W K ( l o g c n , n k ) / p o l yแล้วระดับความซับซ้อนที่ฉันกำลังมองหาคืออะไร เช่นP T / W K ( n c , 2lognNCNCPT/WK(logcn,nk)/polyY อย่างไรก็ตามฉันหวังว่าจะมีลักษณะที่ดีกว่านี้ PT/WK(nc,2nk)/poly
Artem Kaznatcheev

นั่นคือมาตรฐาน (แม้ว่าจะไม่ได้อยู่ในสวนสัตว์ที่มีความซับซ้อน) ให้ตรวจสอบเช่น Ruzzo, "เกี่ยวกับความซับซ้อนของวงจรเครื่องแบบ", 1981 นอกจากนี้ฉันคิดว่าคุณควรทำงานกับชั้นเรียนแบบสม่ำเสมอทุกฟังก์ชั่นมีขนาด สิ่งนี้จะเป็นไปตามเงื่อนไขสามข้อนี้หากเราใช้การเข้าใช้งานแฟนอินและความลึกn ) และอย่างที่ฉันบอกถ้ามีหลายโหนดแทนการเปรียบเทียบก็ไม่ถือ นอกจากนี้ยังมีคุณสมบัติหลักของการคำนวณแบบขนานคือประหยัดเวลาเช่นมันเป็นเวลาที่โพลีเข้าสู่ระบบในกรณีที่ยังไม่มี C ฉันคิดว่าเวลากึ่งโพลิโนเมียลจะสอดคล้องกับเวลาโพลี - ล็อก lognNC
Kaveh

คำตอบ:


27

ผมเชื่อว่าระดับที่คุณกำลังมองหาคือ E สมมติว่าคุณมีโปรเซสเซอร์e x p ( n k ) = 2 O ( n k )โปรเซสเซอร์ที่เหมาะสมกับข้อกำหนด:PSPACEexp(nk)=2O(nk)

  1. คอมพิวเตอร์ทุกเครื่องจะอ่านจำนวนพหุนามของข้อความขนาดพหุนามที่ได้รับในขั้นตอนเวลาก่อนหน้า
  2. คอมพิวเตอร์ทุกเครื่องใช้การคำนวณแบบหลายช่วงเวลาที่สามารถขึ้นอยู่กับข้อความเหล่านี้
  3. คอมพิวเตอร์ทุกเครื่องส่งข้อความ (ความยาว) ไปยังแต่ละเพื่อนบ้าน

poly(n)exp(nk)

O(logn)poly(n)exp(nk)PSPACE


ไรอันฉันไม่อยากรู้ว่าคุณใส่จำนวนเลขชี้กำลังของคอมพิวเตอร์ในหลายชั้นแบบพหุนามดูเหมือนว่าสำหรับฉันแล้วความลึกสามารถอธิบายได้คุณช่วยอธิบายเพิ่มเติมหน่อยได้ไหมว่าทำไมถึงเป็นเช่นนั้น? สำหรับฉันแล้วดูเหมือนว่าการสร้างวงจรเล็ก ๆ ของ CNF ของฟังก์ชั่นที่กำหนดขึ้นเองในฐานะที่เป็นวงจรอินแฟน 2 จะตอบสนองความต้องการได้หรือไม่
Kaveh

1
@Kaveh: ฉันไม่เข้าใจคำถามแรกของคุณ ประมาณวินาทีแม้ว่าจะมีวงจรความลึก 2 ขนาดแบบเอ็กซ์โปเนนเชียลสำหรับฟังก์ชั่นใด ๆ ก็ตาม NC (โพลี) ต้องการให้คุณสามารถสร้างวงจรอย่างสม่ำเสมอดังนั้นคุณจึงไม่สามารถสร้างวงจรโดยพลการสำหรับขนาดอินพุตแต่ละขนาดได้
Robin Kothari

@ Robin ขอบคุณ อาจเป็นสิ่งที่ฉันสับสน (ฉันรู้สึกว่าความลึกของวงจรที่สอดคล้องกับ PSpace ควรเป็นแบบเอ็กซ์โปเนนเชียลและฉันคิดว่า PSpace เป็น EXP เนื่องจาก L คือ P ดังนั้นจึงระบุในสิ่งเดียวกันเมื่อ L ถูกแทนที่ด้วย NC นั้นแปลกสำหรับฉันฉันรู้สึกว่าชั้นที่เราเป็น การดูแลควรอยู่ระหว่าง PSpace และ EXP) ฉันต้องคิดอีกเล็กน้อยเพื่อที่จะเข้าใจสิ่งที่เกิดขึ้นที่นี่
Kaveh

@Kaveh ฉันได้กำหนดจำนวนเลเยอร์ (เช่นความลึก) ให้เป็นเลขชี้กำลังดังนั้นความลึกจึงไม่สามารถอธิบายได้ตามนิยาม มีโปรเซสเซอร์จำนวนมากชี้แจงดังนั้น CNF ของคุณจะต้องมีพัดลมแบบเอ็กซ์โปเนนเชียล, ละเมิดเงื่อนไขข้อใดข้อหนึ่ง ความลึกของวงจรขนาดเอ็กซ์โปเนนเชียลที่สอดคล้องกับ PSPACE คือพหุนาม เหตุผลนี้เป็นจริงและเหตุผลที่การเปรียบเทียบทั้งสองเป็น "ถูกต้อง" ในแง่หนึ่ง ("PSPACE คือการ EXP ตาม L คือ P" และ "PSPACE คือ EXP เป็น NC เป็น P") เป็นเพราะ PSPACE = สลับพหุนาม เวลา. เราไม่ทราบว่า L = การสลับเวลาลอการิทึม (นี่คือ NC1)
Ryan Williams

ฉันคิดว่าฉันเข้าใจสถานการณ์ดีขึ้นหลังจากอ่านความคิดเห็นของคุณและของ Robin ขอบคุณ
Kaveh

21

อย่างที่ Ryan พูดคลาสนี้คือ PSPACE ชั้นนี้มักจะเรียกว่า NC (โพลี) ในวรรณคดี นี่คือคำพูดโดยตรงจากกระดาษQIP = PSPACE :

เราพิจารณาตัวแปรที่ปรับขนาดของ NC ซึ่งเป็นระดับความซับซ้อน NC (โพลี) ที่ประกอบด้วยฟังก์ชันทั้งหมดที่คำนวณได้โดยตระกูลเครื่องแบบพหุนาม - อวกาศของวงจรบูลีนที่มีพหุนามความลึก (สัญกรณ์ NC (2 โพลี ) ยังเคยถูกใช้สำหรับคลาสนี้ [11].) สำหรับปัญหาการตัดสินใจเป็นที่รู้กันว่า NC (โพลี) = PSPACE [10]

[10] A. Borodin ตามเวลาและพื้นที่ที่เกี่ยวข้องกับขนาดและความลึก วารสารคอมพิวเตอร์สยาม, 6: 733–744, 1977

[11] A. Borodin, S. Cook, และ N. Pippenger การคำนวณแบบขนานสำหรับวงแหวนที่ได้รับการยอมรับอย่างดีและเครื่องจักรที่น่าจะเป็นพื้นที่ จำกัด สารสนเทศและการควบคุม, 58: 113–136, 1983

วิธีหนึ่งในการดูสิ่งนี้คือการพิสูจน์การรวมทั้งสองโดยตรง หากต้องการดู NC (โพลี) เป็น PSPACE โปรดทราบว่าเราสามารถคำนวณผลลัพธ์ของเกตสุดท้ายได้ซ้ำและเราจะต้องใช้สแต็กขนาดเท่าความลึกของวงจรซึ่งเป็นพหุนาม เพื่อแสดงให้เห็นว่า PSPACE อยู่ใน NC (โพลี) โปรดทราบว่า QBF ซึ่งเป็น PSPACE ที่สมบูรณ์สามารถเขียนเป็นวงจรเชิงลึกพหุนามที่มีหลาย ๆ ประตูตามปกติ - ปริมาณที่มีอยู่คือประตูเกต เป็นประตู AND เนื่องจากมีจำนวนมากหลายพหุนามนี่คือวงจรเชิงลึกพหุนาม

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