นี่เป็นปัญหากราฟ จำกัด แน่นอนหรือไม่? ปัจจัยใดที่ทำให้เกิดปัญหาที่สามารถตัดสินใจได้


17

ฉันต้องการที่จะรู้ว่าปัญหาต่อไปนี้จะสามารถตัดสินใจได้และวิธีการที่จะหา ทุกปัญหาที่ฉันเห็นฉันสามารถพูดว่า "ใช่" หรือ "ไม่" กับมันดังนั้นปัญหาและอัลกอริธึมส่วนใหญ่สามารถตัดสินใจได้ยกเว้นบางอย่าง (ซึ่งมีให้ที่นี่ )

การป้อนข้อมูล: กำกับและ จำกัด กราฟกับและเป็นจุด คำถาม: เส้นทางในกับเป็นจุดสุดยอดเริ่มต้นและเป็นจุดสุดยอดที่มีอยู่สุดท้าย?Gvu
Guv


คำตอบ:


18

ปัญหาใด ๆ ที่ต้องการเพียงการตรวจสอบข้อมูลจำนวน จำกัด นั้นสามารถตัดสินใจได้เนื่องจากมีอัลกอริทึมที่ประกอบด้วยการแจกแจงโซลูชันที่มีศักยภาพทั้งหมด อาจช้าอย่างน่าขัน แต่ก็ไม่เกี่ยวข้องกัน: หากมีอัลกอริธึมมันจะตัดสินใจได้

ปัญหาที่คุณระบุถือว่าเป็นกราฟ จำกัด ซึ่งบ่งบอกได้อย่างชัดเจนว่ามันสามารถตัดสินใจได้ พูดอย่างเคร่งครัดคุณจะต้องมองอีกสักหน่อย ปัญหาคือคุณสมบัติบนเส้นทางในกราฟและบางครั้งก็มีจำนวนเส้นทางไม่สิ้นสุดเมื่อกราฟมีรอบ (คุณสามารถวนรอบรอบนี้ได้หลายครั้งตามที่คุณต้องการ) อย่างไรก็ตามมันง่ายที่จะเปลี่ยนปัญหาให้เป็นปัญหาที่ จำกัด : หากมีเส้นทางใด ๆ ที่ขึ้นต้นด้วยและลงท้ายด้วยvที่มีวัฏจักรคุณสามารถตัดรอบทั้งหมดในเส้นทางนั้นและคุณมีวิธีแก้ปัญหาแบบใหม่ ไม่รวมรอบ เนื่องจากมีจำนวน จำกัด ของเส้นทางที่ไม่เกี่ยวข้องกับวงจร (ถ้ากราฟมีขอบkมีมากที่สุดk !uvkk!เส้นทางที่ไม่ได้ใช้ขอบเดียวกันมากกว่าหนึ่งครั้ง) ปัญหาในการค้นหาเส้นทางจากถึงvนั้นเป็นปัญหาอย่างสมบูรณ์ดังนั้นจึงสามารถตัดสินใจได้uv

อนึ่งคุณสมบัตินี้เรียกว่าการเชื่อมต่อ

วิธีการนี้จะเป็นหนึ่งที่เรียกว่าลดลง เมื่อพิจารณาถึงปัญหาที่ไม่ตรงไปตรงมาเราจึงลดปัญหาดังกล่าวเป็นปัญหาที่เรารู้วิธีแก้ปัญหา

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

คุณไม่สามารถพูดได้จริง ๆ ว่าปัญหา "ส่วนใหญ่" นั้นสามารถตัดสินใจได้หรือปัญหา "ส่วนใหญ่" นั้นจะไม่สามารถตัดสินใจได้ ในแง่ทฤษฎีบางประเด็นปัญหาเกือบทั้งหมดไม่สามารถตัดสินใจได้ แต่เรามีแนวโน้มที่จะแก้ไขปัญหาที่“ น่าสนใจ” และมีแนวโน้มที่จะมีทางออก


15

ปัญหานี้แก้ไขได้เล็กน้อยตามที่ Gilles ชี้ในความคิดเห็น สำหรับคำถามอื่น ๆ ของคุณ ...

ปัญหาและอัลกอริธึมส่วนใหญ่ตัดสินใจได้ยกเว้นเพียงเล็กน้อย (ซึ่งมีให้ที่นี่ )

