Rozwiązywanie problemów metodą przeszukiwania

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

Download "Rozwiązywanie problemów metodą przeszukiwania"

Transkrypt

1 Rozwiązywanie problemów metodą przeszukiwania Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 Politechnika Wrocławska

2 Reprezentacja problemu w przestrzeni stanów Jedną z ważniejszych metod sztucznej inteligencji jest szukanie (ang. searching). Metodą przeszukiwania można rozwiązywać następujące typy zadań: przesuwanki np. kostka Rubika, puzzle labirynty, poszukiwanie optymalnej drogi problemy układania klocków np. wieża z Hanoi zagadki logiczne np. misjonarze i kanibale gry planszowe inne Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 2

3 Reprezentacja problemu w przestrzeni stanów Aby zastosować metodę przeszukiwania należy w odpowiedni sposób określić przestrzeń poszukiwań. W tym celu należy zdefiniować trzy elementy: bazę danych (fakty, stany, możliwości, opis sytuacji) możliwe operacje, które zmieniają stan bazy danych strategię kontrolną (start, koniec i kolejność operacji) Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 3

4 Reprezentacja problemu w przestrzeni stanów Przestrzeń stanów definiowana jest jako uporządkowana czwórka [N, A, S, G], gdzie: N jest zbiorem wierzchołków odpowiadających stanom w procesie rozwiązywania problemu A jest zbiorem krawędzi odpowiadających krokom (operacjom) w procesie rozwiązywania problemu S jest niepustym podzbiorem N, zawierającym stany początkowe problemu G jest niepustym podzbiorem N, zawierającym stany docelowe (końcowe) problemu Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 4

5 Reprezentacja problemu w przestrzeni stanów Bardzo wygodnym sposobem reprezentacji przestrzeni stanów są grafy lub drzewa (czasami stosowane są specjalne typy grafów np. AND/OR). Ścieżką rozwiązania danego problemu jest wówczas ścieżka wiodąca przez ten graf z wierzchołka S do wierzchołka G. W przypadku niektórych problemów z każdym przejściem między stanami związany jest określony koszt. W procesie szukania należy dążyć wówczas do znalezienia ścieżki o minimalnym całkowitym koszcie. Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 5

6 Reprezentacja problemu w przestrzeni stanów Graf (drzewo) opisujące wszystkie możliwe sytuacje wyznacza przestrzeń szukania. W zależności od złożoności problemu przestrzeń szukania może mieć różny rozmiar (może być również nieskończona). puzzle (3x3) 9!/2 = wierzchołków warcaby stanów końcowych szachy stanów końcowych Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 6

7 Reprezentacja problemu w przestrzeni stanów Problem 1 Lis, gęś i ziarno Nad rzeką znajduje się farmer z lisem, gęsią i ziarnem, które musi przewieźć na drugi brzeg. Zadanie posiada następujące ograniczenia: w danej chwili można przewieźć łódką tylko jedną rzecz bez opieki nie mogą zostać lis z gęsią oraz gęś z ziarnem Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 7

8 Reprezentacja problemu w przestrzeni stanów F L G Z Opis stanu: (x 1, x 2, x 3, x 4 ), gdzie x i = {L, P} Stan początkowy: (L, L, L, L) Stan końcowy: (P, P, P, P) Dopuszczalne operacje: 1. Farmer płynie sam 2. Farmer przewozi lisa 3. Farmer przewozi gęś 4. Farmer przewozi ziarno Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 8

9 Reprezentacja problemu w przestrzeni stanów Liczba wszystkich stanów: 2 4 = 16 Liczba stanów akceptowalnych: 10 Liczba stanów nieakceptowalnych: 6 Przykłady stanów nieakceptowalnych: (P, L, L, P), (L, P, P, L) lis i gęś razem bez opieki (P, P, L, L), (L, L, P, P) gęś i ziarno razem bez opieki Na następnym rysunku przedstawiono rozwiązanie problemu, które zawiera jedynie stany akceptowalne. Pominięto stany ślepe, które nie prowadzą do rozwiązania. Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 9

