Grafy i ich reprezentacja

Wielkość: px
Rozpocząć pokaz od strony:

Download "Grafy i ich reprezentacja"

Transkrypt

1 Grafy i ich reprezentacja

2 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): u,v V}

3 Podstawy cd. Graf nieskierowany i skierowany i ważony

4 Podstawowe pojęcia Rząd grafu liczba wierzchołków w grafie = 5 Rozmiar grafu liczba krawędzi w grafie = 7 Graf zerowy G(V,E) V={v1,v2,v3,v4,v5}; E = {}

5 Podstawowe pojęcia Stopień wierzchołka liczba krawędzi z niego wychodzących/przychodzących (pętle liczymy za 2) np. deg(v1) = 4 Węzeł izolowany v6 (węzeł nie połączony z innymi)

6 Podstawowe pojęcia Ścieżka lub droga w grafie uporządkowany zbiór krawędzi/wierzchołków jaki musimy przebyć aby dotrzeć od wierzchołka początkowego do końcowego P(v1,v5) = {e1,e2,e4} P(v1,v5) = {v1,v2,v4,v5} Cykl to ścieżka zaczynająca się i kończąca w tym samym wierzchołku Cykl prosty krawędzie / wierzchołki przechodzone są tylko raz Cykle Hamiltona cykl prosty zawierający wszystkie wierzchołki grafu (brak warunku na krawędzie) Cykle Eulera cykl prosty zawierający wszystkie krawędzie grafu (brak warunku na wierzchołki)

7 Podstawowe pojęcia Graf planarny da się go narysowac na płaszczyźnie i nieplanarny (nie da się go narysować na płaszczyźnie) Graf planarny

8 Podstawowe pojęcia Graf pełny graf w którym pomiędzy każda parą wierzchołków występuje krawędź Przykład: Transpozycja grafu odwrócenie kierunków krawędzi w grafie Wykorzystano materiały z:

9 Formy reprezentacji grafów Lista sąsiedztwa Macierz sąsiedztwa Macierz incydencji

10 Lista sąsiedztwa Lista sąsiedztwa - Dane zapisywane są w postaci listy obiektów zawierających wierzchołek grafu,wraz z listą listę wierzchołków sąsiednich.

11 Lista sąsiedztwa Lista sąsiedztwa - Dane zapisywane są w postaci listy obiektów zawierających wierzchołek grafu,wraz z listą listę wierzchołków sąsiednich. Jak zapisać graf skierowany?

12 Lista sąsiedztwa Lista sąsiedztwa - Dane zapisywane są w postaci listy obiektów zawierających wierzchołek grafu,wraz z listą listę wierzchołków sąsiednich. Jak zapisać graf skierowany? - Na liście umieszczać tylko wierzchołki wychodzące - Dla każdego węzła dwie listy wychodząca i przychodząca

13 Macierz sąsiedztwa Dane zapisane są w postaci macierzy, która ma wymiar V x V, a wartości reprezentują wagę połączeń pomiędzy wierzchołkami.

14 Macierz sąsiedztwa Dane zapisane są w postaci macierzy, która ma wymiar V x V, a wartości reprezentują wagę połączeń pomiędzy wierzchołkami. Jak zapisać graf skierowany?

15 Macierz sąsiedztwa Dane zapisane są w postaci macierzy, która ma wymiar V x V, a wartości reprezentują wagę połączeń pomiędzy wierzchołkami. Jak zapisać graf skierowany? Wprowadzić tylko te wiersze które są wychodzące

16 Macierz incydencji macierz o wymiarze V x E (grafy skierowane) w liczba wierszy odpowiada liczbie wierzchołków, a liczbie kolumn odpowiada liczba krawędzi. Zasada wstawiania wartości można opisać wg. zależności: m ij = 1 jeśli krawędź e j wychodzi z wierzchołka v i 1 jeśli krawędź e j wchodzi z wierzchołka v i 0 jeśli e j iv i nie są incydentne

17 Właściwości Lista sąsiedztwa Macierz sąsiedztwa Macierz incydencji Przechowywanie grafu O( V + E ) O( V 2 ) O( V E ) Dodanie wierzchołka O(1) O( V 2 ) O( V E ) Dodanie krawędzi O(1) O(1) O( V E ) Usunięcie wierzchołka O( E ) O( V 2 ) O( V E ) Usunięcie krawędzi O( E ) O(1) O( V E ) Zapytanie: czy wierzchołki x i y są sąsiadujące O( V ) O(1) O( V E )

18 Metody przeszukiwania

19 Co to jest przeszukiwanie Przeszukiwanie polega na odnajdywaniu rozwiązania w dyskretnej przestrzeni rozwiązań. Dualizm problemu -> reprezentacja problemu w postaci grafu (znalezienie w grafie określonego rozwiązania - węzła) lub reprezentacja problemu w postaci pary: <stan,możliwe zmiany stanu> i poszukiwanie określonego stanu docelowego UWAGA: Czasami reprezentacja problemu w postaci grafu może prowadzić do bardzo dużych grafów. Przykładowe zastosowania: gry w szachy, warcaby, Przesuwanka, Problem komiwojażera Odnajdywanie najkrótszej dorgi itp itp

20 Definicja problemu Trzy elementy potrzebne do zdefiniowania problemu: 1. Baza danych: fakty, stany, możliwości, opis sytuacji. 2. Możliwe operacje: zmieniają stan bazy danych. 3. Strategia kontrolna: start, koniec i kolejność operacji. Ciąg operacji tworzy sekwencję działań, od stanu początkowego do stanu końcowego (celu). Z każdą operacją związany jest pewien koszt. W procesie szukania należy dążyć do minimalizacji całkowitych kosztów. Źródło W. Duch wykład AI

