งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Shortest-Path Algorithms BY นาย จิรวัฒน์ กรัณย์วิทยาการ นาย จิรวัฒน์ กรัณย์วิทยาการ ID 474487 ITE 209 Sec 01 ID 474487 ITE 209 Sec 01.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Shortest-Path Algorithms BY นาย จิรวัฒน์ กรัณย์วิทยาการ นาย จิรวัฒน์ กรัณย์วิทยาการ ID 474487 ITE 209 Sec 01 ID 474487 ITE 209 Sec 01."— ใบสำเนางานนำเสนอ:

1 Shortest-Path Algorithms BY นาย จิรวัฒน์ กรัณย์วิทยาการ นาย จิรวัฒน์ กรัณย์วิทยาการ ID ITE 209 Sec 01 ID ITE 209 Sec 01

2 Shortest-Path Algorithms Shortest-Path Algorithms Shortest-Path Algorithms ใช้ directed graph ที่มี weighted ใช้ directed graph ที่มี weighted Cost ของ path คือ cost ของแต่ละ edge path รวมกัน Cost ของ path คือ cost ของแต่ละ edge path รวมกัน → “weighted path length” → “weighted path length” ถ้า unweighted graph,unweighted path length = N-1 ถ้า unweighted graph,unweighted path length = N-1 Shortest path problem คือการหา shortest weighted path จากจุดเริ่มต้น (s) ไปยังทุกๆ node ใน graph Shortest path problem คือการหา shortest weighted path จากจุดเริ่มต้น (s) ไปยังทุกๆ node ใน graph Path ที่มี negative cost จะหา shortest path ได้ยุ่งยาก Path ที่มี negative cost จะหา shortest path ได้ยุ่งยาก

3 Shortest-Path Algorithms 1) unweighted shortest paths 1) unweighted shortest paths แต่ละ path จะมีค่า = 1 แต่ละ path จะมีค่า = 1 Breadth-first search AND dept-first search strategy ใช้คำนวณหา shortest path Breadth-first search AND dept-first search strategy ใช้คำนวณหา shortest path

4 Shortest-Path Algorithms 2) Weighted shortest-paths (Djikstra’s algorithm) 2) Weighted shortest-paths (Djikstra’s algorithm) Djikstra’s algorithm ใช้หลักการคล้ายกับ breadth- first search strategy จัดเป็นจำพวก greedy algorithm Djikstra’s algorithm ใช้หลักการคล้ายกับ breadth- first search strategy จัดเป็นจำพวก greedy algorithm Shortest path อาจไม่ใช่เส้นทางที่สั้นที่สุด เพราะ ต้องดู weight ประกอบด้วยเป็นหลัก Shortest path อาจไม่ใช่เส้นทางที่สั้นที่สุด เพราะ ต้องดู weight ประกอบด้วยเป็นหลัก Shortest path เป็นเส้นทางที่มีผลรวม weight น้อย ที่สุด Shortest path เป็นเส้นทางที่มีผลรวม weight น้อย ที่สุด

5 Shortest-Path Algorithms Graph with Negative edge costs Graph with Negative edge costs ตัวนี้ไม่ค่อยการใช้งานมากนัก เพราะคำนวณ ได้ยากมาก ตัวนี้ไม่ค่อยการใช้งานมากนัก เพราะคำนวณ ได้ยากมาก Weighted มีค่าติดลบได้ ทำให้การหา shortest path ยุ่งยากมากขึ้น Weighted มีค่าติดลบได้ ทำให้การหา shortest path ยุ่งยากมากขึ้น

6 Shortest-Path Algorithms Shortest path in acyclic graph & Critical path analysis Shortest path in acyclic graph & Critical path analysis กราฟที่เป็น Acyclic graph สามารถนำมาประยุกต์ใช้ หา critical path analysis ได้โดยสามารถแสดงให้เห็น ได้จาก activity node graph ดังรูป กราฟที่เป็น Acyclic graph สามารถนำมาประยุกต์ใช้ หา critical path analysis ได้โดยสามารถแสดงให้เห็น ได้จาก activity node graph ดังรูป Start A(3) B(2) D(2) C(3) E(1) F(3) G(2) H(1) K(4) Finish

