กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf ·...

64
1 กราฟ (graph) กราฟ (graph) เป็นโครงสร้างข้อม ลแบบไม่เป็นเชิงเส้น (nonlinear data structure) กราฟประกอบด้วยโหนดและเอจ แต่ละโหนดสามารถมี ความสัมพันธ์กับโหนดอื่นๆ ได้มากกว ่าหนึ่ง โดยไม ่พิจารณา ถึงลําดับความสัมพันธ์ก่อนหลัง กราฟ เป็นโครงสร้างข้อม ลที่มีการนําไปใช้ในงานที่เกี่ยวข้อง กับการแก้ปัญหาที่ค ่อนข้างซับซ้อน เช่น การวางข่ายงาน คอมพิวเตอร์ การวิเคราะห์เส้นทางวิกฤติ การวางแผน ข่ายงาน และปัญหาเส้นทางที่สั ้นที่ส ด เป็นต้น GRAPH

Transcript of กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf ·...

Page 1: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

1

กราฟ (graph)

กราฟ (graph) เปนโครงสรางขอมลแบบไมเปนเชงเสน(nonlinear data structure)

กราฟประกอบดวยโหนดและเอจ แตละโหนดสามารถมความสมพนธกบโหนดอนๆ ไดมากกวาหนง โดยไมพจารณาถงลาดบความสมพนธกอนหลง

กราฟ เปนโครงสรางขอมลทมการนาไปใชในงานทเกยวของกบการแกปญหาทคอนขางซบซอน เชน การวางขายงานคอมพวเตอร การวเคราะหเสนทางวกฤต การวางแผนขายงาน และปญหาเสนทางทสนทสด เปนตน

GRAPH

Page 2: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

2

นยาม : กราฟ (graph)

กราฟ เปนโครงสรางขอมลแบบไมใชเชงเสนท

ประกอบดวยกลมของสงสองสงคอ

(1) โหนด (nodes) หรอ เวอรเทกซ (vertexes)

(2) เสนเชอมระหวางโหนด เรยก เอจ (edges)

GRAPH

Page 3: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

3

กราฟทมเอจเชอมระหวางโหนดสอง

โหนด ถาเอจไมมลาดบ

ความสมพนธจะเรยกกราฟนนวา

กราฟแบบไมมทศทาง (undirected

graphs) และถากราฟนนมเอจทม

ลาดบความสมพนธหรอมทศทาง

กากบดวยเรยกกราฟนนวา กราฟ

แบบมทศทาง (directed graphs)

บางครงเรยกวา ไดกราฟ (digraph)

นยาม : กราฟ (graph)

A

B

C

D

undirected graphs

A

B

C

D

directed graphs

Page 4: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

4

คากากบเสนทาง (weight) หมายถง

คาใชแทนนาหนก ระหวางโหนดกบ

โหนด ซงอาจแทนระยะทาง, คา

ความตานทาน, ขนาดตางๆ เปนตน

เสนทาง (path) หมายถงทางเดนจาก

โหนดหนงไปยงอกโหนดหนง

นยาม : กราฟ (graph)

n1

n2

n4

5

n3

4

8 9

2

weight

Path จาก n1 ถง n4 คอn1 – n2 – n4n1 – n4n1 – n3 – n4

Page 5: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

5

ถาตองการอางถงเอจแต

ละเสนสามารถเขยนชอ

เอจกากบไวกได

ตวอยางกราฟตอไปนม

ชอโหนดเปน n1, n2,

n3, n4 และ n5 โดยม

ชอเอจเปน e1, e2, e3,

e4, e5 และ e6

นยาม : กราฟ (graph)

n1

n2

n4 n5

e1

n3

e2

e3

e4

e5

e6

Page 6: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

6

ตวอยางกราฟในงานตางๆ

Page 7: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

7

การแทนกราฟในหนวยความจา

วธทงายและตรงไปตรงมาทสดคอ การเกบเอจในแถวลาดบ 2 มต ในรปแสดงตวอยางกราฟแบบไมมทศทาง และเมอแทนกราฟดวยแถวลาดบ 2 มตไดดงแสดงในรป

GRAPH

Page 8: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

8

การแทนกราฟในหนวยความจา

GRAPH

จะเหนวาการแทนกราฟในหนวยความจาดวย

วธเกบเอจทงหมดในแถวลาดบ 2 มตคอนขาง