21 Pojęcia Przeszukiwanie kompletne/zupelne algorytm przeszukiwania jest kompletny jeśli gwarantuje odnalezienie rozwiązania w grafie, o ile takie rozwiązanie istnieje Algorytm przeszukiwania niekompletny jeśli nie gwarantuje odnalezienie rozwiązania Optymalność rozwiązania odnalezione jest najprostsze rozwiązanie (np. znalezione rozwiązanie w przesuwance gwarantuje minimalna ilość kroków - przesunięć)

22 Typy metod przeszukiwania Przeszukiwanie ślepe gdy nie mamy żadnej wiedzy/oceny jakości znalezionego rozwiązania Przeszukiwanie heurystyczne gdy potrafimy jakoś ocenić proces przeszukiwania

23 Przeszukiwanie ślepe Gdy koszt ruchu zawsze taki sam (graf nie ważony) Przeszukiwanie wszerz Przeszukiwanie w głąb Przeszukiwanie iteracyjnie pogłębianie Przeszukiwanie dwukierunkowe Gdy graf ważony lub różna waga ruchu to: Algorytm Dijkstra (wagi dodatnie) Algorytm Bellmana-Forda (możliwość występowania wag ujemnych)

24 Algorytm wszerz

25 Przeszukiwanie wszerz Żródło: Arkadiusz Wojna,

26 Przeszukiwanie wszerz 1. Zainicjuj kolejkę Queue 2. Queue <- stan początkowy 3. While ((S <- Queue.Head)!= null){ 1. If S == rozwiązanie Then koniec 2. For ((C <- S.Children) & C!= Visited) 1. Queue <- C }

27 Żródło: Arkadiusz Wojna, Przeszukiwanie wszerz Właściwości: Zupełność: tak - jeśli skończona liczba krawędzi b (b max. Liczba rozgałęzień drzewa przeszukiwań) Złożoność czasowa: O(b d+1 ) wykładnicza względem głębokości d (d-głębokość rozwiązania o najmniejszym koszcie) Złożoność pamięciowa: O(b d+1 ) przechowuje każdy węzeł w pamięci Optymalność: tak jeśli koszty przejść są równe

28 Żródło:

29 Algorytm w głąb

30 Przeszukiwanie w głąb Żródło: Arkadiusz Wojna,

31 Przeszukiwanie w głąb 1. Zainicjuj Stos 2. Stos <- stan początkowy 3. While ((S <- Stos.tail)!= null){ 1. If S == rozwiązanie Then koniec 2. For ((C <- S.Children) & C!= Visited) 1. Stos <- C }

32 Żródło: Arkadiusz Wojna, Przeszukiwanie w głąb Właściwości Zupełność: tak (jeśli przestrzeń skończona, w szczególności gdy skończona głebokość) Złożoność czasowa: O(b m ) wykładnicza m-liczba wierzchołków, dobra metoda jeśli gęste rozwiązania Złożoność pamięciowa: O(bm) liniowa Optymalność: nie znalezione rozwiązanie nie koniecznie jest optymalne

33 Żródło:

34 Algorytm iteracyjne pogłębianie

35 Żródło: Arkadiusz Wojna, Przeszukiwanie iteracyjne pogłębianie Przeszukiwanie ograniczone wgłąb ale stopniowo zwiększamy głębokość

36 Żródło: Arkadiusz Wojna, Przeszukiwanie iteracyjne pogłębianie Właściwości Zupełność: tak Złożoność czasowa: O(b d ) Złożoność pamięciowa: O(bd) Optymalność: tak jeśli równy koszt przejść

37 Przeszukiwanie dwukierunkowe

38 Przeszukiwanie dwukierunkowe Do zastosowań jeśli znamy start i rozwiązanie a szukamy ścieżki prowadzącej do rozwiązania Równolegle szukanie od startu i od rozwiązania

39 Żródło: Arkadiusz Wojna, Przeszukiwanie dwukierunkowe Właściwości Zupełność: tak (jeśli szukanie wszerz) Złożoność czasowa: O(b d/2 ) Złożoność pamięciowa: O(b d/2 ) Optymalność: tak jeśli szukanie wszerz

40 Żródło:

41 Algorytm Dijkstry

42 Poszukiwanie najkrótszej ścieżki Gdy graf nie ważony lub koszt ruchu zawsze taki sam to algorytm w szerz Przeszukiwanie grafu ważonego -> Algorytm Dijkstry

43 Algorytm Dijkstry Szukanie najkrótszej ścieżki w grafie W rzeczywistości algorytm zwraca odległość od wybranego wierzchołka do wszystkich wierzchołków Uwaga: założenie nieujemnych wag!!! Dla ujemnych ścieżek algorytm Bellmana-Forda (założenie brak ujemnych cykli) Złożoność obliczeniowa: Naiwna implementacja O( V 2 ) Z wykorzystaniem kolejki priorytetowej O( E + V log V )

44 Algorytm Dijkstry function Dijkstra(Graph, start): 1. Q PriorityQueue() // Inicjalizuj kolejkę priorytetową 2. for each vertex v in Graph: 3. dist[v] INFINITY // Nieznana odległość od startu do v 4. prev[v] UNDEFINED // Poprzednik v 5. Q.add(v, dist[v]) 6. dist[start] 0 // Inicjalizacja while Q is not empty: // Główna pętla 9. u Q. gethead() // Usuń I zwróć najbliższy wierzch. 10. for each neighbor v of u: // Dla sąsiadów u 11. alt = dist[u] + length(u, v) 12. if alt < dist[v] 13. dist[v] alt 14. prev[v] u 15. Q.updatePriority(v, alt) 16. return dist[], prev[]

