lösungshinweise zu blatt 8 und blatt 9
DESCRIPTION
Lösungshinweise zu Blatt 8 und Blatt 9. GIN2-SS04. Der Baum zum Zustandsgraphen. GE. K0. OB. E. K1. K2. D. GE. DUI. GE. MH. K3. K4. K5. K6. K7. DUI. D. MH. OB. E. E. DUI. E. OB. E. OB. K8. K9. K10. K11. K12. K13. K14. K15. K16. K17. K18. DUI. E. DUI. E. - PowerPoint PPT PresentationTRANSCRIPT
Lösungshinweise zu Blatt 8 und Blatt 9
GIN2-SS04
Der Baum zum ZustandsgraphenGE
OB E
DUI GE D GEMH
D OBMH DUI E
D OBMH
OB E
DUI GE D GEMHD GE
MH
EDUI
D OBMH D GE
MH
DUI E EDUI
EOB
D GE
MH
GEDUI GEDUI
K0
K1 K2
K7
K18
K46K45K44
K3 K4 K5 K6
K17K16K15K14K13K12K11K10K9K8
K19 K20 K21 K22 K24 K26 K27 K29K23 K25
K28
K30 K31 K32 K33
K34
K35 K36 K37 K38 K39 K41 K42 K43
K40
Tiefensuche mit WiederholungenGE
OB E
DUI GE D GEMH
D OBMH DUI E
D OBMH
OB E
DUI GE D GEMHD GE
MH
EDUI
D OBMH D GE
MH
DUI E EDUI
EOB
D GE
MH
GEDUI GEDUI
K0
K1 K2
K7
K18
K46K45K44
K3 K4 K5 K6
K17K16K15K14K13K12K11K10K9K8
K19 K20 K21 K22 K24 K26 K27 K29K23 K25
K28
K30 K31 K32 K33
K34
K35 K36 K37 K38 K39 K41 K42 K43
K40
Tiefensuche (mit Wiederholungen, alle Lösungen): K0,K1,K3,K8,K9,K21,K22,K10,K23,K24,K4,K11,K25,K26,K12,K27,K28,K29,K2,K5,K6,K15,K36,K37,K38,K16,K39,K40,K41,K7,K17,K42,K43,K18,K44,K45,K46
Anmerkungen: Achtung, Knoten mit Zustand D werden nicht expandiert, also folgt nach K8 K9 und nach K5 K6.
Breitensuche mit WiederholungenGE
OB E
DUI GE D GEMH
D OBMH DUI E
D OBMH
OB E
DUI GE D GEMHD GE
MH
EDUI
D OBMH D GE
MH
DUI E EDUI
EOB
D GE
MH
GEDUI GEDUI
K0
K1 K2
K7
K18
K46K45K44
K3 K4 K5 K6
K17K16K15K14K13K12K11K10K9K8
K19 K20 K21 K22 K24 K26 K27 K29K23 K25
K28
K30 K31 K32 K33
K34
K35 K36 K37 K38 K39 K41 K42 K43
K40
Breitensuche (mit Wiederholungen, alle Lösungen): K0,K1,K2,K3,K4,K5,K6,K7,K8,K9,K10,K11,K12,K15,K16,K17,K18,K21,K22,K23,K24,K25,K26,K27,K28,K29,K36,K37,K38,K39,K40,K41,K42,K43,K44,K45,K46
Anmerkungen: Achtung, Knoten mit Zustand D werden nicht expandiert, also fehlen K19,K20,K13,K14,K30-K35
Tiefensuche ohne WiederholungenGE
OB E
DUI GE D GEMH
D OBMH DUI E
D OBMH
OB E
DUI GE D GEMHD GE
MH
EDUI
D OBMH D GE
MH
DUI E EDUI
EOB
D GE
MH
GEDUI GEDUI
K0
K1 K2
K7
K18
K46K45K44
K3 K4 K5 K6
K17K16K15K14K13K12K11K10K9K8
K19 K20 K21 K22 K24 K26 K27 K29K23 K25
K28
K30 K31 K32 K33
K34
K35 K36 K37 K38 K39 K41 K42 K43
K40
Tiefensuche ohne Wiederholungen, Variante 2: K0,K1,K3,K8,K9,K21 (Variante 2: Erst aufrufen, dann kontrollieren),K22,K10 (nicht K23-K24),K4,K2 -- Variante 2 macht für Tiefensuche nicht wirklich Sinn
Tiefensuche ohne Wiederholungen, Variante 1 (also vorm Aufruf kontrollieren): K0,K1,K3,K8,K9, (nicht K21) K22Beide Verfahren finden immer eine Lösung, sinnvoller ist Variante 1 (weil wir ja ohnehin alles gleich anschauen)
Tiefensuche ohne Wiederholungen, pfadweise Betrachtung
GE
OB E
DUI GE D GEMH
D OBMH DUI E
D OBMH
OB E
DUI GE D GEMHD GE
MH
EDUI
D OBMH D GE
MH
DUI E EDUI
EOB
D GE
MH
GEDUI GEDUI
K0
K1 K2
K7
K18
K46K45K44
K3 K4 K5 K6
K17K16K15K14K13K12K11K10K9K8
K19 K20 K21 K22 K24 K26 K27 K29K23 K25
K28
K30 K31 K32 K33
K34
K35 K36 K37 K38 K39 K41 K42 K43
K40
Wenn man alle Lösungen finden will, dann taugen die beiden bisherigen Varianten nicht. Man muss sich dann auf dasVermeiden von Wiederholungen in dem Pfad, den man grade betrachtet, konzentrieren, d.h. ein Aufruf für ein Kinderfolgt dann nicht, wenn es den gleichen Zustand repräsentiert, wie ein Vorgängerknoten. Implementieren kann mandas, in dem man den bisherigen Pfad als Parameter beim Aufruf von Tiefensuche mit übergibt. Das ist auch nützlich,wenn man die Wege zu den gefundenen Zielknoten ausgeben will.
Tiefensuche ohne Wiederholungen, pfadweise Betrachtung: K0,K1,K3,K8,K9,K22,K2,K5,K6,K15,K36,K38
Breitensuche ohne WiederholungenGE
OB E
DUI GE D GEMH
D OBMH DUI E
D OBMH
OB E
DUI GE D GEMHD GE
MH
EDUI
D OBMH D GE
MH
DUI E EDUI
EOB
D GE
MH
GEDUI GEDUI
K0
K1 K2
K7
K18
K46K45K44
K3 K4 K5 K6
K17K16K15K14K13K12K11K10K9K8
K19 K20 K21 K22 K24 K26 K27 K29K23 K25
K28
K30 K31 K32 K33
K34
K35 K36 K37 K38 K39 K41 K42 K43
K40
Breitensuche (ohne Wiederholungen, Variante 2): K0,K1,K2,K3,K4 (aber nicht expandieren!),K5,K6,K7 (nicht expandieren),K8,K9,K10 (K9,K10 nicht expandieren, K8 natürlich auch nicht, ist Ziel), (nicht K11,K12!), K15,K16 (beide nicht expandieren) Ende.
GE
OB
DUI
E
GE D GEMH
D OBMH EDUI
DUI
GE
OB E
GE D GEMH
D OBMH EDUI
DUI
Der Baum zum Zustandsgraphen mit Wegkosten
GE
OB E
DUI GE D GEMH
D OBMH DUI E
D OBMH
OB E
DUI GE D GEMHD GE
MH
EDUI
D OBMH D GE
MH
DUI E EDUI
EOB
D GE
MH
GEDUI GEDUI
K0
K1 K2
K7
K18
K46K45K44
K3 K4 K5 K6
K17K16K15K14K13K12K11K10K9K8
K19 K20 K21 K22 K24 K26 K27 K29K23 K25
K28
K30 K31 K32 K33
K34
K35 K36 K37 K38 K39 K41 K42 K43
K40
20 15
30 40 50 27 30
44 43 40 60 55 58 85 40 39 50 45
56 55 5550 54 53 50
5474
51
0
Einige der später nicht benutzten Kosteninformationen auf derletzten Ebene habe ich ausgelassen.
Best-First mit WegkostenGE
OB E
DUI GE D GEMH
D OBMH DUI E
D OBMH
OB E
DUI GE D GEMHD GE
MH
EDUI
D OBMH D GE
MH
DUI E EDUI
EOB
D GE
MH
GEDUI GEDUI
K0
K1 K2
K7
K18
K46K45K44
K3 K4 K5 K6
K17K16K15K14K13K12K11K10K9K8
K19 K20 K21 K22 K24 K26 K27 K29K23 K25
K28
K30 K31 K32 K33
K34
K35 K36 K37 K38 K39 K41 K42 K43
K40
20 15
30 40 50 27 30
44 43 40 60 55 58 85 40 39 50 45
56 55 5550 54 53 50
547451
Best-First (= Uniform Cost), achten auf Wiederholungen mit Variante 2: K0,K2,K1,K6,K7 (nicht expandieren),K3 (oder K3,K7),K16 (nicht expandieren),K4 (nicht expandieren),K10 (nicht expandieren),K15 (nicht expandieren)(oder K15,K10,K4 oder...), K9 (nicht expandieren), K8
Es kann für sie leichter sein, jeweils die Knoten in der Priorityliste und in der Closed-Liste mit aufzuschreiben,das vermeidet Flüchtigkeitsfehler (gilt auf für andere Verfahren, die Wiederholungen vermeiden)
0
Greedy mit Backtracking und ohne Wiederholungen (Variante 1)
GE
OB E
DUI GE D GEMH
D OBMH DUI E
D OBMH
OB E
DUI GE D GEMHD GE
MH
EDUI
D OBMH D GE
MH
DUI E EDUI
EOB
D GE
MH
GEDUI GEDUI
K0
K1 K2
K7
K18
K46K45K44
K3 K4 K5 K6
K17K16K15K14K13K12K11K10K9K8
K19 K20 K21 K22 K24 K26 K27 K29K23 K25
K28
K30 K31 K32 K33
K34
K35 K36 K37 K38 K39 K41 K42 K43
K40
20 15
30 40 50 27 30
44 43 40 60 55 58 85 40 39 50 45
56 55 5550 54 53 50
5474
51
0
Greedy (Schrittkosten): K0,K2,K6,(nicht K16, weil Wiederholung),K15,K38 (von dort würde es ohnehinnicht weitergehen, auch wenn der Baum größer wäre), (nicht K37), K36 (Ziel)
Variante 2 macht hier keinen Sinn (weil es keine Warteschlange gibt, analog zu Tiefensuche)
Iterative Deepening mit Wiederholungen
GE
OB E
DUI GE D GEMH
D OBMH DUI E
D OBMH
OB E
DUI GE D GEMHD GE
MH
EDUI
D OBMH D GE
MH
DUI E EDUI
EOB
D GE
MH
GEDUI GEDUI
K0
K1 K2
K7
K18
K46K45K44
K3 K4 K5 K6
K17K16K15K14K13K12K11K10K9K8
K19 K20 K21 K22 K24 K26 K27 K29K23 K25
K28
K30 K31 K32 K33
K34
K35 K36 K37 K38 K39 K41 K42 K43
K40
Iterative Deepening Search (IDS): K0;K0,K1,K2;K0,K1,K3,K4,K2,K5
Es kann Sinn machen, Wiederholungen in einem Pfad zu vermeiden (s. Tiefensuche), dann wäre die Knoten-folge: K0;K0,K1,K2;K0,K1,K3, (nicht K4, weil Wiederholung auf dem Pfad GE>OB>GE),K2,K5
A*
GE
OB E
DUI GE D GEMH
D OBMH DUI E
D OBMH
OB E
DUI GE D GEMHD GE
MH
EDUI
D OBMH D GE
MH
DUI E EDUI
EOB
D GE
MH
GEDUI GEDUI
K0
K1 K2
K7
K18
K46K45K44
K3 K4 K5 K6
K17K16K15K14K13K12K11K10K9K8
K19 K20 K21 K22 K24 K26 K27 K29K23 K25
K28
K30 K31 K32 K33
K34
K35 K36 K37 K38 K39 K41 K42 K43
K40
20+24 15+20
30+14 40+30 50+0 27+16 30+30
44+0 43+16 40+24 60 55 58 85 40+14 39+20 50 45
56 55 5550 54 53 50
5474
51
0+30
Einige der später nicht benutzten Kosteninformationen und heuristischen Information habe ich weggelassen.
A* mit Wiederholungen: K0,K2,K6,K1,K3,K8 (Ziel mit Wert 44 = Optimum gefunden) A* ohne Wiederholungen: K0,K2,K6,K1,K3,K8 (identisch in diesem Fall. Da Variante 2 gewollt war, wäre hier sogardie PQueue identisch, also wäre z.B. K16 enthalten – nicht aber bei Variante 1!)
Greedy mit heuristischen Infos und Backtracking
GE
OB E
DUI GE D GEMH
D OBMH DUI E
D OBMH
OB E
DUI GE D GEMHD GE
MH
EDUI
D OBMH D GE
MH
DUI E EDUI
EOB
D GE
MH
GEDUI GEDUI
K0
K1 K2
K7
K18
K46K45K44
K3 K4 K5 K6
K17K16K15K14K13K12K11K10K9K8
K19 K20 K21 K22 K24 K26 K27 K29K23 K25
K28
K30 K31 K32 K33
K34
K35 K36 K37 K38 K39 K41 K42 K43
K40
20+24 15+20
30+14 40+30 50+0 27+16 30+30
44+0 43+16 40+24 60 55 58 85 40+14 39+20 50 45
56 55 5550 54 53 50
5474
51
0+30
Einige der später nicht benutzten Kosteninformationen und heuristischen Information habe ich weggelassen.
Greedy (Verwendet nur h): K0,K2,K5 (Ziel mit Wert 50 gefunden)Greedy (Verwendet h+g = f): K0,K2,K6,K15,K38 (von dort ginge es nicht so oder so nicht weiter), (K37 nicht
weil Wiederhokung), K36 (Ziel mit Wert 54 gefunden)