7 Shortest-Path Algorithms แต่ละโหนดจะแทนถึง activity และเวลาที่ต้องใช้ และ edge ที่เชื่อมระหว่างโหนดจะแสดงถึงลำดับว่า activity ไหนที่ต้องทำก่อนหน้าหลัง แต่ละโหนดจะแทนถึง activity และเวลาที่ต้องใช้ และ edge ที่เชื่อมระหว่างโหนดจะแสดงถึงลำดับว่า activity ไหนที่ต้องทำก่อนหน้าหลัง กราฟในลักษณะนี้ถูกนำไปใช้อย่างแพร่หลายใน การกำหนดตารางการดำเนินงาน time schedule ของ งานพวกก่อสร้าง ซึ่งมักใช้เป็นตัวช่วยตอบคำถาม หลักๆว่า โครงการนี้จะใช้เวลาทำเสร็จเร็วสุดกี่วัน และ ช่วยตอบคำถามที่ว่า activity ไหนบ้างที่สามารถทำ ล่าช้ากว่ากำหนดได้และช้าได้กี่วัน โดยไม่ส่งผลให้ ภาพรวมของโครงการช้าไป

8 Shortest-Path Algorithms โหนดไหนมี input มากกว่า 1 จะต้องใช้ dummy node มาช่วย ซึ่งจะเห็นได้จากโหนด 6,8,11 เป็นต้น โหนดไหนมี input มากกว่า 1 จะต้องใช้ dummy node มาช่วย ซึ่งจะเห็นได้จากโหนด 6,8,11 เป็นต้น A/2 B/1 C/2 D/1 F/4 E/2 0 K/ G/2 H/1 I/1 ขั้นที่ 1 J/2

9 Shortest-Path Algorithms การหาเวลาที่เร็วที่สุดที่โครงการจะทำเสร็จ (earliest) สามารถหาได้จากการหา path ที่ยาวที่สุดของกราฟ โดยจะเลือกเส้นทางจากค่าที่มากที่สุดดังรูป การหาเวลาที่เร็วที่สุดที่โครงการจะทำเสร็จ (earliest) สามารถหาได้จากการหา path ที่ยาวที่สุดของกราฟ โดยจะเลือกเส้นทางจากค่าที่มากที่สุดดังรูป A/2 B/1 C/2 D/1 F/4 E/2 0 K/ G/2 H/1 I/1 ขั้นที่ J/2

10 Shortest-Path Algorithms Earliest Earliest ขั้นที่ A/2 B/1 C/2 D/1 F/4 E/2 0 K/ G/2 H/1 I/ J/2

11 Shortest-Path Algorithms Earliest Earliest ขั้นที่ A/2 B/1 C/2 D/1 F/4 E/2 0 K/ G/2 H/1 I/ J/2

12 Shortest-Path Algorithms Earliest Earliest ขั้นที่ A/2 B/1 C/2 D/1 F/4 E/2 0 K/ G/2 H/1 I/ J/2

13 Shortest-Path Algorithms Earliest Earliest ขั้นที่ A/2 B/1 C/2 D/1 F/4 E/2 0 K/ G/2 H/1 I/ J/2

14 Shortest-Path Algorithms Earliest Earliest ขั้นที่ A/2 B/1 C/2 D/1 F/4 E/2 0 K/ G/2 H/1 I/ J/2

15 Shortest-Path Algorithms Earliest Earliest ขั้นที่ A/2 B/1 C/2 D/1 F/4 E/2 0 K/ G/2 H/1 I/ J/2

16 Shortest-Path Algorithms Earliest จากรูปให้สังเกตตัวเลขที่อยู่บนวงกลม จะ พบว่าเวลาที่เร็วที่สุดที่จะทำโครงการนี้ได้เสร็จคือ 14 วัน ตามเส้นทาง Earliest จากรูปให้สังเกตตัวเลขที่อยู่บนวงกลม จะ พบว่าเวลาที่เร็วที่สุดที่จะทำโครงการนี้ได้เสร็จคือ 14 วัน ตามเส้นทาง ขั้นที่ A/2 B/1 C/2 D/1 F/4 E/2 0 K/ G/2 H/1 I/ J/2

17 Shortest-Path Algorithms Earliest จากรูปให้สังเกตตัวเลขที่อยู่บนวงกลม จะ พบว่าเวลาที่เร็วที่สุดที่จะทำโครงการนี้ได้เสร็จคือ 14 วัน ตามเส้นทาง Earliest จากรูปให้สังเกตตัวเลขที่อยู่บนวงกลม จะ พบว่าเวลาที่เร็วที่สุดที่จะทำโครงการนี้ได้เสร็จคือ 14 วัน ตามเส้นทาง ขั้นที่ A/2 B/1 C/2 D/1 F/4 E/2 0 K/ G/2 H/1 I/ J/2 14