45 Algorytm Dijkstry function Dijkstra(Graph, start): 1. Q PriorityQueue() for each vertex v in Graph: 4. dist[v] INFINITY 5. prev[v] UNDEFINED 6. Q.add(v, dist[v]) 7. dist[start] while Q is not empty: 10. u Q.getHead(). 11. for each neighbor v of u: 12. alt = dist[u] + length(u, v) 13. if alt < dist[v] 14. dist[v] alt 15. prev[v] u 16. Q.updatePriority(v, alt) Źródło: return dist[], prev[]

46 Algorytm Dijkstry function Dijkstra(Graph, start): 1. Q PriorityQueue() for each vertex v in Graph: 4. dist[v] INFINITY 5. prev[v] UNDEFINED 6. Q.add(v, dist[v]) 7. dist[start] while Q is not empty: 10. u Q.getHead(). 11. for each neighbor v of u: 12. alt = dist[u] + length(u, v) 13. if alt < dist[v] 14. dist[v] alt 15. prev[v] u 16. Q.updatePriority(v, alt) 17. return dist[], prev[]

47 Metody heurystyczne

48 Metody heurystyczne W odróżnieniu od szukania ślepego wykorzystujemy wiedzę o przeszukiwanej przestrzeni oceniając znalezione rozwiązania Problem metod ślepych - eksplozja kombinatoryczna liczby możliwych stanów Szukanie heurystyczne wykorzystuje informacje, które poprawiają efektywność procesu szukania.

49 Funkcja heurystyczna Funkcja h : R, gdzie to zbiór dozwolonych stanów, R to liczby rzeczywiste, odwzorowuje stany s ze zbioru na wartości h(s) służące do oceny względnych kosztów lub zysków rozwijania dalszej drogi przez węzeł odpowiadający s. Funkcja heurystyczna ocenia jakość każdego każdy z węzłów: h(s1) = 1.5 h(s2) = 2.3 h(s3) = 1.53 To gdzie iść najpierw?

50 Metody heurystyuczne Pierwszy najlepszy Przeszukiwanie zachłanne Przeszukiwanie A* inne Iteracyjne poprawianie Algorytm wspinaczki Algorytmy genetyczne inne

51 Przeszukiwanie zachłanne

52 Przeszukiwanie zachłanne Algorytm przeszukiwania, w którym zachłannie rozwija się każde rozwiązanie prognozujące lokalnie na danym etapie najlepsze rozwiązanie cząstkowe. Przykład: problem komiwojażera każdorazowo odwiedzamy najbliższe nieodwiedzone miasto.

53 Żródło: Arkadiusz Wojna, Przeszukiwanie zachłanne Funkcja heurystyczna: h(n) odległość w linii prostej z miasta n do Bukaresztu. Zadanie: znaleźć optymalną trasę z Arad do Bukaresztu

54 Żródło: Arkadiusz Wojna, Przeszukiwanie zachłanne Funkcja heurystyczna: h(n) odległość w linii prostej z miasta n do Bukaresztu. Zadanie: znaleźć optymalną trasę z Arad do Bukaresztu

55 Żródło: Arkadiusz Wojna, Przeszukiwanie zachłanne Funkcja heurystyczna: h(n) odległość w linii prostej z miasta n do Bukaresztu. Zadanie: znaleźć optymalną trasę z Arad do Bukaresztu

56 Żródło: Arkadiusz Wojna, Przeszukiwanie zachłanne Funkcja heurystyczna: h(n) odległość w linii prostej z miasta n do Bukaresztu. Zadanie: znaleźć optymalną trasę z Arad do Bukaresztu

57 Żródło: Arkadiusz Wojna, Przeszukiwanie zachłanne Funkcja heurystyczna: h(n) odległość w linii prostej z miasta n do Bukaresztu. Zadanie: znaleźć optymalną trasę z Arad do Bukaresztu

58 Przeszukiwanie zachłanne Graf rozwiązań

59 Przeszukiwanie zachłanne Graf rozwiązań Problem! Rozwiązanie nie jest optymalne!!!

60 Żródło: Arkadiusz Wojna, Przeszukiwanie zachłanne Właściwości Zupełność: nie Złożoność czasowa: zależna od heurystyki Złożoność pamięciowa: zależna od heurystyki Optymalność: nie

61 Algorytm A*

62 Przeszukiwanie A* Podobne do przeszukiwania zachłannego ale zmodyfikowana (rozszerzona) heurystyka: f(n) = h(n) + g(n) h(n) koszt dotarcia do celu g(n) koszt dotarcia od startu do danego węzła f(n) unika stanów do których ponieśliśmy duży koszt dotarcia

63 Żródło: Arkadiusz Wojna, Przeszukiwanie zachłanne Funkcja heurystyczna: h(n) odległość w linii prostej z miasta n do Bukaresztu. Zadanie: znaleźć optymalną trasę z Arad do Bukaresztu

64 Żródło: Arkadiusz Wojna, Przeszukiwanie zachłanne Funkcja heurystyczna: h(n) odległość w linii prostej z miasta n do Bukaresztu. Zadanie: znaleźć optymalną trasę z Arad do Bukaresztu

65 Żródło: Arkadiusz Wojna, Przeszukiwanie zachłanne Funkcja heurystyczna: h(n) odległość w linii prostej z miasta n do Bukaresztu. Zadanie: znaleźć optymalną trasę z Arad do Bukaresztu

