สามารถพิจารณาได้หรือไม่หากภาษา L อยู่ใน NP


15

กำหนดภาษา L ที่กำหนดโดยเครื่องจักรทัวริงที่ตัดสินใจเป็นไปได้หรือไม่ที่จะกำหนดอัลกอริทึมว่า L อยู่ใน NP หรือไม่


retagged กับทฤษฎีความซับซ้อน ไม่แน่ใจว่าสิ่งนี้เกี่ยวข้องกับ NP-Completeness หรือไม่
Aryabhata

1
FWIW แม้จะมีการลงคะแนนในเว็บไซต์ข้อเสนอฉันคิดว่าคำถามนี้อยู่ในขอบเขตมากกว่าคำถามเกี่ยวกับแฟ็กเตอริงได้อย่างแม่นยำเพราะคำถามเกี่ยวกับแฟคตอริ่งจะครอบคลุมในหลักสูตรที่มีความซับซ้อนมากที่สุด หลักสูตรที่ซับซ้อน
Joshua Grochow

1
สิ่งนี้ไม่ได้ครอบคลุมในหลักสูตรแนะนำเกี่ยวกับความสามารถในการคำนวณเป็นการนำทฤษฎีบทของข้าวไปใช้โดยทั่วไปหรือไม่?
Moritz

3
Moritz - แม้ว่าทฤษฎีบทของไรซ์จะครอบคลุมคำตอบใช่ / ไม่ใช่ก็ตามโปรดอ่านคำตอบของฉันด้านล่างเพื่อรับผลลัพธ์ที่น่าสนใจ บางที txwikinger คุณควรเปลี่ยนคำถามเป็น "ความซับซ้อนของชุด {i: L (M_i) เป็น NP} คืออะไร"
Joshua Grochow

ฉันจะตอบโจชัวที่สองที่นี่ คำตอบอาจชัดเจนเมื่อภาษานั้นถูกระบุโดยเครื่องทัวริง แต่คำตอบนั้นเหมือนกัน (และอาจไม่ชัดเจนนัก) หากเราอนุญาตให้มีการระบุภาษาในรูปแบบที่กำหนดเอง
Anand Kulkarni

คำตอบ:


24

ไม่ก่อนโดยทฤษฎีของไรซ์นี่เป็นคุณสมบัติของ TM ที่ขึ้นอยู่กับภาษาที่ใช้คำนวณเท่านั้นดังนั้นจึงไม่สามารถคำนวณได้

แต่ยิ่งไปกว่านั้นมันเป็นที่รู้กันว่าชุดดัชนีของ (นั่นคือชุดของ TM ที่คำนวณภาษาในN P ) คือΣ 0 3 - สมบูรณ์ ( Σ 0 3ในลำดับชั้นทางคณิตศาสตร์ของการคำนวณไม่ใช่ ลำดับชั้นพหุนาม)NPNPΣ30Σ30

คำถามเช่นนี้ถูกตรวจสอบครั้งแรกโดยHajek สำหรับข้อมูลเพิ่มเติมโปรดดูตัวอย่างบทความนี้โดย Ken Regan

นักเก็ตที่ยอดเยี่ยมอีกสองสามคนจากกระดาษของ Hajek:

  • ชุดดัชนีของคือΣ 0 3สมบูรณ์PΣ30
  • คือ Π 0 2- complete{i:PL(Mi)NPL(Mi)}Π20
  • มีเครื่องทัวริงรวม (หยุดอยู่กับปัจจัยการผลิตทั้งหมด) คือเช่นที่P L ฉัน = N P L ฉันแต่คำสั่ง " P L ฉัน = N P L ฉัน " มีความเป็นอิสระ (ที่L ฉัน = L ( M ฉัน ) ) . ในทำนองเดียวกันสำหรับ relativizations ที่P N PMiPLผม=ยังไม่มีข้อความPLผมPLผม=ยังไม่มีข้อความPLผมLผม=L(Mผม)Pยังไม่มีข้อความP

1
ที่นี่คำถามดูเหมือนจะเป็นปัญหาการตัดสินใจสัญญา (ภาษาที่ให้ไว้มีการตัดสินใจโดย TM ไม่ได้รับการยอมรับเท่านั้น) เมื่อเทียบกับปัญหาการตัดสินใจทั้งหมด ทฤษฎีบทข้าวจะยังคงมีอยู่ที่นี่หรือไม่? โปรดจำไว้ว่าบทพิสูจน์ของทฤษฎีข้าวนั้นใช้ความลังเลที่จะหยุดยั้งดังนั้นการตัดสินใจไม่ได้จึงเป็นสิ่งจำเป็น
Zeyu