Nope ที่จริงแล้วปัญหาส่วนใหญ่ไม่สามารถตัดสินใจได้ อันที่จริงมีปัญหามากมาย (ภาษา) แต่มีเพียงทัวริงจำนวนมากซึ่งหมายความว่ามีปัญหาที่สามารถตัดสินใจได้หลายอย่าง


8

ใช่นี่คือ decidable เพราะคุณสามารถทำการค้นหาเส้นทางที่เป็นไปได้ทั้งหมด ไม่จำเป็นต้องดูเส้นทางใด ๆ ที่ทำซ้ำจุดสุดยอดเนื่องจาก "อ้อม" สามารถข้ามได้ แต่ความยาวของเส้นทางที่ไม่มีการทำซ้ำจะถูก จำกัด ด้วยขนาดของกราฟซึ่งมีขอบเขต จำกัด และดังนั้นจึงมีเพียงเส้นทางที่มีจำนวน จำกัด เท่านั้นซึ่งสามารถตรวจสอบทีละรายการได้

Gabab


มันไม่ได้ขึ้นอยู่กับอินพุตหรือไม่ ฉันหมายถึงเมื่อข้อมูลที่ให้ไว้ไม่เพียงพอที่จะค้นหาคำตอบฉันควรจะบอกว่ามันไม่สามารถตัดสินใจได้?
Gigili

ฉันไม่แน่ใจว่าคุณถามอะไร สำหรับปัญหาที่คุณอธิบายการป้อนข้อมูลก็เพียงพอที่จะหาคำตอบ
Carl Mummert

@Gigili หากปัญหาไม่สามารถระบุได้มันจะเป็นไปไม่ได้ที่จะเกิดอัลกอริธึมซึ่งจะให้ผลเป็นใช่หรือไม่ใช่สำหรับอินพุตทั้งหมด นั่นไม่ใช่ปัญหาในปัญหานี้เนื่องจากด้วย BFS เราสามารถกำหนดได้ว่ามีเส้นทางอยู่หรือไม่ (ในเวลาเชิงเส้นด้วย)
Zach Langley

@ ZachLangley: ใช่ฉันกำลังขอคดีทั่วไป หากข้อมูลที่ได้รับเป็นอินพุตไม่เพียงพอที่จะแก้ปัญหาได้ปัญหาจะไม่สามารถตัดสินใจได้หรือไม่?
Gigili

uvuv

7

ไม่มีวิธีการใดที่จะบอกคุณว่าปัญหานั้นสามารถแก้ไขได้หรือไม่ เมื่อเวลาผ่านไปคุณอาจได้รับ "ลางสังหรณ์" ที่ดีไม่ว่าปัญหานั้นจะสามารถตัดสินใจได้หรือไม่ก็ตาม

สิ่งที่ฉันมักจะทำมีดังต่อไปนี้:

  1. พยายามแก้ปัญหา นั่นคือลองนึกถึงโปรแกรมคอมพิวเตอร์ที่ช่วยแก้ปัญหาที่ได้รับ สำหรับปัญหาที่แนะนำของคุณ - โปรแกรมที่ง่ายมากเพียงแค่ตรวจสอบเส้นทางที่เป็นไปได้และจะประสบความสำเร็จในการค้นหามัน (ถ้ามีอยู่) หรือบอกคุณว่าไม่มีเส้นทางอื่น
  2. กำหนดปัญหาให้ชัดเจน ปัญหามากมายคลุมเครือเกินไป แต่เมื่อเขียนชัดเจนมันง่ายมากที่จะดูว่า decidable หรือไม่ (โดยเปรียบเทียบกับปัญหาอื่น ๆ ที่รู้จักกันเป็น un / decidable หรือโดยใช้วิธีการที่รู้จักกันดีเช่นทฤษฎีบทของ Rice )
  3. หาก (2) ไม่ทำงาน แต่คุณยังเชื่อว่าปัญหานั้นไม่สามารถตัดสินใจได้ให้ลองพิสูจน์ด้วยการลดปัญหาที่ไม่สามารถตัดสินใจได้ (ปัญหาการหยุดทำงาน (หรือปัญหาส่วนเสริม) ใช้ได้กับหลายกรณี)

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

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