W3 Flashcards

1
Q

Czym sie charakteryzuje agent celowy

A

Agent celowy poszukuje rozwiązania realizującego cel w zbiorze rozwiązań dopuszczalnych.
Na takiej zasadzie opiera się działanie wielu agentów, np.:
- agenci - obiekty w grach komputerowych, symulatorach
- oprogramowanie przewodników drogi wykorzystujących system GPS
- agenci poszukujący w Internecie stron z żądaną zawartością

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Jaka jest różnica między poszukiwaniem nieinformowanym, a informowanym?

A

Podstawową zasadą poszukiwań nieinformowanych jest korzystanie wyłącznie z definicji zadania - bez wykorzystywania dodatkowych informacji.

Wada: przypominają one próbę dojechania w mieście samochodem na podany adres gdy zna się tylko ten adres oraz reguły prowadzenia samochodu. 🚗
Strategie poszukiwania wykorzystujące dodatkowe informacje o zadaniu nazywa się informowanymi

Idea: dodatkowa informacja może posłużyć do najkorzystniejszego uporządkowania węzłów
przed ich rozwinięciem

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Cztery kroki przy poszukiwaniu rozwiązania

A
  1. Sformułowanie celu zadania - jaki stan systemu odpowiada osiągnięciu celu?
  2. Sformułowanie zadania - określenie stanów i rodzajów działań
  3. Poszukiwanie - określenie optymalnych działań, które należy wykonać aby osiągnąć cel
  4. Wykonanie zadania
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Rodzaje zadań poszukiwania

A

Zadanie najprostsze:

  • Deterministyczne, obserwowalne ⇒ zadanie jednostanowe
    • agent wie w jakim jest stanie i w jakim stanie się znajdzie;
      rozwiązanie jest ciągiem stanów
      Zadania znacznie trudniejsze:
  • Nieobserwowalne ⇒ zadanie bez czujników (conformant problem)
    • agent nie wie gdzie jest
  • Niedeterministyczne lub obserwowalne częściowo ⇒ (contingency problem)
    • obserwacje dostarczają nowych informacji o stanie bieżącym
    • poszukiwania często przeplatają się z działaniami
  • Nieznana przestrzeń stanów ⇒ (exploration problem)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Zadanie jednostanowe - sformułowanie

A

Zadanie jednostanowe zdefiniowane jest za pomocą czterech elementów:

  • stan początkowy, np. „jestem w Arad”
  • działanie lub funkcja następstwa

S(x) = zbiór par 〈działanie, stan po działaniu〉$

np. S(Arad) = {〈Arad → Zerind, Zerind〉, …}
  • test osiągnięcia celu
    • jawny, np. x = ”w Bukareszcie”
    • niejawny, np. w szachach Mat(x);
  • koszt drogi (addytywny)
    • np. suma odległości, liczba podjętych działań, etc.
    • c(x, a, y) jest kosztem kroku x → y, z założenia c ≥ 0

Rozwiązaniem zadania jednostanowego jest ciąg działań
prowadzących ze stanu początkowego do stanu docelowego.

Rozwiązanie optymalne cechuje najmniejszy koszt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Co to abstrakcja?

A

Świat rzeczywisty jest krańcowo skomplikowany, dlatego przestrzeń stanów musi być
abstrakcją stanów rzeczywistych. Abstrakcja oznacza pominięcie szczegółów.
Działanie abstrakcyjne to złożona kombinacja działań rzeczywistych,
np.
Arad→Zerind reprezentuje złożony zbiór możliwych tras, objazdy, parkingi, etc.
Aby zapewnić istnienie rozwiązania, każdy stan rzeczywisty (np.
Arad)
musi prowadzić do jakiegoś stanu rzeczywistego (np. Zerind).
Rozwiązanie abstrakcyjne to zbiór rzeczywistych dróg, które
są rozwiązaniami w świecie rzeczywistym.
Każde działanie abstrakcyjne powinno być łatwiejsze niż rzeczywiste.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Poszukiwania nieinformowane: Algorytmy przeszukiwania drzew

A

Idea algorytmów przeszukujących:

  • ślepe poszukiwania: analiza wszystkich możliwych sekwencji stanów
    • koszt rośnie gwałtownie ze wzrostem liczby możliwych
      stanów;
  • poszukiwania poprzez budowę drzewa stanów:
    • korzeń - stan początkowy
    • węzły i gałęzie - generowane są funkcją następstwa