66 Żródło: Arkadiusz Wojna, Przeszukiwanie zachłanne Funkcja heurystyczna: h(n) odległość w linii prostej z miasta n do Bukaresztu. Zadanie: znaleźć optymalną trasę z Arad do Bukaresztu

67 Żródło: Arkadiusz Wojna, Przeszukiwanie zachłanne Funkcja heurystyczna: h(n) odległość w linii prostej z miasta n do Bukaresztu. Zadanie: znaleźć optymalną trasę z Arad do Bukaresztu

68 Algorytm A* G graf; start węzeł startowy; koniec węzeł końcowy; Q <- kolejka protorytetowa C <- lista węzłów do odwiedzonych (clesedset) M <- mapa gdzie kluczem jest dany węzeł, a wartością para (rodzic, odległosc) Q.add(start,heurystyka(start,koniec)) M.put(start,[prev=null, dist=0]) while (!isempty(q) ) u <- Q.head() if (u == koniec) break; C.add(u); //dodanie węzła u do closedset for (v = u.neighbors()){//iterujemy po sąsiadach węzła u if (C.contains(v)){ //jeśli v już odwiedzony (jest w closedset) continue;} distu = M.get(u).dist; //odczytanie odległości od u do startu tmpdist = distu + G(u,v); //wyznaczenie nowej odległości G(u,v) to waga krawędzi pomiędzy u i v if (!Q.contains(v)) //Jeśli kolejka nie zawiera v Q.add(v,tmpDist + heurystyka(v,koniec)); M.put(v,[prev = u, dist = tmpdist]) else distv = M.get(v).dist if (tmpdist < distv) M.put(v,[prev = u, dist = tmpdist]) Q.update(v,tmpDist + heurystyka(v,koniec));

69 Typowe heurystyki Dla podróżowania wykorzystujemy odległość Euklidesa od mety do danego węzła (jak w problemie Rumunii) W labiryncie dobrą heurystyka jest odległość Manhattan pomiędzy danym stanem a układem końcowym Metryka Manhattan n i=1 d(x,y) = x i y i W układance dobrą heurystyką jest liczba niepasujących pól (liczba klocków które są w niewłaściwym położeniu) lub suma odległość Manhattan dla każdego pola tj. gdzie dany klocek się znajduje a gdzie powinien znajdować

70 Żródło: Arkadiusz Wojna, Przeszukiwanie A* Właściwości Zupełność: tak jeśli heurystyka dopuszczalna Złożoność czasowa: zależy od heurystyki Złożoność pamięciowa: zależy od heurystyki Optymalność: tak choć zależy od heurystyki

71 Iteracyjne poprawianie i metody losowe

72 Algorytmy optymalizacji Sposób działania: Algorytmy gradientowe Dobre jeśli funkcja celu jest wypukła

73 Algorytmy optymalizacji Algorytmy gradientowe problemy Problem braku wypukłości funkcji punkty siodłowe Punkt siodłowy, gradient = 0 Problem przeskoczenia optimum Problem optimów lokalnych i punktu startu

74 Algorytmy losowe Algorytm wspinaczki Schemat algorytmu Szukamy takiej modyfikacji S która poprawia wynik funkcji celu Funkcja Tweak Losowo modyfikujemy każdą ze składowych wektora V, ale zapewniamy by V był w okreslonym przedziale

75 Algorytm wspinaczki a funkcja Tweak Splot Gaussowski Dodajemy niedużo szumu w okolicy poprzedniego rezultatu, przy czym szum ma rozkład Gaussa Rozkład Gaussa w zależności od parametru. Im mniejsza wartość tym mniejszy rozrzut punktów

76 Algorytmy losowe Przeszukiwanie losowe Przeszukiwanie losowe sprawdza różne losowe rozwiązania i wybiera najlepsze rozwiązanie Uwaga często dobrze działa!!! Tylko trzeba dostatecznie dużo próbkować

77 Algorytm symulowanego wyżarzania Algorytm można opisać schematem Idea: akceptacja gorszych rozwiązań jeśli spełniona zależność. Jak t = 0 to mamy algorytm wspinaczki Prawdopodobieństwo akceptacji gorszego rozwiązania Tą zależność liczymy gdy Quality(S) > Quality(R) Bo stosujemy gdy pierwszy warunek jest niespełnony, czyli R jest gorszym rozwiązaniem niż S

78 Algorytmy genetyczne Inspirowane procesami ewolucyjnymi, Idea działania jak wyżej ale zamiast jednego losowego przypadku mamy całą populację Pojęcia: Genotyp reprezentacja numeryczna przestrzeni stanów określa sposób kodowani informacji (może być binarny, całkowito liczbowy, rzeczywisty) Fenotyp reprezentacja odpowiadająca rzeczywistości np. w problemie komiwojażera przekształcamy Gentoyp w postaci ciągu liczb całkowitych na odpowiadające im miasta chromosom - pojedynczy osobnik populacji pojedynczy stan/węzeł zakodowany w postaci binarnej, (w algorytmach ewolucyjnych nie koniecznie reprezentacja binarna) Populacja zbiór jednocześnie rozpatrywanych węzłów - osobników Potomstwo Populacja powstała na podstawie poprzedniej populacji Generacja określona, któraś z kolei populacja

79 Algorytmy genetyczne formy Binarna (np. kształt) reprezentacji Genotyp Fenotyp Szerokość Długość Wysokość Całkowito liczbowa (np. w TSP) Genotyp Fenotyp Katowice Chorzów Zabrze Gliwice Paniówki Mikołów Rzeczywisto liczbowa (np. kształt) Genotyp Fenotyp Szerokość - 0.6m Długość - 9 cm Wysokość - 1.4m

