กราฟถ่วงน้ำหนัก เสนอต่อ อ.ธรรมนูญ ผุยรอด จัดทำโดย น.ส.กุลชา ผลพิสิษฐ์ ม.6/7 เลขที่ 2 น.ส.ปาจรีย์ ทองอัครนิโรจน์ ม.6/7 เลขที่ 4 กราฟถ่วงน้ำหนัก
กราฟถ่วงน้ำหนัก บ่อยครั้งที่ปัญหาซึ่งต้องการแก้ไขถูกจำลองโดยใช้กราฟซึ่งมีตัวเลขกำกับไว้ตามเส้นเชื่อมต่างๆบนกราฟ เราเรียกตัวเลขกำกับเส้นเชื่อมกำกับเส้นเชื่อมนี่ว่า “น้ำหนัก”(weight) และเรียกกราฟแบบนี้ว่ากราฟถ่วงน้ำหนัก (weight graph) ตัวอย่างเช่น การจำลองเส้นทางถนนในกรุงเทพ ได้โดยใช้ข่ายงานซึ่งมีจุดยอดของกราฟแทนทางแยก เส้นเชื่อมของกราฟแทนส่วนของถนนที่เชื่อมระหว่างทางแยก ซึ่งมีน้ำหนักของเส้นเชื่อมแทนระยะทาง จากนั้นจึงตั้งคำถามเช่น การหาวิถีที่สั้นที่สุดระหว่างสถานที่ต่างๆ ในกรุงเทพ จากข่ายงานที่สร้าง
วิถีสั้นสุด การหาวิถีสั้นที่สุด (shortest path) ระหว่างจุดยอดคู่ใดๆ ในข่ายงาน เป็นปัญหาซึ่งเกิดขึ้นบ่อยมากโดยในที่นี้ความยาวของวิถี ถูกกำหนดให้เป็นผลรวมของน้ำหนักของเส้นเชื่อมต่างๆ ซึ่งประกอบกันเป็นวิถีนั้น
ขั้นตอนวิธีของไดสค์ตรา (Dijkstra)
ตัวอย่างสำหรับ Dijkstra’s Algorithm รอบที่ โหนดที่เลือก Adjacency Node Arc ที่พิจารณา Weight(i,j) Weight(i,j)+d(i) d(v) 1 A B (A,B) 2 C (A,C) 6 รอบที่ โหนดที่เลือก Adjacency Node Arc ที่พิจารณา Weight(i,j) Weight(i,j)+d(i) d(v) 2 A,B C (A,C) 6 8 5 (B,C) 3 D (B,D) 4 รอบที่ โหนดที่เลือก Adjacency Node Arc ที่พิจารณา Weight(i,j) Weight(i,j)+d(i) d(v) 3 A,B,D C (A,C) 6 (B,C) 5 (D,C) 9 กำหนดให้เริ่มต้นที่ A start 2 A A B B เลือก B 6 3 2 เลือก D เลือก C C C D D 5
จากกราฟ ก็จะได้ระยะทางที่สั้นที่สุด ที่เริ่มจากจุด A ไปยังจุดต่างๆ เช่น จากจุด A ไปยังจุด C มีระยะทางที่สั้นที่สุด คือ 5 และต้องผ่านจุด B เป็นต้น 2 A B 6 3 2 C D 5
8,700 7,700 2,200 4,200 7,500 9,800 4,300 3,500 5,700 7,300 12,000 9,600 5,800
เอกสารอ้างอิง สมชาย ประสิทธิ์จูตระกูล, (2548). ภินทนคณิตศาสตร์. หน้า 273-281. ปทุมธานี. ศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ http://www.cs.montana.edu/~defrance/classes/spring-2003/cs223/ Lectures/graphs.html
THE END