Künstliche Intelligenz
|
|
- Gerd Weiner
- vor 5 Jahren
- Abrufe
Transkript
1 Künstliche Intelligenz 3. Suche Dr. Claudia Schon Institute for Web Science and Technologies 1
2 Diese Folien basieren auf den Folien von PD Dr. Matthias Thimm, Universität Koblenz-Landau, zur Vorlesung Künstliche Intelligenz 1 und Folien zum Buch: Poole, Mackworth and Goebel, Computational Intelligence: A Logical Approach, Oxford University Press,
3 Suche Eines der Kernprobleme der KI ist das allgemeine Problemlösen: Gegeben eine Problemspezifikation, bestimme die Lösung Oft ist ein direkter Algorithmenentwurf schwierig Idee: Formalisierung des Problems als (Graph)-Suchproblem Knoten sind (Teil-)lösungen, Kanten beschreiben Transitionen zwischen (Teil-)lösungen Herausforderungen: Graph zu groß für traditionelle Suchalgorithmen wie Dijkstra (! heuristische Suchverfahren) Graph nicht immer explizit gegeben (! implizite Graphsuche) 3
4 Suche Eines der Kernprobleme der KI ist das allgemeine Problemlösen: Gegeben eine Problemspezifikation, bestimme die Lösung Oft ist ein direkter Algorithmenentwurf schwierig Idee: Formalisierung des Problems als (Graph)-Suchproblem Knoten sind (Teil-)lösungen, Kanten beschreiben Transitionen zwischen (Teil-)lösungen Herausforderungen: Graph zu groß für traditionelle Suchalgorithmen wie Dijkstra (! heuristische Suchverfahren) Graph nicht immer explizit gegeben (! implizite Graphsuche) 3
5 Suche Eines der Kernprobleme der KI ist das allgemeine Problemlösen: Gegeben eine Problemspezifikation, bestimme die Lösung Oft ist ein direkter Algorithmenentwurf schwierig Idee: Formalisierung des Problems als (Graph)-Suchproblem Knoten sind (Teil-)lösungen, Kanten beschreiben Transitionen zwischen (Teil-)lösungen Herausforderungen: Graph zu groß für traditionelle Suchalgorithmen wie Dijkstra (! heuristische Suchverfahren) Graph nicht immer explizit gegeben (! implizite Graphsuche) 3
6 Suche Eines der Kernprobleme der KI ist das allgemeine Problemlösen: Gegeben eine Problemspezifikation, bestimme die Lösung Oft ist ein direkter Algorithmenentwurf schwierig Idee: Formalisierung des Problems als (Graph)-Suchproblem Knoten sind (Teil-)lösungen, Kanten beschreiben Transitionen zwischen (Teil-)lösungen Herausforderungen: Graph zu groß für traditionelle Suchalgorithmen wie Dijkstra (! heuristische Suchverfahren) Graph nicht immer explizit gegeben (! implizite Graphsuche) 3
7 Suche Eines der Kernprobleme der KI ist das allgemeine Problemlösen: Gegeben eine Problemspezifikation, bestimme die Lösung Oft ist ein direkter Algorithmenentwurf schwierig Idee: Formalisierung des Problems als (Graph)-Suchproblem Knoten sind (Teil-)lösungen, Kanten beschreiben Transitionen zwischen (Teil-)lösungen Herausforderungen: Graph zu groß für traditionelle Suchalgorithmen wie Dijkstra (! heuristische Suchverfahren) Graph nicht immer explizit gegeben (! implizite Graphsuche) 3
8 Beispiel: Schach Knoten: Spielkonfigurationen (welche Figur steht wo)? Kanten: verbinden Spielkonfigurationen durch legale Züge Herausforderung: Was macht der Gegner in seinem Zug? " " 4
9 Beispiel: Schach Spiele im Allgemeinen Startknoten: Initialzustand des Spiels Kanten: Mögliche Züge Zielknoten: Gewinnsituation (z. B. Schachmatt) Gesucht: Pfadfolge zu einem Zielknoten Logische Systeme Startknoten: Zu beweisende Aussage Kanten: Deduktionsregeln ({, _ }! { }) Zielknoten: Wahre Aussage Gesucht: Beweis Planung Startknoten: Startkonfiguration Kanten: Legale Aktionen Zielknoten: Zielzustand Gesucht: Aktionsfolge 5
10 Beispiel: Schach Spiele im Allgemeinen Startknoten: Initialzustand des Spiels Kanten: Mögliche Züge Zielknoten: Gewinnsituation (z. B. Schachmatt) Gesucht: Pfadfolge zu einem Zielknoten Logische Systeme Startknoten: Zu beweisende Aussage Kanten: Deduktionsregeln ({, _ }! { }) Zielknoten: Wahre Aussage Gesucht: Beweis Planung Startknoten: Startkonfiguration Kanten: Legale Aktionen Zielknoten: Zielzustand Gesucht: Aktionsfolge 5
11 Beispiel: Schach Spiele im Allgemeinen Startknoten: Initialzustand des Spiels Kanten: Mögliche Züge Zielknoten: Gewinnsituation (z. B. Schachmatt) Gesucht: Pfadfolge zu einem Zielknoten Logische Systeme Startknoten: Zu beweisende Aussage Kanten: Deduktionsregeln ({, _ }! { }) Zielknoten: Wahre Aussage Gesucht: Beweis Planung Startknoten: Startkonfiguration Kanten: Legale Aktionen Zielknoten: Zielzustand Gesucht: Aktionsfolge 5
12 Formalisierung: Suchproblem Ein Suchproblem P ist ein Tupel P =(S, O, I, G) mit 1. S ist eine Menge von Zuständen 2. O S S ist die Zustandsübergangsrelation 3. I 2 S ist der initiale Zustand 4. G S ist die Menge der Zielzustände 6
13 Formalisierung: Suchproblem Ein Suchproblem P ist ein Tupel P =(S, O, I, G) mit 1. S ist eine Menge von Zuständen 2. O S S ist die Zustandsübergangsrelation 3. I 2 S ist der initiale Zustand 4. G S ist die Menge der Zielzustände Sei P =(S, O, I, G) ein Suchproblem. Eine Lösung für P ist eine Sequenz =(S 1,...,S n ) mit 1. S 1,...,S n 2 S, S 1 = I, S n 2 G 2. für alle i =1,...,n 1 gilt (S i,s i+1 ) 2 O. 6
14 Beispiel: Fuchs, Schaf, Kohlkopf Ein Fuchs, ein Schaf, und ein Kohlkopf befinden sich auf der linken Seite eines Flusses. Das Ziel ist es diese drei Dinge auf die rechte Seite des Flusses zu bringen. Zu keiner Zeit dürfen allerdings Fuchs+Schaf oder Schaf+Kohlkopf alleine gelassen werden. Im Boot kann immer nur ein Gegenstand befördert werden. 7
15 Beispiel: Fuchs, Schaf, Kohlkopf Fuchs=f, Schaf=s, Kohlkopf=k Zustände sind Tupel (L, R, ) mit L, R {f,s,k} und 2{l, r} Beispiele: ({f,s}, {k},l): Fuchs und Schaf sind am linken Ufer, der Kohlkopf ist am rechten Ufer, das Boot (und wir selbst) sind am linken Ufer. ({}, {f, s,k}, r): Fuchs, Schaf, Kohlkopf sind am rechten Ufer, das Boot (und wir selbst) sind auch am rechten Ufer. Also P fsk =(S fsk,o fsk, ({f,s,k}, {},l), {({}, {f,s,k},l), ({}, {f,s,k},r)}) mit S fsk = {(L, R, ) L, R {f,s,k}, 2{l, r}} O fsk = {(({f,s,k}, {},l), ({f,s}, {k},r)), (({f,s,k}, {},l), ({f,k}, {s},r)),...} 8
16 Beispiel: Fuchs, Schaf, Kohlkopf Fuchs=f, Schaf=s, Kohlkopf=k Zustände sind Tupel (L, R, ) mit L, R {f,s,k} und 2{l, r} Beispiele: ({f,s}, {k},l): Fuchs und Schaf sind am linken Ufer, der Kohlkopf ist am rechten Ufer, das Boot (und wir selbst) sind am linken Ufer. ({}, {f, s,k}, r): Fuchs, Schaf, Kohlkopf sind am rechten Ufer, das Boot (und wir selbst) sind auch am rechten Ufer. Also P fsk =(S fsk,o fsk, ({f,s,k}, {},l), {({}, {f,s,k},l), ({}, {f,s,k},r)}) mit S fsk = {(L, R, ) L, R {f,s,k}, 2{l, r}} O fsk = {(({f,s,k}, {},l), ({f,s}, {k},r)), (({f,s,k}, {},l), ({f,k}, {s},r)),...} 8
17 Beispiel: Fuchs, Schaf, Kohlkopf Fuchs=f, Schaf=s, Kohlkopf=k Zustände sind Tupel (L, R, ) mit L, R {f,s,k} und 2{l, r} Beispiele: ({f,s}, {k},l): Fuchs und Schaf sind am linken Ufer, der Kohlkopf ist am rechten Ufer, das Boot (und wir selbst) sind am linken Ufer. ({}, {f, s,k}, r): Fuchs, Schaf, Kohlkopf sind am rechten Ufer, das Boot (und wir selbst) sind auch am rechten Ufer. Also P fsk =(S fsk,o fsk, ({f,s,k}, {},l),{({}, {f,s,k},l),({}, {f,s,k},r)}) mit Startzustand S fsk = {(L, R, ) L, R {f,s,k}, 2{l, r}} O fsk = {(({f,s,k}, {},l), ({f,s}, {k},r)), (({f,s,k}, {},l), ({f,k}, {s},r)),...} 8
18 Beispiel: Fuchs, Schaf, Kohlkopf Fuchs=f, Schaf=s, Kohlkopf=k Zustände sind Tupel (L, R, ) mit L, R {f,s,k} und 2{l, r} Beispiele: ({f,s}, {k},l): Fuchs und Schaf sind am linken Ufer, der Kohlkopf ist am rechten Ufer, das Boot (und wir selbst) sind am linken Ufer. ({}, {f, s,k}, r): Fuchs, Schaf, Kohlkopf sind am rechten Ufer, das Boot (und wir selbst) sind auch am rechten Ufer. Also P fsk =(S fsk,o fsk, ({f,s,k}, {},l),{({}, {f,s,k},l),({}, {f,s,k},r)}) mit Startzustand S fsk = {(L, R, ) L, R {f,s,k}, 2{l, r}} Menge der Zielzustände O fsk = {(({f,s,k}, {},l), ({f,s}, {k},r)), (({f,s,k}, {},l), ({f,k}, {s},r)),...} 8
19 Beispiel: Fuchs, Schaf, Kohlkopf Fuchs=f, Schaf=s, Kohlkopf=k Zustände sind Tupel (L, R, ) mit L, R {f,s,k} und 2{l, r} Beispiele: ({f,s}, {k},l): Fuchs und Schaf sind am linken Ufer, der Kohlkopf ist am rechten Ufer, das Boot (und wir selbst) sind am linken Ufer. ({}, {f, s,k}, r): Fuchs, Schaf, Kohlkopf sind am rechten Ufer, das Boot (und wir selbst) sind auch am rechten Ufer. Also P fsk =(S fsk,o fsk, ({f,s,k}, {},l),{({}, {f,s,k},l),({}, {f,s,k},r)}) mit Startzustand S fsk = {(L, R, ) L, R {f,s,k}, 2{l, r}} Menge der Zielzustände O fsk = {(({f,s,k}, {},l), ({f,s}, {k},r)), (({f,s,k}, {},l), ({f,k}, {s},r)),...} 8
20 Beispiel: Schiebepuzzle In einem n 2 großen Kästchenfeld befinden sich Zahlen 1,...,(n 2 ein freies Feld 1) und Durch Verschieben der Zahlen auf das jeweils freie Feld soll die Zahlenfolge sortiert werden 9
21 Beispiel: Schiebepuzzle Zustände: zweidimensionales Array int[n][n] mit Zahlen 1,...,(n 2 1) und 0 für frei Beispiel: [[1,2,3],[8,0,4],[7,6,5]] 10
22 Beispiel: Schiebepuzzle Zustände: zweidimensionales Array int[n][n] mit Zahlen 1,...,(n 2 1) und 0 für frei Beispiel: [[1,2,3],[8,0,4],[7,6,5]] Also P 3 =(S 3,O 3,I,{[[1, 2, 3], [8, 0, 4], [7, 6, 5]]}) mit S 3 = {[[x 1,x 2,x 3 ], [x 4,x 5,x 6 ], [x 7,x 8,x 9 ]] {x 1,...,x 9 } = {0,...,8}} I zufällig O 3 = {([[3,4,8],[1,2,7],[5,0,6]], [[3,4,8],[1,2,7],[0,5,6]]),...} 10
23 Weitere Beispiele: Rubik s Cube 11
24 Weitere Beispiele: Sokoban 12
25 Das Problem der Zustandsdefinition Die richtige Repräsentation des Zustandsraums hat großen Einfluss auf die Problemkomplexität. Erinnerung Fuchs-Schaf-Kohlkopf: (L, R, ) mit L, R {f,s,k} und 2 {l, r} Besser: (L, ) mit L {f,s,k} und 2{l, r} (alles was nicht auf der linken Seite ist, ist automatisch auf der rechten Seite) Vorteile: Zustandsraum weitaus kleiner, Suche effizienter Eine saubere Zustandsdefinition ist oft wichtiger als die richtige Wahl des tatsächlichen Suchalgorithmus. 13
26 Das Problem der Zustandsdefinition Die richtige Repräsentation des Zustandsraums hat großen Einfluss auf die Problemkomplexität. Erinnerung Fuchs-Schaf-Kohlkopf: (L, R, ) mit L, R {f,s,k} und 2 {l, r} Besser: (L, ) mit L {f,s,k} und 2{l, r} (alles was nicht auf der linken Seite ist, ist automatisch auf der rechten Seite) Vorteile: Zustandsraum weitaus kleiner, Suche effizienter Eine saubere Zustandsdefinition ist oft wichtiger als die richtige Wahl des tatsächlichen Suchalgorithmus. 13
27 Das Problem der Zustandsdefinition Die richtige Repräsentation des Zustandsraums hat großen Einfluss auf die Problemkomplexität. Erinnerung Fuchs-Schaf-Kohlkopf: (L, R, ) mit L, R {f,s,k} und 2 {l, r} Besser: (L, ) mit L {f,s,k} und 2{l, r} (alles was nicht auf der linken Seite ist, ist automatisch auf der rechten Seite) Vorteile: Zustandsraum weitaus kleiner, Suche effizienter Eine saubere Zustandsdefinition ist oft wichtiger als die richtige Wahl des tatsächlichen Suchalgorithmus. 13
28 Das Problem der Zustandsdefinition Die richtige Repräsentation des Zustandsraums hat großen Einfluss auf die Problemkomplexität. Erinnerung Fuchs-Schaf-Kohlkopf: (L, R, ) mit L, R {f,s,k} und 2 {l, r} Besser: (L, ) mit L {f,s,k} und 2{l, r} (alles was nicht auf der linken Seite ist, ist automatisch auf der rechten Seite) Vorteile: Zustandsraum weitaus kleiner, Suche effizienter Eine saubere Zustandsdefinition ist oft wichtiger als die richtige Wahl des tatsächlichen Suchalgorithmus. 13
29 Das Problem der Zustandsdefinition Die richtige Repräsentation des Zustandsraums hat großen Einfluss auf die Problemkomplexität. Erinnerung Fuchs-Schaf-Kohlkopf: (L, R, ) mit L, R {f,s,k} und 2 {l, r} Besser: (L, ) mit L {f,s,k} und 2{l, r} (alles was nicht auf der linken Seite ist, ist automatisch auf der rechten Seite) Vorteile: Zustandsraum weitaus kleiner, Suche effizienter Eine saubere Zustandsdefinition ist oft wichtiger als die richtige Wahl des tatsächlichen Suchalgorithmus. 13
30 Uninformierte Suche 14
31 Uninformierte Suche 14
32 Uninformierte Suche Gegeben Suchproblem P =(S, O, I, G) mit Startzustand I Zustandsraum S normalerweise nicht explizit gegeben, sondern wird während der Suche von I aus aufgebaut (implizite Graphsuche) Anfangs nur Startzustand I und Nachfolger von I bekannt Sobald ein Nachfolger N von I betrachtet wird, sind auch dessen Nachfolger bekannt Ansatz der uninformierten Suche: ausser der Zustandsübergangsrelation sind keine weiteren Informationen verfügbar In welche Richtung gesucht werden soll, ist unbekannt. Suche kann dann durch (implizite) Graphsuche realisiert werden 15
33 Uninformierte Suche Gegeben Suchproblem P =(S, O, I, G) mit Startzustand I Zustandsraum S normalerweise nicht explizit gegeben, sondern wird während der Suche von I aus aufgebaut (implizite Graphsuche) Anfangs nur Startzustand I und Nachfolger von I bekannt Sobald ein Nachfolger N von I betrachtet wird, sind auch dessen Nachfolger bekannt Ansatz der uninformierten Suche: ausser der Zustandsübergangsrelation sind keine weiteren Informationen verfügbar In welche Richtung gesucht werden soll, ist unbekannt. Suche kann dann durch (implizite) Graphsuche realisiert werden 15
34 Uninformierte Suche Gegeben Suchproblem P =(S, O, I, G) mit Startzustand I Zustandsraum S normalerweise nicht explizit gegeben, sondern wird während der Suche von I aus aufgebaut (implizite Graphsuche) Anfangs nur Startzustand I und Nachfolger von I bekannt Sobald ein Nachfolger N von I betrachtet wird, sind auch dessen Nachfolger bekannt Ansatz der uninformierten Suche: ausser der Zustandsübergangsrelation sind keine weiteren Informationen verfügbar In welche Richtung gesucht werden soll, ist unbekannt. Suche kann dann durch (implizite) Graphsuche realisiert werden 15
35 Uninformierte Suche Gegeben Suchproblem P =(S, O, I, G) mit Startzustand I Zustandsraum S normalerweise nicht explizit gegeben, sondern wird während der Suche von I aus aufgebaut (implizite Graphsuche) Anfangs nur Startzustand I und Nachfolger von I bekannt Sobald ein Nachfolger N von I betrachtet wird, sind auch dessen Nachfolger bekannt Ansatz der uninformierten Suche: ausser der Zustandsübergangsrelation sind keine weiteren Informationen verfügbar In welche Richtung gesucht werden soll, ist unbekannt. Suche kann dann durch (implizite) Graphsuche realisiert werden 15
36 Uninformierte Suche Gegeben Suchproblem P =(S, O, I, G) mit Startzustand I Zustandsraum S normalerweise nicht explizit gegeben, sondern wird während der Suche von I aus aufgebaut (implizite Graphsuche) Anfangs nur Startzustand I und Nachfolger von I bekannt Sobald ein Nachfolger N von I betrachtet wird, sind auch dessen Nachfolger bekannt Ansatz der uninformierten Suche: ausser der Zustandsübergangsrelation sind keine weiteren Informationen verfügbar In welche Richtung gesucht werden soll, ist unbekannt. Suche kann dann durch (implizite) Graphsuche realisiert werden 15
37 Uninformierte Suche Gegeben Suchproblem P =(S, O, I, G) mit Startzustand I Zustandsraum S normalerweise nicht explizit gegeben, sondern wird während der Suche von I aus aufgebaut (implizite Graphsuche) Anfangs nur Startzustand I und Nachfolger von I bekannt Sobald ein Nachfolger N von I betrachtet wird, sind auch dessen Nachfolger bekannt Ansatz der uninformierten Suche: ausser der Zustandsübergangsrelation sind keine weiteren Informationen verfügbar In welche Richtung gesucht werden soll, ist unbekannt. Suche kann dann durch (implizite) Graphsuche realisiert werden 15
38 Implizite Graphsuche Graph zur Exploration ist nicht immer explizit gegeben. Wird während der Exploration (teilweise) erstellt. 16
39 Implizite Graphsuche 17
40 Graphsuche Allgemeines Schema: Suche Pfade inkrementell vom Startknoten aus ab Zu jedem Zeitpunkt pflege eine Menge von Grenzknoten (frontier nodes), die den bisher durchsuchten Bereich vom nicht-durchsuchten Bereich abgrenzen. Mit Voranschreiten des Algorithmus wird die Grenze expandiert, bis ein Zielknoten erreicht wird Die Art und Weise wie die Grenze expandiert wird, definiert die Suchstrategie: Breitensuche Tiefensuche Iterative Tiefensuche Bidirektionale Suche 18
41 Graphsuche Allgemeines Schema: Suche Pfade inkrementell vom Startknoten aus ab Zu jedem Zeitpunkt pflege eine Menge von Grenzknoten (frontier nodes), die den bisher durchsuchten Bereich vom nicht-durchsuchten Bereich abgrenzen. Mit Voranschreiten des Algorithmus wird die Grenze expandiert, bis ein Zielknoten erreicht wird Die Art und Weise wie die Grenze expandiert wird, definiert die Suchstrategie: Breitensuche Tiefensuche Iterative Tiefensuche Bidirektionale Suche 18
42 Graphsuche Allgemeines Schema: Suche Pfade inkrementell vom Startknoten aus ab Zu jedem Zeitpunkt pflege eine Menge von Grenzknoten (frontier nodes), die den bisher durchsuchten Bereich vom nicht-durchsuchten Bereich abgrenzen. Mit Voranschreiten des Algorithmus wird die Grenze expandiert, bis ein Zielknoten erreicht wird Die Art und Weise wie die Grenze expandiert wird, definiert die Suchstrategie: Breitensuche Tiefensuche Iterative Tiefensuche Bidirektionale Suche 18
43 Graphsuche Allgemeines Schema: Suche Pfade inkrementell vom Startknoten aus ab Zu jedem Zeitpunkt pflege eine Menge von Grenzknoten (frontier nodes), die den bisher durchsuchten Bereich vom nicht-durchsuchten Bereich abgrenzen. Mit Voranschreiten des Algorithmus wird die Grenze expandiert, bis ein Zielknoten erreicht wird Die Art und Weise wie die Grenze expandiert wird, definiert die Suchstrategie: Breitensuche Tiefensuche Iterative Tiefensuche Bidirektionale Suche 18
44 Graphsuche 19
45 Suchstrategien Wann ist eine Suchstrategie gut? Vollständigkeit: Gegeben, dass ein Zielzustand existiert, findet die Strategie diesen? Laufzeit: wieviele Knoten müssen betrachtet werden um einen Zielzustand zu finden? Speicherplatz: wieviele Knoten befinden sich maximal in Frontier? Optimalität: findet die Suchstrategie eine günstigste Lösung (=kürzeste Entfernung zum Startknoten)? 20
46 Suchstrategien Wann ist eine Suchstrategie gut? Vollständigkeit: Gegeben, dass ein Zielzustand existiert, findet die Strategie diesen? Laufzeit: wieviele Knoten müssen betrachtet werden um einen Zielzustand zu finden? Speicherplatz: wieviele Knoten befinden sich maximal in Frontier? Optimalität: findet die Suchstrategie eine günstigste Lösung (=kürzeste Entfernung zum Startknoten)? 20
47 Suchstrategien Wann ist eine Suchstrategie gut? Vollständigkeit: Gegeben, dass ein Zielzustand existiert, findet die Strategie diesen? Laufzeit: wieviele Knoten müssen betrachtet werden um einen Zielzustand zu finden? Speicherplatz: wieviele Knoten befinden sich maximal in Frontier? Optimalität: findet die Suchstrategie eine günstigste Lösung (=kürzeste Entfernung zum Startknoten)? 20
48 Suchstrategien Wann ist eine Suchstrategie gut? Vollständigkeit: Gegeben, dass ein Zielzustand existiert, findet die Strategie diesen? Laufzeit: wieviele Knoten müssen betrachtet werden um einen Zielzustand zu finden? Speicherplatz: wieviele Knoten befinden sich maximal in Frontier? Optimalität: findet die Suchstrategie eine günstigste Lösung (=kürzeste Entfernung zum Startknoten)? 20
49 Suchstrategien Wann ist eine Suchstrategie gut? Vollständigkeit: Gegeben, dass ein Zielzustand existiert, findet die Strategie diesen? Laufzeit: wieviele Knoten müssen betrachtet werden um einen Zielzustand zu finden? Speicherplatz: wieviele Knoten befinden sich maximal in Frontier? Optimalität: findet die Suchstrategie eine günstigste Lösung (=kürzeste Entfernung zum Startknoten)? 20
50 Generischer Algorithmus zur Graphsuche Generic Graph Search Algorithm search(f 0 ) select(node, F 0, F 1 ) ^ is_goal(node). search(f 0 ) select(node, F 0, F 1 ) ^ neighbors(node, NN) ^ add_to_frontier(nn, F 1, F 2 ) ^ search(f 2 ). 21
51 Generischer Algorithmus zur Graphsuche search(frontier) ist wahr, wenn es einen Pfad von einem Element aus Frontier zu einem Zielknoten gibt. 22
52 Generischer Algorithmus zur Graphsuche search(frontier) ist wahr, wenn es einen Pfad von einem Element aus Frontier zu einem Zielknoten gibt. is_goal(n) ist wahr, wenn N ein Zielknoten ist. 22
53 Generischer Algorithmus zur Graphsuche search(frontier) ist wahr, wenn es einen Pfad von einem Element aus Frontier zu einem Zielknoten gibt. is_goal(n) ist wahr, wenn N ein Zielknoten ist. neighbors(n,nn) ist wahr, wenn NN die Liste der Zustände gibt, für die es von N aus einen Zustandsübergang gibt. 22
54 Generischer Algorithmus zur Graphsuche search(frontier) ist wahr, wenn es einen Pfad von einem Element aus Frontier zu einem Zielknoten gibt. is_goal(n) ist wahr, wenn N ein Zielknoten ist. neighbors(n,nn) ist wahr, wenn NN die Liste der Zustände gibt, für die es von N aus einen Zustandsübergang gibt. select(n,f 0,F1): Nimmt einen Knoten N aus der Frontier F0 heraus. F1 = F0 - {N}. Liefert FAIL, wenn F0 leer ist. 22
55 Generischer Algorithmus zur Graphsuche search(frontier) ist wahr, wenn es einen Pfad von einem Element aus Frontier zu einem Zielknoten gibt. is_goal(n) ist wahr, wenn N ein Zielknoten ist. neighbors(n,nn) ist wahr, wenn NN die Liste der Zustände gibt, für die es von N aus einen Zustandsübergang gibt. select(n,f 0,F1): Nimmt einen Knoten N aus der Frontier F0 heraus. F1 = F0 - {N}. Liefert FAIL, wenn F0 leer ist. add_to_frontier(nn,f 1,F2): F2 ist die Frontier, die man aus F1 erhält, indem man die Liste der Knoten NN hinzufügt. 22
56 Generischer Algorithmus zur Graphsuche Definiert, was ein Ziel ist. search(frontier) ist wahr, wenn es einen Pfad von einem Element aus Frontier zu einem Zielknoten gibt. is_goal(n) ist wahr, wenn N ein Zielknoten ist. neighbors(n,nn) ist wahr, wenn NN die Liste der Zustände gibt, für die es von N aus einen Zustandsübergang gibt. select(n,f 0,F1): Nimmt einen Knoten N aus der Frontier F0 heraus. F1 = F0 - {N}. Liefert FAIL, wenn F0 leer ist. add_to_frontier(nn,f 1,F2): F2 ist die Frontier, die man aus F1 erhält, indem man die Liste der Knoten NN hinzufügt. 22
57 Generischer Algorithmus zur Graphsuche Definiert, was ein Ziel ist. Definiert, die Zustandsbergangsrelation search(frontier) ist wahr, wenn es einen Pfad von einem Element aus Frontier zu einem Zielknoten gibt. is_goal(n) ist wahr, wenn N ein Zielknoten ist. neighbors(n,nn) ist wahr, wenn NN die Liste der Zustände gibt, für die es von N aus einen Zustandsübergang gibt. select(n,f 0,F1): Nimmt einen Knoten N aus der Frontier F0 heraus. F1 = F0 - {N}. Liefert FAIL, wenn F0 leer ist. add_to_frontier(nn,f 1,F2): F2 ist die Frontier, die man aus F1 erhält, indem man die Liste der Knoten NN hinzufügt. 22
58 Generischer Algorithmus zur Graphsuche Definiert, was ein Ziel ist. Definiert, die Zustandsbergangsrelation efinieren, die Suchstrategie search(frontier) ist wahr, wenn es einen Pfad von einem Element aus Frontier zu einem Zielknoten gibt. is_goal(n) ist wahr, wenn N ein Zielknoten ist. neighbors(n,nn) ist wahr, wenn NN die Liste der Zustände gibt, für die es von N aus einen Zustandsübergang gibt. select(n,f 0,F1): Nimmt einen Knoten N aus der Frontier F0 heraus. F1 = F0 - {N}. Liefert FAIL, wenn F0 leer ist. add_to_frontier(nn,f 1,F2): F2 ist die Frontier, die man aus F1 erhält, indem man die Liste der Knoten NN hinzufügt. 22
59 Beispiel Breitensuche A Explored Frontier - A 23
60 Beispiel Breitensuche A Explored Frontier - A A B,C,D,E B C D E 24
61 Beispiel Breitensuche B A C D E Explored Frontier - A A B,C,D,E A,B C,D,E,F,G,H F G H 25
62 Beispiel Breitensuche B C A D E Explored Frontier - A A B,C,D,E A,B C,D,E,F,G,H A,B,C D,E,F,G,H,I F G H I 26
63 Beispiel Breitensuche B C A D E Explored Frontier - A A B,C,D,E A,B C,D,E,F,G,H A,B,C D,E,F,G,H,I A,B,C,D E,F,G,H,I,J,K F G H I J K 27
64 Beispiel Breitensuche B C A D E Explored Frontier - A A B,C,D,E A,B C,D,E,F,G,H A,B,C D,E,F,G,H,I A,B,C,D E,F,G,H,I,J,K A,B,C,D,E F,G,H,I,J,K,L,M,N,O F G H I J K L M N O 28
65 Beispiel Breitensuche B F G H C I A J D K E L M N O Explored Frontier - A A B,C,D,E A,B C,D,E,F,G,H A,B,C D,E,F,G,H,I A,B,C,D E,F,G,H,I,J,K A,B,C,D,E F,G,H,I,J,K,L,M,N,O A,B,C,D,E,F G,H,I,J,K,L,M,N,O 29
66 Beispiel Breitensuche B F G H C I A J D K E L M N O Explored Frontier - A A B,C,D,E A,B C,D,E,F,G,H A,B,C D,E,F,G,H,I A,B,C,D E,F,G,H,I,J,K A,B,C,D,E F,G,H,I,J,K,L,M,N,O A,B,C,D,E,F G,H,I,J,K,L,M,N,O A,B,C,D,E,F,G H,I,J,K,L,M,N,O 30
67 Beispiel Breitensuche B F G H C I A J D K E L M N O Explored Frontier - A A B,C,D,E A,B C,D,E,F,G,H A,B,C D,E,F,G,H,I A,B,C,D E,F,G,H,I,J,K A,B,C,D,E F,G,H,I,J,K,L,M,N,O A,B,C,D,E,F G,H,I,J,K,L,M,N,O A,B,C,D,E,F,G H,I,J,K,L,M,N,O A,B,C,D,E,F,G,H I,J,K,L,M,N,O 31
68 Beispiel Breitensuche B F G H C I A J D K E L M N O Explored Frontier - A A B,C,D,E A,B C,D,E,F,G,H A,B,C D,E,F,G,H,I A,B,C,D E,F,G,H,I,J,K A,B,C,D,E F,G,H,I,J,K,L,M,N,O A,B,C,D,E,F G,H,I,J,K,L,M,N,O A,B,C,D,E,F,G H,I,J,K,L,M,N,O A,B,C,D,E,F,G,H I,J,K,L,M,N,O A,B,C,D,E,F,G,H,I J,K,L,M,N,O 32
69 Beispiel Breitensuche B F G H C I A J D K E L M N O Explored Frontier - A A B,C,D,E A,B C,D,E,F,G,H A,B,C D,E,F,G,H,I A,B,C,D E,F,G,H,I,J,K A,B,C,D,E F,G,H,I,J,K,L,M,N,O A,B,C,D,E,F G,H,I,J,K,L,M,N,O A,B,C,D,E,F,G H,I,J,K,L,M,N,O A,B,C,D,E,F,G,H I,J,K,L,M,N,O A,B,C,D,E,F,G,H,I J,K,L,M,N,O A,B,C,D,E,F,G,H,I,J K,L,M,N,O 33
70 Beispiel Breitensuche B F G H C I A J D K E L M N O Explored Frontier - A A B,C,D,E A,B C,D,E,F,G,H A,B,C D,E,F,G,H,I A,B,C,D E,F,G,H,I,J,K A,B,C,D,E F,G,H,I,J,K,L,M,N,O A,B,C,D,E,F G,H,I,J,K,L,M,N,O A,B,C,D,E,F,G H,I,J,K,L,M,N,O A,B,C,D,E,F,G,H I,J,K,L,M,N,O A,B,C,D,E,F,G,H,I J,K,L,M,N,O A,B,C,D,E,F,G,H,I,J K,L,M,N,O A,B,C,D,E,F,G,H,I,J,K L,M,N,O 34
71 Beispiel Breitensuche B F G H C I A J D K E L M N O Explored Frontier - A A B,C,D,E A,B C,D,E,F,G,H A,B,C D,E,F,G,H,I A,B,C,D E,F,G,H,I,J,K A,B,C,D,E F,G,H,I,J,K,L,M,N,O A,B,C,D,E,F G,H,I,J,K,L,M,N,O A,B,C,D,E,F,G H,I,J,K,L,M,N,O A,B,C,D,E,F,G,H I,J,K,L,M,N,O A,B,C,D,E,F,G,H,I J,K,L,M,N,O A,B,C,D,E,F,G,H,I,J K,L,M,N,O A,B,C,D,E,F,G,H,I,J,K L,M,N,O A,B,C,D,E,F,G,H,I,J,K,L M,N,O 35
72 Beispiel Breitensuche B F G H C I A J D K E L M N O Explored Frontier - A A B,C,D,E A,B C,D,E,F,G,H A,B,C D,E,F,G,H,I A,B,C,D E,F,G,H,I,J,K A,B,C,D,E F,G,H,I,J,K,L,M,N,O A,B,C,D,E,F G,H,I,J,K,L,M,N,O A,B,C,D,E,F,G H,I,J,K,L,M,N,O A,B,C,D,E,F,G,H I,J,K,L,M,N,O A,B,C,D,E,F,G,H,I J,K,L,M,N,O A,B,C,D,E,F,G,H,I,J K,L,M,N,O A,B,C,D,E,F,G,H,I,J,K L,M,N,O A,B,C,D,E,F,G,H,I,J,K,L M,N,O A,B,C,D,E,F,G,H,I,J,K,L,M N,O A,B,C,D,E,F,G,H,I,J,K,L,M,N O 36
73 Beispiel Breitensuche B F G H C I A J D K E L M N O Explored Frontier - A A B,C,D,E A,B C,D,E,F,G,H A,B,C D,E,F,G,H,I A,B,C,D E,F,G,H,I,J,K A,B,C,D,E F,G,H,I,J,K,L,M,N,O A,B,C,D,E,F G,H,I,J,K,L,M,N,O A,B,C,D,E,F,G H,I,J,K,L,M,N,O A,B,C,D,E,F,G,H I,J,K,L,M,N,O A,B,C,D,E,F,G,H,I J,K,L,M,N,O A,B,C,D,E,F,G,H,I,J K,L,M,N,O A,B,C,D,E,F,G,H,I,J,K L,M,N,O A,B,C,D,E,F,G,H,I,J,K,L M,N,O A,B,C,D,E,F,G,H,I,J,K,L,M N,O A,B,C,D,E,F,G,H,I,J,K,L,M,N O A,B,C,D,E,F,G,H,I,J,K,L,M,N,O - 37
74 Generic Graph Search Algorithm Generischer Algorithmus zur Graphsuche search(f 0 ) select(node, F 0, F 1 ) ^ is_goal(node). search(f 0 ) select(node, F 0, F 1 ) ^ neighbors(node, NN) ^ add_to_frontier(nn, F 1, F 2 ) ^ search(f 2 ). Wie wird die Frontier bei der Breitensuche behandelt? 38
75 Generic Graph Search Algorithm Generischer Algorithmus zur Graphsuche search(f 0 ) select(node, F 0, F 1 ) ^ is_goal(node). Entnimmt das erste Element aus der Frontier. search(f 0 ) select(node, F 0, F 1 ) ^ neighbors(node, NN) ^ add_to_frontier(nn, F 1, F 2 ) ^ search(f 2 ). Wie wird die Frontier bei der Breitensuche behandelt? 38
76 Generic Graph Search Algorithm Generischer Algorithmus zur Graphsuche search(f 0 ) select(node, F 0, F 1 ) ^ is_goal(node). Entnimmt das erste Element aus der Frontier. Fügt die Nachfolgezustände hinten an die Frontier an. search(f 0 ) select(node, F 0, F 1 ) ^ neighbors(node, NN) ^ add_to_frontier(nn, F 1, F 2 ) ^ search(f 2 ). Wie wird die Frontier bei der Breitensuche behandelt? 38
77 Generic Graph Search Algorithm Generischer Algorithmus zur Graphsuche search(f 0 ) select(node, F 0, F 1 ) ^ is_goal(node). Entnimmt das erste Element aus der Frontier. Fügt die Nachfolgezustände hinten an die Frontier an. search(f 0 ) select(node, F 0, F 1 ) ^ neighbors(node, NN) ^ add_to_frontier(nn, F 1, F 2 ) ^ search(f 2 ). Wie wird die Frontier bei der Breitensuche behandelt? Queue! 38
78 Breitensuche Breadth-first Search Breadth-first search treats the frontier as a queue: it always selects the earliest element added to the frontier. select(node, [Node Frontier], Frontier). add_to_frontier(neighbors, Frontier 1, Frontier 2 ) append(frontier 1, Neighbors, Frontier 2 ). Frontier: [e 1, e 2,...] e 1 is selected. Its neighbors are added to the end of the queue. e 2 is selected next. ( David Poole, Alan Mackworth, Randy Goebel, and Oxford University Press 1998 *) 39
79 Beispiel Tiefensuche Beispiel Tiefensuche A Explored Frontier - A 40
80 Beispiel Tiefensuche Beispiel Tiefensuche A Explored Frontier - A A B,C,D,E B C D E 41
81 Beispiel Tiefensuche Beispiel Tiefensuche A B C D E Explored Frontier - A A B,C,D,E A,B F,G,H,C,D,E F G H 42
82 Beispiel Tiefensuche Beispiel Tiefensuche A B C D E Explored Frontier - A A B,C,D,E A,B F,G,H,C,D,E A,B,F G,H,C,D,E F G H 43
83 Beispiel Tiefensuche Beispiel Tiefensuche A B C D E Explored Frontier - A A B,C,D,E A,B F,G,H,C,D,E A,B,F G,H,C,D,E A,B,F,G H,C,D,E F G H 44
84 Beispiel Tiefensuche Beispiel Tiefensuche A B C D E Explored Frontier - A A B,C,D,E A,B F,G,H,C,D,E A,B,F G,H,C,D,E A,B,F,G H,C,D,E A,B,F,G,H C,D,E F G H 45
85 Beispiel Tiefensuche Beispiel Tiefensuche A B C D E Explored Frontier - A A B,C,D,E A,B F,G,H,C,D,E A,B,F G,H,C,D,E A,B,F,G H,C,D,E A,B,F,G,H C,D,E A,B,F,G,H,C I,D,E F G H I 46
86 Beispiel Tiefensuche Beispiel Tiefensuche A B C D E Explored Frontier - A A B,C,D,E A,B F,G,H,C,D,E A,B,F G,H,C,D,E A,B,F,G H,C,D,E A,B,F,G,H C,D,E A,B,F,G,H,C I,D,E A,B,F,G,H,C,I D,E F G H I 47
87 Beispiel Tiefensuche Beispiel Tiefensuche A B C D E Explored Frontier - A A B,C,D,E A,B F,G,H,C,D,E A,B,F G,H,C,D,E A,B,F,G H,C,D,E A,B,F,G,H C,D,E A,B,F,G,H,C I,D,E A,B,F,G,H,C,I,D J,K,E F G H I J K 48
88 Beispiel Tiefensuche Beispiel Tiefensuche A B C D E Explored Frontier - A A B,C,D,E A,B F,G,H,C,D,E A,B,F G,H,C,D,E A,B,F,G H,C,D,E A,B,F,G,H C,D,E A,B,F,G,H,C I,D,E A,B,F,G,H,C,I,D,J K,E F G H I J K 49
89 Beispiel Tiefensuche Beispiel Tiefensuche A B C D E Explored Frontier - A A B,C,D,E A,B F,G,H,C,D,E A,B,F G,H,C,D,E A,B,F,G H,C,D,E A,B,F,G,H C,D,E A,B,F,G,H,C I,D,E A,B,F,G,H,C,I,D,J K,E A,B,F,G,H,C,I,D,J,K E F G H I J K 50
90 Beispiel Tiefensuche Beispiel Tiefensuche A B C D E Explored Frontier - A A B,C,D,E A,B F,G,H,C,D,E A,B,F G,H,C,D,E A,B,F,G H,C,D,E A,B,F,G,H C,D,E A,B,F,G,H,C I,D,E A,B,F,G,H,C,I,D,J K,E A,B,F,G,H,C,I,D,J,K,E L,M,N,O F G H I J K L M N O 51
91 Beispiel Tiefensuche Beispiel Tiefensuche B F G H C I A J D K E L M N O Explored Frontier - A A B,C,D,E A,B F,G,H,C,D,E A,B,F G,H,C,D,E A,B,F,G H,C,D,E A,B,F,G,H C,D,E A,B,F,G,H,C I,D,E A,B,F,G,H,C,I,D,J K,E A,B,F,G,H,C,I,D,J,K,E L,M,N,O A,B,F,G,H,C,I,D,J,K,E,L M,N,O 52
92 Beispiel Tiefensuche Beispiel Tiefensuche B F G H C I A J D K E L M N O Explored Frontier - A A B,C,D,E A,B F,G,H,C,D,E A,B,F G,H,C,D,E A,B,F,G H,C,D,E A,B,F,G,H C,D,E A,B,F,G,H,C I,D,E A,B,F,G,H,C,I,D,J K,E A,B,F,G,H,C,I,D,J,K,E L,M,N,O A,B,F,G,H,C,I,D,J,K,E,L M,N,O A,B,F,G,H,C,I,D,J,K,E,L,M N,O 53
93 Beispiel Tiefensuche Beispiel Tiefensuche B F G H C I A J D K E L M N O Explored Frontier - A A B,C,D,E A,B F,G,H,C,D,E A,B,F G,H,C,D,E A,B,F,G H,C,D,E A,B,F,G,H C,D,E A,B,F,G,H,C I,D,E A,B,F,G,H,C,I,D,J K,E A,B,F,G,H,C,I,D,J,K,E L,M,N,O A,B,F,G,H,C,I,D,J,K,E,L M,N,O A,B,F,G,H,C,I,D,J,K,E,L,M N,O A,B,F,G,H,C,I,D,J,K,E,L,M,N O 54
94 Beispiel Tiefensuche Beispiel Tiefensuche B F G H C I A J D K E L M N O Explored Frontier - A A B,C,D,E A,B F,G,H,C,D,E A,B,F G,H,C,D,E A,B,F,G H,C,D,E A,B,F,G,H C,D,E A,B,F,G,H,C I,D,E A,B,F,G,H,C,I,D,J K,E A,B,F,G,H,C,I,D,J,K,E L,M,N,O A,B,F,G,H,C,I,D,J,K,E,L M,N,O A,B,F,G,H,C,I,D,J,K,E,L,M N,O A,B,F,G,H,C,I,D,J,K,E,L,M,N,O - 55
95 Generic Graph Search Algorithm Generischer Algorithmus zur Graphsuche search(f 0 ) select(node, F 0, F 1 ) ^ is_goal(node). search(f 0 ) select(node, F 0, F 1 ) ^ neighbors(node, NN) ^ add_to_frontier(nn, F 1, F 2 ) ^ search(f 2 ). Wie wird die Frontier bei der Tiefensuche behandelt? 56
96 Generic Graph Search Algorithm Generischer Algorithmus zur Graphsuche search(f 0 ) select(node, F 0, F 1 ) ^ is_goal(node). Entnimmt das erste Element aus der Frontier. search(f 0 ) select(node, F 0, F 1 ) ^ neighbors(node, NN) ^ add_to_frontier(nn, F 1, F 2 ) ^ search(f 2 ). Wie wird die Frontier bei der Tiefensuche behandelt? 56
97 Generic Graph Search Algorithm Generischer Algorithmus zur Graphsuche search(f 0 ) select(node, F 0, F 1 ) ^ is_goal(node). Entnimmt das erste Element aus der Frontier. Fügt die Nachfolgezustände vorne an die Frontier an. search(f 0 ) select(node, F 0, F 1 ) ^ neighbors(node, NN) ^ add_to_frontier(nn, F 1, F 2 ) ^ search(f 2 ). Wie wird die Frontier bei der Tiefensuche behandelt? 56
98 Generic Graph Search Algorithm Generischer Algorithmus zur Graphsuche search(f 0 ) select(node, F 0, F 1 ) ^ is_goal(node). Entnimmt das erste Element aus der Frontier. Fügt die Nachfolgezustände vorne an die Frontier an. search(f 0 ) select(node, F 0, F 1 ) ^ neighbors(node, NN) ^ add_to_frontier(nn, F 1, F 2 ) ^ search(f 2 ). Wie wird die Frontier bei der Tiefensuche behandelt? Stack! 56
99 Computational Intelligence Chapter 4, Lecture 2, Page 1 Tiefensuche Depth-first Search Depth-first search treats the frontier as a stack: it always selects the last element added to the frontier. select(node, [Node Frontier], Frontier). add_to_frontier(neighbors, Frontier 1, Frontier 2 ) append(neighbors, Frontier 1, Frontier 2 ). Frontier: [e 1, e 2,...] e 1 is selected. Its neighbors are added to the front of the stack. e 2 is only selected when all paths from e 1 have been explored. 57 David Poole, Alan Mackworth, Randy Goebel, and Oxford University Press 1998 *)
100 <latexit sha1_base64="r/agnrpclv9wqbqh379hbri7z4g=">aaaethicrvnlb9naeb4ha215niulehelgasiiuweamwp4iuoiiogbaw2ihu7dvfxs/amkeb5w/wqbtz5erw48m1kq1uiwg6s5d2dmz1vvpmdtarmndymv3mtc/7fs5fn5heuxl12fbg9dgozkqe10j1vzmw9ncsnzkyhe9bytg9xty7zjnnbsf8p27eodn2ysnhvh5xey+o0madgxraqsv2fdqmgkgzmfdkyltqwu8+ygzqget2dvvnat6jgasrawdygrydimzas1imgzfhy+i6ihljahuwqyjmhjrl7vijmapxjh9mhb04vvdm2eyqpzof1thfpdd3h/gm4axpiexqpoa1mgc+fivqoqcxn2nysg9kc/9eyablhje+quqlzqsorlamujt+2o2e3lbhmbik36zabg+wsdwtx9ogkgj67+1hcv8g3az6hrnkdgxi5wcmt8xntanwhokvxioa2jzmftoo0bwtgbmrbyd2vwbid+z38lwqxkbysvi7z+imvy1361wgjqwagq6wjeocf8bxunw/hpm/cnzxy+rfpgd5jxyyubnbgduzglz9pv67ande/ehtors26ye0qyx1xiyyr1o8c+b3xc+qljadncjifrilytot6yjbj65ggnhrw7f5p7fsmgaovlt41zac9fv3zubobzzvuhp3blc76y9dtc3sb7qdxi1qldxpjg+chvk/ej5bxavmp/f1f+xpytou5n5t0avjfl+1466a=</latexit> <latexit sha1_base64="r/agnrpclv9wqbqh379hbri7z4g=">aaaethicrvnlb9naeb4ha215niulehelgasiiuweamwp4iuoiiogbaw2ihu7dvfxs/amkeb5w/wqbtz5erw48m1kq1uiwg6s5d2dmz1vvpmdtarmndymv3mtc/7fs5fn5heuxl12fbg9dgozkqe10j1vzmw9ncsnzkyhe9bytg9xty7zjnnbsf8p27eodn2ysnhvh5xey+o0madgxraqsv2fdqmgkgzmfdkyltqwu8+ygzqget2dvvnat6jgasrawdygrydimzas1imgzfhy+i6ihljahuwqyjmhjrl7vijmapxjh9mhb04vvdm2eyqpzof1thfpdd3h/gm4axpiexqpoa1mgc+fivqoqcxn2nysg9kc/9eyablhje+quqlzqsorlamujt+2o2e3lbhmbik36zabg+wsdwtx9ogkgj67+1hcv8g3az6hrnkdgxi5wcmt8xntanwhokvxioa2jzmftoo0bwtgbmrbyd2vwbid+z38lwqxkbysvi7z+imvy1361wgjqwagq6wjeocf8bxunw/hpm/cnzxy+rfpgd5jxyyubnbgduzglz9pv67ande/ehtors26ye0qyx1xiyyr1o8c+b3xc+qljadncjifrilytot6yjbj65ggnhrw7f5p7fsmgaovlt41zac9fv3zubobzzvuhp3blc76y9dtc3sb7qdxi1qldxpjg+chvk/ej5bxavmp/f1f+xpytou5n5t0avjfl+1466a=</latexit> <latexit sha1_base64="r/agnrpclv9wqbqh379hbri7z4g=">aaaethicrvnlb9naeb4ha215niulehelgasiiuweamwp4iuoiiogbaw2ihu7dvfxs/amkeb5w/wqbtz5erw48m1kq1uiwg6s5d2dmz1vvpmdtarmndymv3mtc/7fs5fn5heuxl12fbg9dgozkqe10j1vzmw9ncsnzkyhe9bytg9xty7zjnnbsf8p27eodn2ysnhvh5xey+o0madgxraqsv2fdqmgkgzmfdkyltqwu8+ygzqget2dvvnat6jgasrawdygrydimzas1imgzfhy+i6ihljahuwqyjmhjrl7vijmapxjh9mhb04vvdm2eyqpzof1thfpdd3h/gm4axpiexqpoa1mgc+fivqoqcxn2nysg9kc/9eyablhje+quqlzqsorlamujt+2o2e3lbhmbik36zabg+wsdwtx9ogkgj67+1hcv8g3az6hrnkdgxi5wcmt8xntanwhokvxioa2jzmftoo0bwtgbmrbyd2vwbid+z38lwqxkbysvi7z+imvy1361wgjqwagq6wjeocf8bxunw/hpm/cnzxy+rfpgd5jxyyubnbgduzglz9pv67ande/ehtors26ye0qyx1xiyyr1o8c+b3xc+qljadncjifrilytot6yjbj65ggnhrw7f5p7fsmgaovlt41zac9fv3zubobzzvuhp3blc76y9dtc3sb7qdxi1qldxpjg+chvk/ej5bxavmp/f1f+xpytou5n5t0avjfl+1466a=</latexit> <latexit sha1_base64="r/agnrpclv9wqbqh379hbri7z4g=">aaaethicrvnlb9naeb4ha215niulehelgasiiuweamwp4iuoiiogbaw2ihu7dvfxs/amkeb5w/wqbtz5erw48m1kq1uiwg6s5d2dmz1vvpmdtarmndymv3mtc/7fs5fn5heuxl12fbg9dgozkqe10j1vzmw9ncsnzkyhe9bytg9xty7zjnnbsf8p27eodn2ysnhvh5xey+o0madgxraqsv2fdqmgkgzmfdkyltqwu8+ygzqget2dvvnat6jgasrawdygrydimzas1imgzfhy+i6ihljahuwqyjmhjrl7vijmapxjh9mhb04vvdm2eyqpzof1thfpdd3h/gm4axpiexqpoa1mgc+fivqoqcxn2nysg9kc/9eyablhje+quqlzqsorlamujt+2o2e3lbhmbik36zabg+wsdwtx9ogkgj67+1hcv8g3az6hrnkdgxi5wcmt8xntanwhokvxioa2jzmftoo0bwtgbmrbyd2vwbid+z38lwqxkbysvi7z+imvy1361wgjqwagq6wjeocf8bxunw/hpm/cnzxy+rfpgd5jxyyubnbgduzglz9pv67ande/ehtors26ye0qyx1xiyyr1o8c+b3xc+qljadncjifrilytot6yjbj65ggnhrw7f5p7fsmgaovlt41zac9fv3zubobzzvuhp3blc76y9dtc3sb7qdxi1qldxpjg+chvk/ej5bxavmp/f1f+xpytou5n5t0avjfl+1466a=</latexit> Analyse Breitensuche maximale Anzahl an Nachfolgern eines Knotens: n Entfernung des zuerst erreichten Zielknotens: e maximale Suchtiefe (=Entfernung bis zu einem kinderlosen Knoten): d Die Breitensuche ist vollständig, hat eine Laufzeitkomplexität von O(n e+1 ),eine Speicherplatzkomplexität von O(n e+1 ) und ist optimal. 58
101 Analyse Tiefensuche maximale Anzahl an Nachfolgern eines Knotens: n Entfernung des zuerst erreichten Zielknotens: e maximale Suchtiefe (=Entfernung bis zu einem kinderlosen Knoten): d 59
102 Analyse Tiefensuche maximale Anzahl an Nachfolgern eines Knotens: n Entfernung des zuerst erreichten Zielknotens: e maximale Suchtiefe (=Entfernung bis zu einem kinderlosen Knoten): d Die Tiefensuche ist vollständig (für endliches d), hat eine Laufzeitkomplexität von O(n d ), eine Speicherplatzkomplexität von O(dn), ist aber nicht optimal. 59
103 Analyse Tiefensuche maximale Anzahl an Nachfolgern eines Knotens: n Entfernung des zuerst erreichten Zielknotens: e maximale Suchtiefe (=Entfernung bis zu einem kinderlosen Knoten): d Die Tiefensuche ist vollständig (für endliches d), hat eine Laufzeitkomplexität von O(n d ), eine Speicherplatzkomplexität von O(dn), ist aber nicht optimal. Was ist bei unendlichem d? Warum ist die Tiefensuche nicht optimal? 59
104 Iterative Tiefensuche Vorteil der Tiefensuche: es müssen wenige Knoten im Speicher gehalten werden. Nachteil der Tiefensuche: man geht evtl. viele Umwege zu einem Zielknoten Vorteil der Breitensuche: man entfernt sich nur so weit wie nötig vom Startknoten. Nachteil der Breitensuche: es müssen viele Knoten im Speicher gehalten werden. 60
105 Iterative Tiefensuche Vorteil der Tiefensuche: es müssen wenige Knoten im Speicher gehalten werden. Nachteil der Tiefensuche: man geht evtl. viele Umwege zu einem Zielknoten Vorteil der Breitensuche: man entfernt sich nur so weit wie nötig vom Startknoten. Nachteil der Breitensuche: es müssen viele Knoten im Speicher gehalten werden. Idee: Kombiniere Vorteile zu Iterativer Tiefensuche 1. Führe Tiefensuche bis zu einer festgelegten Tiefe T durch 2. Falls Ziel gefunden, terminiere 3. Ansonsten erhöhe T um 1 und wiederhole von Schritt 1. 60
106 Iterative Tiefensuche maximale Anzahl an Nachfolgern eines Knotens: n Entfernung des zuerst erreichten Zielknotens: e maximale Suchtiefe (=Entfernung bis zu einem kinderlosen Knoten): d 61
107 Iterative Tiefensuche maximale Anzahl an Nachfolgern eines Knotens: n Entfernung des zuerst erreichten Zielknotens: e maximale Suchtiefe (=Entfernung bis zu einem kinderlosen Knoten): d Eigenschaften: vollständig Laufzeitkomplexität von O(n e ) Speicherplatzkomplexität von O(dn) (wie bei Tiefensuche) optimal (für Starttiefe T =1) 61
108 Iterative Tiefensuche maximale Anzahl an Nachfolgern eines Knotens: n Entfernung des zuerst erreichten Zielknotens: e maximale Suchtiefe (=Entfernung bis zu einem kinderlosen Knoten): d Eigenschaften: vollständig Laufzeitkomplexität von O(n e ) Speicherplatzkomplexität von O(dn) (wie bei Tiefensuche) optimal (für Starttiefe T =1) Nachteil der iterativen Tiefensuche: Alle Knoten, die für Tiefe T betrachtet werden, werden nocheinmal für Tiefe T +1betrachtet, usw. (asymptotisch hat dies allerdings keinen Einfluss auf die Laufzeit). 61
109 Bidirektionale Suche Idee: Suche gleichzeitig vom Start- und Zielknoten aus (letzter sollte eindeutig sein). Vorwärtssuche vom Startknoten aus (Breitensuche) Rückwärtssuche vom Zielknoten aus (Breitensuche) Immer wenn ein neuer Knoten Frontier einer Suche hinzugefügt wird, wird üperprüft ob er bereits in Frontier der anderen Suche enthalten ist. Falls ja, wurde ein Pfad zum Ziel über diesen Knoten gefunden. Start Goal 62
110 Bidirektionale Suche Idee: Suche gleichzeitig vom Start- und Zielknoten aus (letzter sollte eindeutig sein). Vorwärtssuche vom Startknoten aus (Breitensuche) Rückwärtssuche vom Zielknoten aus (Breitensuche) Immer wenn ein neuer Knoten Frontier einer Suche hinzugefügt wird, wird üperprüft ob er bereits in Frontier der anderen Suche enthalten ist. Falls ja, wurde ein Pfad zum Ziel über diesen Knoten gefunden. Start Goal 62
111 Bidirektionale Suche Idee: Suche gleichzeitig vom Start- und Zielknoten aus (letzter sollte eindeutig sein). Vorwärtssuche vom Startknoten aus (Breitensuche) Rückwärtssuche vom Zielknoten aus (Breitensuche) Immer wenn ein neuer Knoten Frontier einer Suche hinzugefügt wird, wird üperprüft ob er bereits in Frontier der anderen Suche enthalten ist. Falls ja, wurde ein Pfad zum Ziel über diesen Knoten gefunden. Start Goal 62
112 Bidirektionale Suche Idee: Suche gleichzeitig vom Start- und Zielknoten aus (letzter sollte eindeutig sein). Vorwärtssuche vom Startknoten aus (Breitensuche) Rückwärtssuche vom Zielknoten aus (Breitensuche) Immer wenn ein neuer Knoten Frontier einer Suche hinzugefügt wird, wird üperprüft ob er bereits in Frontier der anderen Suche enthalten ist. Falls ja, wurde ein Pfad zum Ziel über diesen Knoten gefunden. Start Goal 62
113 Bidirektionale Suche maximale Anzahl an Nachfolgern eines Knotens: n Entfernung des zuerst erreichten Zielknotens: e maximale Suchtiefe (=Entfernung bis zu einem kinderlosen Knoten): d 63
114 Bidirektionale Suche maximale Anzahl an Nachfolgern eines Knotens: n Entfernung des zuerst erreichten Zielknotens: e maximale Suchtiefe (=Entfernung bis zu einem kinderlosen Knoten): d Die bidirektionale Suche ist vollständig, hat eine Laufzeitkomplexität von O(n (e+1)/2 ), eine Speicherplatzkomplexität von O(n e ) und ist optimal. 63
115 Bidirektionale Suche maximale Anzahl an Nachfolgern eines Knotens: n Entfernung des zuerst erreichten Zielknotens: e maximale Suchtiefe (=Entfernung bis zu einem kinderlosen Knoten): d Die bidirektionale Suche ist vollständig, hat eine Laufzeitkomplexität von O(n (e+1)/2 ), eine Speicherplatzkomplexität von O(n e ) und ist optimal. Problem: Bestimmung eines Vorgängers eines Knoten (für Rückwärtsuche) evtl. nicht einfach. 63
116 Zusammenfassung: Uninformierte Suche Uninformierte Suche: ausser der Zustandsübergangsrelation sind keine weiteren Informationen verfügbar Generelle Strategie: Suche Pfade inkrementell vom Startknoten aus ab Suchstrategien: Tiefensuche Breitensuche Iterative Tiefensuche Bidirektionale Suche 64
117 Zusammenfassung: Uninformierte Suche Uninformierte Suche: ausser der Zustandsübergangsrelation sind keine weiteren Informationen verfügbar Generelle Strategie: Suche Pfade inkrementell vom Startknoten aus ab Suchstrategien: Tiefensuche Breitensuche Iterative Tiefensuche Bidirektionale Suche 64
118 Zusammenfassung: Uninformierte Suche Uninformierte Suche: ausser der Zustandsübergangsrelation sind keine weiteren Informationen verfügbar Generelle Strategie: Suche Pfade inkrementell vom Startknoten aus ab Suchstrategien: Tiefensuche Breitensuche Iterative Tiefensuche Bidirektionale Suche 64
119 Informierte Suche 65
120 Informierte Suche 65
121 Informierte Suche Problem der uninformierten Suche: Kombinatorische Explosion (viele Nachfolgerzustände führen zu langer Laufzeit) Beispiel: Beim Schach gibt es bereits vom Startzustand aus 20 verschiedene Nachfolgerzustände (im weiteren Verlauf können dies noch viel mehr sein) Idee der informierten Suche: Rate den nächsten besten Zustand Noch besser: Rate geschickt und nutze Informationen der Domäne um Zustände einzuschätzen (Heuristiken). 66
122 Informierte Suche Problem der uninformierten Suche: Kombinatorische Explosion (viele Nachfolgerzustände führen zu langer Laufzeit) Beispiel: Beim Schach gibt es bereits vom Startzustand aus 20 verschiedene Nachfolgerzustände (im weiteren Verlauf können dies noch viel mehr sein) Idee der informierten Suche: Rate den nächsten besten Zustand Noch besser: Rate geschickt und nutze Informationen der Domäne um Zustände einzuschätzen (Heuristiken). 66
123 Informierte Suche Problem der uninformierten Suche: Kombinatorische Explosion (viele Nachfolgerzustände führen zu langer Laufzeit) Beispiel: Beim Schach gibt es bereits vom Startzustand aus 20 verschiedene Nachfolgerzustände (im weiteren Verlauf können dies noch viel mehr sein) Idee der informierten Suche: Rate den nächsten besten Zustand Noch besser: Rate geschickt und nutze Informationen der Domäne um Zustände einzuschätzen (Heuristiken). 66
124 Informierte Suche Analyse (uninformierte) Suche: Suchstrategien allgemein sind charakterisiert durch die Art und Weise wie sie den nächsten zu betrachteten Knoten auswählen. Uninformierte Strategien sortieren die Knoten nach problem-unabhängigen Eigenschaften (z.b. Anzahl Aktionen vom Startzustand). Informierte Suche (Best-first Search): Benutze eine Zustandsbewertungsfunktion f(n) für jeden Nachfolgerknoten n eines aktuell betrachteten Knotens m Betrachte nur den Nachfolgerknoten, der f maximiert (füge diesen in eine Warteschlange). Alternative: sortiere Nachfolgerknoten absteigend nach f und füge diese in einen Stack ein (ermöglicht Backtracking). 67
125 Informierte Suche Analyse (uninformierte) Suche: Suchstrategien allgemein sind charakterisiert durch die Art und Weise wie sie den nächsten zu betrachteten Knoten auswählen. Uninformierte Strategien sortieren die Knoten nach problem-unabhängigen Eigenschaften (z.b. Anzahl Aktionen vom Startzustand). Informierte Suche (Best-first Search): Benutze eine Zustandsbewertungsfunktion f(n) für jeden Nachfolgerknoten n eines aktuell betrachteten Knotens m Betrachte nur den Nachfolgerknoten, der f maximiert (füge diesen in eine Warteschlange). Alternative: sortiere Nachfolgerknoten absteigend nach f und füge diese in einen Stack ein (ermöglicht Backtracking). 67
126 Informierte Suche Analyse (uninformierte) Suche: Suchstrategien allgemein sind charakterisiert durch die Art und Weise wie sie den nächsten zu betrachteten Knoten auswählen. Uninformierte Strategien sortieren die Knoten nach problem-unabhängigen Eigenschaften (z.b. Anzahl Aktionen vom Startzustand). Informierte Suche (Best-first Search): Benutze eine Zustandsbewertungsfunktion f(n) für jeden Nachfolgerknoten n eines aktuell betrachteten Knotens m Betrachte nur den Nachfolgerknoten, der f maximiert (füge diesen in eine Warteschlange). Alternative: sortiere Nachfolgerknoten absteigend nach f und füge diese in einen Stack ein (ermöglicht Backtracking). 67
127 Informierte Suche Analyse (uninformierte) Suche: Suchstrategien allgemein sind charakterisiert durch die Art und Weise wie sie den nächsten zu betrachteten Knoten auswählen. Uninformierte Strategien sortieren die Knoten nach problem-unabhängigen Eigenschaften (z.b. Anzahl Aktionen vom Startzustand). Informierte Suche (Best-first Search): Benutze eine Zustandsbewertungsfunktion f(n) für jeden Nachfolgerknoten n eines aktuell betrachteten Knotens m Betrachte nur den Nachfolgerknoten, der f maximiert (füge diesen in eine Warteschlange). Alternative: sortiere Nachfolgerknoten absteigend nach f und füge diese in einen Stack ein (ermöglicht Backtracking). 67
128 Informierte Suche Analyse (uninformierte) Suche: Suchstrategien allgemein sind charakterisiert durch die Art und Weise wie sie den nächsten zu betrachteten Knoten auswählen. Uninformierte Strategien sortieren die Knoten nach problem-unabhängigen Eigenschaften (z.b. Anzahl Aktionen vom Startzustand). Informierte Suche (Best-first Search): Benutze eine Zustandsbewertungsfunktion f(n) für jeden Nachfolgerknoten n eines aktuell betrachteten Knotens m Betrachte nur den Nachfolgerknoten, der f maximiert (füge diesen in eine Warteschlange). Alternative: sortiere Nachfolgerknoten absteigend nach f und füge diese in einen Stack ein (ermöglicht Backtracking). 67
129 Zustandsbewertungsfunktion Eine Zustandsbewertungsfunktion f(n) implementiert eine Heuristik Eine Heuristik ist eine problem-abhängige Strategie zur Lösung Beispiele: Schach: Bevorzuge einen Zustand, bei dem der Gegenspieler wenig Figuren hat Sokoban: Bevorzuge einen Zustand, bei dem die Gesamtdistanz der Spielsteine zum Ziel gering ist Heuristiken müssen nicht immer korrekt und allgemeingültig sein Eine Heuristik ist eine Abschätzung der Kosten bis zum Ziel Im Gegensatz zu den tatsächlichen Kosten soll sie aber einfach zu berechnen sein Weiteres Beispiel: Luftliniendistanz als Heuristik für kürzeste Wege 68
130 Zustandsbewertungsfunktion Eine Zustandsbewertungsfunktion f(n) implementiert eine Heuristik Eine Heuristik ist eine problem-abhängige Strategie zur Lösung Beispiele: Schach: Bevorzuge einen Zustand, bei dem der Gegenspieler wenig Figuren hat Sokoban: Bevorzuge einen Zustand, bei dem die Gesamtdistanz der Spielsteine zum Ziel gering ist Heuristiken müssen nicht immer korrekt und allgemeingültig sein Eine Heuristik ist eine Abschätzung der Kosten bis zum Ziel Im Gegensatz zu den tatsächlichen Kosten soll sie aber einfach zu berechnen sein Weiteres Beispiel: Luftliniendistanz als Heuristik für kürzeste Wege 68
131 Zustandsbewertungsfunktion Eine Zustandsbewertungsfunktion f(n) implementiert eine Heuristik Eine Heuristik ist eine problem-abhängige Strategie zur Lösung Beispiele: Schach: Bevorzuge einen Zustand, bei dem der Gegenspieler wenig Figuren hat Sokoban: Bevorzuge einen Zustand, bei dem die Gesamtdistanz der Spielsteine zum Ziel gering ist Heuristiken müssen nicht immer korrekt und allgemeingültig sein Eine Heuristik ist eine Abschätzung der Kosten bis zum Ziel Im Gegensatz zu den tatsächlichen Kosten soll sie aber einfach zu berechnen sein Weiteres Beispiel: Luftliniendistanz als Heuristik für kürzeste Wege 68
132 Zustandsbewertungsfunktion Eine Zustandsbewertungsfunktion f(n) implementiert eine Heuristik Eine Heuristik ist eine problem-abhängige Strategie zur Lösung Beispiele: Schach: Bevorzuge einen Zustand, bei dem der Gegenspieler wenig Figuren hat Sokoban: Bevorzuge einen Zustand, bei dem die Gesamtdistanz der Spielsteine zum Ziel gering ist Heuristiken müssen nicht immer korrekt und allgemeingültig sein Eine Heuristik ist eine Abschätzung der Kosten bis zum Ziel Im Gegensatz zu den tatsächlichen Kosten soll sie aber einfach zu berechnen sein Weiteres Beispiel: Luftliniendistanz als Heuristik für kürzeste Wege 68
So suchen Sie zuerst nach der Breite
Künstliche Intelligenz 3. Suche Dr. Claudia Schon schon@uni-koblenz.de Institute for Web Science and Technologies 1 Diese Folien basieren auf den Folien von PD Dr. Matthias Thimm, Universität Koblenz-Landau,
MehrWissensbasierte Systeme. Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche. Heuristiken und ihre Eigenschaften
1 Michael Beetz Technische Universität München Wintersemester 2004/05 Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche 2 3 der Eigenschaften der 4 : 8-Puzzle 5 Heuristiken und ihre Eigenschaften
MehrZustandsraumsuche: Blinde und Heuristische Suche. Blinde und Heuristische Suche
Zustandsraumsuche: Blinde und Heuristische Suche Einführung in die KI Übungsstunde am 01.11.04 Benmin Altmeyer 1 Heute im Angebot Was ist Suche? Suche als Probemlösung Zustandsraumsuche Vollständigkeit
MehrKünstliche Intelligenz
Künstliche Intelligenz Vorlesung 4: Suchverfahren Informierte Suche 1/132 INFORMIERTE SUCHSTRATEGIEN (ISS) Benutzt neben der Definition des Problems auch problemspezifisches Wissen. Findet Lösungen effizienter
MehrGraph Suchalgorithmus Uninformierte Suche Informierte Suche. Pfadsuche. Mario Mohr. GWV-Tutorium 2013/ Januar 2014
Pfadsuche Mario Mohr GWV-Tutorium 2013/14 17. Januar 2014 4 Informierte Suche Heuristik Best-first A* 1 Graph 2 Suchalgorithmus 3 Uninformierte Suche Breadth-first Loop detection & multiple-path pruning
Mehr8.1 Blinde Suche. Grundlagen der Künstlichen Intelligenz. Klassische Suche: Überblick. 8. Klassische Suche: Breitensuche und uniforme Kostensuche
Grundlagen der Künstlichen Intelligenz 17. März 2014 8. Klassische Suche: Breitensuche und uniforme Kostensuche Grundlagen der Künstlichen Intelligenz 8. Klassische Suche: Breitensuche und uniforme Kostensuche
MehrÜbersicht. Künstliche Intelligenz: 3. Problemlösen durch Suche Frank Puppe 1
Übersicht I Künstliche Intelligenz II Problemlösen 3. Problemlösen durch Suche 4. Informierte Suchmethoden 5. Constraint-Probleme 6. Spiele III Wissen und Schlußfolgern IV Logisch Handeln V Unsicheres
Mehr10.1 Blinde Suche Blinde Suche. Grundlagen der Künstlichen Intelligenz Breitensuche: Einführung BFS-Tree. 10.
Grundlagen der Künstlichen Intelligenz 13. März 2015 10. Klassische Suche: Grundlagen der Künstlichen Intelligenz 10. Klassische Suche: Malte Helmert Universität asel 13. März 2015 10.1 linde Suche 10.2
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 9. Klassische Suche: Tiefensuche und iterative Tiefensuche Malte Helmert Universität asel 21. März 2014 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung
Mehr9.1 Tiefensuche. Grundlagen der Künstlichen Intelligenz. 9.1 Tiefensuche. 9.2 Iterative Tiefensuche. 9.3 Blinde Suche: Zusammenfassung
Grundlagen der Künstlichen Intelligenz 21. März 2014 9. Klassische Suche: Tiefensuche und iterative Tiefensuche Grundlagen der Künstlichen Intelligenz 9. Klassische Suche: Tiefensuche und iterative Tiefensuche
MehrEinführung in Heuristische Suche
Einführung in Heuristische Suche Beispiele 2 Überblick Intelligente Suche Rundenbasierte Spiele 3 Grundlagen Es muss ein Rätsel / Puzzle / Problem gelöst werden Wie kann ein Computer diese Aufgabe lösen?
MehrEinführung in die Methoden der Künstlichen Intelligenz. Suchverfahren / Uninformierte Suche
Einführung in die Methoden der Künstlichen Intelligenz Suchverfahren / Uninformierte Suche PD Dr. David Sabel SoSe 0 Stand der Folien:. pril 0 Einführung Blind Search n-damen Missionare & Kannibalen Modellierung
MehrStartzustand. Mögliche heuristische Funktionen:
Informierte Suchverfahren Für größere Suchbäume sind Breiten- und Tiefensuche nicht effizient genug. Vielversprechender sind Ansätze, bei denen Problemwissen zur Steuerung des Suchprozesses eingesetzt
MehrInformierte Suchverfahren
Informierte Suchverfahren Für größere Suchbäume sind Breiten- und Tiefesuche nicht effizient genug. Vielversprechender sind Ansätze, bei denen Problemwissen zur Steuerung des Suchprozesses eingesetzt wird.
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 6. Klassische Suche: Datenstrukturen für Suchalgorithmen Malte Helmert Universität Basel 7. März 2014 Klassische Suche: Überblick Kapitelüberblick klassische Suche:
MehrUninformierte Suche in Java Informierte Suchverfahren
Uninformierte Suche in Java Informierte Suchverfahren Stephan Schwiebert WS 2009/2010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Suchprobleme bestehen aus Zuständen
Mehr2 Problemlösen und Suche
Universität Bielefeld Was ist Problemlösen? Problemlösen und Suche. Vorlesung: Suchprobleme und Suchalgorithmen; heuristische Suche Methoden der Künstlichen Intelligenz Ipke Wachsmuth WS 003/00 Unter Problemlösen
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 9. Klassische Suche: Baumsuche und Graphensuche Malte Helmert Universität Basel 13. März 2015 Klassische Suche: Überblick Kapitelüberblick klassische Suche: 5. 7.
MehrEinführung in die Methoden der Künstlichen Intelligenz. Suchverfahren / Uninformierte Suche
Einführung in die Methoden der Künstlichen Intelligenz Suchverfahren / Uninformierte Suche Prof. Dr. Manfred Schmidt-Schauß SoSe 08 Stand der Folien: 9. pril 08 Einführung Blind Search n-damen Missionare
MehrBeweise aus dem Fach Grundzüge der Künstlichen Intelligenz
Beweise aus dem Fach Grundzüge der Künstlichen Intelligenz Alexander Pacha TU Wien - Matr. Nr.: 0828440 alexander.pacha@tuwien.ac.at 1 Begriserklärungen Für die folgenden Beweise werden zuerst folgende
MehrMotivation für Suchverfahren. Einführung in die Methoden der Künstlichen Intelligenz. Suchverfahren / Uninformierte Suche
Motivation für Suchverfahren Einführung in die Methoden der Künstlichen Intelligenz Suchverfahren / Uninformierte Suche Prof. Dr. Manfred Schmidt-Schauß SoSe 06 Beispiele: Spiele: Suche nach dem besten
MehrWissensbasierte Systeme 3. Problemlösen durch Suche
Wissensbasierte Systeme 3. Problemlösen durch Suche Problemlösende Agenten, Problemformulierungen, Suchstrategien Michael Beetz Plan-based Robot Control 1 Inhalt 3.1 Problemlösende Agenten 3.2 Problemformulierungen
MehrBeispiele. mit. Beispiel 2.3. Suche einen Weg von nach. Tiefensuche bzw. Breitensuche.
2. Suchverfahren Uninformierte Suchverfahren Beispiel 2.4. Ein Weinhändler hat drei Krüge, einen von 9 Liter, einen von 7 Liter und einen von 4 Liter Inhalt. Auf den Krügen sind keine Litermarkierungen
MehrGraphdurchmusterung, Breiten- und Tiefensuche
Prof. Thomas Richter 18. Mai 2017 Institut für Analysis und Numerik Otto-von-Guericke-Universität Magdeburg thomas.richter@ovgu.de Material zur Vorlesung Algorithmische Mathematik II am 18.05.2017 Graphdurchmusterung,
MehrKlausur zur Vorlesung Künstliche Intelligenz
Klausur zur Vorlesung Künstliche Intelligenz Ulrich Furbach Claudia Obermaier Arbeitsgruppe Künstliche Intelligenz Fachbereich Informatik, Universität Koblenz-Landau 13.03.2009 Name: Vorname: Matrikelnummer:
MehrWissensbasierte Suche
Wissensbasierte Suche Jürgen Dorn Inhalt uninformierte Suche wissensbasierte Suche A* und IDA* Algorithmus Suche in Und/Oder-Graphen Jürgen Dorn 2003 Wissensbasierte Suche 1 Suche Suche in (expliziten
Mehr2 Problemlösen und Suche
2 Problemlösen und Suche 4. Vorlesung: Suchprobleme und Suchalgorithmen; heuristische Suche Methoden der Künstlichen Intelligenz Ipke Wachsmuth WS 2008/2009 Kernfragen der Vorlesung 1. Wie lässt sich Wissen
MehrEinfacher Problemlösungsagent. Übersicht. Begriffsdefinitionen für Einfach-Probleme
Übersicht I Künstliche Intelligenz II Problemlösen 3. Problemlösen durch Suche 4. Informierte Suchmethoden 5. Constraint-Probleme 6. Spiele III Wissen und Schlußfolgern IV Logisch Handeln V Unsicheres
MehrKünstliche Intelligenz
Künstliche Intelligenz Vorlesung 3: Suchverfahren Informierte Suche 1/78 WIEDERHOLUNG Bislang uninformierte Strategien BFS, DFS, Iteratives Vertiefen, Bidirektionale Suche Wichtige Begriffe: Suchraum,
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Breitensuche, Tiefensuche Wir besprechen nun zwei grundlegende Verfahren, alle Knoten eines Graphen zu
MehrGrundlagen der KI + Reasoning Agents
Grundlagen der KI + Reasoning Agents Prof. Thielscher Welche heuristischen Suchverfahren gibt es? Erläutern Sie A* am Beispiel. Aufbau und Schlussfolgerungen von Bayesschen Netzen. Thielscher drängt auf
MehrAlgorithmen und Datenstrukturen 2-1. Seminar -
Algorithmen und Datenstrukturen 2-1. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010 Outline 1. Übungsserie: 3 Aufgaben, insgesamt 30 28 Punkte A1 Spannbäume (10 8
MehrPro Informatik 2009: Objektorientierte Programmierung Tag 18. Marco Block-Berlitz, Miao Wang Freie Universität Berlin, Institut für Informatik
Tag 18 Marco Block-Berlitz, Miao Wang Freie Universität Berlin, Institut für Informatik 09.09.2009 Agenda Tag 16 Datenstrukturen Abstrakte Datentypen, ADT Folge: Stack, Queue, Liste, ADT Menge: Bäume:
MehrTechnische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung
MehrKünstliche Intelligenz
Künstliche Intelligenz Vorlesung 4: Suchverfahren Informierte Suche 1/135 WIEDERHOLUNG BISLANG... Uninformierte Strategien: bearbeiten den Suchraum systematisch, aber ohne problemspezifisches Wissen ab.
MehrEin Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.
Graphen Definition: Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Begriffe: Gerichteter Graph: Alle Kanten haben eine Richtung vom Anfangsknoten
MehrZustände und Knoten. Vorgänger Information: Tiefe = 4 ΣKosten=4 Expandiert: ja. Zustand Aktion: right. Aktion: down
Zustände und Knoten Zustände: Schnappschüsse der Welt Knoten: Datenobjekte, welche Zustände repräsentieren und weitere Information enthalten Vorgängerknoten (im Baum 1) Nachfolgerknoten (im Baum b) mit
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrVortrag. Suchverfahren der Künstlichen Intelligenz. Sven Schmidt (Technische Informatik)
Vortrag Suchverfahren der Künstlichen Intelligenz Sven Schmidt (Technische Informatik) Suchverfahren der Künstlichen Intelligenz Grundlagen Zustandsraumrepräsentation Generische Suche Bewertung von Suchstrategien
MehrInhalt. Kognitive Systeme 1. Expansion eines impliziten Suchraums Netz aller möglichen Schritte. Impliziter Suchraum. Uninformierte Suche
Inhalt Uninformierte Suche Dr.-Ing. Bernd Ludwig Lehrstuhl für Künstliche Intelligenz Friedrich-Alexander-Universität Erlangen-Nürnberg 04.11.2009 1 Implizite Suchgraphen 2 Tiefensuche 3 Breitensuche 4
MehrKognitive Systeme 1. Uninformierte Suche. Dr.-Ing. Bernd Ludwig
Kognitive Systeme 1 Uninformierte Suche Dr.-Ing. Bernd Ludwig Lehrstuhl für Künstliche Intelligenz Friedrich-Alexander-Universität Erlangen-Nürnberg 04.11.2009 Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive
MehrUninformierte Suche in Java Informierte Suchverfahren
Uninformierte Suche in Java Informierte Suchverfahren Stephan Schwiebert WS 2008/2009 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln 8-Damen-Problem Gegeben: Schachbrett
MehrProgrammierung 2 Studiengang MI / WI
Programmierung 2 Studiengang MI / WI Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 Fachbereich Automatisierung
Mehr9. Heuristische Suche
9. Heuristische Suche Prof. Dr. Rudolf Kruse University of Magdeburg Faculty of Computer Science Magdeburg, Germany rudolf.kruse@cs.uni-magdeburg.de S Heuristische Suche Idee: Wir nutzen eine (heuristische)
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 14. Klassische Suche: IDA Malte Helmert Universität Basel 31. März 2014 Klassische Suche: Überblick Kapitelüberblick klassische Suche: 3. 5. Einführung 6. 9. Basisalgorithmen
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 10 Suche in Graphen Version vom 13. Dezember 2016 1 / 2 Vorlesung 2016 / 2017 2 /
MehrGroße Lösungsräume. Leon Schmidtchen Hallo Welt Seminar - LS Leon Schmidtchen Große Lösungsräume Hallo Welt Seminar - LS2
Große Lösungsräume Leon Schmidtchen 1.06.201 Hallo Welt Seminar - LS 2!1 Gliederung Motivation Brute Force Backtracking Pruning Leon Schmidtchen Branch & Bound 1.06.201 Hallo Welt Seminar - LS 2 Wann soll
MehrKünstliche Intelligenz
Künstliche Intelligenz Vorlesung 2: Suchverfahren Uninformierte Suche 1/143 STARKE UND SCHWACHE KI-HYPOTHESE Schwache KI-Hypothese Maschinen (Computer, Roboter,... ) können agieren, alsob sie intelligent
Mehr10. Übungsblatt zu Algorithmen I im SS 2010
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders G.V. Batz, C. Schulz, J. Speck 0. Übungsblatt zu Algorithmen I im SS 00 http//algo.iti.kit.edu/algorithmeni.php
MehrGraphentheorie. Vorkurs Informatik WS 2016/2017. Dennis Aumiller
Vorkurs Informatik WS 2016/2017 Dennis Aumiller Aumiller@stud.uni-heidelberg.de 14.10.2016 Über das Thema Wo alles begann Leider keine gesonderte Vorlesung dafür oft als Teilthema in anderen Vorlesungen
MehrIntelligente Systeme
Intelligente Systeme Heuristische Suchalgorithmen Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian.braune}@ovgu.de Institut für Intelligente Kooperierende Systeme Fakultät für Informatik Otto-von-Guericke-Universität
MehrKapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung
Gliederung der Vorlesung. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken
MehrUniversität Koblenz-Landau Fachbereich Informatik Klausur Einführung in die Künstliche Intelligenz / WS 2003/2004. Jun.-Prof. Dr. B.
Universität Koblenz-Landau Fachbereich Informatik Klausur Einführung in die Künstliche Intelligenz / Künstliche Intelligenz für IM Name, Vorname: Matrikel-Nr.: Studiengang: WS 2003/2004 Jun.-Prof. Dr.
MehrAlgorithmen I - Tutorium 28 Nr. 9
Algorithmen I - Tutorium 28 Nr. 9 29.06.2017: Spaß mit Graphen und Graphtraversierung Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN MÜLLER-QUADE
MehrHeuristische Suchverfahren
Heuristische Suchverfahren Suchprozesse sind ein wichtiger Bestandteil unterschiedlicher Problemlöseverfahren z.b. Bestimmung der Konfliktmenge in Produktionssystemen Suche nach resolvierbaren Klauseln
MehrUniversität Koblenz-Landau Fachbereich Informatik Klausur KI-Programmierung WS 2007/2008. Jun.-Prof. Dr. B. Beckert. 21.
Name, Vorname: Matrikel-Nr.: Studiengang: Universität Koblenz-Landau Fachbereich Informatik Klausur KI-Programmierung WS 2007/2008 Jun.-Prof. Dr. B. Beckert 21. Februar 2008 Informatik (Diplom) Computervisualistik
MehrDatenstrukturen. einfach verkettete Liste
einfach verkettete Liste speichert Daten in einer linearen Liste, in der jedes Element auf das nächste Element zeigt Jeder Knoten der Liste enthält beliebige Daten und einen Zeiger auf den nächsten Knoten
MehrKapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung
Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe 3. Elementare Graphalgorithmen und Anwendungen 4. Minimal spannende Bäume 5. Kürzeste Pfade 6. Traveling Salesman Problem 7. Flüsse
MehrAbschätzung der Suchbaumgröße
Effiziente Algorithmen Lösen NP-vollständiger Probleme 263 Abschätzung der Suchbaumgröße Der Schätzwert für die Suchbaumgröße war 3529. Lassen wir das Programm laufen, ergibt sich, daß 1830 gültige Positionen
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
MehrA O T. Grundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz Problemlösen und Suche 27.10.2005 rijnesh J Jain bjj@dai-labor.de Agententechnologien in betrieblichen Anwendungen und der Telekommunikation Lernziele: Wir diskutieren,
MehrEinführung in Suchverfahren
Einführung in Suchverfahren Alfred Kranstedt 0.0.0 Seminar Intelligente Algorithmen Was ist heute Thema?. Was ist ein Suchproblem? Definitionen, Darstellungen etc.. Suchstrategien Blinde Suche Heuristische
MehrAlgorithmen & Datenstrukturen 2 Praktikum 3
Algorithmen & Datenstrukturen 2 Praktikum 3 Thema: Graphalgorithmen Sommersemester 2016 Prof. Dr. Christoph Karg Hochschule Aalen Dieses Praktikum widmet sich dem Thema Graphalgorithmen. Ziel ist die Implementierung
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 16. Klassische Suche: A : Optimalität, Teil II Malte Helmert Universität Basel 4. April 2014 Klassische Suche: Überblick Kapitelüberblick klassische Suche: 3. 5.
MehrFerienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie
Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie Dipl-Math. Wolfgang Kinzner 2.4.2012 Kapitel 1: Grundlagen der algorithmischen Graphgentheorie
MehrKapitel 5: Suchverfahren: Backtracking
Kapitel 5: Suchverfahren: Backtracking Prof. Dr. F. Otto (Universität Kassel) Entwurf und Analyse von Algorithmen 278 / 541 Suchverfahren: Backtracking Viele Probleme lassen sich als Suchprobleme formulieren.
Mehrals Bewertungsfunktion g(n) eines Knotens n wird der tatsächliche Weg vom Startzustand zu diesem Knoten benutzt
5 Suche 12. Vorlesung: Bestensuche; Goal Trees best-first search einfache Bestensuche: als Bewertungsfunktion g(n) eines Knotens n wird der tatsächliche Weg vom Startzustand zu diesem Knoten benutzt Bewertungsfunktion
Mehr9 Minimum Spanning Trees
Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Breitensuche, Tiefensuche Wir besprechen nun zwei grundlegende Verfahren, alle Knoten eines Graphen zu
MehrAufgaben zur Klausurvorbereitung
Vorlesung Graphen und Optimierung Sommersemester 2013/14 Prof. S. Lange Aufgaben zur Klausurvorbereitung Hier finden Sie eine Reihe von Übungsaufgaben, die wir an den beiden Vorlesungsterminen am 29.01.2014
MehrEinführung in die Informatik 2
Einführung in die nformatik 2 raphenexploration Sven Kosub A Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v. Sommersemester
MehrProgrammierkurs Prolog, SS 2000
Programmierkurs Prolog SS 2000 Universitaet Dortmund nach Joachims 1998 Suche Repräsentation von Bäumen Repräsentation von Graphen Suchstrategien DFS, BFS, Iterative Deepening, Locale Heuristiken, Globale
Mehr12. Graphen Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013
12. Graphen Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013 1 Agenda Kontrollfragen Graphen Graphenalgorithmen 2
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 10 (27.5.2016) Binäre Suchbäume II Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
MehrName:... Vorname:... Matr.-Nr.:... Studiengang:...
Technische Universität Braunschweig Sommersemester 2011 IBR - Abteilung Algorithmik Prof. Dr. Sándor Fekete Christiane Schmidt Klausur Algorithmen und Datenstrukturen 01.09.2011 Name:.....................................
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphen (2) Spannbäume Kürzeste Wege Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 455 Wiederholung Traversierung eines Graphen via Tiefendurchlaufs
MehrHallo Welt für Fortgeschrittene
Hallo Welt für Fortgeschrittene Große Lösungsräume Maximilian Seitzer Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Große Lösungsräume Worum geht s hier? Für viele wichtige Probleme sind
MehrIntelligente Systeme. Suche
Intelligente Systeme Suche Michael Schroeder www.biotec.tu-dredsen.de/schroeder Lehrbuch Folien basieren auf Russell und Norvig: Künstliche Intelligenz: Ein Moderner Ansatz. Dank an Prof. Fürnkranz für
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphen (1) Darstellung Traversierung Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 441 Generalisierung von Bäumen Verallgemeinerung (von Listen zu Graphen)
MehrÜbungsblatt 2 Lösungen
rundlagen der Künstlichen Intelligenz Prof. Dr. J. Boedecker, Prof. Dr. W. Burgard, Prof. Dr. F. Hutter, Prof. Dr. B. Nebel M. Krawez, T. chulte ommersemester 08 Universität Freiburg Institut für Informatik
MehrSokoban. Knowledge Engineering und Lernen in Spielen. Mark Sollweck Fachbereich 20 Seminar Knowledge Engineering Mark Sollweck 1
Sokoban Knowledge Engineering und Lernen in Spielen Mark Sollweck 29.04.2010 Fachbereich 20 Seminar Knowledge Engineering Mark Sollweck 1 Überblick Sokoban Spielregeln Eigenschaften Lösungsansatz IDA*
MehrÜbersicht. Informierte (heuristische) Suche. Algorithmus Bester-Zuerst-Suche. Bester-Zuerst-Suche
Übersicht I Künstliche Intelligenz II Problemlösen 3. Problemlösen durch Suche 4. Informierte Suchmethoden 5. Constraint-Probleme 6. Spiele III Wissen und Schlußfolgern IV Logisch Handeln V Unsicheres
MehrAlgorithmen und Datenstrukturen 1-5. Seminar -
Algorithmen und Datenstrukturen 1-5. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Wintersemester 2009/10 Outline 5.+6. Übungsserie: 5 Aufgaben, insgesamt 40 Punkte A17 Baum-Traversierung
Mehr7. Dynamische Datenstrukturen Bäume. Informatik II für Verkehrsingenieure
7. Dynamische Datenstrukturen Bäume Informatik II für Verkehrsingenieure Übersicht dynamische Datenstrukturen Wozu? Oft weiß man nicht von Beginn an, wieviele Elemente in einer Datenstruktur untergebracht
Mehr12. AuD Tafelübung T-C3
12. AuD Tafelübung T-C3 Simon Ruderich 2. Februar 2011 Kollisionen (Primär)Kollision Stelle mit normal eingefügtem Element schon belegt (gleicher Hashwert) tritt bei verketteten Listen und Sondierung auf
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Minimale Spannbäume Maike Buchin 18.7., 20.7.2017 Einführung Motivation: Verbinde Inseln mit Fähren oder Städte mit Schienen und verbrauche dabei möglichst wenig Länge. Problem:
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Kürzeste Wege Maike Buchin 4. und 6.7.2017 Einführung Motivation: Bestimmung von kürzesten Wegen ist in vielen Anwendungen, z.b. Routenplanung, ein wichtiges Problem. Allgemeine
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphdurchläufe Maike Buchin 22. und 27.6.2017 Graphexploration Motivation: Für viele Zwecke will man den gesamten Graphen durchlaufen, zb. um festzustellen ob er (stark) zusammenhängt.
MehrBreitensuche BFS (Breadth First Search)
Breitensuche BFS (Breadth First Search) Algorithmus BREITENSUCHE EINGABE: G = (V, E) als Adjazenzliste, Startknoten s V 1 Für alle v V 1 If (v = s) then d[v] 0 else d[v] ; 2 pred[v] nil; 2 Q new Queue;
MehrAufgabe 1 (Allgemeines)
Klausur... Einführung in die Künstliche Intelligenz 1SS08 Aufgabe 1 (Allgemeines) (4 Punkte) a) In der Künstlichen Intelligenz unterscheidet man symbolische und subsymbolische Verfahren. Beschreibe diese
MehrKlausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Wintersemester 2013/2014 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Stephan Friedrichs Klausur Algorithmen und
MehrSmart Graphics: Search 1
Smart Graphics: Search 1 Lecture Smart Graphics Andreas Butz 23.11.2010 1 Über den Studiengang und das Forschungsgebiet Medieninformatik informieren Studenten, Interessenten sowie deren Familie und Freunde
MehrInformatik II Prüfungsvorbereitungskurs
Informatik II Prüfungsvorbereitungskurs Tag 4, 9.6.2017 Giuseppe Accaputo g@accaputo.ch 1 Aufbau des PVK Tag 1: Java Teil 1 Tag 2: Java Teil 2 Tag 3: Algorithmen & Komplexität Tag 4: Dynamische Datenstrukturen,
MehrGrundlagen der Informatik
Jörn Fischer j.fischer@hs-mannheim.de Willkommen zur Vorlesung Grundlagen der Informatik ADS-Teil Page 2 Überblick Inhalt 1 Eigenschaften von Algorithmen Algorithmenbegriff O-Notation Entwurfstechniken
Mehr8.1 Einleitung. Grundlagen der Künstlichen Intelligenz. 8.1 Einleitung. 8.2 Lokale Suchverfahren. 8.3 Zusammenfassung. Suchprobleme: Überblick
Grundlagen der Künstlichen Intelligenz 5. April 0 8. Suchalgorithmen: Lokale Suche Grundlagen der Künstlichen Intelligenz 8. Suchalgorithmen: Lokale Suche 8.1 Einleitung Malte Helmert Universität Basel
MehrEinführung in die Künstliche Intelligenz SS 18 Prof. Dr. J. Fürnkranz, Prof. Dr. K. Kersting
Einführung in die Künstliche Intelligenz SS 8 Prof. Dr. J. Fürnkranz, Prof. Dr. K. Kersting Beispiellösung für das. Übungsblatt (5.05.208) Aufgabe Agenten-Umgebung a) Eine beispielhafte PEAS-Beschreibung
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Graphen 9/1 Begriffsdefinitionen Ein Graph besteht aus Knoten und Kanten. Ein Knoten(Ecke) ist ein benanntes Objekt. Eine Kante verbindet zwei Knoten. Kanten haben ein Gewicht
MehrWie wird ein Graph dargestellt?
Wie wird ein Graph dargestellt? Für einen Graphen G = (V, E), ob gerichtet oder ungerichtet, verwende eine Adjazenzliste A G : A G [i] zeigt auf eine Liste aller Nachbarn von Knoten i, wenn G ungerichtet
MehrBäume 1. Thomas Röfer
Bäume Thomas Röfer Preisverleihung Begriffsdefinitionen Eigenschaften Implementierung von Bäumen Durchlaufen von Bäumen Breitensuche/Tiefensuche Huffman-Kodierung Rückblick Sortieren Permutieren nach Dijkstra
Mehr