Algorytm przeszukiwania tworzy (”rozwija”) nowe węzły, wypełnia odpowiednie pola,
a następnie tworzy stany w nowych węzłach.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Jakie struktury wchodza w sklad algorytmow przeszukiwania nieinformowanego

A
  • Stan określa jednoznacznie konfigurację fizyczną obiektu
  • Węzeł jest to struktura danych określająca część drzewa poszukiwań, obejmująca np.: stan, węzeł rodzica, węzły dzieci, koszt gałęzi, aktualną głębokość, podejmowane działanie, itp.
  • Brzeg (fringe) to zbiór wszystkich węzłów, które nie zostały jeszcze rozwinięte
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Strategie algorytmów przeszukiwania drzew

A

Strategia poszukiwania jest określona kolejnością rozwijania węzłów

Strategie są oceniane wg następujących kryteriów:

  • zupełność: możliwość znalezienia rozwiązania, jeżeli istnieje
  • złożoność czasowa: proporcjonalna do liczby rozwijanych węzłów
  • złożoność pamięciowa: największa liczba węzłów w pamięci
  • optymalność: możliwość wyznaczenia najtańszego rozwiązania

🚨 Największą wadą poszukiwań nieinformowanych jest wykładniczy wzrost kosztu obliczeń.
Krytyczna jest zwłaszcza ilość wymaganej pamięci, gdyż może ona być gigantyczna
nawet dla zadań o umiarkowanych wymiarach

Złożoność czasowa i pamięciowa są szacowane za pomocą następujących wielkości:

  • b: maksymalny współczynnik rozgałęzienia drzewa poszukiwań
  • d: głębokość na której jest rozwiązanie optymalne
  • m: maksymalna głębokość przestrzeni stanów
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Poszukiwanie wszerz (breadth-first search) BFS

A

➡️ Zasada: rozwinąć najpłytszy nierozwinięty węzeł na brzegu

Brzeg jest kolejką FIFO, tzn. nowy węzeł wstawiany jest na koniec kolejki

Własności algorytmu:

  • Zupełność: Tak, jeżeli b jest ograniczone
  • Czas: O(bd+1) (1+b+b2+b3+… +bd + b(bd-1))
  • 💾 Pamięć: O(bd+1) (przechowywanie wszystkich węzłów w pamięci)
  • 🆗 Optymalność: Tak, jeżeli koszt kroku jest stały

🚨 Pamięć jest największym problemem, większym niż czas poszukiwań

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Poszukiwanie w głąb (depth-first search) DFS

A

➡️ Zasada: rozwinąć najgłębszy nierozwinięty węzeł na brzegu

Brzeg jest kolejką LIFO, tzn. nowy węzeł wstawiany jest na początek kolejki

Własności algorytmu:

  • Zupełność:
    • Tak w przestrzeniach skończonych
    • Nie w przestrzeniach nieskończonych, z pętlami (wymaga wtedy modyfikacji
      w celu uniknięcia powtarzających się stanów)
  • Czas: O(b^m) - ogromny jeżeli m&raquo_space; d
  • 💾 Pamięć: O(bm) - liniowa złożoność względem pamięci
  • 🆗 Optymalność: Nie
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Poszukiwanie na ograniczoną głębokość (depth-limited search)

A

➡️ Zasada: jak w algorytmie poszukiwania w głąb ale z głębokością ograniczoną do poziomu l

Własności algorytmu:

  • Zupełność: Tak, jeżeli l ≥ d
  • Czas: O(b^l)
  • 💾 Pamięć: O(bl)
  • 🆗 Optymalność: Tak, jeżeli l ≤ d
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Poszukiwanie pogłębiane iteracyjnie (iterative deepening search)

A

➡️ Zasada: wyznaczyć iteracyjnie najlepszą głębokość l

Cel jest osiągnięty na głębokości d odpowiadającej najpłytszemu węzłowi docelowemu.
Algorytm łączy zalety algorytmów poszukiwania wszerz i w głąb.

Własności algorytmu:

  • Zupełność: Tak
  • Czas: O(b^d)
  • 💾 Pamięć: O(bd)
  • 🆗 Optymalność: Tak, jeżeli koszt kroku jest stały
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Poszukiwanie dwukierunkowe (bidirectional search)