10 Reprezentacja problemu w przestrzeni stanów (L, L, L, L) 3 (P, L, P, L) 1 4 (L, L, P, L) 2 (P, L, P, P) (P, P, P, L) 3 3 (L, L, L, P) 2 4 (L, P, L, L) (P, P, L, P) 1 (L, P, L, P) 3 (P, P, P, P) 1. Farmer płynie sam 2. Farmer przewozi lisa 3. Farmer przewozi gęś 4. Farmer przewozi ziarno Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 10

11 Reprezentacja problemu w przestrzeni stanów Problem 2 Napełnianie naczyń Posiadamy dwa puste dzbanki: o pojemności 4 l (dzbanek 1) o pojemności 3 l (dzbanek 2) Dzbanek 1 (o pojemności 4 l) należy napełnić do połowy. Opis stanu: (x, y) x ilość wody w dzbanku 1 Stan początkowy: (0, 0) Stan końcowy: (2, 0) y ilość wody w dzbanku 2 Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 11

12 Reprezentacja problemu w przestrzeni stanów Dopuszczalne operacje: 1. wypełnij dzbanek 1 ((x, y) (4, y), warunek: x<4) 2. wypełnij dzbanek 2 ((x, y) (x, 3), warunek: y<3) 3. opróżnij dzbanek 1 ((x, y) (0, y), warunek: x>0) 4. opróżnij dzbanek 2 ((x, y) (x, 0), warunek: y>0) 5. przelej wszystko z dzbana 1 do dzbana 2 ((x, y) (0, x+y), war.: x>0, x+y 3) 6. przelej wszystko z dzbana 2 do dzbana 1 ((x, y) (x+y, 0), war.: y>0, x+y 4) 7. uzupełnij do pełna dzban 1 z dzbana 2 ((x, y) (4, y-(4-x)), war.: y>0, x+y 4) 8. uzupełnij do pełna dzban 2 z dzbana 1 ((x, y) (x-(3-y), 3), war.: x>0, x+y 3) 9. odlej pewną ilość wody z dzbana 1 ((x, y) (x-d, y), war.: x>0) 10. odlej pewną ilość wody z dzbana 2 ((x, y) (x, y-d), war.: y>0) Można definiować kolejne operacje. Do rozwiązania problemu wystarczą operacje 1-8. Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 12

13 Reprezentacja problemu w przestrzeni stanów (4, 0) (0, 0) 1 2 (4, 0) (0, 3) (4, 3) (1, 3) (0, 0) (4, 3) (3, 0) (0, 0) (0, 3) (4, 3) (1, 0) (4, 0) (0, 3) 5 (0, 1) 1 (4, 1) 8 (2, 3) 4 (2, 0) (4, 0) (0, 3) (4, 0) (3, 3) (0, 0) (0, 3) 1. wypełnij dzbanek 1 2. wypełnij dzbanek 2 3. opróżnij dzbanek 1 4. opróżnij dzbanek 2 5. przelej wszystko z dzbana 1 do dzbana 2 6. przelej wszystko z dzbana 2 do dzbana 1 7. uzupełnij do pełna dzban 1 z dzbana 2 8. uzupełnij do pełna dzban 2 z dzbana 1 Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 13

14 Reprezentacja problemu w przestrzeni stanów Problem 3 Puzzle 3x3 (tzw. ósemka) Opis stanu: (x 1, x 2, x 3, x 4, x 5, x 6, x 7, x 8, x 9 ), gdzie x i = {0, 1,..., 8} Stan początkowy: (?,?,?,?,?,?,?,?,?) Stan końcowy: (1, 2, 3, 4, 5, 6, 7, 8, 0) Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 14

15 Reprezentacja problemu w przestrzeni stanów Dopuszczalne operacje: 1. przesuń wolne pole do góry 2. przesuń wolne pole w dół 3. przesuń wolne pole w lewo 4. przesuń wolne pole w prawo Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 15