เปลองเนอท เนองจากมบางเอจทเกบซาเดม

โดยเฉพาะกรณทเปนกราฟแบบไมมทศทาง

Page 9: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

9

การแทนกราฟในหนวยความจา

GRAPH

ใชแถวลาดบ 2 มตเกบโหนดและพอยน

เตอรชไปยงตาแหนงของโหนดตาง ๆ ท

สมพนธดวย และใชแถวลาดบ 1 มตเกบ

โหนดตาง ๆ ทมความสมพนธกบโหนดใน

แถวลาดบ 2 มต

การจดเกบกราฟดวยวธเกบโหนดและ

พอยนเตอรนยงยากในการจดการเพมขน

เนองจากตองเกบโหนดและพอยนเตอรใน

แถวลาดบ 2 มต และตองจดเกบโหนดท

สมพนธดวยในแถวลาดบ 1 มต

Page 10: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

10

การแทนกราฟในหนวยความจาแอดจาเซนซลสต (adjacency list)

GRAPH

ซงเปนวธทคลายวธจดเกบกราฟดวย

การเกบโหนดและพอยนเตอร แต

ตางกนตรงทแทนทจะเกบโหนดทม

ความสมพนธดวยไวในแถวลาดบ 1

มต จะใชลงคลสตแทนเพอความ

สะดวกในการเปลยนแปลงแกไข

Page 11: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

11

การแทนกราฟในหนวยความจา

GRAPH

อยางไรกตามทงสามวธทกลาวมาขางตนไมเหมาะกบกราฟ

ทมการเปลยนแปลงตลอดเวลา ควรใชในกราฟทไมมการ

เปลยนแปลงตลอดอายขยของการใชงาน เพราะถามการ

เปลยนแปลงสวนใดสวนหนงของกราฟจะกระทบกบสวน

อน ๆ ทอยในระดบทตากวาดวยเสมอ

Page 12: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

การแทนกราฟดวยแอดจาเซนซเมทรกซ (adjacency matrix)

GRAPH

A

B

E D

C

12

1820

9

4

2

3

5

A B C D E

A ∞ 12 18 20 9

B ∞ ∞ 4 3 ∞C ∞ ∞ ∞ 5 ∞D ∞ ∞ ∞ ∞ 6

E ∞ 2 ∞ ∞ ∞

Cij =

เมทรกซ Cij เปน adjacency matrix ใชแทนความสมพนธระหวางโหนดบนกราฟ เชนทตาแหนง CAB หมายถงคาweight จากโหนด A ไปยงโหนด B ซงมคาเทากบ 12

6

Page 13: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

13

การแทนดวยแอดจาเซนซเมทรกซ (adjacency matrix)

คาอนทไมม weight ใหเปนคา

infinite number ใชแทนเสนทางท

ไมมอยจรงในกราฟ

(ทางคอมพวเตอรอาจแทนดวยคาตว

เลขทใหญมากๆ )

โดยทถากราฟมทงหมด n โหนด

แอดจาเซนซเมทรกซเปนเมทรกซ

จตรสขนาด nn

GRAPH

A B C D E

A ∞ 12 18 20 9

B ∞ ∞ 4 3 ∞C ∞ ∞ ∞ 5 ∞D ∞ ∞ ∞ ∞ 6

E ∞ 2 ∞ ∞ ∞

Page 14: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

14

การประยกตใชกราฟกบปญหาเสนทางสนทสด

โครงสรางขอมลแบบกราฟสามารถนาไปประยกตกบการใชงานในหลายรปแบบ เชน ถาแทนโหนดเปนจงหวด และ weight แทนระยะทางระหวางจงหวดโดยกาหนดให edge เปนเสนทางระหวางจงหวด และตองการทราบเสนทางทสนทสดระหวาง สานกงานใหญกบสาขาในจงหวดอนๆ เพอทจะขนสงสนคาใหไดระยะทางทสนทสด เปนตน

GRAPH

Page 15: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

15

Shortest Path : Dijkstra Algorithm

เปนขนตอนการแกปญหาเสนทางทสนทสดจากโหนดหนงไปยงโหนดอนๆ บนกราฟ (Single Source Shortest Path)

ถกคนพบโดยนกคณตศาสตรคอมพวเตอร ทชอวาDijkstra

