Sztuczna Inteligencja i Systemy Doradcze
|
|
- Beata Bukowska
- 5 lat temu
- Przeglądów:
Transkrypt
1 Sztuczna Inteligencja i Systemy Doradcze Przeszukiwanie przestrzeni stanów algorytmy ślepe Przeszukiwanie przestrzeni stanów algorytmy ślepe 1
2 Strategie slepe Strategie ślepe korzystają z informacji dostępnej jedynie w definicji problemu: Przeszukiwanie wszerz Strategia jednolitego kosztu Przeszukiwanie wgłąb Przeszukiwanie ograniczone wgłąb Przeszukiwanie iteracyjnie pogłębiane Przeszukiwanie dwukierunkowe Przeszukiwanie przestrzeni stanów algorytmy ślepe 2
3 Przeszukiwanie wszerz Wykonuje ekspansję najpłytszego węzła spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe jest kolejką FIFO, tzn. nowe następniki dodawane są na koniec kolejki function Tree-Search(problem,fringe) returns a solution, or failure fringe Insert(Make-Node(Initial-State[problem]), fringe) loop do if fringe is empty then return failure node Remove-Front(fringe) if Goal-Test[problem] applied to State(node) succeeds return node fringe Insertll(Expand(node, problem), fringe) Przeszukiwanie przestrzeni stanów algorytmy ślepe 3
4 Przeszukiwanie wszerz Wykonuje ekspansję najpłytszego węzła spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe jest kolejką FIFO, tzn. nowe następniki dodawane są na koniec kolejki Przeszukiwanie przestrzeni stanów algorytmy ślepe 4
5 Przeszukiwanie wszerz Wykonuje ekspansję najpłytszego węzła spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe jest kolejką FIFO, tzn. nowe następniki dodawane są na koniec kolejki Przeszukiwanie przestrzeni stanów algorytmy ślepe 5
6 Przeszukiwanie wszerz Wykonuje ekspansję najpłytszego węzła spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe jest kolejką FIFO, tzn. nowe następniki dodawane są na koniec kolejki Przeszukiwanie przestrzeni stanów algorytmy ślepe 6
7 Przeszukiwanie wszerz Wykonuje ekspansję najpłytszego węzła spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe jest kolejką FIFO, tzn. nowe następniki dodawane są na koniec kolejki Przeszukiwanie przestrzeni stanów algorytmy ślepe 7
8 Zupełność?? Przeszukiwania wszerz: wlasnosci Przeszukiwanie przestrzeni stanów algorytmy ślepe 8
9 Przeszukiwania wszerz: wlasnosci Zupełność?? Tak (jeśli b jest skończone) Złożoność czasowa?? Przeszukiwanie przestrzeni stanów algorytmy ślepe 9
10 Przeszukiwania wszerz: wlasnosci Zupełność?? Tak (jeśli b jest skończone) Złożoność czasowa?? 1 + b + b 2 + b b d + b(b d 1) = O(b d+1 ) tzn. wykładnicza względem d Złożoność pamięciowa?? Przeszukiwanie przestrzeni stanów algorytmy ślepe 10
11 Przeszukiwania wszerz: wlasnosci Zupełność?? Tak (jeśli b jest skończone) Złożoność czasowa?? 1 + b + b 2 + b b d + b(b d 1) = O(b d+1 ) tzn. wykładnicza względem d Złożoność pamięciowa?? O(b d+1 ) (przechowuje każdy węzeł w pamięci) Optymalność?? Przeszukiwanie przestrzeni stanów algorytmy ślepe 11
12 Przeszukiwania wszerz: wlasnosci Zupełność?? Tak (jeśli b jest skończone) Złożoność czasowa?? 1 + b + b 2 + b b d + b(b d 1) = O(b d+1 ) tzn. wykładnicza względem d Złożoność pamięciowa?? O(b d+1 ) (przechowuje każdy węzeł w pamięci) Optymalność?? Tak (jeśli koszt każdego kroku = 1); w ogólności nieoptymalny Przeszukiwanie przestrzeni stanów algorytmy ślepe 12
13 Przeszukiwania wszerz: wlasnosci Zupełność?? Tak (jeśli b jest skończone) Złożoność czasowa?? 1 + b + b 2 + b b d + b(b d 1) = O(b d+1 ) tzn. wykładnicza względem d Złożoność pamięciowa?? O(b d+1 ) (przechowuje każdy węzeł w pamięci) Optymalność?? Tak (jeśli koszt każdego kroku = 1); w ogólności nieoptymalny Złożoność pamięciowa jest dużym problemem; można łatwo generować węzły z szybkością 10M/sek czyli 24godz = 860G. Przeszukiwanie przestrzeni stanów algorytmy ślepe 13
14 Strategia jednolitego kosztu Wykonuje ekspansję węzła o najmniejszym koszcie spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe = kolejka priorytetowa porządkująca węzły według kosztu ścieżki od korzenia function Tree-Search(problem,fringe) returns a solution, or failure fringe Insert(Make-Node(Initial-State[problem]), fringe) loop do if fringe is empty then return failure node Remove-Front(fringe) if Goal-Test[problem] applied to State(node) succeeds return node fringe Insertll(Expand(node, problem), fringe) Odpowiada przeszukiwaniu wszerz jeśli koszt wszystkich pojedynczych akcji jest ten sam Przeszukiwanie przestrzeni stanów algorytmy ślepe 14
15 Strategia jednolitego kosztu Wykonuje ekspansję węzła o najmniejszym koszcie spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe = kolejka priorytetowa porządkująca węzły według kosztu ścieżki od korzenia rad Przeszukiwanie przestrzeni stanów algorytmy ślepe 15
16 Strategia jednolitego kosztu Wykonuje ekspansję węzła o najmniejszym koszcie spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe = kolejka priorytetowa porządkująca węzły według kosztu ścieżki od korzenia rad Zerind Sibiu Timisoara Przeszukiwanie przestrzeni stanów algorytmy ślepe 16
17 Strategia jednolitego kosztu Wykonuje ekspansję węzła o najmniejszym koszcie spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe = kolejka priorytetowa porządkująca węzły według kosztu ścieżki od korzenia rad Zerind Sibiu Timisoara rad Oradea Przeszukiwanie przestrzeni stanów algorytmy ślepe 17
18 Strategia jednolitego kosztu Wykonuje ekspansję węzła o najmniejszym koszcie spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe = kolejka priorytetowa porządkująca węzły według kosztu ścieżki od korzenia rad Zerind Sibiu Timisoara rad Oradea rad Lugoj Przeszukiwanie przestrzeni stanów algorytmy ślepe 18
19 Strategia jednolitego kosztu: wlasnosci Zupełność?? Tak, jeśli koszt wszystkich akcji ɛ, dla pewnego ɛ > 0 Złożoność czasowa?? Liczba węzłów, dla których g koszt optymalnego rozwiązania O(b /ɛ ), gdzie jest kosztem optymalnego rozwiązania Złożoność pamięciowa?? Liczba węzłów, dla których g koszt optymalnego rozwiązania O(b /ɛ ) Optymalność?? Tak węzły są uporządkowane rosnąco względem g(n) Przeszukiwanie przestrzeni stanów algorytmy ślepe 19
20 Przeszukiwanie wglab Wykonuje ekspansję najgłebszego węzła spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe jest kolejką LIFO, tzn. nowe następniki dodawane są na początek kolejki function Tree-Search(problem,fringe) returns a solution, or failure fringe Insert(Make-Node(Initial-State[problem]), fringe) loop do if fringe is empty then return failure node Remove-Front(fringe) if Goal-Test[problem] applied to State(node) succeeds return node fringe Insertll(Expand(node, problem), fringe) Przeszukiwanie przestrzeni stanów algorytmy ślepe 20
21 Przeszukiwanie wglab Wykonuje ekspansję najgłebszego węzła spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe jest kolejką LIFO, tzn. nowe następniki dodawane są na początek kolejki H I J K L M N O Przeszukiwanie przestrzeni stanów algorytmy ślepe 21
22 Przeszukiwanie wglab Wykonuje ekspansję najgłebszego węzła spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe jest kolejką LIFO, tzn. nowe następniki dodawane są na początek kolejki H I J K L M N O Przeszukiwanie przestrzeni stanów algorytmy ślepe 22
23 Przeszukiwanie wglab Wykonuje ekspansję najgłebszego węzła spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe jest kolejką LIFO, tzn. nowe następniki dodawane są na początek kolejki H I J K L M N O Przeszukiwanie przestrzeni stanów algorytmy ślepe 23
24 Przeszukiwanie wglab Wykonuje ekspansję najgłebszego węzła spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe jest kolejką LIFO, tzn. nowe następniki dodawane są na początek kolejki H I J K L M N O Przeszukiwanie przestrzeni stanów algorytmy ślepe 24
25 Przeszukiwanie wglab Wykonuje ekspansję najgłebszego węzła spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe jest kolejką LIFO, tzn. nowe następniki dodawane są na początek kolejki H I J K L M N O Przeszukiwanie przestrzeni stanów algorytmy ślepe 25
26 Przeszukiwanie wglab Wykonuje ekspansję najgłebszego węzła spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe jest kolejką LIFO, tzn. nowe następniki dodawane są na początek kolejki H I J K L M N O Przeszukiwanie przestrzeni stanów algorytmy ślepe 26
27 Przeszukiwanie wglab Wykonuje ekspansję najgłebszego węzła spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe jest kolejką LIFO, tzn. nowe następniki dodawane są na początek kolejki H I J K L M N O Przeszukiwanie przestrzeni stanów algorytmy ślepe 27
28 Przeszukiwanie wglab Wykonuje ekspansję najgłebszego węzła spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe jest kolejką LIFO, tzn. nowe następniki dodawane są na początek kolejki H I J K L M N O Przeszukiwanie przestrzeni stanów algorytmy ślepe 28
29 Przeszukiwanie wglab Wykonuje ekspansję najgłebszego węzła spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe jest kolejką LIFO, tzn. nowe następniki dodawane są na początek kolejki H I J K L M N O Przeszukiwanie przestrzeni stanów algorytmy ślepe 29
30 Przeszukiwanie wglab Wykonuje ekspansję najgłebszego węzła spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe jest kolejką LIFO, tzn. nowe następniki dodawane są na początek kolejki H I J K L M N O Przeszukiwanie przestrzeni stanów algorytmy ślepe 30
31 Przeszukiwanie wglab Wykonuje ekspansję najgłebszego węzła spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe jest kolejką LIFO, tzn. nowe następniki dodawane są na początek kolejki H I J K L M N O Przeszukiwanie przestrzeni stanów algorytmy ślepe 31
32 Przeszukiwanie wglab Wykonuje ekspansję najgłebszego węzła spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe jest kolejką LIFO, tzn. nowe następniki dodawane są na początek kolejki H I J K L M N O Przeszukiwanie przestrzeni stanów algorytmy ślepe 32
33 Zupełność?? Przeszukiwanie wglab: wlasnosci Przeszukiwanie przestrzeni stanów algorytmy ślepe 33
34 Przeszukiwanie wglab: wlasnosci Zupełność?? rak, zawodzi w przestrzeniach o nieskończonej głębokości oraz w przestrzeniach z pętlami Po dodaniu eliminacji stanów powtarzających się wzdłuż ścieżki zupełność w przestrzeniach skończonych Złożoność czasowa?? Przeszukiwanie przestrzeni stanów algorytmy ślepe 34
35 Przeszukiwanie wglab: wlasnosci Zupełność?? rak, zawodzi w przestrzeniach o nieskończonej głębokości oraz w przestrzeniach z pętlami Po dodaniu eliminacji stanów powtarzających się wzdłuż ścieżki zupełność w przestrzeniach skończonych Złożoność czasowa?? O(b m ): okropne jeśli m jest dużo większe niż d jeśli rozwiązania są gęste, może być szybsze niż przeszukiwanie wszerz Złożoność pamięciowa?? Przeszukiwanie przestrzeni stanów algorytmy ślepe 35
36 Przeszukiwanie wglab: wlasnosci Zupełność?? rak, zawodzi w przestrzeniach o nieskończonej głębokości oraz w przestrzeniach z pętlami Po dodaniu eliminacji stanów powtarzających się wzdłuż ścieżki zupełność w przestrzeniach skończonych Złożoność czasowa?? O(b m ): okropne jeśli m jest dużo większe niż d jeśli rozwiązania są gęste, może być szybsze niż przeszukiwanie wszerz Złożoność pamięciowa?? O(bm), tzn. pamięć liniowa! Optymalność?? Przeszukiwanie przestrzeni stanów algorytmy ślepe 36
37 Przeszukiwanie wglab: wlasnosci Zupełność?? rak, zawodzi w przestrzeniach o nieskończonej głębokości oraz w przestrzeniach z pętlami Po dodaniu eliminacji stanów powtarzających się wzdłuż ścieżki zupełność w przestrzeniach skończonych Złożoność czasowa?? O(b m ): okropne jeśli m jest dużo większe niż d jeśli rozwiązania są gęste, może być szybsze niż przeszukiwanie wszerz Złożoność pamięciowa?? O(bm), tzn. pamięć liniowa! Optymalność?? rak Przeszukiwanie przestrzeni stanów algorytmy ślepe 37
38 Przeszukiwanie ograniczone wglab Przeszukiwanie wgłąb z ograniczeniem na głębokość l, tzn. węzły na głębokości l nie mają następników Implementacja rekurencyjna: function Depth-Limited-Search( problem, limit) returns soln/fail/cutoff Recursive-DLS(Make-Node(Initial-State[problem]), problem, limit) function Recursive-DLS(node, problem, limit) returns soln/fail/cutoff cutoff-occurred? false if Goal-Test[problem](State[node]) then return node else if Depth[node] = limit then return cutoff else for each successor in Expand(node, problem) do result Recursive-DLS(successor, problem, limit) if result = cutoff then cutoff-occurred? true else if result failure then return result if cutoff-occurred? then return cutoff else return failure Przeszukiwanie przestrzeni stanów algorytmy ślepe 38
39 Przeszukiwanie iteracyjnie poglebiane Powtarza przeszukiwanie ograniczone wgłąb z rosnącym ograniczeniem na głębokość przeszukiwania function Iterative-Deepening-Search( problem) returns a solution inputs: problem, a problem for depth 0 to do result Depth-Limited-Search( problem, depth) if result cutoff then return result end Przeszukiwanie przestrzeni stanów algorytmy ślepe 39
40 Przeszukiwanie iteracyjnie poglebiane l = 0 Powtarza przeszukiwanie ograniczone wgłąb z rosnącym ograniczeniem na głębokość przeszukiwania Limit = 0 Przeszukiwanie przestrzeni stanów algorytmy ślepe 40
41 Przeszukiwanie iteracyjnie poglebiane l = 1 Powtarza przeszukiwanie ograniczone wgłąb z rosnącym ograniczeniem na głębokość przeszukiwania Limit = 1 Przeszukiwanie przestrzeni stanów algorytmy ślepe 41
42 Przeszukiwanie iteracyjnie poglebiane l = 2 Powtarza przeszukiwanie ograniczone wgłąb z rosnącym ograniczeniem na głębokość przeszukiwania Limit = 2 Przeszukiwanie przestrzeni stanów algorytmy ślepe 42
43 Przeszukiwanie iteracyjnie poglebiane l = 3 Powtarza przeszukiwanie ograniczone wgłąb z rosnącym ograniczeniem na głębokość przeszukiwania Limit = 3 H I J K L M N O H I J K L M N O H I J K L M N O H I J K L M N O H I J K L M N O H I J K L M N O H I J K L M N O H I J K L M N O H I J K L M N O H I J K L M N O H I J K L M N O H I J K L M N O Przeszukiwanie przestrzeni stanów algorytmy ślepe 43
44 Przeszukiwanie iteracyjnie poglebiane: wlasnosci Zupełność?? Przeszukiwanie przestrzeni stanów algorytmy ślepe 44
45 Przeszukiwanie iteracyjnie poglebiane: wlasnosci Zupełność?? Tak Złożoność czasowa?? Przeszukiwanie przestrzeni stanów algorytmy ślepe 45
46 Przeszukiwanie iteracyjnie poglebiane: wlasnosci Zupełność?? Tak Złożoność czasowa?? (d + 1)b 0 + db 1 + (d 1)b b d = O(b d ) Złożoność pamięciowa?? Przeszukiwanie przestrzeni stanów algorytmy ślepe 46
47 Przeszukiwanie iteracyjnie poglebiane: wlasnosci Zupełność?? Tak Złożoność czasowa?? (d + 1)b 0 + db 1 + (d 1)b b d = O(b d ) Złożoność pamięciowa?? O(bd) Optymalność?? Przeszukiwanie przestrzeni stanów algorytmy ślepe 47
48 Przeszukiwanie iteracyjnie poglebiane: wlasnosci Zupełność?? Tak Złożoność czasowa?? (d + 1)b 0 + db 1 + (d 1)b b d = O(b d ) Złożoność pamięciowa?? O(bd) Optymalność?? Tak, jeśli koszt wszystkich akcji jest taki sam Można zmodyfikować tak, żeby przeszukiwać drzewo jednolitego kosztu Przeszukiwanie przestrzeni stanów algorytmy ślepe 48
49 Przeszukiwanie iteracyjnie poglebiane: wlasnosci Zupełność?? Tak Złożoność czasowa?? (d + 1)b 0 + db 1 + (d 1)b b d = O(b d ) Złożoność pamięciowa?? O(bd) Optymalność?? Tak, jeśli koszt wszystkich akcji jest taki sam Można zmodyfikować tak, żeby przeszukiwać drzewo jednolitego kosztu Numeryczne porównanie czasu wykonania dla współcz. rozgałęzienia b = 10 przy założeniu, że rozwiązanie w drzewie przeszukiwań ma głębokość d = 5 i znajduje się w skrajnie prawym węźle drzewa przeszukiwań: N(IDS) = , , , 000 = 123, 450 N(FS) = , , , , 990 = 1, 111, 100 Przeszukiwanie przestrzeni stanów algorytmy ślepe 49
50 Przeszukiwanie dwukierunkowe Wykonuje równolegle dwa przeszukiwania: 1) przeszukiwanie wprzód od stanu początkowego 2) przeszukiwanie w tył od stanu końcowego Start Goal Przeszukiwanie przestrzeni stanów algorytmy ślepe 50
51 Przeszukiwanie dwukierunkowe: wlasnosci Zupełność?? Tak, jeśli oba przeszukiwania wykonywane są wszerz Złożoność czasowa?? O(b d/2 ) To główna motywacja Złożoność pamięciowa?? O(b d/2 ) ena płacona za oszczędność czasu Optymalność?? Tak, jeśli oba przeszukiwania wykonywane są wszerz ( w grafie z takim samym kosztem wszystkich akcji) lub jeśli oba przeszukiwania używają strategii jednolitego kosztu (w grafie z różnym kosztem akcji) Przeszukiwanie przestrzeni stanów algorytmy ślepe 51
52 Podsumowanie algorytmow b maksymalne rozgałęzienie d głębokość optymalnego rozwiązania m maksymalna głębokość drzewa przeszukiwań (może być ) Kryterium Wszerz Jednolity Wgłąb Ograniczone Iter. Dwukie- Koszt Wgłąb Pogłęb. runkowe Zupełne? Tak a Tak a,b Nie Tak, dla l d Tak a Tak a,d zas b d+1 b /ɛ b m b l b d b d/2 Pamięć b d+1 b /ɛ bm bl bd b d/2 Optymalne? Tak c Tak Nie Nie Tak c Tak d a) zupełne, jeśli b jest skończone b) zupełne, jeśli koszt akcji ɛ, dla pewnego ɛ > 0 c) optymalne, jeśli koszt wszystkich akcji jest taki sam d) zupełne i optymalne, jeśli oba przeszukiwania wszerz lub wg jednol. kosztu Przeszukiwanie przestrzeni stanów algorytmy ślepe 52
53 Podsumowanie algorytmow b maksymalne rozgałęzienie d głębokość optymalnego rozwiązania m maksymalna głębokość drzewa przeszukiwań (może być ) Kryterium Wszerz Jednolity Wgłąb Ograniczone Iter. Dwukie- Koszt Wgłąb Pogłęb. runkowe Zupełne? Tak a Tak a,b Nie Tak, dla l d Tak a Tak a,d zas b d+1 b /ɛ b m b l b d b d/2 Pamięć b d+1 b /ɛ bm bl bd b d/2 Optymalne? Tak c Tak Nie Nie Tak c Tak d a) zupełne, jeśli b jest skończone b) zupełne, jeśli koszt akcji ɛ, dla pewnego ɛ > 0 c) optymalne, jeśli koszt wszystkich akcji jest taki sam d) zupełne i optymalne, jeśli oba przeszukiwania wszerz lub wg jednol. kosztu Podsumowanie: Iteracyjne pogłębianie używa tylko liniowej pamięci i czasu porównywalnego z innymi algorytmami Przeszukiwanie przestrzeni stanów algorytmy ślepe 53
54 Wykrywanie stanow odwiedzonych Niepełna eliminacja powtarzających się stanów może zamienić problem liniowy w wykładniczy! D Funkcja sprawdzania, czy stan był już odwiedzony, może działać szybko, jeśli zbiór stanów odwiedzonych jest pamiętany i zaimplementowany przy pomocy efektywnej struktury danych, np. kolejki priorytetowej lub tablicy haszującej. Przeszukiwanie przestrzeni stanów algorytmy ślepe 54
55 Przeszukiwanie grafu Jesli algorytm przeszukiwania przestrzeni stanów wykrywa i eliminuje z przeszukiwania stany wcześniej odwiedzone, to taki algorytm jest dobry również do przeszukiwania grafu Zmienna closed pamięta wszystkie wcześniej odwiedzone stany function Graph-Search(problem,fringe) returns a solution, or failure closed an empty set fringe Insert(Make-Node(Initial-State[problem]), fringe) loop do if fringe is empty then return failure node Remove-Front(fringe) if Goal-Test[problem](State[node]) then return node if State[node] is not in closed then add State[node] to closed fringe Insertll(Expand(node, problem), fringe) end Przeszukiwanie przestrzeni stanów algorytmy ślepe 55
56 Przeszukiwanie grafu: wlasnosci Zupełność?? Tak, jeśli graf skończony Złożoność czasowa?? liczba wierzchołków grafu koszt wyszukania stanu Złożoność pamięciowa?? liczba wierzchołków grafu Optymalność?? optymalne przy przeszukiwaniu drzewa Przeszukiwanie przestrzeni stanów algorytmy ślepe 56
Sztuczna Inteligencja i Systemy Doradcze
ztuczna Inteligencja i ystemy Doradcze Przeszukiwanie przestrzeni stanów Przeszukiwanie przestrzeni stanów 1 Postawienie problemu eprezentacja problemu: stany: reprezentują opisy różnych stanów świata
Bardziej szczegółowoHeurystyki. Strategie poszukiwań
Sztuczna inteligencja Heurystyki. Strategie poszukiwań Jacek Bartman Zakład Elektrotechniki i Informatyki Instytut Techniki Uniwersytet Rzeszowski DLACZEGO METODY PRZESZUKIWANIA? Sztuczna Inteligencja
Bardziej szczegółowoSID Wykład 1 Wprowadzenie
SID Wykład 1 Wprowadzenie Wydział Matematyki, Informatyki i Mechaniki UW slezak@mimuw.edu.pl Program przedmiotu algorytmy heurystyczne problemy optymalizacyjne strategie w grach wnioskowanie w logice planowanie
Bardziej szczegółowoWPROWADZENIE DO SZTUCZNEJ INTELIGENCJI
POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHANICZNY ENERGETYKI I LOTNICTWA MEL WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI NS 586 Dr inż. Franciszek Dul Poziomy sztucznej inteligencji Sztuczna świadomość? Uczenie się
Bardziej szczegółowoPodstawy sztucznej inteligencji
wykład 2 Strategie przeszukiwania - ślepe i heurystyczne 27 październik 2011 Plan wykładu 1 Strategie czyli jak znaleźć rozwiązanie problemu Jak wykonać przeszukiwanie Przeszukiwanie przestrzeni stanów
Bardziej szczegółowoWprowadzenie do Sztucznej Inteligencji
Wprowadzenie do Sztucznej Inteligencji Wykład Informatyka Studia InŜynierskie Przeszukiwanie przestrzeni stanów Przestrzeń stanów jest to czwórka uporządkowana [N,, S, GD], gdzie: N jest zbiorem wierzchołków
Bardziej szczegółowoSID Wykład 2 Przeszukiwanie
SID Wykład 2 Przeszukiwanie Wydział Matematyki, Informatyki i Mechaniki UW slezak@mimuw.edu.pl Strategie heurystyczne Strategie heurystyczne korzystaja z dodatkowej, heurystycznej funkcji oceny stanu (np.
Bardziej szczegółowoWprowadzenie do Sztucznej Inteligencji
Wprowadzenie do Sztucznej Inteligencji Wykład Informatyka Studia InŜynierskie Przeszukiwanie przestrzeni stanów Przestrzeń stanów jest to czwórka uporządkowana [N,[, S, GD], gdzie: N jest zbiorem wierzchołków
Bardziej szczegółowoMarcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH
Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH Przeszukiwanie przestrzeni rozwiązań, szukanie na ślepo, wszerz, w głąb. Spis treści: 1. Wprowadzenie 3. str. 1.1 Krótki Wstęp
Bardziej szczegółowoWykład2,24II2010,str.1 Przeszukiwanie przestrzeni stanów powtórka
Wykład2,24II2010,str.1 Przeszukiwanie przestrzeni stanów powtórka DEFINICJA: System produkcji M zbiórst.zw.stanów wyróżnionys 0 St.zw.stanpoczątkowy podzbiórg St.zw.stanówdocelowych zbiórot.zw.operacji:
Bardziej szczegółowoWprowadzenie do Sztucznej Inteligencji
Wprowadzenie do Sztucznej Inteligencji Wykład Studia Inżynierskie Przeszukiwanie przestrzeni stanów Przestrzeń stanów jest to czwórka uporządkowana [N,[, S, GD], gdzie: N jest zbiorem wierzchołków w odpowiadających
Bardziej szczegółowoMetody przeszukiwania
Metody przeszukiwania Co to jest przeszukiwanie Przeszukiwanie polega na odnajdywaniu rozwiązania w dyskretnej przestrzeni rozwiązao. Zwykle przeszukiwanie polega na znalezieniu określonego rozwiązania
Bardziej szczegółowoĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe
Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe opracował:
Bardziej szczegółowoUniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych
Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych ELEMENTY SZTUCZNEJ INTELIGENCJI Laboratorium nr 9 PRZESZUKIWANIE GRAFÓW Z
Bardziej szczegółowoPodstawy sztucznej inteligencji
wykład II Problem solving 03 październik 2012 Jakie problemy możemy rozwiązywać? Cel: Zbudować inteligentnego agenta planującego, rozwiązującego problem. Szachy Kostka rubika Krzyżówka Labirynt Wybór trasy
Bardziej szczegółowoSztuczna Inteligencja i Systemy Doradcze
Sztuczna Inteligencja i Systemy Doradcze Przeszukiwanie przestrzeni stanów gry Przeszukiwanie przestrzeni stanów gry 1 Gry a problemy przeszukiwania Nieprzewidywalny przeciwnik rozwiązanie jest strategią
Bardziej szczegółowoPrzeszukiwanie przestrzeni rozwiązań, szukanie na ślepo, wszerz, wgłąb
POLITECHNIKA WROCŁAWSKA WYDZIAŁ ELEKTRONIKI INFORMATYKA SYSTEMÓW AUTONOMICZNYCH Przeszukiwanie przestrzeni rozwiązań, szukanie na ślepo, wszerz, wgłąb AUTOR: Krzysztof Górski Indeks: 133247 e-mail: 133247@student.pwr.wroc.pl
Bardziej szczegółowoElementy kognitywistyki II:
Elementy kognitywistyki II: Sztuczna inteligencja WYKŁAD IV: Agent szuka rozwiązania (na ślepo) Poprzednio: etapy rozwiązywania problemu sformułowanie celu sformułowanie problemu stan początkowy (initial
Bardziej szczegółowoWstęp do Sztucznej Inteligencji
Wstęp do Sztucznej Inteligencji Rozwiązywanie problemów-i Joanna Kołodziej Politechnika Krakowska Wydział Fizyki, Matematyki i Informatyki Rozwiązywanie problemów Podstawowe fazy: Sformułowanie celu -
Bardziej szczegółowoAlgorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne
Algorytmy i struktury danych Drzewa: BST, kopce Letnie Warsztaty Matematyczno-Informatyczne Drzewa: BST, kopce Definicja drzewa Drzewo (ang. tree) to nieskierowany, acykliczny, spójny graf. Drzewo może
Bardziej szczegółowoHeurystyczne metody przeszukiwania
Heurystyczne metody przeszukiwania Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 Politechnika Wrocławska Pojęcie heurystyki Metody heurystyczne są jednym z ważniejszych narzędzi sztucznej inteligencji.
Bardziej szczegółowoSZTUCZNA INTELIGENCJA
Instytut Automatyki, Robotyki i Informatyki Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis Literatura SZTUCZNA INTELIGENCJA Modelowanie problemów za
Bardziej szczegółowoSZTUCZNA INTELIGENCJA
SZTUCZNA INTELIGENCJA WYKŁAD 12. PRZESZUKIWANIE Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska ROZWIĄZYWANIE PROBLEMÓW JAKO PRZESZUKIWANIE Istotną rolę podczas
Bardziej szczegółowoRozwiązywanie problemów przez przeszukiwanie. w oparciu o: S. Russel, P. Norvig. Artificial Intelligence. A Modern Approach
(4g) Wykład 3 i 4 w oparciu o: S. Russel, P. Norvig. Artificial Intelligence. A Modern Approach P. Kobylański Wprowadzenie do Sztucznej Inteligencji 81 / 198 (4g) agenci rozwiązujący problemy przykłady
Bardziej szczegółowoRozwiązywanie problemów metodą przeszukiwania
Rozwiązywanie problemów metodą przeszukiwania Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 Politechnika Wrocławska Reprezentacja problemu w przestrzeni stanów Jedną z ważniejszych metod sztucznej
Bardziej szczegółowoprowadzący dr ADRIAN HORZYK /~horzyk e-mail: horzyk@agh tel.: 012-617 Konsultacje paw. D-13/325
PODSTAWY INFORMATYKI WYKŁAD 8. prowadzący dr ADRIAN HORZYK http://home home.agh.edu.pl/~ /~horzyk e-mail: horzyk@agh agh.edu.pl tel.: 012-617 617-4319 Konsultacje paw. D-13/325 DRZEWA Drzewa to rodzaj
Bardziej szczegółowoWykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy
Wykład 3 Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy Dynamiczne struktury danych Lista jest to liniowo uporządkowany zbiór elementów, z których dowolny element
Bardziej szczegółowoWstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel
Wstęp do programowania Drzewa Piotr Chrząstowski-Wachtel Drzewa Drzewa definiują matematycy, jako spójne nieskierowane grafy bez cykli. Równoważne określenia: Spójne grafy o n wierzchołkach i n-1 krawędziach
Bardziej szczegółowoWstęp do Programowania potok funkcyjny
Wstęp do Programowania potok funkcyjny Marcin Kubica 2010/2011 Outline 1 Podstawowe pojęcia Definition Graf = wierzchołki + krawędzie. Krawędzie muszą mieć różne końce. Między dwoma wierzchołkami może
Bardziej szczegółowoKolejka priorytetowa. Często rozważa się kolejki priorytetowe, w których poszukuje się elementu minimalnego zamiast maksymalnego.
Kolejki Kolejka priorytetowa Kolejka priorytetowa (ang. priority queue) to struktura danych pozwalająca efektywnie realizować następujące operacje na zbiorze dynamicznym, którego elementy pochodzą z określonego
Bardziej szczegółowoWysokość drzewa Głębokość węzła
Drzewa Drzewa Drzewo (ang. tree) zbiór węzłów powiązanych wskaźnikami, spójny i bez cykli. Drzewo posiada wyróżniony węzeł początkowy nazywany korzeniem (ang. root). Drzewo ukorzenione jest strukturą hierarchiczną.
Bardziej szczegółowoPorządek symetryczny: right(x)
Porządek symetryczny: x lef t(x) right(x) Własność drzewa BST: W drzewach BST mamy porządek symetryczny. Dla każdego węzła x spełniony jest warunek: jeżeli węzeł y leży w lewym poddrzewie x, to key(y)
Bardziej szczegółowoStruktury danych: stos, kolejka, lista, drzewo
Struktury danych: stos, kolejka, lista, drzewo Wykład: dane w strukturze, funkcje i rodzaje struktur, LIFO, last in first out, kolejka FIFO, first in first out, push, pop, size, empty, głowa, ogon, implementacja
Bardziej szczegółowoZofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1
Wykład Algorytmy grafowe metoda zachłanna. Właściwości algorytmu zachłannego:. W przeciwieństwie do metody programowania dynamicznego nie występuje etap dzielenia na mniejsze realizacje z wykorzystaniem
Bardziej szczegółowoWykład 7 i 8. Przeszukiwanie z adwersarzem. w oparciu o: S. Russel, P. Norvig. Artificial Intelligence. A Modern Approach
(4g) Wykład 7 i 8 w oparciu o: S. Russel, P. Norvig. Artificial Intelligence. A Modern Approach P. Kobylański Wprowadzenie do Sztucznej Inteligencji 177 / 226 (4g) gry optymalne decyzje w grach algorytm
Bardziej szczegółowoWykład 8. Drzewo rozpinające (minimum spanning tree)
Wykład 8 Drzewo rozpinające (minimum spanning tree) 1 Minimalne drzewo rozpinające - przegląd Definicja problemu Własności minimalnych drzew rozpinających Algorytm Kruskala Algorytm Prima Literatura Cormen,
Bardziej szczegółowoAlgorytmy i Struktury Danych
Algorytmy i Struktury Danych Kopce Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych Wykład 11 1 / 69 Plan wykładu
Bardziej szczegółowoAlgorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek
Algorytmy i str ruktury danych Metody algorytmiczne Bartman Jacek jbartman@univ.rzeszow.pl Metody algorytmiczne - wprowadzenia Znamy strukturę algorytmów Trudność tkwi natomiast w podaniu metod służących
Bardziej szczegółowoSztuczna Inteligencja i Systemy Doradcze
Sztuczna Inteligencja i Systemy Doradcze Przeszukiwanie przestrzeni stanów problemy z więzami Przeszukiwanie przestrzeni stanów problemy z więzami 1 Problemy z wiezami (CSP) Ogólnie: stan jest czarną skrzynką,
Bardziej szczegółowoOgólne wiadomości o grafach
Ogólne wiadomości o grafach Algorytmy i struktury danych Wykład 5. Rok akademicki: / Pojęcie grafu Graf zbiór wierzchołków połączonych za pomocą krawędzi. Podstawowe rodzaje grafów: grafy nieskierowane,
Bardziej szczegółowoPodstawy Sztucznej Inteligencji (PSZT)
Podstawy Sztucznej Inteligencji (PSZT) Paweł Wawrzyński Przeszukiwanie Przeszukiwanie przestrzeni stanów Motywacja Rozwiązywanie problemów: poszukiwanie sekwencji operacji prowadzącej do celu poszukiwanie
Bardziej szczegółowoWstęp do Programowania potok funkcyjny
Wstęp do Programowania potok funkcyjny Marcin Kubica 2010/2011 Outline 1 BFS DFS Algorytm Dijkstry Algorytm Floyda-Warshalla Podstawowe pojęcia Definition Graf = wierzchołki + krawędzie. Krawędzie muszą
Bardziej szczegółowoTwój wynik: 4 punktów na 6 możliwych do uzyskania (66,67 %).
Powrót Twój wynik: 4 punktów na 6 możliwych do uzyskania (6667 %). Nr Opcja Punkty Poprawna Odpowiedź Rozważmy algorytm AVLSequence postaci: 1 Niech drzewo będzie rezultatem działania algorytmu AVLSequence
Bardziej szczegółowoSID Wykład 4 Gry Wydział Matematyki, Informatyki i Mechaniki UW
SID Wykład 4 Gry Wydział Matematyki, Informatyki i Mechaniki UW slezak@mimuw.edu.pl Gry a problemy przeszukiwania Nieprzewidywalny przeciwnik rozwiazanie jest strategia specyfikujac a posunięcie dla każdej
Bardziej szczegółowoDrzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np.
Drzewa binarne Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0 i T 1 są drzewami binarnymi to T 0 T 1 jest drzewem binarnym Np. ( ) ( ( )) Wielkość drzewa
Bardziej szczegółowoStrategie przeszukiwania ślepe i heurystyczne
Strategie przeszukiwania ślepe i heurystyczne dr inż. Joanna Kołodziejczyk jkolodziejczyk@wi.ps.pl Zakład Sztucznej Inteligencji ISZiMM ESI - wykład 3 p. 1 Przeszukiwanie charakterystyka zadań problemsolving
Bardziej szczegółowoPlanowanie drogi robota, algorytm A*
Planowanie drogi robota, algorytm A* Karol Sydor 13 maja 2008 Założenia Uproszczenie przestrzeni Założenia Problem planowania trasy jest bardzo złożony i trudny. W celu uproszczenia problemu przyjmujemy
Bardziej szczegółowoLiteratura. 1) Pojęcia: złożoność czasowa, rząd funkcji. Aby wyznaczyć pesymistyczną złożoność czasową algorytmu należy:
Temat: Powtórzenie wiadomości z PODSTAW INFORMATYKI I: Pojęcia: złożoność czasowa algorytmu, rząd funkcji kosztu. Algorytmy. Metody programistyczne. Struktury danych. Literatura. A. V. Aho, J.E. Hopcroft,
Bardziej szczegółowoStruktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład. Prof. dr hab. inż. Jan Magott Algorytmy grafowe: podstawowe pojęcia, reprezentacja grafów, metody przeszukiwania, minimalne drzewa rozpinające, problemy
Bardziej szczegółowoElementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD V: Agent wciąż szuka rozwiązania (choć już nie na ślepo)
Elementy kognitywistyki II: Sztuczna inteligencja WYKŁAD V: Agent wciąż szuka rozwiązania (choć już nie na ślepo) Poprzednio: węzeł reprezentowany jest jako piątka: stan odpowiadający węzłowi rodzic węzła
Bardziej szczegółowo1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.
1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb. Algorytmy przeszukiwania w głąb i wszerz są najczęściej stosowanymi algorytmami przeszukiwania. Wykorzystuje się je do zbadania istnienia połączenie
Bardziej szczegółowoMetody getter https://www.python-course.eu/python3_object_oriented_programming.php 0_class http://interactivepython.org/runestone/static/pythonds/index.html https://www.cs.auckland.ac.nz/compsci105s1c/lectures/
Bardziej szczegółowowykład 2 Inteligentny agent i jego otoczenie Przeszukiwanie dla problem-solving dr inż. Joanna Kołodziejczyk Zakład Sztucznej Inteligencji ISZiMM
Inteligentny agent i jego otoczenie Przeszukiwanie dla problem-solving wykład 2 dr inż. Joanna Kołodziejczyk jkolodziejczyk@wi.ps.pl Zakład Sztucznej Inteligencji ISZiMM ESI - wykład 2 p. 1 Plan wykładu
Bardziej szczegółowoZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.
POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 204/205 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 2 : Drzewa BST c.d., równoważenie
Bardziej szczegółowoSortowanie. Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania:
Sortowanie Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania: podać strukturę danych dla elementów dynamicznego skończonego multi-zbioru S, względem którego są wykonywane następujące
Bardziej szczegółowoStruktury danych (I): kolejka, stos itp.
Letnie Warsztaty Matematyczno-Informatyczne Algorytmy i struktury danych Struktury danych (I): kolejka, stos itp. Struktury danych (I): kolejka, stos itp. Struktura danych stanowi sposób uporządkowania
Bardziej szczegółowoPodstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno
Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują
Bardziej szczegółowoAlgorytmy i Struktury Danych. Co dziś? Drzewo decyzyjne. Wykład IV Sortowania cd. Elementarne struktury danych
Algorytmy i Struktury Danych Wykład IV Sortowania cd. Elementarne struktury danych 1 Co dziś? Dolna granica sortowań Mediany i statystyki pozycyjne Warstwa implementacji Warstwa abstrakcji #tablice #listy
Bardziej szczegółowodr inż. Paweł Myszkowski Wykład nr 11 ( )
dr inż. Paweł Myszkowski Politechnika Białostocka Wydział Elektryczny Elektronika i Telekomunikacja, semestr II, studia stacjonarne I stopnia Rok akademicki 2015/2016 Wykład nr 11 (11.05.2016) Plan prezentacji:
Bardziej szczegółowoStos LIFO Last In First Out
Stos LIFO Last In First Out Operacje: push - dodanie elementu na stos pop - usunięcie elementu ze stosu empty - sprawdzenie, czy stos jest pusty size - zwrócenie liczby elementów na stosie value (peek)
Bardziej szczegółowoDrzewa poszukiwań binarnych
1 Drzewa poszukiwań binarnych Kacper Pawłowski Streszczenie W tej pracy przedstawię zagadnienia związane z drzewami poszukiwań binarnych. Przytoczę poszczególne operacje na tej strukturze danych oraz ich
Bardziej szczegółowoZadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.
Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy
Bardziej szczegółowoPostawienie problemu. Implementacja: stany vs. wezly. Implementacja: przeszukiwanie drzewa stanow. Przeszukiwanie drzewa stanow
Implementacja: stany vs. wezly Stan jest fizyczną konfiguracją (jej reprezentacją) Węzeł jest strukturą danych stanowiącą część drzewa przeszukiwań zawiera poprzednik (parent), następniki, głebokość (depth)
Bardziej szczegółowoLABORATORIUM 2: Przeszukiwanie grafów cz. 2 strategie heurystyczne
Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE LABORATORIUM 2: Przeszukiwanie grafów cz. 2 strategie heurystyczne
Bardziej szczegółowoTeoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 6a Model danych oparty na drzewach 1 Model danych oparty na drzewach Istnieje wiele sytuacji w których przetwarzane informacje mają strukturę hierarchiczną lub zagnieżdżoną,
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Stosy, kolejki, drzewa Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. VII Jesień 2013 1 / 25 Listy Lista jest uporządkowanym zbiorem elementów. W Pythonie
Bardziej szczegółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 03/0 Przeszukiwanie w głąb i wszerz I Przeszukiwanie metodą
Bardziej szczegółowoPrzykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.
Grafy Graf Graf (ang. graph) to zbiór wierzchołków (ang. vertices), które mogą być połączone krawędziami (ang. edges) w taki sposób, że każda krawędź kończy się i zaczyna w którymś z wierzchołków. Graf
Bardziej szczegółowoWstęp do programowania. Zastosowania stosów i kolejek. Piotr Chrząstowski-Wachtel
Wstęp do programowania Zastosowania stosów i kolejek Piotr Chrząstowski-Wachtel FIFO - LIFO Kolejki i stosy służą do przechowywania wartości zbiorów dynamicznych, czyli takich, które powstają przez dodawanie
Bardziej szczegółowoAlgorytmy grafowe. Wykład 2 Przeszukiwanie grafów. Tomasz Tyksiński CDV
Algorytmy grafowe Wykład 2 Przeszukiwanie grafów Tomasz Tyksiński CDV Rozkład materiału 1. Podstawowe pojęcia teorii grafów, reprezentacje komputerowe grafów 2. Przeszukiwanie grafów 3. Spójność grafu,
Bardziej szczegółowoWstęp do programowania. Listy. Piotr Chrząstowski-Wachtel
Wstęp do programowania Listy Piotr Chrząstowski-Wachtel Do czego stosujemy listy? Listy stosuje się wszędzie tam, gdzie występuje duży rozrzut w możliwym rozmiarze danych, np. w reprezentacji grafów jeśli
Bardziej szczegółowoGrafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:
Wykład 4 grafy Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, E zbiór krawędzi, Grafy dzielimy na grafy skierowane i nieskierowane: Formalnie, w grafach skierowanych E jest podzbiorem
Bardziej szczegółowoDrzewa podstawowe poj
Drzewa podstawowe poj ecia drzewo graf reprezentujacy regularna strukture wskaźnikowa, gdzie każdy element zawiera dwa lub wiecej wskaźników (ponumerowanych) do takich samych elementów; wez ly (albo wierzcho
Bardziej szczegółowoAlgorytmy i Struktury Danych
Algorytmy i Struktury Danych Drzewa poszukiwań binarnych dr hab. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 12 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych
Bardziej szczegółowoPrzeszukiwanie przestrzeni stanów. Wprowadzenie do Sztucznej Inteligencji. Podstawowe problemy teorii przeszukiwania przestrzeni stanów
Przeszukiwanie przestrzeni stanów Wprowadzenie do Sztucznej Inteligencji Wykład Informatyka Studia Inynierskie Przestrze stanów jest to czwórka uporzdkowana [N,, S, GD], gdzie: N jest zbiorem wierzchołków
Bardziej szczegółowoZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW
ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW RELACJE MIEDZY KLASAMI ZŁOŻONOŚCI Bartosz Zieliński Katedra Fizyki Teoretycznej i Informatyki Zima 2011-2012 KLASY ZŁOŻONOŚCI KLASE ZŁOŻONOŚCI OPISUJE SIE PODAJAC: Model
Bardziej szczegółowoPorównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki
Porównanie algorytmów wyszukiwania najkrótszych ścieżek między wierzchołkami grafu. Instytut Informatyki 22 listopada 2015 Algorytm DFS w głąb Algorytm przejścia/przeszukiwania w głąb (ang. Depth First
Bardziej szczegółowoWykład 10 Grafy, algorytmy grafowe
. Typy złożoności obliczeniowej Wykład Grafy, algorytmy grafowe Typ złożoności oznaczenie n Jedna operacja trwa µs 5 logarytmiczna lgn. s. s.7 s liniowa n. s.5 s. s Logarytmicznoliniowa nlgn. s.8 s.4 s
Bardziej szczegółowoGrafy i ich reprezentacja
Grafy i ich reprezentacja Podstawy Podstawowe pojęcia: Graf G(V,E) struktura danych składająca się z dwóch zbiorów V i E V = [v 1 v n ] wierzchołki (vertex) E =[e 1 e m ] krawędzie (edges) E = {(u,v):
Bardziej szczegółowoAlgorytmy i struktury danych. wykład 5
Plan wykładu: Wskaźniki. : listy, drzewa, kopce. Wskaźniki - wskaźniki Wskaźnik jest to liczba lub symbol który w ogólności wskazuje adres komórki pamięci. W językach wysokiego poziomu wskaźniki mogą również
Bardziej szczegółowoWykład 6. Drzewa poszukiwań binarnych (BST)
Wykład 6 Drzewa poszukiwań binarnych (BST) 1 O czym będziemy mówić Definicja Operacje na drzewach BST: Search Minimum, Maximum Predecessor, Successor Insert, Delete Struktura losowo budowanych drzew BST
Bardziej szczegółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Drzewa poszukiwań binarnych. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 10 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych.
Bardziej szczegółowoDrzewo. Drzewo uporządkowane ma ponumerowanych (oznaczonych) następników. Drzewo uporządkowane składa się z węzłów, które zawierają następujące pola:
Drzewa Drzewa Drzewo (ang. tree) zbiór węzłów powiązanych wskaźnikami, spójny i bez cykli. Drzewo posiada wyróżniony węzeł początkowy nazywany korzeniem (ang. root). Drzewo ukorzenione jest strukturą hierarchiczną.
Bardziej szczegółowoAlgorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne
Algorytmy i struktury danych Wykład VIII Elementarne techniki algorytmiczne Co dziś? Algorytmy zachłanne (greedyalgorithms) 2 Tytułem przypomnienia metoda dziel i zwyciężaj. Problem można podzielić na
Bardziej szczegółowoAlgorytmy dla gier dwuosobowych
Algorytmy dla gier dwuosobowych Wojciech Dudek Seminarium Nowości Komputerowe 5 czerwca 2008 Plan prezentacji Pojęcia wstępne (gry dwuosobowe, stan gry, drzewo gry) Algorytm MiniMax Funkcje oceniające
Bardziej szczegółowoListy, kolejki, stosy
Listy, kolejki, stosy abc Lista O Struktura danych składa się z węzłów, gdzie mamy informacje (dane) i wskaźniki do następnych węzłów. Zajmuje tyle miejsca w pamięci ile mamy węzłów O Gdzie można wykorzystać:
Bardziej szczegółowoDynamiczne struktury danych
Listy Zbiór dynamiczny Zbiór dynamiczny to zbiór wartości pochodzących z pewnego określonego uniwersum, którego zawartość zmienia się w trakcie działania programu. Elementy zbioru dynamicznego musimy co
Bardziej szczegółowoStruktury Danych i Złożoność Obliczeniowa
Struktury Danych i Złożoność Obliczeniowa Zajęcia 3 Struktury drzewiaste drzewo binarne szczególny przypadek drzewa, które jest szczególnym przypadkiem grafu skierowanego, stopień każdego wierzchołka jest
Bardziej szczegółowoAlgorytmiczna teoria grafów
Przedmiot fakultatywny 20h wykładu + 20h ćwiczeń 21 lutego 2014 Zasady zaliczenia 1 ćwiczenia (ocena): kolokwium, zadania programistyczne (implementacje algorytmów), praca na ćwiczeniach. 2 Wykład (egzamin)
Bardziej szczegółowoSztuczna inteligencja w programowaniu gier
ztuczna inteligencja w programowaniu gier Algorytmy przeszukiwania przestrzeni rozwiązań Krzysztof Ślot Wprowadzenie Ogólna charakterystyka zagadnienia Cel przeszukiwania: znaleźć element będący rozwiązaniem
Bardziej szczegółowoSortowanie topologiczne skierowanych grafów acyklicznych
Sortowanie topologiczne skierowanych grafów acyklicznych Metody boolowskie w informatyce Robert Sulkowski http://robert.brainusers.net 23 stycznia 2010 1 Definicja 1 (Cykl skierowany). Niech C = (V, A)
Bardziej szczegółowoAbstrakcyjne struktury danych - stos, lista, drzewo
Sprawozdanie Podstawy Informatyki Laboratoria Abstrakcyjne struktury danych - stos, lista, drzewo Maciej Tarkowski maciek@akom.pl grupa VII 1/8 1. Stos Stos (ang. Stack) jest podstawową liniową strukturą
Bardziej szczegółowoZadanie 1: Piętnastka
Informatyka, studia dzienne, inż. I st. semestr VI Sztuczna Inteligencja i Systemy Ekspertowe 2010/2011 Prowadzący: mgr Michał Pryczek piątek, 12:00 Data oddania: Ocena: Grzegorz Graczyk 150875 Marek Rogalski
Bardziej szczegółowoINFORMATYKA DANE.
INFORMATYKA DANE http://www.infoceram.agh.edu.pl DANE Dane to zbiory liczb, znaków, sygnałów, wykresów, tekstów, itp., które mogą być przetwarzane. Pojęcie danych jest relatywne i istnieje tylko razem
Bardziej szczegółowoStruktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott
Struktury danych i złozoność obliczeniowa Prof. dr hab. inż. Jan Magott Formy zajęć: Wykład 1 godz., Ćwiczenia 1 godz., Projekt 2 godz.. Adres strony z materiałami do wykładu: http://www.zio.iiar.pwr.wroc.pl/sdizo.html
Bardziej szczegółowoALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH Temat 4: Realizacje dynamicznych struktur danych. Wykładowca: dr inż. Zbigniew TARAPATA e-mail: Zbigniew.Tarapata@isi.wat.edu.pl http://www.tarapata.strefa.pl/p_algorytmy_i_struktury_danych/
Bardziej szczegółowoTeoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 6b: Model danych oparty na drzewach http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Model danych oparty na drzewach
Bardziej szczegółowoAlgorytmy i Struktury Danych
Algorytmy i Struktury Danych Drzewa poszukiwań binarnych dr hab. Bożena Woźna-Szcześniak Jan Długosz University, Poland Wykład 8 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych Wykład 8 1 /
Bardziej szczegółowoAlgorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski
Algorytmy i struktury danych Wykład 5: Drzewa Dr inż. Paweł Kasprowski pawel@kasprowski.pl Drzewa Struktury przechowywania danych podobne do list ale z innymi zasadami wskazywania następników Szczególny
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Sieci powiązań Paweł Daniluk Wydział Fizyki Jesień 2015 P. Daniluk (Wydział Fizyki) PO w. IX Jesień 2015 1 / 21 Sieci powiązań Można (bardzo zgrubnie) wyróżnić dwa rodzaje powiązań
Bardziej szczegółowo