2
ในคำถามที่ถามว่าภาษา L คือ "ได้รับจากเครื่องที่ตัดสินใจ" ดังนั้นมันจึงเป็นจริง: เมื่อได้รับเครื่องทัวริง M สามารถกำหนดได้ถ้า L (M) เป็น NP หากภาษา L ไม่ได้ถูกระบุโดย TM แต่ให้เป็นเพียงส่วนย่อยของจำนวนธรรมชาติมันจะหมายความว่าอย่างไรในการตัดสินใจอัลกอริทึมถ้า L อยู่ใน NP? โดยเฉพาะอย่างยิ่งเราจะคิดว่า L เป็นการป้อนข้อมูลไปยังอัลกอริทึมได้อย่างไรเมื่อ L ไม่ได้รับคำอธิบายอัน จำกัด ?
Joshua Grochow

1
ใช่ฉันรู้. แต่ในทฤษฎีของไรซ์เป็นไปได้ที่ TM จะไม่ตัดสินใจภาษาคือมันไม่ได้คำนวณฟังก์ชั่นทั้งหมด
Zeyu

2
มันเป็นวิธีแก้ปัญหาทั่วไปที่ได้รับความหมายของเครื่องจักรทัวริงเช่น "M กำหนดภาษา NP" ก่อนอื่นเราควรพยายามแสดงคุณสมบัตินี้ในตรรกะลำดับแรก สิ่งนี้วางคุณสมบัติในระดับของลำดับชั้นทางคณิตศาสตร์ การแก้ปัญหาคือทรัพย์สินมักจะเสร็จสมบูรณ์สำหรับระดับของลำดับชั้นนั้น ฉันต้องการถามว่ามีตัวอย่างการตอบโต้ที่เป็นที่นิยมสำหรับการแก้ปัญหานี้หรือไม่
Andy Drucker

2
การขยายไปสู่ลำดับชั้นพหุนามสิ่งต่าง ๆ มีแนวโน้มที่จะประพฤติน้อยมาก ตัวอย่างเช่นพิจารณาคุณสมบัติ "C เป็นวงจรบูลีนที่มีขนาดเล็กที่สุด (สำหรับฟังก์ชันที่คำนวณ)" ปัญหานี้เป็นปัญหา NP-hard และสามารถอยู่ในลำดับชั้นของโพลิโนเมียล แต่ก็เปิดกว้างว่ามันสมบูรณ์สำหรับระดับที่มันอยู่ตามธรรมชาติหรือไม่ (ผลลัพธ์ดังกล่าวเป็นที่ทราบกันดีว่าวงจรบางประเภทมีข้อ จำกัด เช่น DNF ดูการสำรวจ 2 ส่วน "ความสมบูรณ์ในลำดับขั้นพหุนาม" โดย Schaefer และ Umans)
Andy Drucker

5

คำตอบสำหรับคำถามที่แท้จริงของคุณคือไม่ตามที่ Joshua Grochow ชี้ให้เห็น

อย่างไรก็ตามตามที่ Holger ระบุไว้มีความเป็นไปได้ที่จะตรวจสอบเวลาเชิงเส้นว่าเครื่องทัวริง nositterministic (NTM) "หยุดตัวเอง" และหยุดหลังจาก n ^ k ขั้นตอนสำหรับค่าคงที่ k ผ่านทางมาตรฐานของการจำลองนาฬิกา (เช่น รหัสด้านล่าง) บ่อยครั้งที่กระดาษหรือหนังสือจะแนะนำ (ไม่ถูกต้อง) ว่าเป็นไปได้ที่จะตรวจสอบว่า NTM เป็นเวลาพหุนามนี่คือสิ่งที่พวกเขาหมายถึงจริงๆ บางทีนี่อาจเป็นเหตุผลที่คุณถามคำถาม (ฉันมีคำถามเดียวกันเมื่อฉันเรียนรู้ทฤษฎีความซับซ้อนเป็นครั้งแรกและบางแห่งเห็นคำสั่งว่าเป็นไปได้ที่จะตรวจสอบว่า TM นั้นเป็นโพลีไทม์หรือไม่) คำถามจริงคือทำไมคนเราอาจต้องการทำสิ่งนี้อย่างไร

มีหลายวิธีในการเพิ่มคุณสมบัตินาฬิกาดังกล่าว ตัวอย่างเช่นลองนึกถึงอินพุต x ของความยาว n สลับกันเรียกใช้คำสั่งหนึ่งของ "อัลกอริทึมหลัก" ที่มีสัญญาณนาฬิกาจากนั้นหนึ่งคำสั่งของอัลกอริทึมต่อไปนี้ซึ่งเสร็จสิ้นใน (ใกล้เคียง) n ^ k ขั้นตอน:

สำหรับ i_1 = 1 ถึง n
  สำหรับ i_2 = 1 ถึง n
...
        สำหรับ i_k = 1 ถึง n
          ไม่มี-op;
กลับ;

หากโค้ดข้างต้นส่งคืนก่อนที่อัลกอริทึมหลักหยุดให้หยุดการคำนวณทั้งหมด (พูดพร้อมกับปฏิเสธ)