รปแบบของปญหา เปนการหาระยะทางทสนทสดจากsource node ไปยง โหนดตางๆ (single source shortest path)

GRAPH

Page 16: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

16

Shortest Path : Dijkstra Algorithm

GRAPH

A

B

E D

C

12

1820

9

4

2

3

5

A B C D E

A ∞ 12 18 20 9

B ∞ ∞ 4 3 ∞C ∞ ∞ ∞ 5 ∞D ∞ ∞ ∞ ∞ 6

E ∞ 2 ∞ ∞ ∞

Cij =

6

แทนความสมพนธของ กราฟลงใน Adjacency Matrix

Page 17: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

17

Shortest Path : Dijkstra Algorithm

GRAPH

NO S W d(B) d(C) d(D) d(E)

O A - 12 18 20 9

ให S เปน source node

w คอโหนดทม weight

ทมคานอยทสดของ

โหนดทไมอยใน S

d(Cij) คอระยะทาง

จากโหนด i ไปยง j

Step 0

ขนตอน : นาคาในแถว Aมากาหนด

ใหเปนคาเรมตนในตาราง

Page 18: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

GRAPH

NO S W d(B) d(C) d(D) d(E)

O1

AA,E

-E

1211

1818

2020

99

Step 1

ขนตอน : 1.1 เลอกคา min จาก d(B), d(C), d(D), d(E) คอโหนด E นาโหนด E ไปไวใน

S รวมกบ A

1.2 ปรบปรงเสนทางจากโหนด A ไปยงโหนดอนๆ ทไมอยใน S โดยเปรยบเทยบเสนทาง

เดมในขนตอนท 0 กบเสนทางใหม จาก A ไปยงโหนดนนโดยผานโหนด E

คา 11 พจารณาจาก A B = 12 และ A E B = 11

A B C D E

A ∞ 12 18 20 9

B ∞ ∞ 4 3 ∞C ∞ ∞ ∞ 5 ∞D ∞ ∞ ∞ ∞ 6

E ∞ 2 ∞ ∞ ∞

12 9 2

Page 19: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

GRAPH

NO S W d(B) d(C) d(D) d(E)

O12

AA,EA,E,B

-EB

121111

181816

202015

999

A B C D E

A ∞ 12 18 20 9

B ∞ ∞ 4 3 ∞C ∞ ∞ ∞ 5 ∞D ∞ ∞ ∞ ∞ 6

E ∞ 2 ∞ ∞ ∞

Step 2

ขนตอน : 2 เลอก B เขาไปไวใน w

คา 16 พจารณาจาก A C = 18 และ A B C = 16

เลอกคา minimize = 16

คา 15 พจารณาจาก A D = 20 และ A B D = 15

เลอกคา minimize = 15

18 12 4

12 3

3

Page 20: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

GRAPH

NO S W d(B) d(C) d(D) d(E)

O123

AA,EA,E,BA,E,B,D

-EBD

12111111

18181616

20201515

9999

Step 3

A B C D E

A ∞ 12 18 20 9

B ∞ ∞ 4 3 ∞C ∞ ∞ ∞ 5 ∞D ∞ ∞ ∞ ∞ 6

E ∞ 2 ∞ ∞ ∞

ขนตอน : 3 เลอก D เขาไปไวใน w

พจารณาปรบปรงเสนทางจาก A C โดย

A B C = 16 และ A D C = ∞เลอกคา minimize = 16

12 4 15 ∞

Page 21: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

21 GRAPH

NO S W d(B) d(C) d(D) d(E)

O1234

AA,EA,E,BA,E,B,DA,E,B,D,C

-EBDC

1211111111

1818161616

2020151515

99999

Step 4

A B C D E

A ∞ 12 18 20 9

B ∞ ∞ 4 3 ∞C ∞ ∞ ∞ 5 ∞D ∞ ∞ ∞ ∞ 6

E ∞ 2 ∞ ∞ ∞

ขนตอน :4 เลอกโหนดสดทายคอ C เขาไปไวใน w

ถอวาสนสดการทางานเนองจากทกโหนดเขาไปอยใน S แลว

คาตอบ : ระยะทางทสนทสดจาก A ไป B มคา = 11 ม path คอ A E B

ระยะทางทสนทสดจาก A ไป C มคา = 16 ม path คอ A E B C