A

➡️ Zasada: jednoczesne poszukiwanie z początku i końca

Własności algorytmu:

  • Zupełność: Tak, jeżeli oba poszukiwania wszerz
  • Czas: O(b^{d/2})
  • 💾 Pamięć: O(b^{d/2})
  • 🆗 Optymalność: Tak, jeżeli oba poszukiwania wszerz
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Podsumowanie algorytmow przeszukiwania nieinformowanego

A
  • Rozwiązywanie zadań poprzez przeszukiwanie wymaga
    sformułowania zadania w postaci abstrakcyjnej.
  • Jeżeli zadanie jest deterministyczne i obserwowalne
    (jednostanowe), to do jego rozwiązania można użyć
    algorytmu poszukiwania nieinformowanego.
  • Istnieje wiele algorytmów poszukiwania nieinformowanego:
    • wszerz
    • w głąb
    • kosztu jednorodnego
    • stałej głębokości
    • pogłębiania iteracyjnego
    • poszukiwań dwukierunkowych
  • Algorytm poszukiwania poprzez pogłębianie iteracyjne jest
    najlepszym algorytmem ogólnym - wymaga liniowej pamięci
    a czas obliczeń jest niewiele większy niż w przypadku innych
    algorytmów.
  • Agenci działający na zasadzie poszukiwania rozwiązania
    są używani w wielu dziedzinach:
    • wyznaczaniu drogi
    • planowaniu układów VLSI
    • nawigacji robotów
    • poszukiwań internetowych
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Czym jest zasada poszukiwania informowanego w sztucznej inteligencji?

A

Algorytmy poszukiwań informowanych wykorzystują funkcję heurystyczną do szacowania najniższego kosztu ścieżki do celu. Wybór węzła do rozwinięcia opiera się na szacowanej funkcji kosztu f(n) = g(n) + h(n), gdzie g(n) to koszt ścieżki od początku do węzła n, a h(n) to szacowany koszt od n do celu.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Jak wykorzystywana jest funkcja heurystyczna h(n) w poszukiwaniach informowanych?

A

h(n) jest kluczową częścią poszukiwań informowanych, nie występuje w oryginalnym sformułowaniu problemu. Oszacowuje koszt od węzła n do celu, opierając się na dodatkowych informacjach heurystycznych, co upraszcza proces podejmowania decyzji w skomplikowanych sytuacjach.

18
Q

Jaka jest rola kolejki priorytetowej w implementacji algorytmów poszukiwań informowanych?

A

W poszukiwaniach informowanych brzeg drzewa wyszukiwania zarządzany jest jako kolejka priorytetowa, gdzie węzły są priorytetyzowane na podstawie ich szacowanego całkowitego kosztu dotarcia do celu, ocenianego przez funkcję heurystyczną f(n)

19
Q

Zdefiniuj pojęcie “heurystyki” w kontekście poszukiwań informowanych.

A

Heurystyka, czyli „reguła kciuka”, to strategia lub metoda ułatwiająca podejmowanie decyzji lub rozwiązywanie problemów bardziej efektywnie poprzez uproszczenie procesu, zwłaszcza gdy dokładne rozwiązanie jest skomplikowane lub nieznane.

20
Q

Co sprawia, że heurystyka jest “dopuszczalna” lub “zgodna” w poszukiwaniach informowanych?

A

Heurystyka jest dopuszczalna, jeśli nigdy nie przeszacowuje prawdziwego kosztu dotarcia do celu (h(n) ≤ h^*(n)). Jest zgodna, jeśli spełnia nierówność trójkąta h(n) ≤ c(n,a,n’) + h(n’) dla każdej akcji a prowadzącej od n do n’.

21
Q

Co oznacza, że jedna heurystyka dominuje nad inną?

A

Jeśli istnieją dwie dopuszczalne heurystyki h_1(n) i h_2(n) takie, że h^*(n) ≥ h_2(n) ≥ h_1(n) dla każdego węzła n, to h_2 dominuje nad h_1. Dominująca heurystyka jest bardziej efektywna, gdyż dostarcza bliższe oszacowanie prawdziwego kosztu.

22
Q

