18
ขั้นตอนวิธีใดที่คำนวณทิศทางจากจุด A ไปยังจุด B บนแผนที่
ผู้ให้บริการแผนที่ (เช่น Google หรือ Yahoo! Maps) จะแนะนำเส้นทางอย่างไร ฉันหมายถึงพวกเขาอาจมีข้อมูลจริงในบางรูปแบบรวมถึงระยะทาง แต่บางทีสิ่งต่าง ๆ เช่นความเร็วในการขับขี่การปรากฏตัวของทางเท้าตารางรถไฟเป็นต้น แต่สมมติว่าข้อมูลอยู่ในรูปแบบที่ง่ายกว่าพูดกราฟที่มีขนาดใหญ่มาก ด้วยน้ำหนักที่ขอบซึ่งสะท้อนระยะทาง ฉันต้องการคำนวณทิศทางจากจุดหนึ่งไปยังอีกจุดหนึ่งอย่างรวดเร็ว บางครั้งจุดเหล่านี้จะอยู่ติดกัน (ภายในเมืองเดียว) ในขณะที่บางครั้งมันจะอยู่ห่างกัน (ข้ามประเทศ) อัลกอริทึมกราฟเช่นอัลกอริธึมของ Dijkstra จะไม่ทำงานเพราะกราฟมีขนาดใหญ่มาก โชคดีที่อัลกอริทึมแบบฮิวริสติกเช่น A * อาจใช้งานได้ อย่างไรก็ตามข้อมูลของเรามีโครงสร้างมากและบางทีวิธีการทำเป็นชั้นบางอย่างอาจใช้งานได้? (ตัวอย่างเช่นจัดเก็บเส้นทางที่คำนวณล่วงหน้าระหว่างจุด "คีย์" บางจุดที่อยู่ไกลกันรวมถึงเส้นทางท้องถิ่นบางแห่งจากนั้นเส้นทางสำหรับจุดที่อยู่ห่างไกลสองแห่งจะเกี่ยวข้องกับเส้นทางในท้องถิ่นไปยังจุดสำคัญเส้นทางโลกไปยังจุดสำคัญอื่น ๆ เส้นทางอีกครั้ง) จริง ๆ แล้วอัลกอริทึมที่ใช้ในทางปฏิบัติคืออะไร? PS คำถามนี้มีแรงจูงใจจากการค้นหานิสัยใจคอในทิศทางการทำแผนที่ออนไลน์ ขัดกับความไม่เท่าเทียมกันสามเหลี่ยมบางครั้ง Google Maps คิดว่าXZใช้เวลานานและเป็นที่ไกลออกไปกว่าการใช้จุดกลางในขณะที่XYZ แต่บางทีเส้นทางการเดินของพวกเขาอาจปรับพารามิเตอร์อื่นให้เหมาะสม PPS นี่คือการละเมิดความไม่เท่าเทียมกันรูปสามเหลี่ยมที่แสดงให้เห็น (ให้ฉัน) ที่พวกเขาใช้ประเภทของวิธีการบางฉัตรอื่น: XZเมื่อเทียบกับXYZ อดีตดูเหมือนว่าจะใช้ Boulevard de Sebastopol …