2
เป็นวิธีที่มีประสิทธิภาพในการเยี่ยมชมทุกพื้นที่ที่เข้าถึงได้ในตารางที่มีอุปสรรคที่ไม่รู้จักคืออะไร?
ฉันกำลังพยายามสร้างแผนที่ของอุปสรรคในพื้นที่กริด 2D แบบหยาบโดยใช้การสำรวจ ฉันค้นหาสิ่งกีดขวางโดยพยายามย้ายจากพื้นที่หนึ่งไปยังพื้นที่ที่อยู่ติดกันและหากสิ่งนั้นล้มเหลวก็จะมีสิ่งกีดขวางในพื้นที่ปลายทาง (ไม่มีแนวคิดของเซ็นเซอร์ระยะไกลในปัญหานี้) ตัวอย่างตาราง http://www.eriding.net/resources/general/prim_frmwrks/images/asses/asses_y3_5d_3.gif (ตัวอย่าง) กระบวนการนี้เสร็จสมบูรณ์เมื่อมีการเยี่ยมชมช่องสี่เหลี่ยมที่เข้าถึงได้ทั้งหมด กล่าวอีกนัยหนึ่งช่องว่างบางอย่างอาจไม่สามารถเข้าถึงได้อย่างสมบูรณ์แม้ว่าจะไม่มีสิ่งกีดขวางเพราะล้อมรอบ คาดว่าจะเป็นแบบนี้ ในกรณีที่ง่ายที่สุดฉันสามารถใช้อัลกอริทึม DFSแต่ฉันกังวลว่าการดำเนินการนี้จะใช้เวลานานเกินกว่าจะเสร็จสมบูรณ์ - หุ่นยนต์จะใช้เวลาย้อนรอยมากกว่าการสำรวจดินแดนใหม่ ฉันคาดว่าสิ่งนี้จะเป็นปัญหาโดยเฉพาะอย่างยิ่งเมื่อพยายามเข้าถึงสแควร์สที่ไม่สามารถเข้าถึงได้เพราะหุ่นยนต์จะหมดทุกตัวเลือก ในวิธีการที่ซับซ้อนมากขึ้นเป็นสิ่งที่เหมาะสมในการทำดูเหมือนว่าจะมีการสลายตัวของเซลล์ Boustrophedon อย่างไรก็ตามฉันไม่สามารถหาคำอธิบายที่ดีเกี่ยวกับอัลกอริธึมการสลายตัวของเซลล์ Boustrophedon (นั่นคือคำอธิบายที่สมบูรณ์ในคำง่าย ๆ ) มีทรัพยากรเช่นเป็นคนนี้ , หรือนี้เพิ่มเติมทั่วไปเกี่ยวกับการสลายตัวของเซลล์ในแนวตั้งพวกเขาไม่ได้มีความเข้าใจมากในขั้นตอนวิธีการระดับสูงหรือระดับต่ำโครงสร้างข้อมูลที่เกี่ยวข้อง แต่ ฉันจะเยี่ยมชม (แผนที่) กริดนี้อย่างมีประสิทธิภาพได้อย่างไร ถ้ามีฉันต้องการอัลกอริทึมที่ทำงานได้ดีกว่าเทียบกับจำนวนรวมของกริดสแควร์ ( เช่นดีกว่าสำหรับกริด )O(n2)O(n2)O(n^2)O ( n 4 ) n ∗ nO(n4)O(n4)O(n^4)n∗nn∗nn*n