Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Prakticky identické postupy:

Podobné prezentace


Prezentace na téma: "Prakticky identické postupy:"— Transkript prezentace:

1 Prakticky identické postupy:
Předpokládají Topologické uspořádání grafu! Počet všech cest v acyklickém grafu z uzlu A do uzlu B Počet úplně všech cest v acyklickém grafu Nejkratší cesta v acyklickém grafu z uzlu A do uzlu B Nejdelší cesta v acyklickém grafu z uzlu A do uzlu B Nejdelší cesta vůbec v acyklickém grafu Nejkratší cesta ve váženém acyklickém grafu z uzlu A do uzlu B Nejdelší cesta ve váženém acyklickém grafu z uzlu A do uzlu B Nejdelší cesta vůbec ve váženém acyklickém grafu

2 Počet všech cest v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 Počet 1 Init: Všechny počty 0, pouze ve startovním uzlu 1.

3 Počet všech cest v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 Počet 1 Počet[X] = Suma (počet[Y], pro všechy hrany (Y, X))

4 Počet všech cest v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 Počet 1 1 Počet[X] = Suma (počet[Y], pro všechy hrany (Y, X))

5 Počet všech cest v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 Počet 1 1 2 Počet[X] = Suma (počet[Y], pro všechy hrany (Y, X))

6 Počet všech cest v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 Počet 1 1 2 3 Počet[X] = Suma (počet[Y], pro všechy hrany (Y, X))

7 Počet všech cest v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 Počet 1 1 2 3 1 Počet[X] = Suma (počet[Y], pro všechy hrany (Y, X))

8 Počet všech cest v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 Počet 1 1 2 3 1 4 4 cesty z uzlu 2 do uzlu 8 Počet[X] = Suma (počet[Y], pro všechy hrany (Y, X))

9

10 Počet všech cest v acyklickém grafu
1 2 3 4 5 6 7 8 Počet Init: 0 ve všech uzlech

11 Počet všech cest v acyklickém grafu
1 2 3 4 5 6 7 8 Počet Počet[X] = Suma (počet[Y], pro všechy hrany (Y, X)) + počet hran (Y, X) = = Suma (počet[Y]+1, pro všechy hrany (Y, X))

12 Počet všech cest v acyklickém grafu
1 2 3 4 5 6 7 8 Počet 1 Počet[X] = Suma (počet[Y], pro všechy hrany (Y, X)) + počet hran (Y, X) = = Suma (počet[Y]+1, pro všechy hrany (Y, X))

13 Počet všech cest v acyklickém grafu
1 2 3 4 5 6 7 8 Počet 1 1 Počet[X] = Suma (počet[Y], pro všechy hrany (Y, X)) + počet hran (Y, X) = = Suma (počet[Y]+1, pro všechy hrany (Y, X))

14 Počet všech cest v acyklickém grafu
1 2 3 4 5 6 7 8 Počet 1 1 4 Počet[X] = Suma (počet[Y], pro všechy hrany (Y, X)) + počet hran (Y, X) = = Suma (počet[Y]+1, pro všechy hrany (Y, X))

15 Počet všech cest v acyklickém grafu
1 2 3 4 5 6 7 8 Počet 1 1 4 7 Počet[X] = Suma (počet[Y], pro všechy hrany (Y, X)) + počet hran (Y, X) = = Suma (počet[Y]+1, pro všechy hrany (Y, X))

16 Počet všech cest v acyklickém grafu
1 2 3 4 5 6 7 8 Počet 1 1 4 7 4 Počet[X] = Suma (počet[Y], pro všechy hrany (Y, X)) + počet hran (Y, X) = = Suma (počet[Y]+1, pro všechy hrany (Y, X))

17 Počet všech cest v acyklickém grafu
1 2 3 4 5 6 7 8 Počet 1 1 4 7 4 13 Počet cest = = 30 Počet[X] = Suma (počet[Y], pro všechy hrany (Y, X)) + počet hran (Y, X) = = Suma (počet[Y]+1, pro všechy hrany (Y, X))

18

19 Nejkratší cesta v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 Délka Před - - - - - - - - Init: Všechny délky , všechny předchůdce null Ve startovním uzlu délka 0

