คลาสความซับซ้อนของ Semantic vs. Syntactic


35

ในหนังสือ "Computational Complexity" ของเขา Papadimitriou เขียน:

ในบางกรณีRPนั้นเป็นคลาสที่ซับซ้อนและแปลกใหม่ เครื่องทัวริงแบบไม่ จำกัด ขอบเขตเชิงพหุนามใด ๆ สามารถเป็นพื้นฐานของการกำหนดภาษาใน RP ได้ สำหรับเครื่องไม่มีการกำหนดภาษาในRPจะต้องมีคุณสมบัติที่น่าสังเกตว่าในปัจจัยการผลิตทั้งหมดมันทั้งปฏิเสธเป็นเอกฉันท์หรือยอมรับโดยส่วนใหญ่ เครื่อง nondeterministic ส่วนใหญ่ทำงานในรูปแบบอื่นอย่างน้อยอินพุตบางส่วน ... ไม่มีวิธีที่ง่ายที่จะบอกว่าเครื่องหยุดทำงานกับเอาต์พุตที่ได้รับการรับรองเสมอหรือไม่ เราเรียกคลาสทางการความหมายคลาสอย่างไม่เป็นทางการซึ่งตรงข้ามกับคลาสไวยากรณ์เช่นPและNPที่เราสามารถบอกได้ทันทีโดยการตรวจสอบผิวเผินว่าเครื่องจักรที่ได้มาตรฐานเหมาะสมอย่างแท้จริงกำหนดภาษาในชั้นเรียน

หลายหน้าในภายหลังเขาชี้ว่า:

ภาษา L นั้นในชั้นเรียนPPถ้ามีการล้อมรอบ polynomially เครื่องทัวริง nondeterministic Nดังกล่าวว่าสำหรับปัจจัยการผลิตทั้งหมด x, IFF มากกว่าครึ่งหนึ่งของการคำนวณของNกับการป้อนข้อมูล x สิ้นสุดการยอมรับ เราบอกว่าNตัดสินใจ L โดยส่วนใหญ่xL

คำถามที่ 1:ทำไม Papadimitriou จึงสรุปว่าPPเป็นคลาสวากยสัมพันธ์ในขณะที่คำจำกัดความนั้นแตกต่างจากRPเพียงเล็กน้อยเท่านั้น?

คำถามที่ 2:การเป็น "ความหมาย" สำหรับคลาสที่ซับซ้อนนั้นเทียบเท่ากับการไม่มีปัญหาที่สมบูรณ์หรือการขาดปัญหาที่สมบูรณ์นั้นเป็นความคิดว่าเป็นคุณสมบัติที่เราต้องการเรียนรู้ความหมายของคลาส

แก้ไข:ดูหัวข้อที่เกี่ยวข้องคลาสความซับซ้อนทั้งหมดมีลักษณะของภาษาใบไม้หรือไม่


2
การพูดคุยเมื่อเร็ว ๆ นี้ที่เกี่ยวข้องโดย Anuj Davar ที่ INI: ในคลาสความซับซ้อนทางไวยากรณ์และความหมาย
Kaveh

@Kaveh: ขอบคุณมาก! ฉันจะดูมัน
MS Dousti

คำตอบ:


31

RP เกี่ยวข้องกับคำสัญญาที่ว่า 0 เส้นทางยอมรับหรือมากกว่าครึ่งยอมรับไม่ว่าอินพุตนั้นจะเป็นอะไร สำหรับ PP ไม่มีสัญญาดังกล่าว ถ้ามากกว่าครึ่งหนึ่งเส้นทางที่ยอมรับแล้วมิฉะนั้นL (สามารถกำหนด PP ได้เพื่อให้เกณฑ์การยอมรับคือและตามลำดับ)xLxL1/2<1/2

