Heurystyczne przeszukiwanie przestrzeni stanów
|
|
- Justyna Przybylska
- 5 lat temu
- Przeglądów:
Transkrypt
1 Heurystyczne przeszukiwanie przestrzeni stanów Wykład Informatyka Studia InŜynierskie Realizacja przeszukiwania heurystycznego Systemy eksperckie Gdy problem nie posiada dokładnego rozwiązania zania ze względu na swoją charakterystykę: * niejednoznaczność zadania (jaki jest cel, który mamy osiągn gnąć?) * nieprecyzyjne lub niepewne dane (błę łędy w danych) * brak wszystkich niezbędnych danych (niepełne ne dane) Algorytmy przeszukiwania z numeryczną funkcją oceny stanu Gdy istnieją dokładne rozwiązania, zania, ale wymagania zasobowe (pamięć ęć,, czas) sąs zbyt duŝe e (kombinatoryczna eksplozja stanów w w problemach rzeczywistych!)
2 Podstawowe pojęcia teorii grafów przeszukiwania Korzeń grafu Stan, od którego zaczynamy przeszukiwanie grafu (drzewa) początkowy stan problemu (instancja problemu) Wierzchołek ek końcowy (terminalny) Stan, który ma określon loną wartość oceny z punktu widzenia wyniku danego zadania (np. poraŝka, zwycięstwo, remis w grze) Liść Dowolny stan w grafie, w którym zatrzymujemy proces przeszukiwania i przypisujemy mu ocenę heurystyczną Wierzchołek ek wewnętrzny KaŜdy inny stan, którego wartość oceny zaleŝy y od jego poprzedników w lub następnik pników Podstawowe pojęcia teorii grafów przeszukiwania c.d. Głębokość przeszukiwania (aktualna) Liczba przejść stanów w (ruchów) od korzenia grafu do stanu aktualnego Branching factor Średnia liczba następnik pników w stanu (śr.(. liczba ruchów w w stanie) Drzewa przeszukiwania/dag Większo kszość grafów w przeszukiwania to DAG (acykliczne grafy skierowane), część z nich to drzewa 2
3 Podstawowe pojęcia Korzeń Branching factor Generowanie następnik pników Wierzchołek ek wewnętrzny Stan Głębokość przeszukiwania Stan końcowy Ocena heurystyczna (liść ść) Heurystyczne przeszukiwanie Połą łączenie wiedzy przedmiotowej dotyczącej cej danego zadania i metod przeszukiwania dla efektywnego poszukiwania rozwiązania zania Stosowane w celu ograniczenie kombinatorycznej eksplozji stanów w w grafie przeszukiwania Nie gwarantuje znalezienia rozwiązania, zania, pozwala jednak wybierać lub odrzucać pewne stany, określaj lając c tym samym dalsze kierunki przeszukiwania
4 Rola heurystyki w przeszukiwaniu Zwiększa niepewność otrzymania wyniku w procesie konstrukcji rozwiązania zania ze względu na wykorzystywanie nieformalnej wiedzy przedmiotowej (zasady, reguły, intuicje itp.), której słuszność/uŝyteczność nie do końca jest znana Pozwala w naturalny sposób b wykorzystywać informacje niepewne i nieprecyzyjne, które często towarzyszą przetwarzaniu danych pochodzących cych ze świata rzeczywistego Poprawia efektywność algorytmu poszukiwania rozwiązania zania danego problemu bezpośrednio (przez wskazywanie najlepszych kierunków w przeszukiwania) lub pośrednio (przez eliminowanie najmniej obiecujących cych kierunków) Gdzie stosujemy przeszukiwanie heurystyczne? Problemy jednoosobowe (np.zagadki logiczne: arytmografy, labirynty, itp.) Problemy optymalizacji (np. nawigacja robota, znajdowanie najkrótszej ścieŝki, szeregowanie, harmonogramowanie itd.) Gry dwuosobowe Systemy automatycznego dowodzenia twierdzeń Systemy planowania działań
5 Przykład zastosowania heurystyki Ruch najlepszy wg heurystyki Rozmiary przestrzeni: Pełna - 9! Symetria i powtórzenia - 2 7! Heurystyka -. 9 Algorytmy przeszukiwania heurystycznego Problemy jednoosobowe Algorytm wspinaczkowy Algorytm Best-first first-searchsearch Algorytm A * Algorytm IDA * Algorytm RBFS Gry dwuosobowe Algorytm min-max max Algorytm alfa-beta
6 Składowe algorytmów w przeszukiwania heurystycznego Reprezentacja stanu przestrzeni (silnie zaleŝna od zastosowania) Stany startowe (początkowe, inicjujące) ce) Stany końcowe (terminalne) Generator następnik pników w stanu (zbiór r dopuszczalnych operatorów/akcji/ruch w/akcji/ruchów) w) Procedura przeszukiwania Mechanizm wyboru następnego wierzchołka w grafie Mechanizm nawrotów Mechanizmy wykrywania cykli Funkcja heurystycznej oceny stanu Algorytm wspinaczkowy (ang. hill climbing) procedure hill_climbing(initial_state initial_state) begin current_node = initial_state; next = []; if current_node = goal then return(success); while true do begin generate all children of current_node; if any of children is a goal state then return(success); assign heuristic value to each child state; set next to a lowest-valued child of current_node; if value of next > value of current_node then return(success); % stop! - no improvements set current_node to next; end; % while end.
7 Algorytm wspinaczkowy - przykład A- B- C- D- E F G H I J K L M N O P Q R S T U Algorytm wspinaczkowy - przykład A- B- C- D- E- F- G H I J K L M N O P Q R S T U 7
8 Algorytm wspinaczkowy - przykład A- B- C- D- E- F- G H I J K- L- M N O P Q R S T U Algorytm wspinaczkowy - przykład A- B- C- D- E- F- G H I J K- L- M N O P Q R S T-2 U 8
9 Algorytm wspinaczkowy - przykład A- B- C- D- E- F- G H I J K- L- M N O P Q R S T-2 U koniec! Algorytm wspinaczkowy: charakterystyka Cechy szczególne Ocena heurystyczna stanu z reguły y traktowana jako koszt Małe e wymagania pamięciowe (brak historii!) Brak mechanizmu nawrotów Nieoptymalny? Wady Lokalne ekstrema funkcji Plateaux - brak postępu pu w przeszukiwaniu Grzbiety funkcji powolny postęp p w przeszukiwaniu 9
10 Algorytm wspinaczkowy: metody poprawy Nawroty do poprzednich stanów w i próba wykorzystania innych, niemal równie r dobrych, następnik pników w jak ten pierwotnie wybrany (trzeba zarezerwować dodatkową pamięć ęć!) Wykonywanie "duŝych skoków" tzn. wybieranie operatorów, które wprowadzają ogromne zmiany stanu problemu lub, jeśli brak takowych, wykonywanie kilku drobnych kroków w "pod rząd" w jednym wybranym kierunku przestrzeni stanów Wykonywanie kilku kroków w w róŝnych r kierunkach, ale bez sprawdzania wartości osiąganych stanów RóŜne punkty startowe (stany początkowe) algorytmu Algorytm best-first first-searchsearch (zachłanny) anny) procedure best_first_search( _first_search(initial_state) begin open = [initial_state[ initial_state]; closed = []; while open [] do begin remove the leftmost state from open,, call it X; if X is goal state then return(success); generate all children of X; put X on closed; eliminate any children of X already on either open or closed, as this will cause loops in the search; assign heuristic value to the child state; add the child state to open; re-order states on open according to heuristic merit (lower( values first); end end.
11 Algorytm Best-first search - przykład A B C D E F G H I J K L M N O P Q R Open Closed B- Ocena stanu S T U Algorytm Best-first search - przykład A B- C- D- E F G H I J K L M N O P Q R Open Closed B- Ocena stanu S T U
12 Algorytm Best-first search - przykład A B- C- D- E- F- G H I J K L M N O P Q R Open Closed B- Ocena stanu S T U Algorytm Best-first search - przykład A B- C- D- E- F- G H I J K- L- M N O P Q R Open Closed B- Ocena stanu S T U 2
13 Algorytm Best-first search - przykład A B- C- D- E- F- G H I J K- L- M N O P Q R Open Closed B- Ocena stanu S T-2 U Algorytm Best-first search - przykład A B- C- D- E- F- G H I J K- L- M N O P Q R Open Closed B- Ocena stanu S T-2 U
14 Algorytm Best-first search - przykład A B- C- D- E- F- G H I J K- L- M- N O P Q R Open Closed B- Ocena stanu S T-2 U Algorytm Best-first search - przykład A B- C- D- E- F- G H I J K- L- M- N O P Q R Open Closed B- Ocena stanu S T-2 U
15 Algorytm Best-first search - przykład A B- C- D- E- F- G- H- I J K- L- M- N O P Q R Open Closed B- Ocena stanu S T-2 U Algorytm Best-first search - przykład A B- C- D- E- F- G- H- I J K- L- M- N O-2 P- Q R Open Closed B- Ocena stanu S T-2 U
16 Algorytm Best-first search - przykład A B- C- D- E- F- G- H- I J K- L- M- N O-2 P- Q R Open Closed B- Ocena stanu S T-2 U Algorytm Best-first search - przykład A B- C- D- E- F- G- H- I J K- L- M- N O-2 P- Q R Open Closed B- Ocena stanu S T-2 U- Po wybraniu z listy Open będzie koniec!
17 Algorytm Best-first first-search: : charakterystyka Cechy szczególne Mechanizm nawrotów lista OPEN Historia ruchów wykrywanie cykli lista OPEN i CLOSED Wielokierunkowe przeszukiwanie przestrzeni Im lepsza ocena heurystyczna stanów, tym mniejszy obszar przeszukiwania Wady DuŜe e wymagania pamięciowe (złoŝono oność pamięciowa O(b d ), b branching factor, d głębokość przeszukiwania) Nieoptymalny (w ogólnym przypadku, ale...) Algorytm Best-fist fist-searchsearch - przykład Ocena heurystyczna: : liczba płytek (elementów) poza swoim połoŝeniem docelowym cel 7
18 Ocena heurystyczna jaka? Proponowana heurystyczna ocena Próba : Liczba płytek p poza pozycjami docelowymi Wada: Nie uwzględnia jak daleko jest kaŝda płytka od miejsca docelowego Próba 2: Suma odległości wszystkich płytek p od miejsca docelowego Wada: Ignoruje fakt (podobnie jak poprzednia heurystyka), Ŝe e prosta zamiana miejscami dwóch płytek to więcej niŝ dwa ruchy Próba : Liczba odwróconych par płytek p pomnoŝona ona przez mały y współczynnik (np. 2) Wada: Nie uwzględnia sekwencji ruchów Funkcja oceny heurystycznej - definicja Funkcją oceny heurystycznej nazywamy funkcję rzeczywistą określon loną na zbiorze wierzchołków w grafu przestrzeni stanów postaci: f(n) ) = g(n) ) + h(n), gdzie: g(n) jest aktualną długość ścieŝki od stanu n do stanu początkowego, h(n) jest heurystycznym oszacowaniem odległości od stanu n do celu. 8
19 Przykład zastosowania funkcji oceny heurystycznej OPEN CLOSED Stan b f(b) ) = Stan a f(a) ) = Stan c f(c) ) = Stan d f(d) ) = g(n) = 0 g(n) = Stan e f(e) ) = Stan f f(f) ) = Stan g f(g) ) = g(n) = Stan h f(h) ) = Stan i f(i) ) = Stan j f(j) ) = Stan k f(k) ) =7 g(n) = f(n) ) = g(n) ) + h(n), gdzie: g(n) ) rzeczywista odległość od startu do stanu n, h(n) ) liczba płytek p (elementów) poza swoim połoŝeniem docelowym cel Stan m f(m) ) = Stan l f(l) ) = Stan n f(n) ) =7 g(n) = g(n) = Funkcja oceny heurystycznej a algorytm Best-first first-searchsearch Niech dany będzie b algorytm Best-first first-searchsearch z oceną heurystyczną postaci: f(n) ) = g(n) ) + h(n), jeŝeli eli dla kaŝdego stanu g(n) ) = 0 to otrzymujemy tzw. przeszukiwanie zachłanne anne (brak gwarancji znalezienia optymalnego rozwiązania) zania) jeŝeli eli dla kaŝdego stanu h(n) ) = 0 i g(n) ) = depth(n) to mamy przeszukiwanie wszerz (moŝliwe znalezienie optymalnego rozwiązania) zania) 9
20 Algorytm BFS z ogóln lną funkcją () procedure Astar_search(initial_state) begin open = [initial_state]; closed = []; while open [] do begin remove the next state from open,, call it X; if X is a goal state then return(solution path that led to X); process X,, generating all its children; for each child of X do case the child is not already on open nor closed:... the child is already on open:... the child is already on closed:... end; %case put X on closed; re-order states on open according to heuristic merit (lower( values first); end; % while return(failure); % open is exhausted end Algorytm BFS z ogóln lną funkcją (2) case the child is not already on open or closed: begin assign heuristic value to the child state; add the child state to open; end; the child is already on open: begin if the child was reached along shorter path than the state currently on open then give the state on open this shorter path value; end; the child is already on closed: begin if the child was reached along shorter path than the state currently on closed then begin give the state on closed this shorter path value; move the state from closed to open; end end; end; %case 20
21 Algorytm A - przykład A B- C- D- E- F- G- H- I- J- K-2 L-2 M-2 N- O-2 P-2 Q- R-2 S- T- U Open Closed koszt operacji B- Ocena stanu Algorytm A - przykład A B- C- D- E- F- G- H- I- J- K-2 L-2 M-2 N- O-2 P-2 Q- R-2 S- T- U Open Closed koszt operacji B- Ocena stanu 2
22 Algorytm A - przykład A B- C- D- E- F- G- H- I- J- K-2 L-2 M-2 N- O-2 P-2 Q- R-2 S- T- U Open Closed koszt operacji B- Ocena stanu Algorytm A - przykład A B- C- D- E- F- G- H- I- J- K-2 L-2 M-2 N- O-2 P-2 Q- R-2 S- T- U Open Closed koszt operacji B- Ocena stanu 22
23 Algorytm A - przykład A B- C- D- E- F- G- H- I- J- K-2 L-2 M-2 N- O-2 2 P-2 Q- R-2 S- T- U Open Closed koszt operacji B- Ocena stanu Algorytm A - przykład A B- C- D- E- F- G- H- I- J- K-2 L-2 M-2 N- O-2 2 P-2 Q- R-2 S- T- U Open Closed koszt operacji B- Ocena stanu 2
24 Algorytm A - przykład A B- C- D- E- F- G- H- I- J- K-2 L-2 M-2 N- O-2 P-2 Q- R-2 S- T- U Open Closed koszt operacji B- Ocena stanu Algorytm A - przykład A B- C- D- E- F- G- H- I- J- K-2 L-2 M-2 N- O-2 P-2 Q- R-2 S- T- U Open Closed koszt operacji B- Ocena stanu 2
25 Algorytm A - przykład A B- C- D- E- F- G- H- I- J- K-2 L-2 2 M-2 N- O-2 P-2 Q- R-2 S- T- U Open Closed koszt operacji B- Ocena stanu Algorytm A - przykład S- A B- C- D- E- F- G- H- I- J- K-2 L-2 M-2 T N- O-2 P-2 Q- R-2 2 U-0 Open Closed koszt operacji B- Ocena stanu 2
26 Algorytm A - przykład A B- C- D- E- F- G- H- I- J- K-2 L-2 M-2 N- O-2 P-2 Q- R-2 S- T- U Open Closed koszt operacji B- Ocena stanu Algorytm A - przykład A B- C- D- E- F- G- H- I- J- K-2 L-2 M-2 N- O-2 P-2 Q- R-2 S- T- U Open Closed koszt operacji B- Ocena stanu 2
27 Algorytm A - przykład S- A B- C- D- E- F- G- H- I- J- K-2 L-2 M-2 T- 7 2 N- O-2 P-2 Q- R-2 U-0 prawie koniec ;-); Open Closed koszt operacji B- Ocena stanu Teoretyczne własnow asności heurystyk a procedura przeszukiwania Czy algorytm znajduje najkrótsz tszą ścieŝkę do celu? Dopuszczalność heurystyki (ang. admissibility) Czy kaŝdy stan w przestrzeni jest osiągany przy najniŝszym koszcie? Monotoniczność heurystyki (ang. monotonicity) Czy moŝna szybciej znaleźć rozwiązanie zanie przy pomocy innej (lepszej) heurystyki? Informatywność heurystyki (ang. informedness) 27
28 Teoretyczne własnow asności heurystyk: idealna funkcja oceny heurystycznej Przyjmijmy następuj pujące oznaczenia: g * (n) koszt najkrótszej ścieŝki od stanu początkowego do stanu n, h * (n) jest rzeczywistym kosztem przejścia najkrótsz tszą ścieŝką od stanu n do celu, f * (n) rzeczywisty koszt optymalnej ścieŝki prowadzącej od stanu początkowego przez stan n do celu (tj. f * (n)= g * (n)+ h * (n)), Funkcja f * (n) to idealna wyrocznia - jej istnienie eliminowałoby oby potrzebę przeszukiwania! W trakcie przeszukiwania z reguły g(n) g * (n),, dopóki nie odkryjemy najkrótszej ścieŝki do n,, wtedy g(n) ) = g * (n). Nie jesteśmy w stanie podać wartości h * (n) przed zakończeniem przeszukiwania, dlatego stosujemy jego oszacowanie, czyli h(n). Dopuszczalność (ang. admissibility) Definicja Algorytm przeszukiwania jest dopuszczalny,, jeŝeli eli dla dowolnego grafu zawsze kończy się na optymalnej ścieŝce ce do rozwiązania, zania, o ile taka ścieŝka istnieje. Przykład Algorytm przeszukiwania wszerz 28
29 Algorytm A * Definicja JeŜeli eli algorytm A wykorzystuje funkcję oceny taką, Ŝe h(n) ) jest mniejsze lub równe r kosztowi minimalnej ścieŝki od wierzchołka n do celu (tj. h(n) h * (n)), to otrzymany w ten sposób b algorytm nazywa się algorytmem A *. Twierdzenie Wszystkie algorytmy A * są dopuszczalne. Niedoszacowanie wartości oceny heurystycznej A f = (h ( + g) n g(n)= depth(n) 2 B (+) (+) C D (+) E (+2) G F (2+) (+) ZaniŜenie wartości, tzn. h < h * H (+) X goal 29
30 Przeszacowanie wartości oceny heurystycznej A f = (h ( + g) n g(n)= depth(n) 2 B (+) (+) C D (+) E (2+2) F (+) G (0+) X goal ZawyŜenie wartości, tzn. h > h * Monotoniczność (ang. monotonicity) Funkcja oceny heurystycznej f jest monotoniczna,, gdy: dla dowolnych stanów s i oraz s j, gdzie s j jest następnikiem s i zachodzi: h(s i ) - h(s j ) cost(s i, s j ) gdzie cost(s i, s j ) jest rzeczywistym kosztem (w liczbie ruchów) przejścia od stanu s i do s j, i oszacowanie heurystyczne stanu docelowego jest równe r zero h(goal) ) = 0 0
31 Monotoniczność ść,, czyli spójno jność heurystyki Monotoniczność to tzw. lokalna dopuszczalność ść,, która oznacza, iŝi kaŝdy stan (a nie tylko stany docelowe) osiągany jest po najkrótszej ścieŝce. ce. Monotoniczność oznacza równier wnieŝ, Ŝe e heurystyka jest spójna w całej przeszukiwanej przestrzeni. s i h(s i ) s i cost(s i, s j ) s j h(s j ) h(s i ) - h(s j ) cost(s i, s j ) h(s i ) cost(s i, s j ) + h(s j ) goal goal Monotoniczność ść,, czyli spójno jność heurystyki Heurystyka jest monotoniczna (inaczej: lokalnie dopuszczalna) jeŝeli eli dla kaŝdego stanu s i, kaŝdy jego następnik s j generowany przez akcję a,, która spełnia warunek: h(s i ) cost(s i, a, s j ) + h(s j ) h(s i ) s i goal cost(s i,a,s j ) s j h(s j ) Nierówno wność trójk jkątów!!! Jeśli h jest monotoniczna, to: f (s j ) = g(s j ) + h(s j ) = g(s i ) + cost(s i,a,s j ) + h(s j ) g(s i ) + h(s i ) = f(s i ) f (s j ) f(s i ) tzn. f(s k ) nigdy nie maleje podczas przeszukiwania!
32 Czy monotoniczny to równier wnieŝ dopuszczalny? RozwaŜmy dowolną ścieŝkę w przestrzeni stanów s, s 2,..., s g, prowadzącą od stanu początkowego s do stanu końcowego s g. Dla dowolnego ciągu ruchów w na tej ścieŝce ce zachodzi: od s do s 2 h(s ) - h(s 2 ) cost(s, s 2 ) od s 2 do s h(s 2 ) - h(s ) cost(s 2, s ) od s do s h(s ) - h(s ) cost(s, s ) od s g- do s g h(s g- ) - h(s g ) cost(s g-, s g ) dodając c obustronnie stronami otrzymujemy: ścieŝka od s do s g h(s ) - h(s g ) cost(s, s g ). Na podstawie własnow asności monotoniczności ci wiemy, Ŝe h(s g ) = 0,, więc: h(s ) cost(s, s g ). PoniewaŜ cost(s, s g ) = h * (s ), to h(s ) h * (s ), czyli heurystyka monotoniczna jest dopuszczalna. Jak uzyskać monotoniczność ść? JeŜeli eli funkcja oceny heurystycznej f nie jest monotoniczna,, ale jest dopuszczalna, zawsze moŝliwe jest zapewnienie monotoniczności ci za pomocą tzw. reguły y PATHMAX. Reguła a PATHMAX Jeśli dla dowolnych stanów s i oraz s j, gdzie s j jest następnikiem s i zachodzi: f(s i ) > f(s j ), to nową wartość funkcji oceny dla s j naleŝy y wyznaczyć według zaleŝno ności: f(s j ) = max( f(s i ), g(s j ) + h(s j ) ) 2
33 Jakie korzyści przynosi monotoniczność ść? procedure MonotonicBFS(initial_state (initial_state) begin open = [initial_state]; closed = []; while open [] do begin remove the next state from open,, not already on closed,c,call it X; if X is a goal state then return(solution path that led to X); process X,, generating all its children; for each child of X do begin assign heuristic value to the child state; add the child state to open;!!! end; put X on closed; re-order states on open according to monotonic heuristic merit (lower values first); end; % while return(failure); % open is exhausted end. Informatywność (ang. informedness) Dla dwóch heurystyk h i h 2 typu A *, jeŝeli eli h (n) h 2 (n),, dla dowolnego stanu n w przeszukiwanej przestrzeni, to o h 2 mówi się, Ŝe e zawiera więcej informacji niŝ h (jest lepiej poinformowana). JeŜeli eli heurystyka h 2 jest lepiej poinformowana niŝ h, to zbiór r stanów w odwiedzanych przez h 2 jest podzbiorem stanów odwiedzanych przez h. h h 2 h h 2 h *
34 NajwaŜniejsze twierdzenia dot. algorytmu A * JeŜeli eli oszacowanie h(n) ) jest dopuszczalne,, to algorytm A* jest optymalny dla drzew przeszukiwania JeŜeli eli oszacowanie h(n) ) jest monotoniczne,, to algorytm A* jest optymalny dla dowolnych grafów przeszukiwania JeŜeli eli heurystyka jest monotoniczna,, to jest równier wnieŝ dopuszczalna JeŜeli eli oszacowanie h(n) ) jest monotoniczne,, to wartości f(n) ) w trakcie przeszukiwania nigdy nie maleją Funkcje heurystyczne - jak definiować? Uproszczenie oryginalnego zadania poprzez rozluźnienie ograniczeń nałoŝonych onych na definicję operatorów w ruchu (generację następnika) Koszt optymalnego rozwiązania zania dla tak uproszczonego problemu jest dopuszczalną heurystyką zadania oryginalnego! Przykłady dla układanki 8-polowej8. JeŜeli eli załoŝymy, Ŝe e moŝna dokonywać przesunięć płytkami na dowolne miejsce (a nie tylko puste), to znajdziemy najkrótsze rozwiązanie zanie - taka heurystyka jest dopuszczalna. 2. JeŜeli eli załoŝymy, Ŝe e moŝna dokonywać przesunięć płytkami na dowolne ortogonalnie sąsiednie s siednie pole (a nie tylko puste), to znajdziemy najkrótsze rozwiązanie zanie - tak heurystyka jest równier wnieŝ dopuszczalna.
35 IDA * - algorytm A * z iteracyjnym pogłę łębianiem Przeszukiwanie z ograniczoną zajęto tością pamięci Schemat iteracyjnego pogłę łębiania Limit dopuszczalnej głęg łębokości zastąpiony przez limit wartości funkcji oceny heurystycznej Algorytm IDA * - cz. procedure IDA * -Search( Search(initial_state) begin f_limit f(initial_state initial_state); while true do begin (solution, f_limit ) DFS-Contour( Contour(initial_state, f_limit); if solution null then return(solution solution); if f_limit = then return(failure failure); f_limit f_limit ; end; end.
36 Algorytm IDA * - cz.2 function DFS-Contour( Contour(current_state, f_limit) begin next_f ; if f(current_state) ) > f_limit then return(null, f(current_state)); if current_state is a goal then return(current_state current_state, f_limit); while current_state has unexamined children do begin child := next unexamined child of current_state; (solution, new_f) DFS-Contour( Contour(child, f_limit); if solution null then return(current_state current_state+solution, f_limit); next_f min( min(next_f, new_f ); end return(null, next_f); end. Algorytm IDA * - przykład f_limit=?
37 Algorytm IDA * - przykład f_limit= B- Algorytm IDA * - przykład f_limit= E- B- 7
38 Algorytm IDA * - przykład f_limit= B- E- F- Algorytm IDA * - przykład B- C- f_limit= E- F- 8
39 Algorytm IDA * - przykład B- C- f_limit= E- F- G- Algorytm IDA * - przykład B- C- f_limit= E- F- G- H- 9
40 Algorytm IDA * - przykład B- C- D- 2 f_limit= E- F- G- H- Algorytm IDA * - przykład f_limit= 0
41 Algorytm IDA * - przykład f_limit= B- Algorytm IDA * - przykład f_limit= E- B-
42 Algorytm IDA * - przykład f_limit= B- E- F- Algorytm IDA * - przykład B- C- f_limit= E- F- 2
43 Algorytm IDA * - przykład B- C- f_limit= E- F- G- Algorytm IDA * - przykład B- C- f_limit= E- F- G- H-
44 Algorytm IDA * - przykład B- C- f_limit= E- F- G- H- 2 O-2 2 Algorytm IDA * - przykład B- C- f_limit= E- F- G- H- 2 O-22 P-2 2
45 Algorytm IDA * - przykład B- C- D- 2 f_limit= E- F- G- H- 2 O-22 P-2 2 Algorytm IDA * - przykład f_limit=2
46 Algorytm IDA * - przykład f_limit=2 B- Algorytm IDA * - przykład f_limit=2 E- B-
47 Algorytm IDA * - przykład f_limit=2 B- E- F- Algorytm IDA * - przykład B- C- f_limit=2 E- F- 7
48 Algorytm IDA * - przykład B- C- f_limit=2 E- F- G- Algorytm IDA * - przykład B- C- f_limit=2 E- F- G- H- 8
49 Algorytm IDA * - przykład B- C- f_limit=2 E- F- G- H- 2 O-2 2 Algorytm IDA * - przykład B- C- f_limit=2 E- F- G- H- 2 O-22 P-2 2 9
50 Algorytm IDA * - przykład B- C- D- 2 f_limit=2 E- F- G- H- 2 O-22 P-2 2 Algorytm IDA * - przykład B- C- D- 2 f_limit=2 E- F- G- H- I- 2 O-22 P-2 2 0
51 Algorytm IDA * - przykład B- C- D- 7 2 f_limit=2 E- F- G- H- I- J- 2 O-22 P-2 2 Algorytm IDA * - przykład f_limit=
52 Algorytm IDA * - przykład f_limit= B- Algorytm IDA * - przykład f_limit= E- B- 2
53 Algorytm IDA * - przykład f_limit= K-2 E- B- Algorytm IDA * - przykład f_limit= E- K-2L-2 B-
54 Algorytm IDA * - przykład f_limit= K-2L-2 B- E- F- Algorytm IDA * - przykład f_limit= B- E- F- 2 K-2 L-2 L-2
55 Algorytm IDA * - przykład f_limit= B- E- F- 2 K-2 L-2 L-2 T- Algorytm IDA * - przykład f_limit= B- E- F- 2 K-2 L-2 L-2 M-2 T-
56 Algorytm IDA * - przykład B- C- f_limit= E- F- 2 K-2 L-2 L-2 M-2 T- Algorytm IDA * - przykład B- C- f_limit= E- F- G- 2 K-2 L-2 L-2 M-2 T-
57 Algorytm IDA * - przykład B- C- f_limit= E- F- G- 2 K-2 L-2 L-2 M-2 N- T- Algorytm IDA * - przykład B- C- f_limit= E- F- G- H- 2 K-2 L-2 L-2 M-2 N- T- 7
58 Algorytm IDA * - przykład B- C- f_limit= E- F- G- H- 2 K-2 L-2 L-2 M-2 N- T- 2 O-2 2 Algorytm IDA * - przykład B- C- f_limit= E- F- G- H- 2 K-2 L-2 L-2 M-2 N- O-2 T- 2 2 P-2 8
59 Algorytm IDA * - przykład B- C- f_limit= E- F- G- H- 2 K-2 L-2 L-2 M-2 N- 2 O-2 2 P-2 T- U-0 Algorytm IDA * - przykład B- C- D- 2 f_limit= E- F- G- H- 2 K-2 L-2 L-2 M-2 N- 2 O-2 2 P-2 T- U-0 9
60 Algorytm IDA * - przykład B- C- D- 2 f_limit= E- F- G- H- 2 K-2 L-2 L-2 M-2 N- 2 I- O-2 2 P-2 T- U-0 Algorytm IDA * - przykład B- C- D- 7 2 f_limit= E- F- G- H- 2 K-2 L-2 L-2 M-2 N- 2 I- J- O-2 2 P-2 T- U-0 0
61 Algorytm IDA * - przykład f_limit= Algorytm IDA * - przykład f_limit= B-
62 Algorytm IDA * - przykład f_limit= E- B- Algorytm IDA * - przykład f_limit= K-2 E- B- 2
63 Algorytm IDA * - przykład f_limit= E- K-2L-2 B- Algorytm IDA * - przykład f_limit= E- K-2L-2 B- T-
64 Algorytm IDA * - przykład f_limit= K-2L-2 B- E- F- T- Algorytm IDA * - przykład f_limit= B- E- F- 2 K-2 L-2 L-2 T-
65 Algorytm IDA * - przykład f_limit= B- E- F- 2 K-2 L-2 L-2 T- T- Algorytm IDA * - przykład f_limit= B- E- F- 2 K-2 L-2 L-2 M-2 T- T-
66 Algorytm IDA * - przykład B- C- f_limit= E- F- 2 K-2 L-2 L-2 M-2 T- T- Algorytm IDA * - przykład B- C- f_limit= E- F- G- 2 K-2 L-2 L-2 M-2 T- T-
67 Algorytm IDA * - przykład B- C- f_limit= E- F- G- 2 K-2 L-2 L-2 M-2 N- T- T- Algorytm IDA * - przykład B- C- f_limit= E- F- G- H- 2 K-2 L-2 L-2 M-2 N- T- T- 7
68 Algorytm IDA * - przykład B- C- f_limit= E- F- G- H- 2 K-2 L-2 L-2 M-2 N- T- T- 2 O-2 2 Algorytm IDA * - przykład B- C- f_limit= E- F- G- H- 2 K-2 L-2 L-2 M-2 N- O-2 T- T- 2 2 P-2 8
69 Algorytm IDA * - przykład B- C- f_limit= E- F- G- H- 2 K-2 L-2 L-2 M-2 N- 2 O-2 2 P-2 T- T- U-0 koniec! Algorytm IDA * : charakterystyka Cechy szczególne Brak historii nie ma list OPEN i CLOSED NiŜsze wymagania pamięciowe niŝ A * - proporcjonalne do najdłuŝszej badanej ścieŝki - O(d) Limit wartości f w następnej iteracji jest najmniejszą wartości cią spośród d wszystkich tych ocen, które przekroczyły y aktualny limit sukcesywnie powiększany obszar przeszukiwania śadna ścieŝka w trakcie przeszukiwania nie moŝe e mieć kosztu o wartości, która byłaby między dwoma kolejnymi limitami na wartość f Optymalny i pełny dla tych samych warunków w co algorytm A * Wady W grafach DAG wielokrotnie moŝe e docierać do tego samego stanu róŝnymi r ścieŝkami Słabe wykorzystanie pamięci: kiedy ocena heurystyczna dla kaŝdego stanu jest inna, to liczba nowych stanów, którego zostaną objęte przeszukiwaniem w kolejnej iteracji wynosi dokładnie (dla N róŝnych r stanów w konieczne będzie b wykonanie N iteracji!!!) 9
70 Mechanizm przeszukiwania algorytmu IDA * Tylko dla monotonicznego oszacowania h(n) zachowuje się jak algorytm Best-First Search W grafach z cyklami gdy f(n)=h(n) moŝe e wpadać w pętle, p jeŝeli eli maksymalna ocena wierzchołka jest mniejsza od aktualnej wartości limitu pogłę łębiania (konieczne sprawdzanie cykli na ścieŝce) ce) IDA*: niemonotoniczna oszacowanie heurystyczne f_limit= Algorytm Best-First First-Search Algorytm IDA* Dla stanów w z wartości cią oceny f_limit algorytm IDA* ignoruje te oceny i przeszukuje strategią Depth-first Kolejność odwiedzin ocena stanu 70
71 Algorytm RBFS function RBFS(current_state current_state, f_limit): solution, new_f-limit begin if current_state is a goal then return(current_state current_state, current_state.f); successors [] for all unexamined children of current_state do add child into successors; if successors is empty then return(null, ); for each s in successors do s.f max(s.g + s.h, current_state.f); repeat re-order nodes in successors according to f-value; best the the lowest f-value node in successors; if best.f > f_limit then return(null null, best.f); alternative the second-lowest f-value node in successors; (solution, best.f ) RBFS( FS(best, min( f_limit, alternative.f ));); until solution null; return(current_state current_state+solution, best.f ); end. Algorytm RBFS (Recursive Best-First Search) Dwa parametry wywołania: rozwijany wierzchołek ek oraz górne ograniczenie na wartość oceny (na starcie: stan inicjujący cy oraz ) Lokalne ograniczenie wartości oceny przy kaŝdym zagnieŝdŝeniu eniu przeszukiwania Wartość górnego ograniczenia wierzchołka to minimum z wartości ograniczenia ojca oraz oceny jego najniŝej ocenionego rodzeństwa Przeszukuje graf leŝą Ŝący pod wierzchołkiem tak długo, d aŝa nie zostanie przekroczone ograniczenie, wtedy zwraca najmniejszą wartość przekraczającą ograniczenie 7
72 Algorytm RBFS - przykład B- C- D- 2 zaczynamy z największ kszą moŝliw liwą wartości cią Algorytm RBFS - przykład B- C- D- E- F- 2 72
73 Algorytm RBFS - przykład nowa ocena przypisana po rekurencji 2 B- C- D- G- H- 2 Algorytm RBFS - przykład B- C- D- 2 2 G- H- 2 O-22 P bo ograniczenie przodka jest mniejsze od najlepszego brata () 7
74 Algorytm RBFS - przykład B- C- D- 2 G- H- 2 O-22 P Nie ma następnik pników Algorytm RBFS - przykład B- C- D- G- H
75 Algorytm RBFS - przykład B- C- D- 2 7 I- J- Algorytm RBFS - przykład B- C- D- 2 7
76 Algorytm RBFS - przykład 2 B- C- D- G- H- monotoniczność (PATHMAX) Algorytm RBFS - przykład 2 B- C- D- G- H- N- 7
77 Algorytm RBFS - przykład 2 B- C- D- G- H- 2 O-2 2 P-2 bo ograniczenie przodka jest mniejsze od najlepszego brata monotoniczność (PATHMAX) Algorytm RBFS - przykład 2 B- C- D- G- H- 2 O-22 P-2 2 Nie ma następnik pników U-0 77
78 Algorytm RBFS - przykład 2 B- C- D- G- H- 2 O-22 P-2 2 Algorytm RBFS - przykład 2 B- C- D- G- H- 78
79 Algorytm RBFS - przykład B- C- D- 2 Algorytm RBFS - przykład B- C- D- E- F- 2 79
80 Algorytm RBFS - przykład K-2 L-2 B- C- D- E- F- 2 bo ograniczenie najlepszego brata jest mniejsze od ogr.. przodka Algorytm RBFS - przykład B- C- D- E- F- 2 80
81 Algorytm RBFS - przykład B- C- D- E- F- 2 L-2 M-2 2 Algorytm RBFS - przykład B- C- D- E- F- 2 L-2 M-2 2 T- Nie ma następnik pników 8
82 Algorytm RBFS - przykład B- C- D- E- F- 2 L-2 M-2 2 Algorytm RBFS - przykład B- C- D- E- F- 2 82
83 Algorytm RBFS - przykład K-2 L-2 B- C- D- E- F- 2 Algorytm RBFS - przykład K-2 L-2 B- C- D- E- F- 2 T- Nie ma następnik pników 8
84 Algorytm RBFS - przykład K-2 L-2 B- C- D- E- F- 2 Dead end Algorytm RBFS - przykład B- C- D- E- F- 2 8
85 Algorytm RBFS - przykład B- C- D- 2 Algorytm RBFS - przykład B- C- D- G- H- 2 8
86 Algorytm RBFS - przykład B- C- D- G- H- N- 2 Algorytm RBFS - przykład B- C- D- G- H- 2 8
87 Algorytm RBFS - przykład B- C- D- G- H- 2 2 O-22 P-2 2 monotoniczność (PATHMAX) Algorytm RBFS - przykład B- C- D- G- H- 2 2 O-22 P-2 2 U-0 Koniec! 87
88 Algorytm RBFS (Recursive Best-First Search) Algorytm wykorzystuje dwie wartości oceny kaŝdego wierzchołka: najpierw statyczną a potem zapamiętan taną (z przeszukiwania) Wierzchołek ek jest rozwijany tylko wtedy, gdy wartość jego ograniczenia jest niemniejsza od jego oceny Jeśli wierzchołek ek był juŝ przeszukiwany, jego wartość zapamiętana/przechowywana będzie b większa od statycznej oceny heurystycznej Jeśli wartość przechowywana oceny jest większa od statycznej oceny heurystycznej, to wartość ta jest najmniejszą spośród d wartości przechowywanych jego potomków Ogólnie: wartości przechowywane rodziców w sąs przekazywane do potomków, o ile przekraczają one zarówno ocenę statyczną rodzica, jak i potomstwa Algorytm RBFS (Recursive Best-First Search) Algorytm zawsze odwiedza wierzchołki zgodnie ze strategią Best-First niezaleŝnie od funkcji h(n) Niska złoŝonoz oność pamięciowa - liniowa O(bd),, gdzie b branching factor, d głębokość przeszukiwania) Kiedy funkcja oceny nie jest monotoniczna algorytmy IDA* oraz RBFS sąs nieporównywalne Kiedy funkcja oceny jest monotoniczna algorytm IDA* oraz RBFS przeszukują te same wierzchołki w przestrzeni i zwracają takie same rozwiązanie, zanie, ale RBFS odwiedza mniejszą liczbą wierzchołków 88
Heurystyczne przeszukiwanie przestrzeni stanów
Heurystyczne przeszukiwanie przestrzeni stanów Wykład Informatyka Studia InŜynierskie Podstawowe pojęcia teorii grafów przeszukiwania Korzeń grafu Stan, od którego zaczynamy przeszukiwanie grafu (drzewa)
Bardziej szczegółowoHeurystyczne przeszukiwanie przestrzeni stanów
Heurystyczne przeszukiwanie przestrzeni stanów Wykład Studia Inżynierskie Realizacja przeszukiwania heurystycznego Systemy eksperckie Gdy problem nie posiada dokładnego rozwiązania zania ze względu na
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ół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ół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ół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ół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ółowoSztuczna Inteligencja i Systemy Doradcze
Sztuczna Inteligencja i Systemy Doradcze Przeszukiwanie przestrzeni stanów algorytmy ślepe Przeszukiwanie przestrzeni stanów algorytmy ślepe 1 Strategie slepe Strategie ślepe korzystają z informacji dostępnej
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ół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ół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ół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ółowoSztuczna 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ółowoZastosowania algorytmów heurystycznych do sterowania systemami autonomicznymi
Wrocław, 16.06.2009 Zastosowania algorytmów heurystycznych do sterowania systemami autonomicznymi Opracował: Janusz Taterka 1. Wstęp W systemach autonomicznych spotykamy się z zadaniami planowania działań.
Bardziej szczegółowoHeurystyczne przeszukiwanie grafów w gier dwuosobowych
Heurystyczne przeszukiwanie grafów w gier dwuosobowych Wykład Informatyka Studia InŜynierskie Teoria gier w dziedzinie SI Liczba graczy jednoosobowe, dwuosobowe oraz wieloosobowe Suma wypłat gry o sumie
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ół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ół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ół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ółowoOptymalizacja. Wybrane algorytmy
dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Andrzej Jaszkiewicz Problem optymalizacji kombinatorycznej Problem optymalizacji kombinatorycznej jest problemem
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ół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ół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ół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ół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ółowoRekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:
Rekurencje Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie: T(n) = Θ(1) (dla n = 1) T(n) = 2 T(n/2) + Θ(n) (dla n
Bardziej szczegółowoHeurystyczne przeszukiwanie grafów gier dwuosobowych
Heurystyczne przeszukiwanie grafów gier dwuosobowych Wykład Informatyka Studia InŜynierskie Teoria gier w dziedzinie SI Liczba graczy jednoosobowe, dwuosobowe oraz wieloosobowe Suma wypłat gry o sumie
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ółowoDziałanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).
Algorytm A* Opracowanie: Joanna Raczyńska 1.Wstęp Algorytm A* jest heurystycznym algorytmem służącym do znajdowania najkrótszej ścieżki w grafie. Jest to algorytm zupełny i optymalny, co oznacza, że zawsze
Bardziej szczegółowoa) 7 b) 19 c) 21 d) 34
Zadanie 1. Pytania testowe dotyczące podstawowych własności grafów. Zadanie 2. Przy każdym z zadań może się pojawić polecenie krótkiej charakterystyki algorytmu. Zadanie 3. W zadanym grafie sprawdzenie
Bardziej szczegółowoALHE Jarosław Arabas. Przeszukiwanie przestrzeni ścieżek w grafie. Algorytm A*
ALHE Jarosław Arabas Przeszukiwanie przestrzeni ścieżek w grafie Algorytm A* Zbiór rozwiązań 2134 1234 1243 2143 2314 2413 1324 2341 1342 1423 2431 1432 3124 4123 3142 4132 3214 4213 3241 3412 4312 3421
Bardziej szczegółowoAlgorytmy i struktury danych
Algorytmy i struktury danych Zaawansowane algorytmy sortowania Witold Marańda maranda@dmcs.p.lodz.pl 1 Sortowanie za pomocą malejących przyrostów metoda Shella Metoda jest rozwinięciem metody sortowania
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ół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ół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ół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ółowoKrzysztof Jakubczyk. Zadanie 2
Zadanie 2 Krzysztof Jakubczyk Moje rozwiązanie nie znajduje strategii pozycyjnej w znaczeniu zdefiniowanym na wykładzie (niezaleŝnie od pozycji startowej), gdyŝ takowa nie istnieje. Przykład: 1 1 0 Środkowa
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ółowoDrzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II
Wykład 6. Drzewa cz. II 1 / 65 drzewa spinające Drzewa spinające Zliczanie drzew spinających Drzewo T nazywamy drzewem rozpinającym (spinającym) (lub dendrytem) spójnego grafu G, jeżeli jest podgrafem
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ół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ół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ół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ółowoTEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 14c 2 Definicje indukcyjne Twierdzenia dowodzone przez indukcje Definicje indukcyjne Definicja drzewa
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ół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ół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ółowoWykład 2. Drzewa zbalansowane AVL i 2-3-4
Wykład Drzewa zbalansowane AVL i -3-4 Drzewa AVL Wprowadzenie Drzewa AVL Definicja drzewa AVL Operacje wstawiania i usuwania Złożoność obliczeniowa Drzewa -3-4 Definicja drzewa -3-4 Operacje wstawiania
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ół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ół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ół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ółowoWyznaczanie strategii w grach
Wyznaczanie strategii w grach Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 Politechnika Wrocławska Definicja gry Teoria gier i konstruowane na jej podstawie programy stanowią jeden z głównych
Bardziej szczegółowoZnajdowanie wyjścia z labiryntu
Znajdowanie wyjścia z labiryntu Zadanie to wraz z problemem pakowania najcenniejszego plecaka należy do problemów optymalizacji, które dotyczą znajdowania najlepszego rozwiązania wśród wielu możliwych
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ół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ółowoĆWICZENIE 1: Przeszukiwanie grafów strategie heurystyczne
Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE studia niestacjonarne ĆWICZENIE 1: Przeszukiwanie grafów strategie
Bardziej szczegółowoWybrane podstawowe rodzaje algorytmów
Wybrane podstawowe rodzaje algorytmów Tomasz Głowacki tglowacki@cs.put.poznan.pl Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych
Bardziej szczegółowoAlgorytmy metaheurystyczne podsumowanie
dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Andrzej Jaszkiewicz Problem optymalizacji kombinatorycznej Problem optymalizacji kombinatorycznej jest problemem
Bardziej szczegółowoOptymalizacja. Przeszukiwanie lokalne
dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Maciej Hapke Idea sąsiedztwa Definicja sąsiedztwa x S zbiór N(x) S rozwiązań, które leżą blisko rozwiązania x
Bardziej szczegółowoCo to są drzewa decyzji
Drzewa decyzji Co to są drzewa decyzji Drzewa decyzji to skierowane grafy acykliczne Pozwalają na zapis reguł w postaci strukturalnej Przyspieszają działanie systemów regułowych poprzez zawężanie przestrzeni
Bardziej szczegółowoProgramowanie w VB Proste algorytmy sortowania
Programowanie w VB Proste algorytmy sortowania Sortowanie bąbelkowe Algorytm sortowania bąbelkowego polega na porównywaniu par elementów leżących obok siebie i, jeśli jest to potrzebne, zmienianiu ich
Bardziej szczegółowoMetody numeryczne I Równania nieliniowe
Metody numeryczne I Równania nieliniowe Janusz Szwabiński szwabin@ift.uni.wroc.pl Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/66 Równania nieliniowe 1. Równania nieliniowe z pojedynczym pierwiastkiem
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ół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ółowoDefinicja pochodnej cząstkowej
1 z 8 gdzie punkt wewnętrzny Definicja pochodnej cząstkowej JeŜeli iloraz ma granicę dla to granicę tę nazywamy pochodną cząstkową funkcji względem w punkcie. Oznaczenia: Pochodną cząstkową funkcji względem
Bardziej szczegółowoAlgorytmy i struktury danych
POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Algorytmy i struktury danych www.pk.edu.pl/~zk/aisd_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 5: Algorytmy
Bardziej szczegółowoTechniki optymalizacji
Techniki optymalizacji Symulowane wyżarzanie Maciej Hapke maciej.hapke at put.poznan.pl Wyżarzanie wzrost temperatury gorącej kąpieli do takiej wartości, w której ciało stałe topnieje powolne zmniejszanie
Bardziej szczegółowoProblem straŝaka w drzewach. Agnieszka Skorupka Matematyka Stosowana FTiMS
Problem straŝaka w drzewach Agnieszka Skorupka Matematyka Stosowana FTiMS Problem StraŜaka: Co to jest? Problem StraŜaka: Co to jest? Problem StraŜaka: Co to jest? Problem StraŜaka: Co to jest? Problem
Bardziej szczegółowoCo to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu,
wprowadzenie Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu, w przepisie tym podaje się opis czynności, które trzeba wykonać, oraz dane, dla których algorytm będzie określony.
Bardziej szczegółowoIndukowane Reguły Decyzyjne I. Wykład 3
Indukowane Reguły Decyzyjne I Wykład 3 IRD Wykład 3 Plan Powtórka Grafy Drzewa klasyfikacyjne Testy wstęp Klasyfikacja obiektów z wykorzystaniem drzewa Reguły decyzyjne generowane przez drzewo 2 Powtórzenie
Bardziej szczegółowooperacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.
Problem porządkowania zwanego również sortowaniem jest jednym z najważniejszych i najpopularniejszych zagadnień informatycznych. Dane: Liczba naturalna n i ciąg n liczb x 1, x 2,, x n. Wynik: Uporządkowanie
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Sieci powiązań Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) PO w. IX Jesień 2014 1 / 24 Sieci powiązań Można (bardzo zgrubnie) wyróżnić dwa rodzaje powiązań
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ół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ł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ółowoOptymalizacja. Symulowane wyżarzanie
dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Maciej Hapke Wyżarzanie wzrost temperatury gorącej kąpieli do takiej wartości, w której ciało stałe topnieje powolne
Bardziej szczegółowoMetody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2
Metody teorii gier ALP520 - Wykład z Algorytmów Probabilistycznych p.2 Metody teorii gier Cel: Wyprowadzenie oszacowania dolnego na oczekiwany czas działania dowolnego algorytmu losowego dla danego problemu.
Bardziej szczegółowoGrafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz
Grafy (3): drzewa Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków UTP Bydgoszcz 13 (Wykłady z matematyki dyskretnej) Grafy (3): drzewa 13 1 / 107 Drzewo Definicja. Drzewo to graf acykliczny
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ółowoZaawansowane programowanie
Zaawansowane programowanie wykład 3: inne heurystyki prof. dr hab. inż. Marta Kasprzak Instytut Informatyki, Politechnika Poznańska Heurystyką nazywamy algorytm (metodę) zwracający rozwiązanie przybliżone.
Bardziej szczegółowoInformatyka wprowadzenie do algorytmów (II) dr hab. inż. Mikołaj Morzy
Informatyka wprowadze do algorytmów (II) dr hab. inż. Mikołaj Morzy plan wykładu cechy algorytmów sposoby zapisu algorytmów klasyfikacja algorytmów przykłady algorytmów sumowa przeszukiwa ciągu liczb sortowa
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ół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ół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ółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Grafy dr hab. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 9 1 / 20
Bardziej szczegółowoLuty 2001 Algorytmy (4) 2000/2001
Mając dany zbiór elementów, chcemy znaleźć w nim element największy (maksimum), bądź najmniejszy (minimum). We wszystkich naturalnych metodach znajdywania najmniejszego i największego elementu obecne jest
Bardziej szczegółowoPoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj
Bardziej szczegółowoprocesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Abstrakcja programowania współbieżnego Instrukcje atomowe i ich przeplot Istota synchronizacji Kryteria poprawności programów współbieżnych
Bardziej szczegółowoKolejkowanie. Graf sekwencyjny. Graf sekwencyjny: biegunowy, acykliczny Graf acykliczny to graf nie zawierający cykli G(V,E)
Kolejkowanie Systemy wbudowane dr. inŝ. Paweł Russek Katedra Elektroniki AGH Graf sekwencyjny Graf sekwencyjny: biegunowy, acykliczny Graf acykliczny to graf nie zawierający cykli Cykl to droga zamknięta
Bardziej szczegółowoStrategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek
Strategie ewolucyjne Gnypowicz Damian Staniszczak Łukasz Woźniak Marek Strategie ewolucyjne, a algorytmy genetyczne Podobieństwa: Oba działają na populacjach rozwiązań Korzystają z zasad selecji i przetwarzania
Bardziej szczegółowoPrzeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279
Wykład 8 J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 sformułowanie problemu przegląd drzewa poszukiwań przykłady problemów wybrane narzędzia programistyczne J. Cichoń, P. Kobylański
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ółowoKolorowanie wierzchołków grafu
Kolorowanie wierzchołków grafu Niech G będzie grafem prostym. Przez k-kolorowanie właściwe wierzchołków grafu G rozumiemy takie przyporządkowanie wierzchołkom grafu liczb naturalnych ze zbioru {1,...,
Bardziej szczegółowoWstęp do programowania. Drzewa podstawowe techniki. Piotr Chrząstowski-Wachtel
Wstęp do programowania Drzewa podstawowe techniki Piotr Chrząstowski-Wachtel Drzewa wyszukiwań Drzewa często służą do przechowywania informacji. Jeśli uda sie nam stworzyć drzewo o niewielkiej wysokości
Bardziej szczegółowoPodstawy Informatyki. Sprawność algorytmów
Podstawy Informatyki Sprawność algorytmów Sprawność algorytmów Kryteria oceny oszczędności Miara złożoności rozmiaru pamięci (złożoność pamięciowa): Liczba zmiennych + liczba i rozmiar struktur danych
Bardziej szczegółowo1 Wprowadzenie do algorytmiki
Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności
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ółowoAlgorytmy i struktury danych
Algorytmy i struktury danych Proste algorytmy sortowania Witold Marańda maranda@dmcs.p.lodz.pl 1 Pojęcie sortowania Sortowaniem nazywa się proces ustawiania zbioru obiektów w określonym porządku Sortowanie
Bardziej szczegółowo