อัลกอริทึมที่ตัดสินว่า NTM เป็นของรูปแบบนี้หรือไม่หากตีความว่าเป็นความพยายามในอัลกอริทึมในการตัดสินใจว่าอินพุตนั้นเป็นโพลีไทม์ NTM หรือไม่จะรายงานว่ามีบางเนกาทีฟที่ผิดพลาด: พวกเขาจะไม่สลับการดำเนินการหนึ่งคำสั่งของอัลกอริทึมที่มีหนึ่งคำสั่งของนาฬิกาเช่นรหัสข้างต้น (ดังนั้นจะถูกปฏิเสธแม้จะเป็นโพลีเวลา)

แต่ไม่มีผลบวกปลอม หาก NTM ผ่านการทดสอบก็จะหยุดในเวลาพหุนามดังนั้นจึงกำหนดภาษา NP บางอย่าง อย่างไรก็ตามบางครั้งพฤติกรรมของอัลกอริธึมพื้นฐานของมันอาจเปลี่ยนแปลงหากบางครั้งนาฬิกาหมดก่อนที่อัลกอริทึมหลักจะหยุดทำให้การคำนวณปฏิเสธแม้ว่าอัลกอริธึมหลักอาจยอมรับถ้าให้เวลาพอที่จะทำให้เสร็จ ดังนั้นภาษาที่เลือกอาจแตกต่างจากอัลกอริทึมหลัก แต่และนี่คือกุญแจหากอัลกอริธึมหลักที่ถูกดำเนินการในความเป็นจริงอัลกอริทึมแบบพหุนามเวลาทำงานในเวลา p (n) และถ้าค่าคงที่ k ในนาฬิกามีขนาดใหญ่พอที่ n ^ k> p (n) อัลกอริทึมหลักจะหยุดก่อนที่นาฬิกาจะหมด ในกรณีนี้คำตอบของอัลกอริทึมหลักจะไม่เปลี่ยนแปลงดังนั้นอัลกอริธึมหลักและการจำลอง NTM แบบโอเวอร์คล็อกจึงทำการตัดสินใจภาษา NP เดียวกัน

ทำไมสิ่งนี้จึงสำคัญ ซึ่งหมายความว่าเป็นไปได้ที่จะ "แจกแจงภาษา NP ทั้งหมด" (ซึ่งฉันบอกว่าอยู่ในวรรณกรรมมักจะไม่ถูกต้องตามที่ระบุไว้ใน "การตัดสินใจว่า NTM ที่กำหนดเป็นโพลีเวลา" หรือ "แจกแจงโพลีเวลา NTM ทั้งหมด") แม่นยำยิ่งขึ้นเป็นไปได้ที่จะแจกแจงรายการไม่มีที่สิ้นสุดของ M_1 M_2, ... ของ NTM ด้วยคุณสมบัติที่

  1. แต่ละ M_k ทำงานในเวลาพหุนาม (ตัวอย่างเช่นโดยการแนบนาฬิกา ^ k-time กับ M_k) ดังนั้นจึงตัดสินใจภาษา NP บางตัวและ
  2. ภาษา NP แต่ละภาษาเป็นภาษาที่ M_i ตัดสินในรายการ

สิ่งที่ไม่ได้เกิดขึ้นคือNTM พหุนามทุกเวลาอยู่ในรายการ แต่ภาษา NP แต่ละภาษามีจำนวน NTM ที่ไม่สิ้นสุดที่เป็นตัวแทนของมัน ดังนั้นภาษา NP แต่ละภาษารับประกันว่าจะมีตัวแทน NTM บางส่วนในรายการโดยเฉพาะอย่างยิ่ง NTM ทั้งหมดที่มีดัชนีขนาดใหญ่เพียงพอที่ k ที่ n ^ k เกินเวลาทำงานของ M_k

สิ่งนี้มีประโยชน์สำหรับการทำลูกเล่นเช่น diagonalization ซึ่งต้องการอัลกอริธึมแจงนับรายการ infinite (หรือไม่ จำกัด ) ของภาษา NP ทั้งหมด และแน่นอนการสนทนาทั้งหมดนี้นำไปใช้กับเครื่องจักรประเภทอื่น ๆ นอกเหนือจากโพลีไทม์ NTMs เช่นโพลีกำหนดเวลา TM


3

พี(n)


2
ใช้งานได้ถ้ามันเป็นnondeterministic TM ถ้าฉันให้ TM แบบโอเวอร์คล็อกกับคุณ (แม้แต่อันที่ทำงานในเวลาเอ็กซ์โพเนนเชียล) ก็ยังไม่สามารถตัดสินใจได้ว่าภาษานั้นจะอยู่ใน NP หรือไม่ อย่างไรก็ตามหาก N_1, N_2, ... เป็นการแจกแจงของ TM ที่มีนาฬิกาเลขชี้กำลังชุด {i: L (N_i) เป็น NP} อาจไม่สมบูรณ์ Sigma_3 เนื่องจากคุณรับรองแล้วว่า N_i นั้น ทั้งหมด แต่ก็ยังไม่สามารถคำนวณได้อย่างแน่นอน
Joshua Grochow
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.