หรืออีกนัยหนึ่งถ้าผมให้คุณ TM น่าจะอ้างว่ามันเป็นเครื่อง PP ตัดสินใจบางภาษาคุณสามารถมั่นใจได้ว่ามันตัดสินใจบางภาษา เห็นได้ชัดว่าภาษามันตัดสินใจที่นี้คือที่หนึ่ง: การป้อนข้อมูลลองxดูว่ายอมรับเส้นทางมากกว่า 1/2 หรือไม่ (หรือมากกว่า 1/2 สตริงสุ่มทำให้ต้องยอมรับ) ถ้าเป็นเช่นนั้นL ถ้าไม่ได้L ดังนั้นเราจึงได้กำหนดภาษาโดยใช้ TM นี้xxLxL

ในทางตรงกันข้ามถ้าฉันให้ความน่าจะเป็น TM กับคุณโดยอ้างว่าเป็นเครื่อง RP ตัดสินใจภาษาบางภาษาคุณไม่สามารถแน่ใจได้เลยว่ามันจะเป็นภาษาใด ปัญหาคือเมื่อคุณสังเกตเห็นเพียงไม่กี่เส้นทางที่ยอมรับคุณไม่รู้ว่าเป็นหรือไม่ ดังนั้นถ้าฉันให้เครื่อง RP แก่คุณคุณแค่ต้องเอาคำของฉันมาบอก อันที่จริงการตรวจสอบว่าเครื่องนี้กำหนดภาษานั้นไม่สามารถคำนวณได้xL

สำหรับคำถามที่สองของคุณสำหรับคลาสวากยสัมพันธ์มักจะมีปัญหาที่ชัดเจนซึ่งก็เหมือนกับ "เครื่อง M ที่ได้รับให้ตัดสินใจว่าจะยอมรับในเวลา T บนอินพุต x" หากคุณได้รับเครื่อง nondeterministic ปัญหานี้คือปัญหา NP-complete ถ้าเป็นเครื่อง PP แล้วมันเป็น PP-complete ฯลฯ ปัญหาที่สมบูรณ์ที่ชัดเจนสำหรับคลาส semantic นั้นไม่สามารถบอกได้ ดังนั้นเราจึงไม่ได้รับปัญหาที่สมบูรณ์แบบฟรีสำหรับคลาสความหมาย แต่คลาสความหมายอาจมีปัญหาโดยสมบูรณ์ ตัวอย่างเช่นถ้า P = BPP (ตามที่เชื่อกันอย่างกว้างขวาง) ดังนั้น BPP จะมีลักษณะทางไวยากรณ์

แก้ไข : เนื่องจากมีการอภิปรายบางอย่างเกี่ยวกับวิธีการกำหนดคลาส semantic และวากยสัมพันธ์ฉันต้องการชี้ให้เห็นว่า Papadimitriou ให้คำจำกัดความในหนังสือของเขาเมื่อพูดถึงภาษาใบไม้ (ดูคำถามของฉันเกี่ยวกับภาษาใบไม้สำหรับการอ้างอิงบางส่วน)

เขาบอกว่าคลาสวากยสัมพันธ์เป็นภาษาที่มีบางภาษาที่กำหนดคลาสโดยใช้เทคนิคภาษาลีฟ คลาสความหมายคือคลาสที่ลักษณะดังกล่าวทั้งหมดต้องการปัญหาสัญญา นี่เป็นคำจำกัดความที่เข้มงวด แต่ใช้ได้กับภาษาเหล่านั้นที่มีลักษณะของภาษาลีฟเท่านั้น


3
ดีฉันจะไม่เสียเวลา 20 นาทีสุดท้ายในการเขียนคำตอบของฉันถ้าฉันเพิ่งโหลดหน้าใหม่ ... :) ฉันจะทิ้งไว้ในกรณีที่มันเป็นประโยชน์
Ryan Williams

ใช่ฉันเกลียดเมื่อมันเกิดขึ้น แม้ว่าบางครั้งฉันจะได้รับการแจ้งเตือน "คำตอบใหม่ถูกโพสต์" ในระหว่างการเขียนคำตอบ
Robin Kothari

6
@Robin: คุณไม่ต้องหันไปใช้คำยืนยัน "P = BPP" ที่ไม่ได้รับการพิสูจน์ แต่เชื่อกันอย่างกว้างขวางสำหรับตัวอย่างของคลาสทางความหมายแบบตั้งใจที่กลายเป็นวากยสัมพันธ์: IP = PSPACE (และตอนนี้ QIP ด้วย)
Joshua Grochow