18 Shortest-Path Algorithms สำหรับการตอบคำถามว่า activity ไหนพอที่จะล่าช้าได้ บ้างโดยไม่ทำให้ทั้งโครงการล่าช้า เราจะต้องเริ่มจาก การหา latest completion times ให้ได้ก่อนโดยการทำ ย้อนกลับจากจุด finish โดยจะเลือกเส้นทางจากค่าที่ น้อยที่สุดแทนดังรูป สำหรับการตอบคำถามว่า activity ไหนพอที่จะล่าช้าได้ บ้างโดยไม่ทำให้ทั้งโครงการล่าช้า เราจะต้องเริ่มจาก การหา latest completion times ให้ได้ก่อนโดยการทำ ย้อนกลับจากจุด finish โดยจะเลือกเส้นทางจากค่าที่ น้อยที่สุดแทนดังรูป A/2 B/1 C/2 D/1 F/4 E/2 0 K/ G/2 H/1 I/ J/2

19 Shortest-Path Algorithms Latest Latest A/2 B/1 C/2 D/1 F/4 E/2 0 K/ G/2 H/1 I/ J/2 ขั้นที่ 1

20 Shortest-Path Algorithms Latest Latest A/2 B/1 C/2 D/1 F/4 E/2 0K/ G/2 H/1 I/ J/2 ขั้นที่ 2

21 Shortest-Path Algorithms Latest Latest A/2 B/1 C/2 D/1 F/4 E/2 0 K/ G/2 H/1 I/ J/2 ขั้นที่ 3

22 Shortest-Path Algorithms Latest Latest A/2 B/1 C/2 D/1 F/4 E/2 0 K/ G/2 H/1 I/ J/2 ขั้นที่ 4

23 Shortest-Path Algorithms Latest Latest A/2 B/1 C/2 D/1 F/4 E/2 0 K/ G/2 H/1 I/ J/2 ขั้นที่ 5

24 Shortest-Path Algorithms Latest Latest A/2 B/1 C/2 D/1 F/4 E/2 0 K/ G/2 H/1 I/ J/2 ขั้นที่ 6

25 Shortest-Path Algorithms Latest Latest A/2 B/1 C/2 D/1 F/4 E/20K/ G/2 H/1 I/ J/2 ขั้นที่ 7

26 Shortest-Path Algorithms Latest Latest ขั้นที่ A/2 B/1 C/2 D/1 F/4 E/20K/ G/2 H/1 I/ J/2 0

27 Shortest-Path Algorithms จากนั้นให้เขียนตัวเลขของทั้งที่หาได้จาก Earliest completion time และ Latest completion times เข้า ด้วยกันแล้วเมื่อเอาค่า Latest completion ลบด้วยค่า Earliest completion จากนั้นให้เขียนตัวเลขของทั้งที่หาได้จาก Earliest completion time และ Latest completion times เข้า ด้วยกันแล้วเมื่อเอาค่า Latest completion ลบด้วยค่า Earliest completion ก็จะได้ค่า slack time ที่ activity นั้นจะล่าช้าได้ แต่ถ้าลบ แล้วได้ 0 แสดงว่า activity นั้นจะล่าช้าไม่ได้ หากไม่จะ ส่งผลให้ทั้งโครงการล่าช้า และเส้นทางที่มีค่า slack time=0 ตลอดเส้นทาง ก็คือ critical path นั่นเอง ดังรูป ก็จะได้ค่า slack time ที่ activity นั้นจะล่าช้าได้ แต่ถ้าลบ แล้วได้ 0 แสดงว่า activity นั้นจะล่าช้าไม่ได้ หากไม่จะ ส่งผลให้ทั้งโครงการล่าช้า และเส้นทางที่มีค่า slack time=0 ตลอดเส้นทาง ก็คือ critical path นั่นเอง ดังรูป

28 Shortest-Path Algorithms A/2 B/1 C/2 D/1 F/4 E/2 0 K/ G/2 H/1 I/ J/ Critical Path

29 Shortest-Path Algorithms ตารางแสดงค่าแต่ละ activity ตารางแสดงค่าแต่ละ activity activitytimelatestearliestslack A2220 B1734 C2440 D1844 E2862 F4880 G H I J K114140


ดาวน์โหลด ppt Shortest-Path Algorithms BY นาย จิรวัฒน์ กรัณย์วิทยาการ นาย จิรวัฒน์ กรัณย์วิทยาการ ID 474487 ITE 209 Sec 01 ID 474487 ITE 209 Sec 01.

งานนำเสนอที่คล้ายกัน


Ads by Google