background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Rozwiązywanie

zadań przy użyciu

algorytmów

przeszukiwania

przestrzeni rozwiązań

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Problem

Rozwiązanie

Algorytm

przeszukiwania

Rozwiązanie zadania jest elementem znanego 

zbioru „kandydatów”

Algorytmy przeszukiwania -

wprowadzenie

Problem - określić 

sekwencję

 czynności prowadzących

do rozwiązania

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Znaczenie

Termin

Zbiór 

stanów

 i 

akcji

 określonych dla

rozważanego problemu

Zbiór stanów spełniających warunki

postawionego zadania

Ścieżka, prowadząca ze 

stanu

początkowego

 do 

stanu doeclowego

Przestrzeń
rozwiązań

Cel

Rozwiązanie

Algorytmy przeszukiwania - terminologia

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Sformułowanie

problemu

Przeszukiwanie

przestrzeni

stanu

Procedura rozwiązywania problemu

Wykonanie

znalezionej

sekwencji

Określenie możliwych

stanów

, dozwolonych

akcji

, relacji

 

akcja->

stan (

operatory

) i

określenie 

celu

Przeszukuj 

przestrzeń stanów 

w celu

określenia 

ścieżki

 prowadzącej do

celu (wykonuj 

testy uzyskania

rozwiązania

). Dodatkowo,

minimalizuj 

koszt

 procedury

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Przestrzeń stanu

Stan 

początkowy

Cel

s

0  

= Stan początkowy 

Algorytmy przeszukiwania

s

i +1 

o ( s

i

 ) 

Cel ( s

) ?

NIE

TAK

Koniec poszukiwań:
zapamiętaj ścieżkę 

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Środowisko

Akcje: Idź w kierunku: E, N, W, S; dokonuj testu

obecności skarbu w komórce c

ij

 f(c

ij

 ) =?

Cel:  

Zdobyć skarb

 -  f(c

ij

 ) == 

prawda

0

1

2

0

1

2

Przykładowy problem - 

poszukiwacz skarbów

Przestrzeń stanów

określony dla każdej komórki

zbiór par danych postaci

 { położenie , obecność skarbu}

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Przykładowy problem - 

poszukiwacz skarbów

Graf procedury przeszukiwania

[0,0] 

f(0,0)=0

 

Cel prac - opracować 

systematyczną

 procedurę przeszukiwania 

[0,1] 

f(0,1)=0

 

[2,2] 

f(2,2)=0

 

[1,1] 

f(1,0)=0

 

[1,0] 

f(1,1)=0

 

[2,1] 

f(2,1)=0

 

[2,0] 

f(1,2)=0

 

[0,2] 

f(0,2)=1

 

O(s)=E

O(s)=S

O(s)=S

O(s)=N

O(s)=E

[2,1] 

f(2,2)=0

 

[1,2] 

f(2,2)=0

 

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Przykładowy problem - 

planowanie podróży

Łódź

Wąchock

Rzym

Chreptiów

Ceske 

Budejovice

Pacanów

Casablanca

Berkeley

Rio

100

600

12000

11000

8000

400

1800

1300

10000

Cel:  

znajdź najkrótszą trasę

 -  f(c

ij

 ) == 

min

Akcje: próbuj kolejną sekwencję przystanków, testuj cel

Przestrzeń

stanów

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Koszt procedury = 

koszt przeszukiwania

 + 

koszt wykonania

Rozwiązywanie problemów przy użyciu algorytmów 

przeszukiwania jest możliwe dla problemów o 

ograniczonej złożoności 

definiowalnej

 przestrzeni 

stanów

Algorytmy przeszukiwania

Zwykle konieczny kompromis !

Koszt wykonania 

: Addytywna funkcja przypisana znalezionej ścieżce

Koszt przeszukiwania:

Czas i zasoby niezbędne do znalezienia 
rozwiązania

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

A

X

Y

Metody przeszukiwania przestrzeni stanów

A

B

C D E

o ( A ) = 

B
C
D
E

o ( . ) -  operator 

X

Y