Jak można stworzyć dobrą heurystykę dopuszczalną?

A

Dobrą heurystykę dopuszczalną można stworzyć przez rozluźnienie warunków zadania (rezygnacja z niektórych ograniczeń), co pozwala na wykorzystanie funkcji rozwiązującej problem w uproszczonej formie. Takie podejście zapewnia, że użyta heurystyka nigdy nie przeszacowuje rzeczywistego kosztu, prowadząc do optymalnego rozwiązania.

23
Q

Czym różni się heurystyka dopuszczalna od zgodnej?

A

Heurystyka dopuszczalna nigdy nie przeszacowuje kosztów rzeczywistego osiągnięcia celu, podczas gdy heurystyka zgodna dodatkowo spełnia nierówność trójkąta, co oznacza, że koszt szacowany przez heurystykę dla każdego węzła n jest mniejszy lub równy sumie kosztu kroku do następnika n’ i heurystyki tego następnika.

24
Q

Algorytm najpierw najlepszy (best-first)

A

Algorytm rozwija węzeł który leży najbliżej celu.

25
Q

Najpierw najlepszy agresywny (greedy best-first)

A

Funkcja szacująca: f(n) = h(n)
Własności algorytmu:

  • Zupełność: Nie, mogą powstawać zapętlenia
  • Czas: O(b^m), ale dobra heurystyka może go znacznie zmniejszyć
  • 💾 Pamięć: O(b^m) (przechowywanie wszystkich węzłów w pamięci)
  • 🆗 Optymalność: Nie
26
Q

Algorytm A*

A

Najlepsza wersja algorytmu najpierw najlepszy (best-first)

Funkcja szacująca: f(n) = g(n) + h(n)

Do oszacowania h(n) algorytm A* używa heurystyki.
Przykład: h(n) nigdy nie jest większa od odległości drogowej z n do celu

Własności algorytmu:

  • Zupełność: Tak, chyba że istnieje nieskończenie wiele celów o tym samym koszcie
  • Czas: Wykładniczy
  • 💾 Pamięć: Wykładniczy (przechowywanie wszystkich węzłów w pamięci)
  • 🆗 Optymalność: Tak
27
Q

Jakie sa inne warianty Algorytmu A* pozwalajace zachowac jego zalety a oszczedzic pamięć

A
  • IDA* (Iterative-Deepening A) - A pogłębiany iteracyjnie
  • RBFS (Recursive Best-First Search) - połączenie algorytmu best-first i BT
  • SMA* (Simplified Memory-Bounded A) - A ograniczony pamięciowo
28
Q

Co to algorytmy poszukiwań lokalnych i do czego są przydatne

A

Algorytmy poszukiwań lokalnych to kluczowy element rozwiązywania problemów optymalizacyjnych, szczególnie tych, gdzie przestrzeń rozwiązań jest bardzo duża i złożona. Ich głównym celem jest znajdowanie jak najlepszego rozwiązania, często poprzez minimalizowanie lub maksymalizowanie określonej funkcji celu.

29
Q

Algorytm najszybszego wzrostu (hill-climbing)

A

💡 Idea: zmiana stanu powinna najlepiej poprawić jakość stanu

Zmiany stanu są dobierane tak, aby funkcja celu osiągnęła największą wartość w otoczeniu stanu aktualnego.

🚨 Problem: algorytm może znajdywać maksima lokalne funkcji celu

Rozwiązanie: Losowy wybór pomiędzy kierunkami wspinaczki pozwala uniknąć maksimum lokalnego

30
Q

Algorytm symulowanego wyżarzania

A

💡 Idea: dopuszczenie “złych” zmian stanu w celu ominięcia maksimów lokalnych

Pozwala to “przeskoczyć na następny pagórek” i w ten sposób uniknąć minimum lokalnego

Złe zmiany stanu muszą być coraz mniejsze i zachodzić coraz rzadziej

Jeżeli temperatura maleje dostatecznie wolno, to algorytm symulowanego wyżarzania znajduje maksimum globalne

31
Q

Algorytmy genetyczne

A