16 Algorytmy przeszukiwania przestrzeni stanów W celu uzyskania rozwiązania danego problemu metodą przeszukiwania należy: określić reprezentację problemu w przestrzeni stanu (wyróżnienie poszczególnych stanów, sposób ich kodowania), określić dopuszczalne operatory, które pozwalają dla dowolnego stanu określić stany następne, zdefiniować stan początkowy i stan (lub stany) docelowe, określić strategię przeszukiwania, czyli metodę wyboru operatora spośród wszystkich operatorów możliwych. Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 16

17 Algorytmy przeszukiwania przestrzeni stanów Przestrzeń poszukiwań może być reprezentowana w postaci grafu lub drzewa. Rozwiązanie problemu polega wówczas na szukaniu w grafie (drzewie) ścieżki od wierzchołka początkowego do jednego z wierzchołków docelowych: St := [stan_początkowy] WHILE ( St <> stan_docelowy) DO BEGIN END Op := [wybrany operator dla stanu St] St := [wynik zastosowania Op do stanu St] Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 17

18 Algorytmy przeszukiwania przestrzeni stanów Metodę wyboru operatora w powyższym algorytmie nazywa się strategią poszukiwań. Wybierając odpowiednią strategię należy uwzględnić następujące czynniki: ograniczenie rozmiaru drzewa poszukiwań (np. eliminacja operatorów nie prowadzących do celu) znalezienie optymalnego rozwiązania w przypadku wielu rozwiązań (np. znalezienie najkrótszej ścieżki od wierzchołka początkowego do docelowego) znalezienie rozwiązania w najkrótszym czasie zakończenie algorytmu w przypadku braku rozwiązania (ograniczenie głębokości poszukiwań) Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 18

19 Algorytmy przeszukiwania przestrzeni stanów Podstawowym algorytmem przeszukiwania przestrzeni stanów jest systematyczne badanie grafu (tzw. przegląd zupełny). Celem takiego algorytmu jest sprawdzenie wszystkich wierzchołków grafu począwszy od wierzchołka startowego. Rozwiązanie takie jest często nieefektywne!!! Stosowane strategie przeszukiwania możemy podzielić na dwie grupy: metody szukania na ślepo (klasyczne) metody heurystyczne Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 19

20 Algorytmy przeszukiwania przestrzeni stanów Metody szukania na ślepo W większości zadań praktycznych rozmiary drzew są tak duże, że nie jest możliwe ich zapamiętanie w całości. Dlatego często stosuje się metodę generowania tych drzew na bieżąco. W zależności od kolejności przeszukiwanych wierzchołków w drzewie rozróżnia się następujące strategie: Monte Carlo (metoda Muzeum Brytyjskiego) szukanie w głąb (DFS - ang. depth-first search) szukanie wszerz (BFS - ang. breadth-first search) szukanie z nawracaniem (BT - ang, backtracking) inne Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 20

21 Algorytmy przeszukiwania przestrzeni stanów Szukanie w głąb (DFS) Szukanie w głąb jest podstawową metodą przeszukiwania grafów. Przeszukiwanie prowadzone jest zawsze od ostatnio sprawdzanego wierzchołka, który ma jeszcze niewykorzystane operatory. W algorytmie wykorzystuje się listę OPEN, która zawiera wierzchołki drzewa, które nie zostały jeszcze rozpatrzone. Lista OPEN zorganizowana jest w postaci stosu (ostatnio umieszczony element pobierany jest jako pierwszy). Metoda może być nieskuteczna dla dużych grafów (np. dla grafów o nieskończonej głębokości)!!! Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 21

22 Algorytmy przeszukiwania przestrzeni stanów Zapis algorytmu: 1. wstaw wierzchołek początkowy na listę OPEN 2. IF (lista OPEN jest pusta) THEN STOP (brak rozwiązania) 3. St := FIRST (OPEN) 4. IF (St jest wierzchołkiem docelowym) THEN STOP (sukces) 5. usuń St z listy OPEN 6. utwórz wszystkie wierzchołki potomne od St i wstaw je na początek listy OPEN, 7. GOTO 2 Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 22

