เครื่องมือแก้เขาวงกตสายตาสั้นที่เหมาะสมที่สุด


10

ฉันหลงกลไปกับการสาธิตเขาวงกตของ Google Blockyและจดจำกฎเดิม ๆ ว่าหากคุณต้องการแก้ปัญหาเขาวงกตเพียงแค่ถือมือซ้ายไว้กับกำแพง มันใช้งานได้สำหรับเขาวงกตที่เชื่อมต่อง่าย ๆ และสามารถใช้งานได้โดยตัวแปลงสัญญาณไฟไนต์ จำกัด

ให้หุ่นยนต์ของเราเป็นตัวแทนของทรานสดิวเซอร์โดยดำเนินการดังต่อไปนี้และสิ่งที่สังเกตได้:

  • การดำเนินการ: ไปข้างหน้า ( ) เลี้ยวซ้าย ( ) เลี้ยวขวา ( )
  • สิ่งที่สังเกตได้: กำแพงข้างหน้า ( ), ไม่มีกำแพงข้างหน้า ( )

จากนั้นเราสามารถสร้างช่างแก้ตัวทางซ้ายมือเป็น (อภัยรูปวาดขี้เกียจของฉัน):

ตัวแปลงสัญญาณเพื่อแก้ปัญหาเขาวงกต

การเห็นสิ่งที่สังเกตได้จะทำให้เราติดตามสถานะที่เหมาะสมออกไปจากรัฐในขณะดำเนินการกระทำที่เกี่ยวข้องกับขอบนั้น หุ่นยนต์นี้จะแก้เขาวงกตที่เชื่อมต่อทั้งหมดแม้ว่ามันอาจจะใช้เวลาหลังจากการตาย เราเรียกว่าหุ่นยนต์อื่นดีกว่าAถ้า:B A

  1. ใช้ขั้นตอนเพิ่มเติมอย่างเคร่งครัดในจำนวน จำกัด เท่านั้นเขาวงกตและB

  2. ใช้ขั้นตอนน้อยลงอย่างเคร่งครัด (โดยเฉลี่ยสำหรับตัวแปรที่น่าจะเป็น) กับจำนวนเขาวงกตที่ไม่ จำกัดB

คำถามสองข้อของฉัน:

  1. มีหุ่นยนต์ จำกัด ที่ดีกว่าที่วาดไว้ข้างต้นหรือไม่? จะเกิดอะไรขึ้นถ้าเรายอมให้ตัวแปลงสัญญาณที่น่าจะเป็น

  2. มีหุ่นยนต์ จำกัด สำหรับแก้เขาวงกตที่ไม่จำเป็นต้องเชื่อมต่ออย่างง่ายหรือไม่?


@jmad และฉันมีการสนทนาที่เกิดผลสวยในการสนทนาเกี่ยวกับคำถามนี้ หากคุณกำลังคิดเกี่ยวกับคำถาม (โดยเฉพาะคำจำกัดความที่ดีกว่า ) ฉันขอแนะนำให้ตรวจสอบการถอดเสียง
Artem Kaznatcheev

ฉันไม่เห็นว่าคำถามนี้เกี่ยวข้องกับ AI อย่างไร (โดยเฉพาะตัวแทนของเราที่จะไม่เปลี่ยนพฤติกรรมของพวกเขาที่ให้ข้อมูลอินสแตนซ์) แต่ฉันไม่เชี่ยวชาญในสาขานั้น
กราฟิลส์

3
@ ราฟาเอลเขาวงกตแก้ปัญหาและการค้นหาเส้นทาง (จากการตรวจสอบ BFS, DFS, A * และ on-wards) เป็นหลักสูตรพื้นฐานในหลักสูตร AI เบื้องต้น ฉันเห็นด้วยในฐานะที่เป็นความเฉลียวฉลาดนี่ไม่ใช่สิ่งที่น่าตื่นเต้นเป็นพิเศษ แต่ถ้า AI สอนอะไรให้ฉัน: AI ส่วนใหญ่เป็นเพียงปัญหาการค้นหา
Artem Kaznatcheev

คำตอบ:


6

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

ป้อนคำอธิบายรูปภาพที่นี่

A

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

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

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


นี่เป็นกลวิธีที่ยอดเยี่ยมสำหรับกรณีของการเข้า - ออกบนขอบเขต (ซึ่งเป็น sub-class ของเขาวงกตที่เชื่อมต่ออย่างง่าย) มันแสดงให้เห็นว่าในกรณีที่ถูก จำกัด นี้การสั่งซื้อที่ฉันกำหนดไม่มีองค์ประกอบขั้นต่ำ ฉันไม่คิดว่ามันจะเป็นเรื่องธรรมดาสำหรับเขาวงกตที่เชื่อมต่อแบบง่ายๆได้ทั้งหมด (ซึ่งเป็นชุดซ้ายมือที่ทำงานต่อไปนี้)
Artem Kaznatcheev

@ArtemKaznatcheev: ฉันคิดว่าเคล็ดลับใช้งานได้บนเขาวงกตที่มีทางเข้าภายในเขาวงกตและออกจากขอบเขตด้วยเช่นกัน ยิ่งไปกว่านั้นมันยังใช้งานได้บนเขาวงกต (ที่มีมากมายเหลือล้น) ซึ่งมีหน้าซีดเหมือนที่อยู่ในรูป) ฉันจะแก้ไขคำถามเพื่อชี้แจงประเด็นนี้
Vor

k

4k1

5

คำถามที่ 1

ฉันคิดว่าคำจำกัดความของคุณที่ดีกว่านั้นเข้มงวดเกินไปในแง่ที่ว่าจำกัด แน่นอนเกินไป (แต่ฉันไม่มีคำนิยามที่ดีกว่านี้)

R=(Ri)iRiiLARALRLARAL

ARRAR

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

คำถามที่ 2 (ขอบคุณการสนทนากับ OP )

ไม่ (ที่มา: กระดาษที่ก้าวล้ำนี้โดย Lothar Budach ทฤษฎีบทนี้มีการระบุไว้อย่างชัดเจนในนามธรรมของบทความนี้โดย Frank Hoffmann)


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

ABABLRRLLRAALLA

ABBA

AB

#{A(M)<B(M)|M|n}/#{M|M|n}=o(1)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.