80 Algorytmy genetyczne operatory Operatory Mutacja odpowiednik wcześniej opisywanej operacji Tweak Krzyżowanie nowy operator korzystając z kilku losowych rozwiązań, miesza je ze sobą Selekcja wybór losowy osobników jednakże zależny od poziomu ich dopasowania UWAGA Dobór operatorów to sposób dostosowania algorytmu do określonego problemu

81 Algorytmy genetyczne Krzyżowanie i mutacja dla reprezentacji binarnej Krzyżowanie wymiana informacji pomiędzy dwoma osobnikami Mutacja zmiana stanu jednego z bitów na losowej pozycji - małe prawdopodobieństwo zajścia zdarzenia

82 Algorytmy genetyczne Selekcja Metoda proporcjonalna prawdopodobieństwo wylosowania proporcjonalne do poziomu dopasowania Uwaga problem skalowania funkcji celu Metoda turniejowa prawdopodobieństwo wylosowania zależne od poziomu dopasowania (na zasadzie rankingu) Rozwiązanie zależne od rankingu, a nie od wartości funkcji celu. Bardzo często sotsowane

83 Algorytmy genetyczne Źródło:

84 Algorytmy genetyczne Sposób schemat Inicjalizacja Wybór najlepszego rozwiązania Generowanie nowego pokolenia Wybór rodziców zgodnie z algorytmami selekcji Krzyżowanie osobników Mutacja i dodanie do listy rozwiązań

85 Koniec

Metody przeszukiwania

Metody 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

Heurystyki. Strategie poszukiwań

Heurystyki. 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ółowo

Poró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ę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ółowo

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Przykł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ółowo

Sztuczna Inteligencja i Systemy Doradcze

Sztuczna 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ółowo

Ogólne wiadomości o grafach

Ogó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ółowo

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Struktury 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ółowo

Matematyczne Podstawy Informatyki

Matematyczne 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ółowo

Wybrane podstawowe rodzaje algorytmów

Wybrane 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ółowo

Heurystyczne metody przeszukiwania

Heurystyczne 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ółowo

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Grafem 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ółowo

Digraf. 13 maja 2017

Digraf. 13 maja 2017 Digraf 13 maja 2017 Graf skierowany, digraf, digraf prosty Definicja 1 Digraf prosty G to (V, E), gdzie V jest zbiorem wierzchołków, E jest rodziną zorientowanych krawędzi, między różnymi wierzchołkami,

Bardziej szczegółowo

Algorytm genetyczny (genetic algorithm)-

Algorytm genetyczny (genetic algorithm)- Optymalizacja W praktyce inżynierskiej często zachodzi potrzeba znalezienia parametrów, dla których system/urządzenie będzie działać w sposób optymalny. Klasyczne podejście do optymalizacji: sformułowanie

Bardziej szczegółowo

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV Algorytmy grafowe Wykład 1 Podstawy teorii grafów Reprezentacje 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

Bardziej szczegółowo

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH

Marcel 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ółowo

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne) Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne) 1 2 Wstęp Termin zaproponowany przez Pablo Moscato (1989). Kombinacja algorytmu ewolucyjnego z algorytmem poszukiwań lokalnych, tak że algorytm poszukiwań

Bardziej szczegółowo

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Zofia 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ółowo

Podstawy sztucznej inteligencji

Podstawy 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ółowo

Algorytmy genetyczne

Algorytmy genetyczne Algorytmy genetyczne Motto: Zamiast pracowicie poszukiwać najlepszego rozwiązania problemu informatycznego lepiej pozwolić, żeby komputer sam sobie to rozwiązanie wyhodował! Algorytmy genetyczne służą

Bardziej szczegółowo

SZTUCZNA INTELIGENCJA

SZTUCZNA 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ółowo

Złożoność obliczeniowa klasycznych problemów grafowych

Złożoność obliczeniowa klasycznych problemów grafowych Złożoność obliczeniowa klasycznych problemów grafowych Oznaczenia: G graf, V liczba wierzchołków, E liczba krawędzi 1. Spójność grafu Graf jest spójny jeżeli istnieje ścieżka łącząca każdą parę jego wierzchołków.

Bardziej szczegółowo

Rozwiązywanie problemów metodą przeszukiwania

Rozwią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ółowo

a) 7 b) 19 c) 21 d) 34

a) 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ółowo

Wykład 8. Drzewo rozpinające (minimum spanning tree)

Wykł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ółowo

ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe

Ć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ółowo

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Dział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ółowo

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew 1. ( pkt) Dany jest algorytm, który dla dowolnej liczby naturalnej n, powinien wyznaczyd sumę kolejnych liczb naturalnych mniejszych od n. Wynik algorytmu jest zapisany w zmiennej suma. Algorytm i=1; suma=0;

Bardziej szczegółowo

Algorytmiczna teoria grafów

Algorytmiczna 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ółowo

Optymalizacja. Wybrane algorytmy

Optymalizacja. 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ółowo

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych Algorytm Genetyczny zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych Dlaczego Algorytmy Inspirowane Naturą? Rozwój nowych technologii: złożone problemy obliczeniowe w

Bardziej szczegółowo

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II Algorytmy Równoległe i Rozproszone Część V - Model PRAM II Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/ kuszner/arir/ 2005/06

Bardziej szczegółowo

Literatura. 1) Pojęcia: złożoność czasowa, rząd funkcji. Aby wyznaczyć pesymistyczną złożoność czasową algorytmu należy:

Literatura. 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ółowo

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie Używane struktury danych: V - zbiór wierzchołków grafu, V = {1,2,3...,n} E - zbiór krawędzi grafu, E = {(i,j),...}, gdzie i, j Î V i istnieje