23 Algorytmy przeszukiwania przestrzeni stanów Działanie algorytmu: 1 2/1 8/1 10/1 3/2 5/2 9/5 11/6 4/3 6/4 7/4 wierzchołek celu n/ m n liczba określająca kolejność analizy wierzchołków, m liczba określająca kolejność dodawania nowych wierzchołków do listy OPEN. Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 23

24 Algorytmy przeszukiwania przestrzeni stanów Szukanie wszerz (BFS) Szukanie wszerz polega na rozwijaniu na każdym poziomie wszystkich wierzchołków następnej generacji (określenie wszystkich potomków dla wszystkich wierzchołków z danego poziomu i ich sprawdzenie). Metoda ta, kolejno badając wierzchołki grafu o jednakowej głębokości, przyznaje wyższy priorytet wierzchołkom o mniejszej głębokości. Jeżeli rozwiązanie położone jest niezbyt głęboko procedura szukania wszerz szybciej prowadzi do jego znalezienia. Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 24

25 Algorytmy przeszukiwania przestrzeni stanów Algorytm szukania wszerz jest podobny do algorytmu przedstawionego dla strategii szukania w głąb. Podstawowa różnica polega na sposobie organizacji listy OPEN. Podczas szukania wszerz lista OPEN zorganizowana jest w postaci kolejki. Strategia ta wyznacza wierzchołek celu o najmniejszej głębokości. Wadą strategii są duże wymagania pamięciowe (należy przechowywać całą dotychczas przebadaną część grafu). Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 25

26 Algorytmy przeszukiwania przestrzeni stanów Działanie algorytmu: 1 2/2 8/3 10/4 3/5 5/6 9/7 11/8 4/- 6/- 7/- wierzchołek celu n/ m n liczba określająca kolejność analizy wierzchołków dla algorytmu w głąb m liczba określająca kolejność analizy wierzchołków dla algorytmu wszerz Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 26

27 Algorytmy przeszukiwania przestrzeni stanów Szukanie z nawracaniem (BT) Strategia z nawracaniem jest modyfikacją algorytmu przeszukiwania w głąb. Lista OPEN jest również zorganizowana w postaci stosu, jednak dla badanego wierzchołka generowany jest tylko jeden jego potomek. Jeżeli nowy wierzchołek nie spełnia kryterium celu lub końcowego, to jest dalej rozszerzany (ale określamy tylko jednego potomka). Gdy po kolejnych rozszerzeniach otrzymany wierzchołek jest końcowy lub nie można dla niego określić wierzchołka potomnego następuje powrót do najbliższego przodka, dla którego możliwe jest wygenerowanie potomków. Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 27

28 Algorytmy przeszukiwania przestrzeni stanów Główną zaletą strategii z powracaniem jest oszczędność pamięci dla danego węzła wystarczy zapamiętać tylko jednego potomka. Oszczędność pamięci okupiona jest jednak komplikacją algorytmu przy powrocie do wcześniej analizowanego wierzchołka należy sprawdzić, które krawędzie z niego wychodzące zostały już rozpatrzone. Jednym z problemów algorytmu szukania z nawracaniem jest możliwość powstawania pętli (powrót do stanów już raz zbadanych). Rozwiązaniem tego problemu może być utworzenie dodatkowej listy CLOSED (zawiera wykaz stanów już rozpatrzonych). Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 28

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

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

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

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

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

Ć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

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

Wprowadzenie do Sztucznej Inteligencji

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

Wprowadzenie do Sztucznej Inteligencji

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

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

prowadzący dr ADRIAN HORZYK /~horzyk e-mail: horzyk@agh tel.: 012-617 Konsultacje paw. D-13/325

prowadzą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ół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

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

Wprowadzenie do Sztucznej Inteligencji

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

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

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

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

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

Wyznaczanie strategii w grach

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