3
@Joshua: ถูกต้อง IP = PSPACE ทำงาน
Robin Kothari

1
@Joshua: ขอบคุณที่พูดถึงผล IP = PSPACE ฉันไม่เคยดูจากมุมมองนี้!
MS Dousti

28

คำตอบสำหรับคำถามแรกของคุณที่อยู่ในความหมายของ , ไม่มี "สัญญา" สำหรับเครื่องเพื่อตอบสนอง, เช่นเดียวกับRPเครื่องโพลีไทม์แบบสุ่มทุกอันกำหนดภาษาบางส่วน : ในแต่ละอินพุตเครื่องจะยอมรับบนของเส้นทางการคำนวณแบบสุ่มในอินพุตที่เหมาะสมหรือไม่ก็ได้ กรณีแรกหมายถึงเป็นภาษาในกรณีที่สองหมายถึงไม่มีในPPRP PP>1/2x

ดังนั้นเช่นเดียวกับในกรณีของและเราสามารถให้รายชื่อ recursive ของ -machine ทั้งหมดโดยเพียงแค่แสดงรายการเครื่อง polytime แบบสุ่มทั้งหมด ในทางตรงกันข้ามกับมีเครื่องสุ่มซึ่งยอมรับ (ตัวอย่าง) หนึ่งในสตริงสุ่มในอินพุตซึ่งในกรณีที่เครื่องไม่ตอบสนองเงื่อนไขอย่างใดอย่างหนึ่งสำหรับ : มันไม่ยอมรับบนของมัน สตริงสุ่มและมันจะไม่ปฏิเสธสตริงทั้งหมด ดังนั้นเครื่องที่สุ่มนี้ไม่ใช่เครื่อง - ในแง่ที่ว่ามันมีพฤติกรรม "ไม่ได้กำหนด" ในบางส่วนของอินพุต สิ่งนี้นำไปสู่ความหมายของPNPPPRPRP>1/2RPPromiseRPที่ซึ่งคุณพิจารณาว่า "ปัญหาเกี่ยวกับสัญญา" ซึ่งอนุญาตให้มีพฤติกรรมตามอำเภอใจในบางสตริง ดูสวนสัตว์ที่ซับซ้อนมากขึ้น

สิ่งนี้นำไปสู่คำถามที่ 2 ปัญหาเกี่ยวกับแนวคิดของ "semantic class" คือมันขึ้นอยู่กับเครื่องจักรที่คุณใช้เพื่อกำหนดคลาส (ฉันไม่แน่ใจว่ามีการให้คำจำกัดความที่น่าพอใจอย่างสมบูรณ์) การเป็น "semantic class" นั้นเทียบเท่ากับคุณสมบัติที่กล่าวมาข้างต้น: ไม่ใช่ทุกเครื่อง (ในรายการตามปกติของเครื่องจักร) จะตอบสนองเงื่อนไขการยอมรับ / การปฏิเสธ สำหรับชั้นเรียนของคุณและด้วยเหตุนี้จึงเป็นเรื่องยากที่จะรับรายการเครื่องที่ยอมรับภาษาในชั้นเรียนของคุณ แต่ถ้าแล้วมีบางรายการคำนวณได้อย่างง่ายดายบางP=BPPเครื่องที่ยอมรับภาษาในชั้นเรียนของคุณอย่างแน่นอนนั่นคือรายการของเครื่องคำนวณเวลาแบบโพลิโนเมียล ดังนั้นมันจะปรากฏว่าหากปรากฎว่าเราได้เปลี่ยนคลาสความหมายเป็นไวยากรณ์P=BPP

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


สวัสดีไรอัน คุณคิดว่ามันเป็นไปได้หรือไม่ที่จะนิยามคำศัพท์เชิงไวยากรณ์โดยสมมติว่าเป็นวิทยานิพนธ์คริสตจักรทัวริง
Kaveh

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