Bardziej szczegółowo

Wykład 10 Grafy, algorytmy grafowe

Wykł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ółowo

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów Wykład 2. Reprezentacja komputerowa grafów 1 / 69 Macierz incydencji Niech graf G będzie grafem nieskierowanym bez pętli o n wierzchołkach (x 1, x 2,..., x n) i m krawędziach (e 1, e 2,..., e m). 2 / 69

Bardziej szczegółowo

MIO - LABORATORIUM. Imię i nazwisko Rok ak. Gr. Sem. Komputer Data ... 20 / EC3 VIII LAB...

MIO - LABORATORIUM. Imię i nazwisko Rok ak. Gr. Sem. Komputer Data ... 20 / EC3 VIII LAB... MIO - LABORATORIUM Temat ćwiczenia: TSP - Problem komiwojażera Imię i nazwisko Rok ak. Gr. Sem. Komputer Data Podpis prowadzącego... 20 / EC3 VIII LAB...... Zadanie Zapoznać się z problemem komiwojażera

Bardziej szczegółowo

LABORATORIUM 2: Przeszukiwanie grafów cz. 2 strategie heurystyczne

LABORATORIUM 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ółowo

Wstęp do Programowania potok funkcyjny

Wstę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ółowo

Podstawy Sztucznej Inteligencji (PSZT)

Podstawy 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ółowo

Uniwersytet 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 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ółowo

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.

1. 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ółowo

Techniki optymalizacji

Techniki optymalizacji Techniki optymalizacji Algorytm kolonii mrówek Idea Smuga feromonowa 1 Sztuczne mrówki w TSP Sztuczna mrówka agent, który porusza się z miasta do miasta Mrówki preferują miasta połączone łukami z dużą

Bardziej szczegółowo

Elementy 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) 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ółowo

Sztuczna Inteligencja i Systemy Doradcze

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ółowo

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba Algorytmy ewolucyjne - algorytmy genetyczne I. Karcz-Dulęba Algorytmy klasyczne a algorytmy ewolucyjne Przeszukiwanie przestrzeni przez jeden punkt bazowy Przeszukiwanie przestrzeni przez zbiór punktów

Bardziej szczegółowo

Wstęp do Programowania potok funkcyjny

Wstę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ółowo

Techniki optymalizacji

Techniki optymalizacji Techniki optymalizacji Dokładne algorytmy optymalizacji Maciej Hapke maciej.hapke at put.poznan.pl Problem optymalizacji kombinatorycznej Problem optymalizacji kombinatorycznej jest problemem minimalizacji

Bardziej szczegółowo

Wstęp do Sztucznej Inteligencji

Wstę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ółowo

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Drzewa 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ółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Informacje podstawowe 1. Konsultacje: pokój

Bardziej szczegółowo

Algorytmy stochastyczne laboratorium 03

Algorytmy stochastyczne laboratorium 03 Algorytmy stochastyczne laboratorium 03 Jarosław Piersa 10 marca 2014 1 Projekty 1.1 Problem plecakowy (1p) Oznaczenia: dany zbiór przedmiotów x 1,.., x N, każdy przedmiot ma określoną wagę w(x i ) i wartość

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE 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ółowo

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski Podejście memetyczne do problemu DCVRP - wstępne wyniki Adam Żychowski Na podstawie prac X. S. Chen, L. Feng, Y. S. Ong A Self-Adaptive Memeplexes Robust Search Scheme for solving Stochastic Demands Vehicle

Bardziej szczegółowo

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ZADANIE KOMIWOJAŻERA METODY ROZWIĄZYWANIA. Specyfika zadania komiwojażera Reprezentacje Operatory

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ZADANIE KOMIWOJAŻERA METODY ROZWIĄZYWANIA. Specyfika zadania komiwojażera Reprezentacje Operatory PLAN WYKŁADU Specyfika zadania komiwojażera Reprezentacje Operatory OPTYMALIZACJA GLOBALNA Wykład 5 dr inż. Agnieszka Bołtuć ZADANIE KOMIWOJAŻERA Koncepcja: komiwojażer musi odwiedzić każde miasto na swoim

Bardziej szczegółowo

Programowanie dynamiczne i algorytmy zachłanne

Programowanie dynamiczne i algorytmy zachłanne Programowanie dynamiczne i algorytmy zachłanne 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

Bardziej szczegółowo

Algorytmy genetyczne

Algorytmy genetyczne 9 listopada 2010 y ewolucyjne - zbiór metod optymalizacji inspirowanych analogiami biologicznymi (ewolucja naturalna). Pojęcia odwzorowujące naturalne zjawiska: Osobnik Populacja Genotyp Fenotyp Gen Chromosom

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova M. Czoków, J. Piersa 2010-12-21 1 Definicja Własności Losowanie z rozkładu dyskretnego 2 3 Łańcuch Markova Definicja Własności Losowanie z rozkładu

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Algorytmy zachłanne, algoritme Dijkstry Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XI Jesień 2013 1 / 25 Algorytmy zachłanne Strategia polegająca na

Bardziej szczegółowo

Podstawy sztucznej inteligencji

Podstawy 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ółowo

Znajdowanie wyjścia z labiryntu

Znajdowanie 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ółowo

SZTUCZNA INTELIGENCJA

SZTUCZNA INTELIGENCJA SZTUCZNA INTELIGENCJA WYKŁAD 13. PROBLEMY OPTYMALIZACYJNE Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska PROBLEMY OPTYMALIZACYJNE Optymalizacja poszukiwanie

Bardziej szczegółowo

Wyznaczanie optymalnej trasy problem komiwojażera

