มีปัญหาใด ๆ ที่คำนวณได้ง่าย แต่ยากต่อการตรวจสอบหรือไม่?


25

สมมติว่า P NP ปัญหา NP-สมบูรณ์ "ยากที่จะแก้ปัญหา แต่มีคำตอบที่ง่ายต่อการตรวจสอบ." มันสมเหตุสมผลหรือไม่ที่จะต้องพิจารณาสิ่งที่ตรงกันข้ามนั่นคือปัญหาที่ง่ายต่อการคำนวณคำตอบที่ถูกต้อง แต่ยากที่จะตรวจสอบวิธีการแก้ปัญหาโดยพลการหรือไม่?

ฉันคิดว่าปัญหาดังกล่าวจะบอกเป็นนัย:

  1. คำตอบที่ "ถูกต้อง" จำนวนมากชี้แจงสำหรับอินพุตใด ๆ ที่ได้รับเพราะมิฉะนั้นการตรวจสอบสามารถทำได้โดยเพียงแค่คำนวณคำตอบที่ถูกต้องทั้งหมด

  2. บางคำตอบที่ "ถูกต้อง" นั้นง่ายต่อการคำนวณ แต่คนอื่นหาได้ยาก


2
ฉันสงสัยมัน. หากคำตอบนั้นง่ายต่อการคำนวณทางเลือกของใบรับรองนั้นง่าย: จัดหาคำตอบที่มีปัญหาและ "ตรวจสอบ" คำตอบโดยการแก้ปัญหาและดูว่าคำตอบที่อ้างนั้นเป็นคำตอบจริงหรือไม่
Patrick87

1
@ Patrick87 - ฉันคิดว่าฉันพูดถึงเรื่องนี้ในคำถาม สิ่งที่เกี่ยวกับฟังก์ชั่นหลายมูลค่าบริษัท ร่วมที่ชุดของค่าฉันF ( x ) = { y ที่1 , ปี2 , ... }กับอินพุตx ? สมมติว่า| ฉันf ( x ) | = 2 | x | และนั่นเป็นเรื่องง่ายที่จะเลือกองค์ประกอบจากฉันf ( x )แต่เมื่อให้zมันยากที่จะตัดสินว่าz ผม(x)={Y1,Y2,...}x|ผม(x)|=2|x|ผม(x)Z ) Zผม(x)
rphv

2
@ Patrick87 แก้อาจจะกำหนดและการส่งออกเพียงอย่างใดอย่างหนึ่งของคำตอบที่มีอยู่ทั้งหมด จากนั้นคุณต้องการวิธีที่มีประสิทธิภาพในการตรวจสอบว่ามีวิธีแก้ปัญหาสองวิธีที่เทียบเท่ากันหรือไม่ ความเท่าเทียมกันในเซตนั้นยากกว่าการแก้ปัญหาหรือไม่?
กราฟิลส์

ฉันพลาดส่วนนั้นจริงๆขอโทษ ยังฉันมีแนวโน้มที่จะสงสัยหลักฐาน ฉันจะคิดถึงมันให้มากขึ้นและกลับมาอีกถ้าฉันมีความคิดที่ตรงประเด็นมากกว่านี้
Patrick87

1
ใบรับรองมักจะหมายถึงว่ามีวิธีที่ง่ายที่จะสร้างหลักฐานดังนั้นโดยความหมายถ้าคุณให้การรับรองการตรวจสอบเป็นเรื่องง่าย วิธีแก้ปัญหาที่ไม่มีใบรับรองอาจเป็นเรื่องยาก
Gilles 'SO- หยุดความชั่วร้าย'

คำตอบ:


24

หากคุณพอใจกับปัญหาเทียมคุณสามารถสร้างปัญหาได้มากมาย นี่คือบางส่วน:

  • ป.ร. ให้ไว้เป็นจำนวนเต็มบวกnในเอกตอบสูตร 3CNF พอใจในnตัวแปรบูลีน
    การให้หนึ่งสูตร 3CNF ที่น่าพอใจนั้นเป็นเรื่องง่าย แต่การตัดสินใจว่าสูตร 3CNF ที่กำหนดนั้นเป็นที่น่าพอใจหรือไม่คือ 3SAT ซึ่งเป็นปัญหา NP-complete ที่รู้จักกันดี
  • ไม่มีอินพุต เพียงแค่ตอบเครื่องทัวริงที่หยุด (เมื่อทำงานด้วยเทปเปล่า)
    การให้เครื่องจักรทัวริงหนึ่งเครื่องนั้นเป็นเรื่องง่าย แต่เครื่องทัวริงที่ให้ไว้จะหยุดหรือไม่สามารถตัดสินใจได้

