Graph’s algorithm นำเสนอโดย นายปองสิทธิ์ โพธิคุณ ม.6/7 เลขที่ 17 นายสรวิศ ไพบูลย์รัตนากร ม.6/7 เลขที่ 21
เสนอ อ.ธรรมนูญ ผุยรอด
Outline Dijkstra Prim } algorithm
Dijkstra’s Algorithm
Dijkstra’s algorithm Edsger Wybe Dijkstra (1930 – 2000)
Dijkstra’s algorithm ประวัติ Edsger Wybe Dijkstra (1930 – 2000) เป็นนักวิทยาศาสตร์ด้านคอมพิวเตอร์ (computer science) ชาวเนเธอแลนด์ เขาได้รับรางวัล ACM Turing ด้านการเขียนโปรแกรมในปี 1972 และเป็นอาจารย์พิเศษด้านคอมพิวเตอร์ที่ University of Texas at Austin ตั้งแต่ปี 1984 จนถึง 2002 โดยก่อนหน้านี้ไม่นาน เขาได้รับรางวัลจากสมาคม ACM (association for computing machinery) จากบทความเกี่ยวกับการความถูกต้องแม่นยำของขั้นตอนวิธี ขั้นตอนวิธีหนึ่งที่มีชื่อเสียงของเขา คือ Dijkstra algorithm ซึ่งใช้อธิบายเส้นทางที่สั้นที่สุดที่ผ่านจุดทุกจุดในกราฟ
Dijkstra’s algorithm ขั้นตอนวิธี 4 6 7 3 5 5 3 4 7 5 4 เริ่มต้น A A B C 7 3 5 5 3 F D 4 7 5 G E 4
Dijkstra’s algorithm ขั้นตอนวิธี 4 6 7 3 5 5 3 4 7 5 4 เลือก B A B B C F D 4 7 5 G E 4
Dijkstra’s algorithm ขั้นตอนวิธี 4 6 7 3 5 5 3 4 7 5 4 เลือก F A B B C E 4
Dijkstra’s algorithm ขั้นตอนวิธี 4 6 7 3 5 5 3 4 7 5 4 เลือก D A B B C F F D D 4 7 5 G E 4
Dijkstra’s algorithm ขั้นตอนวิธี 4 6 7 3 5 5 3 4 7 5 4 เลือก E A B B C F F D D 4 7 5 เลือก E G E E 4
Dijkstra’s algorithm ขั้นตอนวิธี 4 6 7 3 5 5 3 4 7 5 4 เลือก C A B B C F F D D 4 7 5 G E E 4
Dijkstra’s algorithm ขั้นตอนวิธี 4 6 7 3 5 5 3 7 4 5 4 เลือก G A B B C F F D D 7 4 เลือก G 5 G G E E 4
Dijkstra’s algorithm ขั้นตอนวิธี 4 6 7 3 5 5 3 4 7 5 4 A B B C C F F D E E 4
Dijkstra’s algorithm การประยุกต์ใช้ Dijkstra’s Algorithm เป็นขั้นตอนวิธีที่ใช้ในการหาเส้นทางที่สั้นที่สุด ที่ใช้เวลาในการค้นหาเส้นทางที่สั้นที่สุดน้อย และมีขั้นตอนวิธีที่ไม่ยุ่งยากซับซ้อนมากจนเกินไป และเราสามารถเอา dijkstra’s algorithm มาประยุกต์ใช้ในงานต่างๆได้ ไม่ว่าจะเป็นการค้นหาเส้นทางที่สั้นที่สุดบนแผนที่หรือไปประยุกต์ใช้ในงานทางด้าน network และปัญหาการเดินทางของพนักงานขาย (saleman problem) ได้เป็นต้น
ตัวอย่างเพิ่มเต Prim’s algorithm
Prim’s algorithm Vojtěch Jarník (1897 - 1970)
Prim’s algorithm ประวัติ Vojtěch Jarník (1897 - 1970) เป็นนักคณิตศาสตร์ชาวเช็ก สาขาหลักของเขาคือการศึกษาทฤษฎีจำนวนและการวิเคราะห์เชิงคณิตศาสตร์ ผลงานด้านคณิตศาสตร์ที่สำคัญคือ การพิสูจน์ผลของ lattice point problems ในด้านคอมพิวเตอร์ เขาค้นพบขั้นตอนวิธีในการแก้ปัญหา Minimum spanning tree ที่มีชื่อว่า Jarnik’s algorithm ในภายหลังเปลี่ยนชื่อเป็น prim’s algorithm
Prim’s algorithm ขั้นตอนวิธี
Prim’s algorithm การประยุกต์ใช้ Prim’s algorithm เป็นขั้นตอนวิธีในการหาแนวเดินของกราฟ spanning tree ที่มีผลรวมของเส้นเชื่อมทั้งหมดน้อยที่สุดในแนวเดินทั้งหมดของกราฟ ขั้นตอนวิธีนี้สามารถนำไปประยุกต์ใช้กับการแก้ปัญหาหรือสร้างปริศนา รวมไปถึงการหาเส้นทางที่สั้นที่สุด หรือใช้ทรัพยากรน้อยที่สุด ตัวอย่างของปริศนาที่อาศัยขั้นตอนวิธีนี้คือ ปริศนาเขาวงกต
เอกสารอ้างอิง http://www-b2.is.tokushima-u.ac.jp/~ikeda/suuri/maxflow/MaxflowApp.shtml http://staff.buu.ac.th/~phong/Data_Struct/Dijkstra%20Shotest%20Paht%20Algorithm-2.ppt http://www.adeptis.ru/vinci/m_part7.html http://www-b2.is.tokushima-u.ac.jp/~ikeda/suuri/main/index.shtml http://en.wikipedia.org/wiki/Prim's_algorithm http://www.archiv.cas.cz/english/foto/jarnikv.htm
ขอคำถามครับ
ขอบคุณครับ