ระยะทางทสนทสดจาก A ไป D มคา = 15 ม path คอ A E B D

ระยะทางทสนทสดจาก A ไป E มคา = 9 ม path คอ A E

9 2

9 2 4

9 2 3

9

Page 22: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

22

Example :

GRAPH

1

จงแสดงการหาเสนทางสนทสดจาก เมอง 1 ไปในแตละเมอง โดยมจดเรมตนการ

เดนทางทกครงอยทเมอง 1 ดวยการใชขนตอนวธของ Dijkstra (Single- Source

Shortest Path )

2

3

4

5

6

5

3

6 4

3

2

7

11

3

Page 23: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

23

Example :

GRAPH

1

จงแสดงการหาเสนทางสนทสดจาก เมอง 1 ไปในแตละเมอง โดยมจดเรมตนการ

เดนทางทกครงอยทเมอง 1 ดวยการใชขนตอนวธของ Dijkstra (Single- Source

Shortest Path )

2

3

4

5

6

5

3

6 4

3

2

7

11

3

Page 24: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

24

Longest Path : CPM

เปนขนตอนการหาเสนทางทยาวทสดจากโหนดเรมตนไปยงโหนดสนสด บนกราฟ

CPM (Critical Path Method) เอม บ วอลเกอร แหงดปองต USA.

PERT (Program Evaluation and Review Technique) กองทพเรอ USA. Polalis Project

GRAPH

Page 25: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

25

PERT/CPM Chart

PERT Chart : Project Evaluation and Review Technique ChartCPM Chart : Critical Path Method

Page 26: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)
Page 27: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)
Page 28: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)
Page 29: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)
Page 30: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)
Page 31: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)
Page 32: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)
Page 33: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)
Page 34: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)
Page 35: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)
Page 36: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

36

PERT Chart

เปนแผนภาพแสดงกจกรรมของโครงการทเชอมโยงกนในลกษณะ

ของเครอขาย (ขายงาน) ทาใหทราบวาจะตองดาเนนกจกรรมใดให

เสรจสนกอนกจกรรมถดไป

โดยแตละกจกรรมจะแทนดวยเสนลกศร และเชอมโยงกนดวย

วงกลม (เรยกวา โหนด) เพอบอกใหทราบถงจดเรมตนและ

จดสนสดของแตละกจกรรม

Page 37: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

37

PERT Chart

เหมาะสาหรบโครงการใหมทไมเคยเกดขนเลย

การกาหนดเวลากจกรรมของ PERT Chart จงเปนการกาหนดในรปของความนาจะเปน (Probabilistic)

Page 38: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

38

PERT Chart

15

2

3

4 5

6 7

8

รวบรวม

ความตองการ

ออกแบบ

หนาจอ6

ออกแบบ

รายงาน

6

2

ออกแบบ

ฐานขอมล

เขยนโปรแกรม

3

ทดสอบ

โปรแกรม

ตดตง

โปรแกรม

1

จดทา

เอกสาร

5.5

5

Page 39: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

39

CPM Chart

เปนแผนภาพแสดงกจกรรมของโครงการทเชอมโยงกนในลกษณะ

เครอขาย (ขายงาน) ทาใหทราบวาตองดาเนนกจกรรมใดใหเสรจสน

กอนกจกรรมถดไป เชนเดยวกบ PERT Chart

Page 40: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

40

CPM Chart

เหมาะสาหรบโครงการทเคยเกดขนแลวในอดต ทาใหมขอมลเพอ

กาหนดระยะเวลาของกจกรรมไดเปนทแนนอน

(Deterministic)

Page 41: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

41

CPM Chart

1 5

2

6

3

6

4 2

5

5.5

6

57

3

8

1

ออกแบบรายงาน

ออกแบบหนาจอ เขยนโปรแกรม ทดสอบ

โปรแกรม

ตดตง

โปรแกรมจดทาเอกสาร

ออกแบบ

ฐานขอมล

Page 42: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

42

Critical Path : เสนทางวกฤต

หมายถง เสนทางทใชเวลาในการดาเนนกจกรรมรวมของโครงการ

นานทสด และกจกรรมทอยบนเสนทางวกฤตจะเรยกวา กจกรรม

วกฤต Critical Activity

Page 43: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

43

การกาหนดระยะเวลาดวย Statisticแยกแยะกจกรมของโครงการ