SZTUCZNA INTELIGENCJA

SZTUCZNA INTELIGENCJA Instytut Automatyki, Robotyki i Informatyki Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis Literatura SZTUCZNA INTELIGENCJA Modelowanie problemów za

Bardziej szczegół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

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

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

Zadanie 1: Piętnastka

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

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

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Paweł Szołtysek 12 czerwca 2008 Streszczenie Planowanie produkcji jest jednym z problemów optymalizacji dyskretnej,

Bardziej szczegółowo

Wstęp do programowania. Zastosowania stosów i kolejek. Piotr Chrząstowski-Wachtel

Wstęp do programowania. Zastosowania stosów i kolejek. Piotr Chrząstowski-Wachtel Wstęp do programowania Zastosowania stosów i kolejek Piotr Chrząstowski-Wachtel FIFO - LIFO Kolejki i stosy służą do przechowywania wartości zbiorów dynamicznych, czyli takich, które powstają przez dodawanie

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Stosy, kolejki, drzewa Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. VII Jesień 2013 1 / 25 Listy Lista jest uporządkowanym zbiorem elementów. W Pythonie

Bardziej szczegółowo

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują

Bardziej szczegół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

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

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

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

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

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

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

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

Algorytmy przeszukiwania grafów i drzew dla gier i łamigłówek