เพิ่มเติม : โดยวิธีการที่ฉันไม่คิดว่าสิ่งที่คุณเขียนในวรรคสุดท้ายถือ:

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

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

  • ได้รับเครื่องทัวริงM , หนึ่งคำตอบของงบต่อไปนี้ที่เป็นจริง:“ Mหยุดในเทปการป้อนข้อมูลที่ว่างเปล่า”,“ เอ็มไม่ได้หยุดในเทปการป้อนข้อมูลที่ว่างเปล่า” และ“ Mเป็นเครื่องทัวริง”.
    ให้แก้ปัญหาหนึ่งเป็นเรื่องง่าย : คุณสามารถเลือก“ Mเป็นเครื่องทัวริง” ได้เสมออย่างไรก็ตามไม่ว่าคำตอบที่ได้รับนั้นถูกต้องหรือไม่ก็ไม่สามารถตัดสินใจได้ โปรดทราบว่าในปัญหานี้มีเพียงสองวิธีเท่านั้นสำหรับแต่ละอินสแตนซ์

มีวิธีที่สมเหตุสมผลในการกำหนดอย่างเป็นทางการว่าอะไรคือปัญหาที่เกิดขึ้น "ประดิษฐ์"? (โดย“ สมเหตุสมผล” ฉันหมายถึงสิ่งที่เราสามารถยอมรับได้อย่างกว้างขวางเช่นบอกว่าคำจำกัดความของ“ คำนวณ” จับสัญชาตญาณของเราในสิ่งที่ควรหมายถึง)
Gilles 'หยุดความชั่วร้าย'

@Gilles: ไม่ฉันไม่คิดอย่างนั้น ฉันเรียกว่าปัญหาเหล่านี้“ ประดิษฐ์” เพราะไม่น่าเป็นไปได้มากที่ใครบางคนจะพบปัญหาเหล่านี้ก่อนแล้วจึงพบว่ามันเป็นเรื่องง่ายที่จะให้คำตอบเดียวและยากที่จะตัดสินความถูกต้องของผู้สมัครที่ได้รับคำตอบ แต่“ การประดิษฐ์” นี้ไม่ได้เป็นความคิดที่เข้มงวด
Tsuyoshi Ito

@Tsuyoshi Ito - ขอบคุณสำหรับคำตอบที่ชัดเจน ฉันได้แก้ไขย่อหน้าสุดท้ายเพื่อสะท้อนความเข้าใจของคุณ
rphv

1

แม้ว่าคำตอบของ Tsuyoshi Ito จะครอบคลุมคำตอบ "หลัก" แต่ก็มีโน้ตย่อยสองตัวที่ฉันต้องการเพิ่ม

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

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

    ตัวอย่างของปัญหาที่คล้ายกันปัญหาของ Deutsch-Jozsa ได้รับความทุกข์ทรมานจากเรื่องนี้เล็กน้อย หาก oracle ไม่ใช่ฟังก์ชันที่สมดุลแล้วคอมพิวเตอร์ควอนตัมสามารถระบุได้อย่างรวดเร็วว่าเป็นกรณีนี้ แต่ไม่มีข้อพิสูจน์สั้น ๆ ที่จะอนุญาตให้คอมพิวเตอร์แบบดั้งเดิมตรวจสอบสิ่งนี้ (นี่เป็นเพียงปัญหา "ที่คล้ายกัน" เพราะยังสามารถตรวจสอบได้โดยคอมพิวเตอร์ควอนตัมเครื่องอื่นและการตรวจสอบก็อยู่ใน BPP แบบคลาสสิกแม้ว่าจะไม่ได้อยู่ใน P)

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