กาหนดกจกรรมทตองดาเนนใหเสรจสนกอนดาเนนกจกรรมตอไป

กาหนดระยะเวลาทงหมด 3 คา

เวลาทากจกรรมใหเสรจสนเรวสด Optimistic เวลาทากจกรรมใหเสรจสนชาสด Pessimistic เวลาทากจกรรมใหเสรจสนทเปนไปไดมากทสด Realistic

Page 44: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

44

การกาหนดระยะเวลาดวย Statisticนาคาทง 3 มาคานวณหาคาใชจรงเพยงคาเดยว เรยกวา คาระยะเวลา

คาดหวง Expected Time โดยใชสตร

ET = o + 4r + p6

Page 45: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

45

ขนตอนท 3 : คานวณหาคาระยะเวลาคาดหวง

กจกรรม กจกรรม กาหนดระยะเวลา คาระยะเวลา

กอนหนา (สปดาห) คาดหวง

o r p ETT1 - 1 5 9 5

T2 1 5 6 7 6

T3 1 3 6 9 6

T4 2, 3 1 2 3 2

T5 4 3 6 7 5.5

T6 4 4 5 6 5

T7 6 1 3 5 3

T8 5, 7 1 1 1 1

Page 46: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

46

ขนตอนท 4 : วาดแผนภาพ PERT/CPM4.1 วาดเรมจากโหนดกจกรรมท 1

1

ET = 5

Page 47: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

47

ขนตอนท 4

4.2 วาดโหนดกจกรรมท 2 ซงมกจกรรมท 1 กอนหนา

1

ET = 5

2

ET = 6

Page 48: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

48

ขนตอนท 4

4.3 วาดโหนดกจกรรมท 3 ซงมกจกรรมท 1 กอนหนา

1

ET = 5

2

ET = 6

3

ET = 6

Page 49: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

49

ขนตอนท 4

4.4 วาดโหนดกจกรรมท 4 ซงมกจกรรมท 2,3 กอนหนา

1

ET = 5

2

ET = 6

3

ET = 6

4

ET = 2

Page 50: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

50

ขนตอนท 4

4.5 วาดโหนดกจกรรมท 5 ซงมกจกรรมท 4 กอนหนา

1

ET = 5

2

ET = 6

3

ET = 6

4

ET = 2

5

ET = 5.5

Page 51: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

51

ขนตอนท 4

4.6 วาดโหนดกจกรรมท 6 ซงมกจกรรมท 4 กอนหนา

1

ET = 5

2

ET = 6

3

ET = 6

4

ET = 2

5

ET = 5.5

6

ET = 5

Page 52: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

52

ขนตอนท 4

4.7 วาดโหนดกจกรรมท 7 ซงมกจกรรมท 6 กอนหนา

1

ET = 5

2

ET = 6

3

ET = 6

4

ET = 2

5

ET = 5.5

6

ET = 5

7

ET = 3

Page 53: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

53

ขนตอนท 4

4.8 วาดโหนดกจกรรมท 8 ซงมกจกรรมท 5,7 กอนหนา

1

ET = 5

2

ET = 6

3

ET = 6

4

ET = 2

5

ET = 5.5

6

ET = 5

7

ET = 3

8

ET = 1

Page 54: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

54

ขนตอนท 5 : คานวณหาเสนทางวกฤต

5.1 เรมหาจากวนแรกสด (TE)Earliest Expected Completion Time : TE

โดยทาการบวกสะสมคา ET จากโหนดซายมอไปทางขวาจนถงโหนดสดทายของแตละเสนทาง

Page 55: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

55

ขนตอนท 5.1 : หาคา TE

1

ET = 5

2

ET = 6

3

ET = 6

4

TE = 13

5

ET = 5.5

6

ET = 57

TE = 21

8

TE = 22

TE = 5

TE = 11

TE = 11

ET = 2

TE = 18.5

ET = 1

TE = 18

ET = 3

Page 56: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

56

ขนตอนท 5 : คานวณหาเสนทางวกฤต

5.2 เรมหาจากวนสดทาย (TL)Latest Expected Completion Time : TL

คาเรมตนของ TL จะมคาเทากบ TE คาสดทาย จากนนใหทาการลบออก

ดวยคา ET ของแตละโหนด เรมตนจากโหนดทางขวามอไปทางซาย