20 Nejkratší cesta v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 Délka Před - - - - - - - - Délka[X] = Minimum (Délka[Y]+1, pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž minimum nastalo a nebylo 

21 Nejkratší cesta v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 Délka 1 Před - - - 2 - - - - Délka[X] = Minimum (Délka[Y]+1, pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž minimum nastalo a nebylo 

22 Nejkratší cesta v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 Délka 1 1 Před - - - 2 2 - - - Délka[X] = Minimum (Délka[Y]+1, pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž minimum nastalo a nebylo 

23 Nejkratší cesta v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 Délka 1 1 2 Před - - - 2 2 4 - - Délka[X] = Minimum (Délka[Y]+1, pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž minimum nastalo a nebylo 

24 Nejkratší cesta v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 Délka 1 1 2 2 Před - - - 2 2 4 4 - Délka[X] = Minimum (Délka[Y]+1, pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž minimum nastalo a nebylo 

25 Nejkratší cesta v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 Délka 1 1 2 2 3 Před - - - 2 2 4 4 4 Délka[X] = Minimum (Délka[Y]+1, pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž minimum nastalo a nebylo 

26 Nejkratší cesta v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 1 1 2 2 3 Před - - - 2 2 4 4 4

27

28 Nejdelší cesta v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 Délka - - - - - - - Před - - - - - - - - Init: Všechny délky ─, všechny předchůdce null Ve startovním uzlu délka 0

29 Nejdelší cesta v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 Délka - - - - - - - Před - - - - - - - - Délka[X] = Maximum (Délka[Y]+1, pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo a nebylo ─

30 Nejdelší cesta v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 Délka - - 1 - - - - Před - - - 2 - - - - Délka[X] = Maximum (Délka[Y]+1, pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo a nebylo ─

31 Nejdelší cesta v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 Délka - - 1 2 - - - Před - - - 2 4 - - - Délka[X] = Maximum (Délka[Y]+1, pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo a nebylo ─

32 Nejdelší cesta v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 Délka - - 1 2 3 - - Před - - - 2 4 5 - - Délka[X] = Maximum (Délka[Y]+1, pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo a nebylo ─

33 Nejdelší cesta v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 Délka - - 1 2 3 2 - Před - - - 2 4 5 4 - Délka[X] = Maximum (Délka[Y]+1, pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo a nebylo ─

34 Nejdelší cesta v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 Délka - - 1 2 3 2 4 Před - - - 2 4 5 4 6 Délka[X] = Maximum (Délka[Y]+1, pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo a nebylo ─

35 Nejdelší cesta v acyklickém grafu
z uzlu 2 do uzlu 8 1 2 3 4 5 6 7 8 Délka - - 1 2 3 2 4 Před - - - 2 4 5 4 6

36

37 Nejdelší cesta v acyklickém grafu
1 2 3 4 5 6 7 8 Délka Před - - - - - - - - Init: Všechny délky 0, všechny předchůdce null

38 Nejdelší cesta v acyklickém grafu
1 2 3 4 5 6 7 8 Délka Před - - - - - - - - Délka[X] = Maximum (Délka[Y]+1, pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo

39 Nejdelší cesta v acyklickém grafu
1 2 3 4 5 6 7 8 Délka 1 Před - - 1 - - - - - Délka[X] = Maximum (Délka[Y]+1, pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo

40 Nejdelší cesta v acyklickém grafu
1 2 3 4 5 6 7 8 Délka 1 1 Před - - 1 2 - - - - Délka[X] = Maximum (Délka[Y]+1, pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo

41 Nejdelší cesta v acyklickém grafu
1 2 3 4 5 6 7 8 Délka 1 1 2 Před - - 1 2 4 - - - Délka[X] = Maximum (Délka[Y]+1, pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo

42 Nejdelší cesta v acyklickém grafu
1 2 3 4 5 6 7 8 Délka 1 1 2 3 Před - - 1 2 4 5 - - Délka[X] = Maximum (Délka[Y]+1, pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo

43 Nejdelší cesta v acyklickém grafu
1 2 3 4 5 6 7 8 Délka 1 1 2 3 2 Před - - 1 2 4 5 3 - Délka[X] = Maximum (Délka[Y]+1, pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo

44 Nejdelší cesta v acyklickém grafu
1 2 3 4 5 6 7 8 Délka 1 1 2 3 2 4 Před - - 1 2 4 5 3 6 Délka[X] = Maximum (Délka[Y]+1, pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo

45 Nejdelší cesta v acyklickém grafu
1 2 3 4 5 6 7 8 Délka 1 1 2 3 2 4 Před - - 1 2 4 5 3 6

46

47 Nejkratší cesta ve váženém acyklickém grafu
z uzlu 2 do uzlu 8 7 9 2 10 10 6 5 9 1 2 3 4 5 5 8 6 7 10 8 Délka Před - - - - - - - - Init: Všechny délky , všechny předchůdce null Ve startovním uzlu délka 0

48 Nejkratší cesta ve váženém acyklickém grafu
z uzlu 2 do uzlu 8 7 9 2 10 10 6 5 9 1 2 3 4 5 5 8 6 7 10 8 Délka Před - - - - - - - - Délka[X] = Minimum (Délka[Y]+váha(Y, X), pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž minimum nastalo a nebylo 

49 Nejkratší cesta ve váženém acyklickém grafu
z uzlu 2 do uzlu 8 7 9 2 10 10 6 5 9 1 2 3 4 5 5 8 6 7 10 8 Délka 10 Před - - - 2 - - - - Délka[X] = Minimum (Délka[Y]+váha(Y, X), pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž minimum nastalo a nebylo 

50 Nejkratší cesta ve váženém acyklickém grafu
z uzlu 1 do uzlu 8 7 9 2 10 10 6 5 9 1 2 3 4 5 5 8 6 7 10 8 Délka 10 7 Před - - - 2 2 - - - Délka[X] = Minimum (Délka[Y]+váha(Y, X), pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž minimum nastalo a nebylo 

51 Nejkratší cesta ve váženém acyklickém grafu
z uzlu 1 do uzlu 8 7 9 2 10 10 6 5 9 1 2 3 4 5 5 8 6 7 10 8 Délka 10 7 15 Před - - - 2 2 5 - - Délka[X] = Minimum (Délka[Y]+váha(Y, X), pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž minimum nastalo a nebylo 

52 Nejkratší cesta ve váženém acyklickém grafu
z uzlu 2 do uzlu 8 7 9 2 10 10 5 9 6 1 2 3 4 5 5 8 6 7 10 8 Délka 10 7 15 20 Před - - - 2 2 5 4 - Délka[X] = Minimum (Délka[Y]+váha(Y, X), pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž minimum nastalo a nebylo 

53 Nejkratší cesta ve váženém acyklickém grafu
z uzlu 2 do uzlu 8 7 9 2 10 10 5 9 6 1 2 3 4 5 5 8 6 7 10 8 Délka 10 7 15 20 21 Před - - - 2 2 5 4 6 Délka[X] = Minimum (Délka[Y]+váha(Y, X), pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž minimum nastalo a nebylo 

54 Nejkratší cesta ve váženém acyklickém grafu
z uzlu 2 do uzlu 8 7 9 2 10 10 6 5 9 1 2 3 4 5 5 8 6 7 10 8 Délka 10 7 15 20 21 Před - - - 2 2 5 4 6

55

56 Nejdelší cesta ve váženém acyklickém grafu
z uzlu 2 do uzlu 8 7 9 2 10 10 5 9 6 1 2 3 4 5 5 8 6 7 10 8 Délka - - - - - - - Před - - - - - - - - Init: Všechny délky ─, všechny předchůdce null Ve startovním uzlu délka 0

57 Nejdelší cesta ve váženém acyklickém grafu
z uzlu 2 do uzlu 8 7 9 2 10 10 6 5 9 1 2 3 4 5 5 8 6 7 10 8 Délka - - - - - - - Před - - - - - - - - Délka[X] = Maximum (Délka[Y]+váha(Y, X), pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo a nebylo ─

58 Nejdelší cesta ve váženém acyklickém grafu
z uzlu 2 do uzlu 8 7 9 2 10 10 6 5 9 1 2 3 4 5 5 8 6 7 10 8 Délka - - 10 - - - - Před - - - 2 - - - - Délka[X] = Maximum (Délka[Y]+váha(Y, X), pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo a nebylo ─

59 Nejdelší cesta ve váženém acyklickém grafu
z uzlu 2 do uzlu 8 7 9 2 10 10 6 5 9 1 2 3 4 5 5 8 6 7 10 8 Délka - - 10 15 - - - Před - - - 2 4 - - - Délka[X] = Maximum (Délka[Y]+váha(Y, X), pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo a nebylo ─

60 Nejdelší cesta ve váženém acyklickém grafu
z uzlu 2 do uzlu 8 7 9 2 10 10 6 5 9 1 2 3 4 5 5 8 6 7 10 8 Délka - - 10 15 23 - - Před - - - 2 4 5 - - Délka[X] = Maximum (Délka[Y]+váha(Y, X), pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo a nebylo ─

61 Nejdelší cesta ve váženém acyklickém grafu
z uzlu 2 do uzlu 8 7 9 2 10 10 6 5 9 1 2 3 4 5 5 8 6 7 10 8 Délka - - 10 15 23 20 - Před - - - 2 4 5 4 - Délka[X] = Maximum (Délka[Y]+váha(Y, X), pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo a nebylo ─

62 Nejdelší cesta ve váženém acyklickém grafu
z uzlu 2 do uzlu 8 7 9 2 10 10 6 5 9 1 2 3 4 5 5 8 6 7 10 8 Délka - - 10 15 23 20 30 Před - - - 2 4 5 4 6 Délka[X] = Maximum (Délka[Y]+váha(Y, X), pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo a nebylo ─

63 Nejdelší cesta ve váženém acyklickém grafu
z uzlu 2 do uzlu 8 7 9 2 10 10 6 5 9 1 2 3 4 5 5 8 6 7 10 8 Délka - - 10 15 23 20 30 Před - - - 2 4 5 4 6

64

65 Nejdelší cesta ve váženém acyklickém grafu
7 9 2 10 10 5 9 6 1 2 3 4 5 5 8 6 7 10 8 Délka - - - - - - Před - - - - - - - - Init: Všechny délky ─, všechny předchůdce null Ve všech kořenech délka 0

66 Nejdelší cesta ve váženém acyklickém grafu
7 9 2 10 10 5 9 6 1 2 3 4 5 5 8 6 7 10 8 Délka 5 - - - - - Před - - 1 - - - - - Délka[X] = Maximum (Délka[Y]+váha(Y, X), pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo

67 Nejdelší cesta ve váženém acyklickém grafu
7 9 2 10 10 5 9 6 1 2 3 4 5 5 8 6 7 10 8 Délka 5 10 - - - - Před - - 1 2 - - - - Délka[X] = Maximum (Délka[Y]+váha(Y, X), pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo

68 Nejdelší cesta ve váženém acyklickém grafu
7 9 2 10 10 5 9 6 1 2 3 4 5 5 8 6 7 10 8 Délka 5 10 15 - - - Před - - 1 2 4 - - - Délka[X] = Maximum (Délka[Y]+váha(Y, X), pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo

69 Nejdelší cesta ve váženém acyklickém grafu
7 9 2 10 10 5 9 6 1 2 3 4 5 5 8 6 7 10 8 Délka 5 10 15 23 - - Před - - 1 2 4 5 - - Délka[X] = Maximum (Délka[Y]+váha(Y, X), pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo

70 Nejdelší cesta ve váženém acyklickém grafu
7 9 2 10 10 5 9 6 1 2 3 4 5 5 8 6 7 10 8 Délka 5 10 15 23 20 - Před - - 1 2 4 5 4 - Délka[X] = Maximum (Délka[Y]+váha(Y, X), pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo

71 Nejdelší cesta ve váženém acyklickém grafu
7 9 2 10 10 5 9 6 1 2 3 4 5 5 8 6 7 10 8 Délka 5 10 15 23 20 30 Před - - 1 2 4 5 4 6 Délka[X] = Maximum (Délka[Y]+váha(Y, X), pro všechy hrany (Y, X)) Před[X] = uzel Y, v němž maximum nastalo

72 Nejdelší cesta ve váženém acyklickém grafu
7 9 2 10 10 6 5 9 1 2 3 4 5 5 8 6 7 10 8 Délka 5 10 15 23 20 30 Před - - 1 2 4 5 4 6


Stáhnout ppt "Prakticky identické postupy:"

Podobné prezentace


Reklamy Google