{

Jak organizować

przeszukiwanie i jak

je przeprowadzać?

Reguła wybierania kolejnych stanów  

Strategia przeszukiwania

Wybór sposobu

wybierania

kolejnych stanów

Wybór stanu

startowego

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

… 

… 

Terminologia

Węzły

Implementacja

programowa 

węzła

Drzewo poszukiwań

Stan
Stan poprzedni
Operator (generujący dany węzeł)
Głębokość, koszt ścieżki itd.

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Kolejka

:

sposób reprezentacji węzłów oczekujących 
na ekspansję

A

X

Y

Terminologia

A

B

C D E

X

Y

Q = ( A, X, Y)

-  Kolejka

Q = ( B, C, D, E, X, Y)

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Klasyfikacje strategii poszukiwania

Kryterium: zasada ekspansji węzłów

Strategie

Warstwowe

Ekspansja „pozioma”

Wgłębne

Ekspansja „pionowa”

Kombinacje

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Kryteria oceny strategii przeszukiwania

Kompletność  

(pewność uzyskania rozwiązania)

Złożoność czasowa 

(znalezienia rozwiązania)

Zasoby  

(pamięć)

Optymalność   

(znalezionego rozwiązania)

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Nie istnieje żadna

informacja, sugestia ani

reguła pozwalająca na

stwierdzenie poprawności

wybranego kierunku

poszukiwań - poszukiwanie

musi odbywać się na oślep.

Przeszukiwanie

po omacku

W każdej chwili można

podejmować próby

oszacowania trafności

wyboru przyjętego

kierunku poszukiwań

Przeszukiwanie

heurystyczne

Klasyfikacje strategii poszukiwania

Kryterium: istnienie wskazówek co do zbliżania się do celu

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Określ ścieżkę prowadzącą od stanu

początkowego do stanu będącego rozwiązaniem

Dane

Jedyną informację co do poprawności  

poszukiwania daje test 

osiągnięcia celu 

Zakładając,

że:

przestrzeń stanów dla problemu

zbiór stanów będących rozwiązaniem

zbiór operatorów

Strategie przeszukiwania po omacku

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Strategia 1:     

Przeszukiwanie warstwowe

Kolejka

Q = ( A, B C)

A

B

C

A

A

1

B

C

A

2

A

3

A

4

A

B

C

A

1

A

2

A

3

A

4

B

1

B

2

B

3

B

4

Q = (B, C,  A

1

, A

2

A

3

, A

4

)

Q = (C,  A

1

, A

2

A

3

, A

4, 

B

1

, B

2

, B

3

, B

4,

)

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

20

21

10

22

11

11

10

21

20

21 10

20

21

10

12

01

10

21

12

01

21

...

...

02

11

……...

02

11

0
1
2

0

1

2

Kolejność ekspansji węzłów

Przykład

Przeszukiwanie warstwowe

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Kompletność  

Czy można zagwarantować znalezienie rozwiązania ? 

Można wykazać, że strategia jest kompletna

Optymalność

Czy uzyskane rozwiązanie jest optymalne ?

Można wykazać, że strategia jest optymalna, jeżeli

koszt poszukiwania jest niemalejącą funkcją 

liczby poziomów drzewa poszukiwań

Właściwości przeszukiwania warstwowego

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Złożoność czasowa

 

Ile czasu potrzeba na znalezienie rozwiązania ?

Złożoność czasowa procedury przeszukiwania warstwowego jest

BARDZO DUŻA

 - rośnie wykładniczo w funkcji głębokości drzewa

współczynnika rozgałęzienia

...

b

1

Współczynnik rozgałęzienia

 (b) - 

średnia liczba gałęzi wychodzących 
z każdego węzła

t = 1 + b + b

2

 + b

 + … + b

d

t - czas, d - głębokość drzewa (liczba poziomów)

Właściwości przeszukiwania warstwowego

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Wymagane zasoby 

jaka pamięć jest wymagana dla uzyskania rozwiązania ?

Wymagane zasoby dla przeprowadzenia procedury przeszukiwania 

warstwowego jest 

BARDZO DUŻA

 (podobnie jak złożoność czasowa)

m = 1 + b + b

2

 + b

 + … + b

d

gdzie: m - wymagana pamięć, , d - głębokość drzewa , b - wsp. rozgałęzienia

Przykład:

 

d=20 (20 miast - węzłów), 
b=3 (średnio - trzy połączenia/miasto)
m = t = 1 + … + 3

20

  

  3

20 

 10

10

f zegara: 10

-9

 ([GHz]) - 10s

Pamięć: 

10 GB !!!

Właściwości przeszukiwania warstwowego

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Strategię można stosować wyłącznie dla

rozwiązywania bardzo prostych problemów

Główna wada - wymagane zasoby

Złożoność czasowa - również może okazać się

poważnym ograniczeniem

Właściwości przeszukiwania warstwowego -

podsumowania

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

następny węzeł - n

i,j,k

Cel dla n

i,j,k

?

Więcej węzłów dla 

przodka “i” ?

j=j+1

Więcej węzłów dla “k”

?

i=i+1

Więcej poziomów ?

k=k+1

Brak rozwiązania

Start: k=0 (poziom zerowy), i=j=0

Określ ścieżkę

T

T

T

T

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Kolejka

Q = ( A, B C)

A

B

C

Q = (A

21

, A

22

, A

23

A

2

,  B, C)

Strategia 2:     

Przeszukiwanie

 

wgłębne

A

A

1

B

C

A

2

Q = (A

1

, A

2

, B, C)

A

A

1

B

C

A

21

A

2

A

22

A

23

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

0

1
2

0 1

2

Koszt ścieżki - liczba posunięć

20

21

10

22

11

11

10

21

20

21 10

20

21

10

12

01

10

21

12

01

21

...

...

02

11

……...

02

11

Kolejność ekspansji węzłów

Przeszukiwanie wgłębne

Przykład

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Kompletność  

Czy można zagwarantować znalezienie rozwiązania ? 

Przeszukiwanie wgłębne 

nie jest 

kompletne

20

0
1
2

0

1

2

21

22

12

22

12

22

12

22

:

Właściwości przeszukiwania wgłębnego

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Optymalność

Ponieważ nie jest kompletne, nie jest optymalne

Złożoność czasowa

 

Złożoność czasowa przeszukiwania jest 

BARDZO DUŻA

 - rośnie 

wykładniczo z głębokością drzewa i 

współczynnikiem 

rozgałęzienia

t ~ 2b

d

t - czas, d - głębokość drzewa poszukiwań

Właściwości przeszukiwania wgłębnego

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Wymagane zasoby

Zasoby wymagane dla przeprowadzenia procedury są  

BARDZO MAŁE

Zapamiętana musi być tylko jedna ścieżka od stanu początkowego

 d

2

gdzie: m - wielkość pamięci, , d - głębokość drzewa 

Wniosek: strategia ryzykowna

Główna wada - niekompletność

Główna zaleta - małe wymagania pamięciowe

Właściwości przeszukiwania wgłębnego

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Przeszukiwanie z ograniczoną głębokością

Idea metody - wykorzystać zalety przeszukiwania wgłębnego

eliminując problem niekompletności procedury w drodze

ograniczenia głębokości przeszukiwania 

d

Problem:    wybór odpowiedniej wartości 

d

MAX

Możliwe rozwiązanie:

d  =  rozmiar przestrzeni stanów 

Optymalność

Strategia jest optymalna

Kompletność  

Strategia jest kompletna

Złożoność czasowa

Duża

Zasoby

Małe

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

20

21

22

10

21

12

11

21

01

...

02

22

21

...

Ekspansja węzłów 

do co najwyżej

d - poziomów 

0
1
2

0

1

2

d = 6

Przeszukiwanie z ograniczoną głębokością

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Przeszukiwanie

wgłębne

Przeszukiwanie

warstwowe

Przeszukiwanie z iteracyjnym pogłębianiem

Przeszukiwanie z iteracyjnym pogłębianiem

Idea:  iteracyjnie zwiększaj głębokość drzewa, 

Idea:  iteracyjnie zwiększaj głębokość drzewa, 

rozpoczynając od  d=1 

rozpoczynając od  d=1 

Przeszukiwanie z iteracyjnym pogłębianiem

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

0
1
2

0 1

2

d=1

21

20

10

d=2

21

20

10

21

20

10

21

20

10

d=3

21

20

10

21

20

10

21

20

10

Iteracyjne pogłębianie - 

przykład

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Złożoność czasowa

Duża - dodatkowe zwiększenie czasu poszukiwań za sprawą

wielokrotnej ekspansji tych samych węzłów (nie jest to jednak 

krytyczne, bo większość węzłów jest na najniższym poziomie)

Iteracyjne pogłębianie - 

właściwości

Optymalność

Strategia jest optymalna

Kompletność  

Strategia jest kompletna

Zasoby

Małe

background image

Wprowadzenie do zagadnień sztucznej inteligencji

Krzysztof Ślot

© 1999- 2001

Wybrane aplikacje metod przeszukiwania

 przestrzeni stanów

Rozpoznawanie wypowiedzi

Założenia

Wypowiedzi są łańcuchami fonemów
Wypowiedzi zawierają dowolne ilości fonemów

Drzewo poszukiwań określone dla problemu

a

al

as

...

ala

ale

alt

… 

alek

z

za

...