Algorytmy przeszukiwania grafów i drzew dla gier i łamigłówek 1/ 39 Algorytmy przeszukiwania grafów i drzew dla gier i łamigłówek Przemysław Klęsk pklesk@wi.ps.pl Zagadnienia i algorytmy 2/ 39 1 Zachłanne (wyczerpujące) przeszukiwanie grafu (algorytm Breadth First

Bardziej szczegółowo

Algorytm obejścia drzewa poszukiwań i zadanie o hetmanach szachowych

Algorytm obejścia drzewa poszukiwań i zadanie o hetmanach szachowych Algorytm obejścia drzewa poszukiwań i zadanie o hetmanach szachowych 1 Algorytm obejścia drzewa poszukiwań i zadanie o hetmanach szachowych Alexander Denisjuk Prywatna Wyższa Szkoła Zawodowa w Giżycku

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

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

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

Kilka zagadnień dotyczących Sztucznej inteligencji.

Kilka zagadnień dotyczących Sztucznej inteligencji. Kilka zagadnień dotyczących Sztucznej inteligencji. Artykuł pobrano ze strony eioba.pl Jest tu kilka zagadnień dotyczących SI. Autor przygotowania: Magister inżynier Ireneusz Łukasz Dzitkowski Wałcz, dnia:

Bardziej szczegółowo

Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe.

Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe. Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe. Oznaczenia G = V, E - graf bez wag, gdzie V - zbiór wierzchołków, E- zbiór krawdzi V = n - liczba wierzchołków grafu G E = m

Bardziej szczegółowo

Wykłady z Matematyki Dyskretnej

Wykłady z Matematyki Dyskretnej Wykłady z Matematyki Dyskretnej dla kierunku Informatyka dr Instytut Informatyki Politechnika Krakowska Wykłady na bazie materiałów: dra hab. Andrzeja Karafiata dr hab. Joanny Kołodziej, prof. PK Grafy

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

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

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Sieci powiązań Paweł Daniluk Wydział Fizyki Jesień 2015 P. Daniluk (Wydział Fizyki) PO w. IX Jesień 2015 1 / 21 Sieci powiązań Można (bardzo zgrubnie) wyróżnić dwa rodzaje powiązań

Bardziej szczegółowo

Podstawy sztucznej inteligencji

Podstawy sztucznej inteligencji wykład I Czym jest SI? Przeszukiwanie problemy oraz jak je rozwiązywać 13 październik 2011 Plan wykładu Od inteligencji naturalnej do sztucznej? Przyjrzyjmy się krótko historii 1 Czym jest sztuczna inteligencja?

Bardziej szczegółowo

Algorytmy i struktury danych

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

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

Rekurencja. Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów.

Rekurencja. Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów. Rekurencja Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów. Zgodnie ze znaczeniem informatycznym algorytm rekurencyjny to taki który korzysta z samego

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

Sortowanie topologiczne skierowanych grafów acyklicznych

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

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

Programowanie obiektowe

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

Zastosowania algorytmów heurystycznych do sterowania systemami autonomicznymi

Zastosowania 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ół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 5. ROZWIĄZYWANIE PROBLEMÓW Z OGRANICZENIAMI Problemy z ograniczeniami

Bardziej szczegółowo

Planowanie drogi robota, algorytm A*

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

Digraf o V wierzchołkach posiada V 2 krawędzi, zatem liczba różnych digrafów o V wierzchołkach wynosi 2 VxV

Digraf o V wierzchołkach posiada V 2 krawędzi, zatem liczba różnych digrafów o V wierzchołkach wynosi 2 VxV Graf skierowany (digraf) zbiór wierzchołków i zbiór krawędzi skierowanych łączących (co najwyżej jeden raz) uporządkowane pary wierzchołków. Mówimy wtedy, że krawędź łączy pierwszy wierzchołek z drugim

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

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

Sortowanie. Bartman Jacek Algorytmy i struktury

Sortowanie. Bartman Jacek Algorytmy i struktury Sortowanie Bartman Jacek jbartman@univ.rzeszow.pl Algorytmy i struktury danych Sortowanie przez proste wstawianie przykład 41 56 17 39 88 24 03 72 41 56 17 39 88 24 03 72 17 41 56 39 88 24 03 72 17 39

Bardziej szczegółowo

Algorytmy i Struktury Danych.

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

Sztuczna inteligencja w programowaniu gier

Sztuczna inteligencja w programowaniu gier ztuczna inteligencja w programowaniu gier Algorytmy przeszukiwania przestrzeni rozwiązań Krzysztof Ślot Wprowadzenie Ogólna charakterystyka zagadnienia Cel przeszukiwania: znaleźć element będący rozwiązaniem

Bardziej szczegółowo

Metoda podziału i ograniczeń

Metoda podziału i ograniczeń Seminarium: Algorytmy heurystyczne Metoda podziału i ograniczeń Mateusz Łyczek Wrocław, 16 marca 011 r. 1 Metoda podziału i ograniczeń Metoda podziału i ograniczeń służy do rozwiązywania problemów optymalizacyjnych.

Bardziej szczegółowo

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami dr inż. Mariusz Uchroński Wrocławskie Centrum Sieciowo-Superkomputerowe Agenda Cykliczny problem przepływowy

Bardziej szczegółowo

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A Zadanie do wykonania 1) Utwórz na pulpicie katalog w formacie Imię nazwisko, w którym umieść wszystkie pliki związane z

Bardziej szczegółowo

METODY HEURYSTYCZNE wykład 1

METODY HEURYSTYCZNE wykład 1 METODY HEURYSTYCZNE wykład 1 1 prowadzący: dr hab. inż. Witold Beluch (p. 149) Instytut Mechaniki i Inżynierii Obliczeniowej konsultacje: https://plan.polsl.pl/ wykład: 15h ćwiczenia: 15h ZAJĘCIA KOŃCZĄ

Bardziej szczegółowo

Porządek symetryczny: right(x)

Porzą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ół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

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa. Plan Procedura decyzyjna Reguły α i β - algorytm Plan Procedura decyzyjna Reguły α i β - algorytm Logika obliczeniowa Instytut Informatyki 1 Procedura decyzyjna Logiczna konsekwencja Teoria aksjomatyzowalna

Bardziej szczegółowo

Drzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np.

Drzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np. Drzewa binarne Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0 i T 1 są drzewami binarnymi to T 0 T 1 jest drzewem binarnym Np. ( ) ( ( )) Wielkość drzewa

Bardziej szczegółowo

METODY HEURYSTYCZNE wykład 1