Wyznaczanie optymalnej trasy problem komiwojażera Wyznaczanie optymalnej trasy problem komiwojażera Optymalizacja w podejmowaniu decyzji Opracowała: mgr inż. Natalia Malinowska Wrocław, dn. 28.03.2017 Wydział Elektroniki Politechnika Wrocławska Plan prezentacji

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Matematyka dyskretna. Andrzej Łachwa, UJ, /14 Matematyka dyskretna Andrzej Łachwa, UJ, 2016 andrzej.lachwa@uj.edu.pl 13/14 Grafy podstawowe definicje Graf to para G=(V, E), gdzie V to niepusty i skończony zbiór, którego elementy nazywamy wierzchołkami

Bardziej szczegółowo

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

WPROWADZENIE 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ółowo

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik Zadanie transportowe i problem komiwojażera Tadeusz Trzaskalik 3.. Wprowadzenie Słowa kluczowe Zbilansowane zadanie transportowe Rozwiązanie początkowe Metoda minimalnego elementu macierzy kosztów Metoda

Bardziej szczegółowo

Metody Optymalizacji: Przeszukiwanie z listą tabu

Metody Optymalizacji: Przeszukiwanie z listą tabu Metody Optymalizacji: Przeszukiwanie z listą tabu Wojciech Kotłowski Instytut Informatyki Politechniki Poznańskiej email: imię.nazwisko@cs.put.poznan.pl pok. 2 (CW) tel. (61)665-2936 konsultacje: wtorek

Bardziej szczegółowo

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO. Rzeczywistość (istniejąca lub projektowana).. Model fizyczny. 3. Model matematyczny (optymalizacyjny): a. Zmienne projektowania

Bardziej szczegółowo

ĆWICZENIE 1: Przeszukiwanie grafów strategie heurystyczne

Ć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ółowo

Generowanie i optymalizacja harmonogramu za pomoca

Generowanie i optymalizacja harmonogramu za pomoca Generowanie i optymalizacja harmonogramu za pomoca na przykładzie generatora planu zajęć Matematyka Stosowana i Informatyka Stosowana Wydział Fizyki Technicznej i Matematyki Stosowanej Politechnika Gdańska

Bardziej szczegółowo

Algorytmy metaheurystyczne podsumowanie

Algorytmy 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ółowo

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) 16.01.2003 Algorytmy i Struktury Danych PIŁA ALGORYTMY ZACHŁANNE czas [ms] Porównanie Algorytmów Rozwiązyjących problem TSP 100 000 000 000,000 10 000 000

Bardziej szczegółowo

Elementy kognitywistyki II:

Elementy 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ółowo

Zadania laboratoryjne i projektowe - wersja β

Zadania laboratoryjne i projektowe - wersja β Zadania laboratoryjne i projektowe - wersja β 1 Laboratorium Dwa problemy do wyboru (jeden do realizacji). 1. Water Jug Problem, 2. Wieże Hanoi. Water Jug Problem Ograniczenia dla każdej z wersji: pojemniki

Bardziej szczegółowo

Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska

Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska Teoria grafów dla małolatów Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska Wstęp Matematyka to wiele różnych dyscyplin Bowiem świat jest bardzo skomplikowany wymaga rozważenia

Bardziej szczegółowo

Algorytmy mrówkowe. H. Bednarz. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

Algorytmy mrówkowe. H. Bednarz. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne Algorytmy mrówkowe H. Bednarz Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne 13 kwietnia 2015 1 2 3 4 Przestrzeń poszukiwań Ograniczenia

Bardziej szczegółowo

Algorytmika Problemów Trudnych

Algorytmika Problemów Trudnych Algorytmika Problemów Trudnych Wykład 9 Tomasz Krawczyk krawczyk@tcs.uj.edu.pl Kraków, semestr letni 2016/17 plan wykładu Algorytmy aproksymacyjne: Pojęcie algorytmu aproksymacyjnego i współczynnika aproksymowalności.

Bardziej szczegółowo

ALHE Z11 Jarosław Arabas wykład 11

ALHE Z11 Jarosław Arabas wykład 11 ALHE Z11 Jarosław Arabas wykład 11 algorytm ewolucyjny inicjuj P 0 {x 1, x 2... x } t 0 while! stop for i 1: if a p c O t,i mutation crossover select P t, k else O t,i mutation select P t,1 P t 1 replacement

Bardziej szczegółowo

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA? /9/ Zagadnienie transportowe Optymalizacja w procesach biznesowych Wykład --9 Plan wykładu Przykład zagadnienia transportowego Sformułowanie problemu Własności zagadnienia transportowego Metoda potencjałów

Bardziej szczegółowo

Obliczenia ewolucyjne - plan wykładu

Obliczenia ewolucyjne - plan wykładu Obliczenia ewolucyjne - plan wykładu Wprowadzenie Algorytmy genetyczne Programowanie genetyczne Programowanie ewolucyjne Strategie ewolucyjne Inne modele obliczeń ewolucyjnych Podsumowanie Ewolucja Ewolucja

Bardziej szczegółowo

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca

Bardziej szczegółowo

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Algorytmy wyznaczania centralności w sieci Szymon Szylko Algorytmy wyznaczania centralności w sieci Szymon Szylko Zakład systemów Informacyjnych Wrocław 10.01.2008 Agenda prezentacji Cechy sieci Algorytmy grafowe Badanie centralności Algorytmy wyznaczania centralności

Bardziej szczegółowo

Wykład2,24II2010,str.1 Przeszukiwanie przestrzeni stanów powtórka

