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