จนถงโหนดแรกของแตละเสนทาง

Page 57: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

57

ขนตอนท 5.2 : หาคา TL

1

ET = 5

2

ET = 6

3

ET = 6

4

TE = 13TL = 13

5

ET = 5.5

6

ET = 57

TE = 21TL = 21

8

TE = 22TL = 22

TE = 5TL = 5

TE = 11TL = 11

TE = 11TL = 11

ET = 2

TE = 18.5TL = 21

ET = 1

TE = 18TL = 18

ET = 3

Page 58: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

58

ขนตอนท 5 : คานวณหาเสนทางวกฤต

5.3 คานวณหาคาเวลายดหยน (Slack Time) คอ ระยะเวลาทกจกรรมสามารถลาชาโดยไมสงผลกระทบใหโครงการลาชา

ซงกจกรรมทมเวลายดหยนจะอยบนเสนทางทไมใชเสนทางวกฤต

(Noncritical Path)

หาไดจากผลตางของ TE และ TL

ถาคาเวลายดหยนเปนศนย (0) แสดงวากจกรรมนนเปนกจกรรมทอยบนเสนทางวกฤต

Page 59: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

59

ขนตอนท 5.3 : คานวณหาคาเวลายดหยน

กจกรรม TE TL เวลายดหยน เสนทางวกฤต

TE - TL

1 5 5 0 วกฤต

2 11 11 0 วกฤต

3 11 11 0 วกฤต

4 13 13 0 วกฤต

5 18.5 21 2.5 -

6 18 18 0 วกฤต

7 21 21 0 วกฤต

8 22 22 0 วกฤต

Page 60: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

60

ขอแตกตางระหวาง Gantt และ PERT/CPM

Gantt Chart

1. เหมาะสาหรบโครงการทมขนาดเลก

2. สามารถแสดงใหเหนถงกจกรรมท

ทาในเวลาเดยวกนได

3. แสดงกจกรรมทสาคญตอโครงการ

ได (Critical Path)

PERT/CPM Chart

1. เหมาะสาหรบโครงการทมขนาดใหญ

2. สามารถแสดงกจกรรมทสาคญได

(Critical Path) ทาใหมการควบคมการใช

ทรพยากรไดอยางคมคา

Page 61: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

Ex 2 PERT/CPM

Page 62: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

62

สรป : กราฟ (graph)

กราฟ (graph) เปนโครงสรางขอมลแบบไมเปนเชงเสน

(nonlinear data structure)

กราฟประกอบดวยโหนดและเอจ แตละโหนดสามารถม

ความสมพนธกบโหนดอนๆ ไดมากกวาหนง โดยไมพจารณาถงลาดบความสมพนธกอนหลง

กราฟ เปนโครงสรางขอมลทมการนาไปใชในงานทเกยวของกบการแกปญหาทคอนขางซบซอน เชน การวางขายงาน

คอมพวเตอร การวเคราะหเสนทางวกฤต การวางแผน

ขายงาน และปญหาเสนทางทสนทสด เปนตน

GRAPH

Page 63: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

63

สรป : กราฟ (graph)

การแทนกราฟในความจาหลกวธทงายและตรงไปตรงมา

ทสดคอ การเกบเอจทก ๆ เอจในแถวลาดบ 2 มต แตวธน

คอนขางเปลองเนอทเนองจากมบางเอจทเกบซ าเดม

อกวธหนงกคอใชแถวลาดบ 2 มตเกบโหนดและพอยนเตอร

ชไปยงตาแหนงโหนดตาง ๆ ทสมพนธดวย

หรอใชวธแอดจาเซนซลสตโดยใชลงคลสตแทนแถวลาดบ

1 มต

GRAPH

Page 64: กราฟ (graph)spuccourseware.east.spu.ac.th/calibration/BCS325/W5.pdf · การแทนด้วยแอดจาเซนซีเมทริกซ์(adjacency matrix)

64

สรป : กราฟ (graph)

วธทนยมมากทสดคอ การแทนดวยแอดจาเซนซเมทรกซ โดยถากราฟของเราม n โหนดตองสรางเมทรกซจตรสขนาด n x n และคาในเมทรกซจะเกบคาระหวางโหนดสองโหนดมคใดบางทมความสมพนธกน เราสามารถหาไดวามเสนทางขนาดเทาใด และมกเสนทาง

GRAPH