Wykł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ółowo

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009 Algorytmy genetyczne Paweł Cieśla 8 stycznia 2009 Genetyka - nauka o dziedziczeniu cech pomiędzy pokoleniami. Geny są czynnikami, które decydują o wyglądzie, zachowaniu, rozmnażaniu każdego żywego organizmu.

Bardziej szczegółowo

WSTĘP DO INFORMATYKI. Grafy i struktury grafowe

WSTĘP DO INFORMATYKI. Grafy i struktury grafowe Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WTĘP DO INFORMATYKI Adrian Horzyk Grafy i struktury grafowe www.agh.edu.pl DEFINICJA GRAFU Graf to

Bardziej szczegółowo

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne Algorytmy genetyczne Materiały do laboratorium PSI Studia niestacjonarne Podstawowy algorytm genetyczny (PAG) Schemat blokowy algorytmu genetycznego Znaczenia, pochodzących z biologii i genetyki, pojęć

Bardziej szczegółowo

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY ERIAŁY DO WYKŁADU GRAFY Graf nieskierowany Grafem nieskierowanym nazywamy parę G = (V, E), gdzie V jest pewnym zbiorem skończonym (zwanym zbiorem wierzchołków grafu G), natomiast E jest zbiorem nieuporządkowanych

Bardziej szczegółowo

Grafy i Zastosowania. 5: Drzewa Rozpinające. c Marcin Sydow. Drzewa rozpinające. Cykle i rozcięcia fundamentalne. Zastosowania

Grafy i Zastosowania. 5: Drzewa Rozpinające. c Marcin Sydow. Drzewa rozpinające. Cykle i rozcięcia fundamentalne. Zastosowania Grafy i Grafy i 5: Rozpinające Spis zagadnień Grafy i i lasy cykle fundamentalne i własności cykli i rozcięć przestrzenie cykli i rozcięć* : zastosowanie w sieciach elektrycznych minimalne * algorytm Kruskala*

Bardziej szczegółowo

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek Problem zapożyczania kanałów z wykorzystaniem narzędzi optymalizacji Wprowadzenie Rozwiązanie problemu przydziału częstotliwości prowadzi do stanu, w którym każdej stacji bazowej przydzielono żądaną liczbę

Bardziej szczegółowo

Algorytmy genetyczne w interpolacji wielomianowej

Algorytmy genetyczne w interpolacji wielomianowej Algorytmy genetyczne w interpolacji wielomianowej (seminarium robocze) Seminarium Metod Inteligencji Obliczeniowej Warszawa 22 II 2006 mgr inż. Marcin Borkowski Plan: Przypomnienie algorytmu niszowego

Bardziej szczegółowo

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation) Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation) Jest to technika probabilistyczna rozwiązywania problemów obliczeniowych, które mogą zostać sprowadzone do problemu znalezienie

Bardziej szczegółowo

Przykłady problemów optymalizacyjnych

Przykłady problemów optymalizacyjnych Przykłady problemów optymalizacyjnych NAJKRÓTSZA ŚCIEŻKA W zadanym grafie G = (V, A) wyznacz najkrótsza ścieżkę od wierzchołka s do wierzchołka t. 2 7 5 5 3 9 5 s 8 3 1 t 2 2 5 5 1 5 4 Przykłady problemów

Bardziej szczegółowo

Podstawowe pojęcia dotyczące drzew Podstawowe pojęcia dotyczące grafów Przykłady drzew i grafów

Podstawowe pojęcia dotyczące drzew Podstawowe pojęcia dotyczące grafów Przykłady drzew i grafów Podstawowe pojęcia dotyczące drzew Podstawowe pojęcia dotyczące grafów Przykłady drzew i grafów Drzewa: Drzewo (ang. tree) jest strukturą danych zbudowaną z elementów, które nazywamy węzłami (ang. node).

Bardziej szczegółowo

Strategie ewolucyjne (ang. evolu4on strategies)

Strategie ewolucyjne (ang. evolu4on strategies) Strategie ewolucyjne (ang. evolu4on strategies) Strategia ewolucyjna (1+1) W Strategii Ewolucyjnej(1 + 1), populacja złożona z jednego osobnika generuje jednego potomka. Kolejne (jednoelementowe) populacje

Bardziej szczegółowo

Algorytmy genetyczne w optymalizacji

Algorytmy genetyczne w optymalizacji Algorytmy genetyczne w optymalizacji Literatura 1. David E. Goldberg, Algorytmy genetyczne i ich zastosowania, WNT, Warszawa 1998; 2. Zbigniew Michalewicz, Algorytmy genetyczne + struktury danych = programy

Bardziej szczegółowo

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Zadanie 5 - Algorytmy genetyczne (optymalizacja) Zadanie 5 - Algorytmy genetyczne (optymalizacja) Marcin Pietrzykowski mpietrzykowski@wi.zut.edu.pl wersja 1.0 1 Cel Celem zadania jest zapoznanie się z Algorytmami Genetycznymi w celu rozwiązywanie zadania

Bardziej szczegółowo

Algorytmy grafowe. Wykład 2 Przeszukiwanie grafów. Tomasz Tyksiński CDV

Algorytmy 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ółowo

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott

Struktury 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ółowo

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa M. Czoków, J. Piersa 2012-01-10 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego 3 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Twierdzenie 2.1 Niech G będzie grafem prostym

Bardziej szczegółowo

Algorytmy ewolucyjne 1

Algorytmy ewolucyjne 1 Algorytmy ewolucyjne 1 2 Zasady zaliczenia przedmiotu Prowadzący (wykład i pracownie specjalistyczną): Wojciech Kwedlo, pokój 205. Konsultacje dla studentów studiów dziennych: poniedziałek,środa, godz

Bardziej szczegółowo