💡 Idea: naśladowanie natury poprzez dobór naturalny najlepiej przystosowanych “osobników” – rozwiązań zadania

  • Algorytm operuje na zbiorze k stanów (populacji)
  • Stan jest reprezentowany przez łańcuch (gen) utworzony z liter alfabetu skończonego (często alfabet jest binarny: (0 i 1)
  • Funkcja szacująca (funkcja dopasowania) - większe wartości odpowiadają stanom “lepiej dostosowanym”
  • Start ze zbiorem k stanów wygenerowanych losowo
  • Stan potomny jest generowany przez kombinację dwóch stanów rodzicielskich
  • Nowa generacja stanów uzyskiwana jest za pomocą selekcji, krzyżowania i mutacji
32
Q

Jakie sa zalety poszukiwań lokalnych

A

Zalety:

  • nie potrzebują wielkiej pamięci
  • pozwalają rozwiązywać zadania o bardzo dużym wymiarze stan
33
Q

Czym różnią się zadania poszukiwania od zadań z ograniczeniami (CSP)?

A

W zadaniach poszukiwania stan może być dowolną strukturą umożliwiającą wyznaczanie następników i obliczanie funkcji kosztu. W zadaniach z ograniczeniami (CSP) stan jest zbiorem zmiennych X_i z określonych dziedzin D_i, a cel jest definiowany przez spełnienie ograniczeń C_i takich jak C_2: X_1 ≥ X_2.

34
Q

Jak definiowany jest cel w zadaniach CSP?

A

Cel w zadaniach CSP jest zdefiniowany poprzez ograniczenia C_i, które muszą być spełnione przez wartości zmiennych stanu. Rozwiązaniem jest zbiór wartości zmiennych, które spełniają wszystkie te ograniczenia.

35
Q

Jakie są cechy charakterystyczne zadań z ograniczeniami (CSP)?

A

Zadania z ograniczeniami charakteryzują się standardowym sposobem sformułowania, standardowymi funkcjami następstwa i celu oraz standardowymi heurystykami niezależnymi od specyfiki zadania.

36
Q

Jak można przedstawić zadanie binarne z ograniczeniami?

A

Zadanie binarne z ograniczeniami można przedstawić w formie grafu, gdzie węzły reprezentują zmienne, a krawędzie to ograniczenia między nimi. Uproszcza to proces poszukiwania rozwiązania.

37
Q

Podaj przykłady zadań CSP.

A

Przykłady zadań CSP to: kolorowanie map, kompozycja parkietów, kryptografia, układanie planu zajęć, planowanie transportów, organizacja produkcji, dyslokacja wojsk, szeregowanie obserwacji dla teleskopu Hubble’a.

38
Q

Jak sformułowane jest zadanie CSP jako zadanie poszukiwania?

A

W zadaniu CSP stan początkowy to puste przypisanie. Funkcja następnika przypisuje wartości wolnym zmiennym bez naruszania ograniczeń. Test celu sprawdza, czy przypisanie jest kompletne. Koszt drogi jest stały na każdym kroku.

39
Q

Jaki jest podstawowy algorytm dla zadań CSP?

A

Podstawowym algorytmem nieinformowanym dla zadań CSP jest poszukiwanie wsteczne (backtracking search), gdzie przypisuje się wartości zmiennym jedna po drugiej i cofa się kroki, gdy nie można przypisać wartości następnej zmiennej bez naruszenia ograniczeń.

40
Q

Jakie strategie stosuje się w poszukiwaniu wstecznym w CSP?

A

Strategie stosowane w poszukiwaniu wstecznym w CSP to wybór najbardziej ograniczonej zmiennej (most constrained variable), wybór najmniej ograniczającej wartości (least constraining value) oraz sprawdzanie w przód (forward checking).

41
Q

Podsumowanie wiedzy o CSP

A
  • Poszukiwania z ograniczeniami stanowią szczególny rodzaj zadań, w których:
    • stan jest zbiorem zmiennych, którym przypisane są wartości z określonego zbioru - dziedziny
    • cel zdefiniowany jest poprzez ograniczenia nałożone na wartości zmiennych
  • Metoda poszukiwania wstecznego to odmiana poszukiwań w głąb stosowana w zagadnieniach CSP
  • Efektywność metody poszukiwania wstecznego znacznie poprawiają uporządkowanie zmiennych i dobre heurystyki wyboru wartości.
  • Przy rozwiązywaniu zadań praktycznych bardzo efektywny jest algorytm minimalnych konfliktów