METODY HEURYSTYCZNE wykład 1 METODY HEURYSTYCZNE wykład 1 1 MB4 n2z, sem. II prowadzący: dr hab. inż. Witold Beluch (p. 149) wykład: 9h laboratorium: 9h ZAJĘCIA KOŃCZĄ SIĘ EGZAMINEM OCENA KOŃCOWA: O=0.65k+0.35L k- ocena z kolokwiom

Bardziej szczegółowo

Algorytmy i Struktury Danych

Algorytmy i Struktury Danych Algorytmy i Struktury Danych Drzewa poszukiwań binarnych dr hab. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 12 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych

Bardziej szczegółowo

Wyrażenia regularne.

Wyrażenia regularne. Teoretyczne podstawy informatyki Wykład : Wyrażenia regularne. Prof. dr hab. Elżbieta Richter-Wąs.2.202 Wyrażenia regularne Wyrażenia regularne (ang. regular expressions) stanowią algebraiczny sposób definiowania

Bardziej szczegółowo

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

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

Zaawansowane algorytmy i struktury danych

Zaawansowane algorytmy i struktury danych Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań teoretycznych z egzaminów. Strona 1 z 12 Pytania teoretyczne z egzaminu pisemnego z 25 czerwca 2014 (studia dzienne)

Bardziej szczegółowo

Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda

Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda Segmentacja obrazów cyfrowych Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp autor: Łukasz Chlebda 1 Segmentacja obrazów cyfrowych - temat pracy Temat pracy: Aplikacja do segmentacji

Bardziej szczegółowo

Struktury danych: stos, kolejka, lista, drzewo

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

Algorytmy i Struktury Danych

Algorytmy 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

Algorytmy dla gier dwuosobowych

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

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 > Typy indeksów Indeks jest zakładany na atrybucie relacji atrybucie indeksowym (ang. indexing field). Indeks zawiera wartości atrybutu indeksowego wraz ze wskaźnikami do wszystkich bloków dyskowych zawierających

Bardziej szczegółowo

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279

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

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD III: Problemy agenta

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD III: Problemy agenta Elementy kognitywistyki II: Sztuczna inteligencja WYKŁAD III: Problemy agenta To już było: AI to dziedzina zajmująca się projektowaniem agentów Określenie agenta i agenta racjonalnego Charakterystyka PAGE

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

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

9.9 Algorytmy przeglądu

9.9 Algorytmy przeglądu 14 9. PODSTAWOWE PROBLEMY JEDNOMASZYNOWE 9.9 Algorytmy przeglądu Metody przeglądu dla problemu 1 r j,q j C max były analizowane między innymi w pracach 25, 51, 129, 238. Jak dotychczas najbardziej elegancka

Bardziej szczegółowo

Matematyka dyskretna - 7.Drzewa

Matematyka dyskretna - 7.Drzewa Matematyka dyskretna - 7.Drzewa W tym rozdziale zajmiemy się drzewami: specjalnym przypadkiem grafów. Są one szczególnie przydatne do przechowywania informacji, umożliwiającego szybki dostęp do nich. Definicja

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

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne Algorytmy i struktury danych Wykład VIII Elementarne techniki algorytmiczne Co dziś? Algorytmy zachłanne (greedyalgorithms) 2 Tytułem przypomnienia metoda dziel i zwyciężaj. Problem można podzielić na

Bardziej szczegółowo

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA Rekurencja - zdolność podprogramu (procedury) do wywoływania samego (samej) siebie Wieże Hanoi dane wejściowe - trzy kołki i N krążków o różniących się średnicach wynik - sekwencja ruchów przenosząca krążki

Bardziej szczegółowo

Definicja pliku kratowego

Definicja pliku kratowego Pliki kratowe Definicja pliku kratowego Plik kratowy (ang grid file) jest strukturą wspierająca realizację zapytań wielowymiarowych Uporządkowanie rekordów, zawierających dane wielowymiarowe w pliku kratowym,

Bardziej szczegółowo

operacje 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.

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