03 Osiąganie celu poprzez poszukiwania nieinformowane

background image

3. OSIĄGANIE CELU POPRZEZ

3. OSIĄGANIE CELU POPRZEZ

POSZUKIWANIA

POSZUKIWANIA

NIEINFORMOWANE

© F.A. Dul 2007

background image

Poszukiwania nieinformowane

Poka

ż

emy w jaki sposób agent mo

ż

e

Poka

ż

emy w jaki sposób agent mo

ż

e

osi

ą

gn

ąć

zamierzony cel poprzez

osi

ą

gn

ąć

zamierzony cel poprzez

wykonanie ci

ą

gu działa

ń

.

Działania te b

ę

d

ą

wyznaczone

Działania te b

ę

d

ą

wyznaczone

poprzez poszukiwania oparte
wył

ą

cznie na definicji zadania.

wył

ą

cznie na definicji zadania.

© F.A. Dul 2007

background image

Niniejszy rozdział po

ś

wi

ę

cony jest agentom celowym,

3.1. Wprowadzenie

Niniejszy rozdział po

ś

wi

ę

cony jest agentom celowym,

których działanie oparte jest na poszukiwaniu rozwi

ą

zania

w zbiorze rozwi

ą

za

ń

dopuszczalnych.

w zbiorze rozwi

ą

za

ń

dopuszczalnych.

Na takiej zasadzie opiera si

ę

działanie wielu agentów, np.:

• agenci - obiekty w grach komputerowych, symulatorach;

• agenci - obiekty w grach komputerowych, symulatorach;
• oprogramowanie przewodników drogi wykorzystuj

ą

cych

system GPS,

system GPS,

• agenci poszukuj

ą

cy w Internecie stron z

żą

dan

ą

zawarto

ś

ci

ą

.

Poszukiwanie nieinformowane (uninformed search) polega
na wyznaczaniu rozwi

ą

zania zadania wył

ą

cznie na podstawie

danych definiuj

ą

cych zadanie.

danych definiuj

ą

cych zadanie.

Poszukiwanie informowane (informed search) polega na
wyznaczaniu rozwi

ą

zania zadania przy wykorzystaniu innej

© F.A. Dul 2007

wyznaczaniu rozwi

ą

zania zadania przy wykorzystaniu innej

dost

ę

pnej wiedzy, specyficznej dla tego zadania.

background image

3.1. Wprowadzenie

Plan rozdziału

• Agenci rozwi

ą

zuj

ą

cy zadania.

• Rodzaje zada

ń

.

• Sformułowania zada

ń

.

• Sformułowania zada

ń

.

• Przykłady zada

ń

.

• Podstawowe algorytmy poszukiwa

ń

.

• Podstawowe algorytmy poszukiwa

ń

.

© F.A. Dul 2007

background image

3.2. Agent poszukuj

ą

cy rozwi

ą

zania

Agent poszukuj

ą

cy rozwi

ą

zania jest rodzajem agenta

Agent poszukuj

ą

cy rozwi

ą

zania jest rodzajem agenta

celowego.

Czetry kroki przy rozwi

ą

zywaniu problemu

• Sformułowanie celu zadania

– jaki stan systemu odpowiada osi

ą

gni

ę

ciu celu?

Czetry kroki przy rozwi

ą

zywaniu problemu

– jaki stan systemu odpowiada osi

ą

gni

ę

ciu celu?

• Sformułowanie zadania

– jakie stany i działania nale

ż

y bra

ć

pod uwag

ę

?

• Poszukiwanie

• Poszukiwanie

– okre

ś

li

ć

optymalne działania które nale

ż

y wykona

ć

aby

osi

ą

gn

ąć

cel

• Wykonanie zadania

– wyznaczy

ć

rozwi

ą

zanie

© F.A. Dul 2007

background image

Algorytm agenta poszukuj

ą

cego rozwi

ą

zania

3.2. Agent poszukuj

ą

cy rozwi

ą

zania

function SIMPLE-PROBLEM-SOLVING-AGENT(percept) return an action

static: seq, an action sequence

state, some description of the current world state

state, some description of the current world state
goal, a goal
problem, a problem formulation

problem, a problem formulation

state

UPDATE-STATE(state, percept)

if seq is empty then

if seq is empty then

goal

FORMULATE-GOAL(state)

problem

FORMULATE-PROBLEM(state,goal)

problem

FORMULATE-PROBLEM(state,goal)

seq

SEARCH(problem)

action

FIRST(seq)

seq

REST(seq)

seq

REST(seq)

return action

© F.A. Dul 2007

background image

3.2. Agent poszukuj

ą

cy rozwi

ą

zania

Przykład - poszukiwanie najkrótszej drogi

• Wakacje w Rumunii;

jeste

ś

my w mie

ś

cie

jeste

ś

my w mie

ś

cie

Arad.

• Jutro musimy odlecie

ć

• Sformułowanie celu

:

• Jutro musimy odlecie

ć

z Bukaresztu.

• Sformułowanie celu

:

– nale

ż

y jutro rano by

ć

w Bukareszcie.

• Sformułowanie zadania

:

• Sformułowanie zadania

:

– stan

: pobyt w jakim

ś

mie

ś

cie;

– działania

: przejazdy pomi

ę

dzy miastami.

– działania

: przejazdy pomi

ę

dzy miastami.

• Znale

źć

rozwi

ą

zanie

:

– ci

ą

g miast, { Arad , … , Bukareszt }

© F.A. Dul 2007

– ci

ą

g miast, { Arad , … , Bukareszt }

np. { Arad, Sibiu, Fagaras, Bukareszt }.

background image

3.3. Rodzaje zada

ń

Zadanie najprostsze

• Deterministyczne, obserwowalne

zadanie jednostanowe

– agent wie w jakim jest stanie i w jakim stanie b

ę

dzie;

Zadanie najprostsze

– agent wie w jakim jest stanie i w jakim stanie b

ę

dzie;

rozwi

ą

zanie jest ci

ą

giem stanów;

Zadania znacznie trudniejsze:

• Nieobserwowalne

zadanie bez czujników (conformant

problem)

Zadania znacznie trudniejsze:

problem)

– agent nie wie, gdzie jest; rozwi

ą

zanie jest ci

ą

giem stanów;

• Niedeterministyczne lub obserwowalne cz

ęś

ciowo

• Niedeterministyczne lub obserwowalne cz

ęś

ciowo

nieprzewidywalne

(contingency problem)

– obserwacje dostarczaj

ą

nowych

informacji o stanie bie

żą

cym,

– poszukiwania cz

ę

sto

przeplataj

ą

si

ę

z działaniami.

– poszukiwania cz

ę

sto

przeplataj

ą

si

ę

z działaniami.

• Nieznana przestrze

ń

stanów

exploration problem

© F.A. Dul 2007

background image

3.3. Rodzaje zada

ń

Przykład -

ś

wiat agenta-odkurzacza

Problem jednostanowy

, start

ze stanu {5}.

Rozwi

ą

zanie

Zbiór wszystkich stanów

Rozwi

ą

zanie

[ W PRAWO , ODKURZAJ ]

Bez czujników,

start z dowolnego

Bez czujników,

start z dowolnego

stanu spo

ś

ród {1,2,3,4,5,6,7,8}

W PRAWO {2,4,6,8}

Rozwi

ą

zanie

Rozwi

ą

zanie

[ W PRAWO , ODKURZAJ ,

W LEWO , ODKURZAJ ]

W LEWO , ODKURZAJ ]

Nieprzewidywalno

ść

– Niedeterministyczne: ODKURZAJ mo

ż

e za

ś

mieci

ć

czysty dywan

– Niedeterministyczne: ODKURZAJ mo

ż

e za

ś

mieci

ć

czysty dywan

– Cz

ęś

ciowa obserwowalno

ść

: poło

ż

enie,

ś

mieci w aktualnym poło

ż

eniu.

– Obserwacja: [L, CZYSTY], tj. start za stanów 5 lub 7.

Rozwi

ą

zanie

© F.A. Dul 2007

Rozwi

ą

zanie

[ W PRAWO , je

ż

eli

Ś

MIECI to ODKURZAJ ]

background image

Zadanie jednostanowe - sformułowanie

3.3. Rodzaje zada

ń

stanu pocz

ą

tkowego

, np. "w Arad”,

Zadanie jednostanowe zdefiniowane jest za pomoc

ą

czterech

elementów:

stanu pocz

ą

tkowego

, np. "w Arad”,

działa

ń

lub funkcji nast

ę

pstwa

S(x) = zbiór par

działanie , stan

S(x) = zbiór par

działanie , stan

np. S(Arad) = {

〈〈〈〈

Arad

Zerind, Zerind

〉〉〉〉

, … }

testu osi

ą

gni

ę

cia celu

:

– jawny, np. x = ”w Bukareszcie”,
– niejawny, np.w szachach Mat(x);

kosztu drogi

(addytywnego)

kosztu drogi

(addytywnego)

– np. sumy odległo

ś

ci, liczby podj

ę

tych działa

ń

, etc.

c(x,a,y) jest kosztem kroku, z zało

ż

enia c

0

c(x,a,y) jest kosztem kroku, z zało

ż

enia c

0

Rozwi

ą

zaniem zadania jednostanowego jest ci

ą

g działa

ń

prowadz

ą

cych ze stanu pocz

ą

tkowego do stanu docelowego.

© F.A. Dul 2007

prowadz

ą

cych ze stanu pocz

ą

tkowego do stanu docelowego.

Rozwi

ą

zanie optymalne cechuje najmniejszy koszt.

background image

Zadanie jednostanowe - sformułowanie

3.3. Rodzaje zada

ń

Ś

wiat rzeczywisty jest kra

ń

cowo skomplikowany, dlatego

przestrze

ń

stanów musi by

ć

abstrakcj

ą

stanów rzeczywistych.

Abstrakcja oznacza

pomini

ę

cie szczegółów

.

Abstrakcja oznacza

pomini

ę

cie szczegółów

.

• Stan abstrakcyjny = zbiór stanów rzeczywistych.
• Działanie abstrakcyjne = zło

ż

ona kombinacja działa

ń

• Działanie abstrakcyjne = zło

ż

ona kombinacja działa

ń

rzeczywistych,

np. "Arad

Zerind" reprezentuje zło

ż

ony zbiór mo

ż

liwych

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. ”Arad“) musi prowadzi

ć

do jakiego

ś

stanu rzeczywistego

(np. „Zerind”).

• Rozwi

ą

zanie abstrakcyjne = zbiór rzeczywistych dróg które

• Rozwi

ą

zanie abstrakcyjne = zbiór rzeczywistych dróg które

s

ą

rozwi

ą

zaniami w

ś

wiecie rzeczywistym.

• Kazde działanie abstrakcyjne powinno by

ć

łatwiejsze ni

ż

© F.A. Dul 2007

• Kazde działanie abstrakcyjne powinno by

ć

łatwiejsze ni

ż

rzeczywiste.

background image

Graf przestrzeni stanów dla

ś

wiata odkurzacza

3.3. Rodzaje zada

ń

stan:

poło

ż

enie odkurzacza oraz czysto

ść

;

stan pocz

ą

tkowy: ka

ż

dy;

stan pocz

ą

tkowy: ka

ż

dy;

działania:

W LEWO, W PRAWO, ODKURZAJ;

test celu:

czysto we wszystkich poło

ż

eniach;

© F.A. Dul 2007

test celu:

czysto we wszystkich poło

ż

eniach;

koszt:

1 za ka

ż

de działanie;

background image

Przykład: gra w osiem puzzli

3.3. Rodzaje zada

ń

Stan pocz

ą

tkowy Stan docelowy

stan:

poło

ż

enie puzzli 1 - 8;

działania: ruch pola pustego: w lewo, w prawo,w gór

ę

,

w dół;

w dół;

test celu:

osi

ą

gni

ę

cie zadanego układu puzzli;

koszt:

1 za ka

ż

dy ruch;

© F.A. Dul 2007

koszt:

1 za ka

ż

dy ruch;

Rozwi

ą

zanie optymalne problemu n puzzli jest zadaniem NP-hard

background image

Przykład: monta

ż

przy u

ż

yciu robota

3.3. Rodzaje zada

ń

stan:

wieloelementowa tablica poło

ż

enia

stan:

wieloelementowa tablica poło

ż

enia

ramienia robota oraz poło

ż

enia

montowanych elementów;

działania: ci

ą

gły ruch ramienia robota, chwytanie

działania: ci

ą

gły ruch ramienia robota, chwytanie

i puszczanie elementów;

test celu:

zmontowane urz

ą

dznie;

© F.A. Dul 2007

test celu:

zmontowane urz

ą

dznie;

koszt:

czas monta

ż

u urz

ą

dzenia;

background image

Inne przykłady zada

ń

ze

ś

wiata rzeczywistego

3.3. Rodzaje zada

ń

Wyznaczanie drogi: wyznaczanie trasy ł

ą

cz

ą

cej w

ę

zły:

pocz

ą

tkowy i ko

ń

cowy;

Problem zwiedzania: wyznaczanie trasy przebiegaj

ą

cej

Problem zwiedzania: wyznaczanie trasy przebiegaj

ą

cej

przez w

ę

zły (np. miasta) tylko jeden raz;

Problem komiwoja

ż

era: wyznaczenie najkrótszej trasy

Problem komiwoja

ż

era: wyznaczenie najkrótszej trasy

przebiegaj

ą

cej przez w

ę

zły tylko jeden raz;

Planowanie obwodów VLSI: rozmieszczanie elementów

układu i wyznaczanie poł

ą

cze

ń

mi

ę

dzy nimi;

układu i wyznaczanie poł

ą

cze

ń

mi

ę

dzy nimi;

Nawigacja robotów: ci

ą

gła wersja problemu wyznaczania

drogi;

drogi;

Planowanie automatycznego monta

ż

u: wyznaczenie

wła

ś

ciwej kolejno

ś

ci monta

ż

u elementów;

Synteza protein: wyznaczenie wła

ś

ciwej kolejno

ś

ci

aminokwasów białka o okre

ś

lonych własno

ś

ciach;

Poszukiwania w Internecie: wyznaczenie trasy

© F.A. Dul 2007

Poszukiwania w Internecie: wyznaczenie trasy

poszukiwa

ń

żą

danych informacji na stronach Internetu;

background image

3.3. Rodzaje zada

ń

Podstawow

ą

zasad

ą

poszukiwa

ń

nieinformowanych jest korzystanie

nieinformowanych jest korzystanie
wył

ą

cznie z definicji zadania - bez

wykorzystywania dodatkowych

wykorzystywania dodatkowych
informacji.

Przypomina to prób

ę

dojechania

w mie

ś

cie samochodem na podany

w mie

ś

cie samochodem na podany

adres gdy zna si

ę

tylko ten adres oraz

adres gdy zna si

ę

tylko ten adres oraz

reguły prowadzenia samochodu.

© F.A. Dul 2007

background image

3.4. Algorytmy przeszukiwania drzew

Idea algorytmów przeszukuj

ą

cych

Idea algorytmów przeszukuj

ą

cych

ś

lepe poszukiwania: analiza wszystkich mo

ż

liwych

sekwencji stanów;

sekwencji stanów;

– koszt ro

ś

nie gwałtownie ze wzrostem liczby mo

ż

liwych

stanów;

poszukiwania poprzez budow

ę

drzewa stanów:

poszukiwania poprzez budow

ę

drzewa stanów:

– KORZE

Ń

- stan pocz

ą

tkowy;

– w

ę

zły i gał

ę

zie generowane funkcj

ą

nast

ę

pstwa;

function TREE-SEARCH(problem,strategy) returns a solution or failure

Ogólnie: przeszukiwanie generuje graf.

function TREE-SEARCH(problem,strategy) returns a solution or failure

initialize the search tree using the initial state of problem
do

if there are no candidates to expand then return failure

if there are no candidates to expand then return failure
choose a legal node for expansion according to strategy
if the node contains a goal state then return corresponding solution

else expand the node and add the resulting nodes to the search tree

© F.A. Dul 2007

else expand the node and add the resulting nodes to the search tree

od

background image

Algorytmy przeszukiwania drzewa - przykład

3.4. Algorytmy przeszukiwania drzew

Stan pocz

ą

tkowy

Poziom 1.

Poziom 2.

function TREE-SEARCH(problem,strategy) returns a solution or failure

initialize the search tree using the initial state of problem
do

function TREE-SEARCH(problem,strategy) returns a solution or failure

initialize the search tree using the initial state of problem

do

function TREE-SEARCH(problem,strategy) returns a solution or failure

initialize the search tree using the initial state of problem
do

do

if there are no candidates to expand then return failure
choose a leaf node for expansion according to strategy
if the node contains a goal state then return corresponding solution

do

if there are no candidates to expand then return failure
choose a leaf node for expansion according to strategy
if the node contains a goal state then return corresponding solution

do

if there are no candidates to expand then return failure

choose a leaf node for expansion according to strategy

if the node contains a goal state then return corresponding solution

if the node contains a goal state then return corresponding solution

else expand the node and add the resulting nodes to the search tree

od

© F.A. Dul 2007

if the node contains a goal state then return corresponding solution

else expand the node and add the resulting nodes to the search tree

od

if the node contains a goal state then return corresponding solution

else expand the node and add the resulting nodes to the search tree

od

background image

ż

nica pomi

ę

dzy stanem a w

ę

złem

3.4. Algorytmy przeszukiwania drzew

Stan okre

ś

la konfiguracj

ę

fizyczn

ą

obiektu lub zadania;

Stan okre

ś

la konfiguracj

ę

fizyczn

ą

obiektu lub zadania;

W

ę

zeł jest to struktura danych okre

ś

laj

ą

ca cz

ęść

drzewa poszukiwa

ń

, obejmuj

ą

ca np.: stan, w

ę

zeł

drzewa poszukiwa

ń

, obejmuj

ą

ca np.: stan, w

ę

zeł

rodzica, w

ę

zły dzieci, koszt gał

ę

zi, aktualn

ą

ę

boko

ść

,

podejmowane działanie, itp.;

w

ę

zeł =

〈〈〈〈

stan, w

ę

zeł rodzica, koszt, gł

ę

boko

ść

, działanie

〉〉〉〉

• Funkcja

Expand

tworzy nowe w

ę

zeł, wypełnia odpowiednie

• Funkcja

Expand

tworzy nowe w

ę

zeł, wypełnia odpowiednie

pola, a nast

ę

pnie przy pomocy funkcji

SuccessorFn

tworzy stan w nowym w

ęź

le.

© F.A. Dul 2007

• Brzeg (fringe) to zbiór wszystkich w

ę

złow, które nie zotały

jeszcze rozwini

ę

te.

background image

Strategie algorytmów przeszukiwania drzew

3.4. Algorytmy przeszukiwania drzew

• Strategia poszukiwania jest okre

ś

lona

kolejno

ś

ci

ą

rozwijania w

ę

złów.

• Strategie s

ą

oceniane wg. nast

ę

puj

ą

cych kryterów:

– zupełno

ść

: mo

ż

liwo

ść

znalezienia rozwi

ą

zania, je

ż

eli

istnieje;

istnieje;

– zło

ż

ono

ść

czasowa

: liczba generowanych w

ę

złów;

– zło

ż

ono

ść

pami

ę

ciowa

: najwi

ę

ksza liczba w

ę

złów

w pami

ę

ci;

– zło

ż

ono

ść

pami

ę

ciowa

: najwi

ę

ksza liczba w

ę

złów

w pami

ę

ci;

– optymalno

ść

: mo

ż

liwo

ść

wyznaczenia najta

ń

szego

rozwi

ą

zania.

rozwi

ą

zania.

• 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:

ę

boko

ść

rozwi

ą

zania optymalnego,

© F.A. Dul 2007

d:

ę

boko

ść

rozwi

ą

zania optymalnego,

m: maksymalna gł

ę

boko

ść

przestrzeni stanów.

background image

Strategie nieinformowane przeszukiwania drzew

3.4. Algorytmy przeszukiwania drzew

Strategie

nieinformowane

wykorzystuj

ą

tylko informacje

zawarte w definicji zadania.

Rodzaje strategii nieinformowanych:

Strategie nieinformowane - poszukiwania “na o

ś

lep”.

• Poszukiwanie wszerz (breadth-first search),

• Poszukiwanie w gł

ą

b (depth-first search),

• Poszukiwanie w gł

ą

b (depth-first search),

• Poszukiwanie z jednostajnym kosztem

(uniform-cost search),

• Poszukiwanie na ograniczon

ą

ę

boko

ść

(depth-limited search),

• Poszukiwanie pogł

ę

biane iteracyjnie

(iterative deepening search).

• Poszukiwanie dwukierunkowe (bidrectional search).

© F.A. Dul 2007

• Poszukiwanie dwukierunkowe (bidrectional search).

background image

Poszukiwanie wszerz (breadth-first search)

3.4. Algorytmy przeszukiwania drzew

Zasada: rozwin

ąć

najpłytszy nierozwini

ę

ty w

ę

zeł (najpłytszy

na brzegu).

Brzeg jest kolejk

ą

FIFO, tzn. nowy w

ę

zeł wstawiany jest na

koniec kolejki.

© F.A. Dul 2007

background image

Poszukiwanie wszerz (breadth-first search)

3.4. Algorytmy przeszukiwania drzew

Własno

ś

ci algorytmu

• Zupełno

ść

Tak, je

ż

eli b jest ograniczone

• Zupełno

ść

Tak, je

ż

eli b jest ograniczone

• Czas

1+b+b

2

+b

3

+… +b

d

+ b(b

d

-1) = O(b

d+1

)

• Pami

ęć

O(b

d+1

) (przechowywanie wszystkich

w

ę

złów w pami

ę

ci)

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

ń

.

poszukiwa

ń

.

© F.A. Dul 2007

background image

Poszukiwanie w gł

ą

b (depth-first search)

3.4. Algorytmy przeszukiwania drzew

Zasada: rozwin

ąć

najgł

ę

bszy nierozwini

ę

ty w

ę

zeł

(najgł

ę

bszy na brzegu).

Brzeg jest kolejk

ą

LIFO, tzn. nowy w

ę

zeł wstawiany jest na

pocz

ą

tek kolejki.

© F.A. Dul 2007

background image

Poszukiwanie w gł

ą

b (depth-first search)

3.4. Algorytmy przeszukiwania drzew

Zasada: rozwin

ąć

najgł

ę

bszy nierozwini

ę

ty w

ę

zeł

(najgł

ę

bszy na brzegu).

Brzeg jest kolejk

ą

LIFO, tzn. nowy w

ę

zeł wstawiany jest na

pocz

ą

tek kolejki.

© F.A. Dul 2007

background image

Poszukiwanie w gł

ą

b (depth-first search)

3.4. Algorytmy przeszukiwania drzew

Zasada: rozwin

ąć

najgł

ę

bszy nierozwini

ę

ty w

ę

zeł

(najgł

ę

bszy na brzegu).

Brzeg jest kolejk

ą

LIFO, tzn. nowy w

ę

zeł wstawiany jest na

pocz

ą

tek kolejki.

© F.A. Dul 2007

background image

Poszukiwanie w gł

ą

b (depth-first search)

3.4. Algorytmy przeszukiwania drzew

Zasada: rozwin

ąć

najgł

ę

bszy nierozwini

ę

ty w

ę

zeł

(najgł

ę

bszy na brzegu).

Brzeg jest kolejk

ą

LIFO, tzn. nowy w

ę

zeł wstawiany jest na

pocz

ą

tek kolejki.

© F.A. Dul 2007

background image

Poszukiwanie w gł

ą

b (depth-first search)

3.4. Algorytmy przeszukiwania drzew

Zasada: rozwin

ąć

najgł

ę

bszy nierozwini

ę

ty w

ę

zeł

(najgł

ę

bszy na brzegu).

Brzeg jest kolejk

ą

LIFO, tzn. nowy w

ę

zeł wstawiany jest na

pocz

ą

tek kolejki.

© F.A. Dul 2007

background image

Poszukiwanie w gł

ą

b (depth-first search)

3.4. Algorytmy przeszukiwania drzew

Zasada: rozwin

ąć

najgł

ę

bszy nierozwini

ę

ty w

ę

zeł

(najgł

ę

bszy na brzegu).

Brzeg jest kolejk

ą

LIFO, tzn. nowy w

ę

zeł wstawiany jest na

pocz

ą

tek kolejki.

© F.A. Dul 2007

background image

Poszukiwanie w gł

ą

b (depth-first search)

3.4. Algorytmy przeszukiwania drzew

Zasada: rozwin

ąć

najgł

ę

bszy nierozwini

ę

ty w

ę

zeł

(najgł

ę

bszy na brzegu).

Brzeg jest kolejk

ą

LIFO, tzn. nowy w

ę

zeł wstawiany jest na

pocz

ą

tek kolejki.

© F.A. Dul 2007

background image

Poszukiwanie w gł

ą

b (depth-first search)

3.4. Algorytmy przeszukiwania drzew

Zasada: rozwin

ąć

najgł

ę

bszy nierozwini

ę

ty w

ę

zeł

(najgł

ę

bszy na brzegu).

Brzeg jest kolejk

ą

LIFO, tzn. nowy w

ę

zeł wstawiany jest na

pocz

ą

tek kolejki.

© F.A. Dul 2007

background image

Poszukiwanie w gł

ą

b (depth-first search)

3.4. Algorytmy przeszukiwania drzew

Zasada: rozwin

ąć

najgł

ę

bszy nierozwini

ę

ty w

ę

zeł

(najgł

ę

bszy na brzegu).

Brzeg jest kolejk

ą

LIFO, tzn. nowy w

ę

zeł wstawiany jest na

pocz

ą

tek kolejki.

© F.A. Dul 2007

background image

Poszukiwanie w gł

ą

b (depth-first search)

3.4. Algorytmy przeszukiwania drzew

Zasada: rozwin

ąć

najgł

ę

bszy nierozwini

ę

ty w

ę

zeł

(najgł

ę

bszy na brzegu).

Brzeg jest kolejk

ą

LIFO, tzn. nowy w

ę

zeł wstawiany jest na

pocz

ą

tek kolejki.

© F.A. Dul 2007

background image

Poszukiwanie w gł

ą

b (depth-first search)

3.4. Algorytmy przeszukiwania drzew

Zasada: rozwin

ąć

najgł

ę

bszy nierozwini

ę

ty w

ę

zeł

(najgł

ę

bszy na brzegu).

Brzeg jest kolejk

ą

LIFO, tzn. nowy w

ę

zeł wstawiany jest na

pocz

ą

tek kolejki.

© F.A. Dul 2007

background image

Poszukiwanie w gł

ą

b (depth-first search)

3.4. Algorytmy przeszukiwania drzew

Zasada: rozwin

ąć

najgł

ę

bszy nierozwini

ę

ty w

ę

zeł

(najgł

ę

bszy na brzegu).

Brzeg jest kolejk

ą

LIFO, tzn. nowy w

ę

zeł wstawiany jest na

pocz

ą

tek kolejki.

© F.A. Dul 2007

background image

Poszukiwanie w gł

ą

b (depth-first search)

3.4. Algorytmy przeszukiwania drzew

Własno

ś

ci algorytmu

• Zupełno

ść

Tak w przestrzeniach sko

ń

czonych.

• 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

ę

w celu unikni

ę

cia powtarzaj

ą

cych si

ę

stanów)

• Czas

O(b

m

) - ogromny je

ż

eli m >> d;

• Czas

O(b ) - ogromny je

ż

eli m >> d;

• Pami

ęć

O(bm) - liniowa wzgl

ę

dem pami

ę

ci;

• Optymalno

ść

Nie

© F.A. Dul 2007

background image

Poszukiwanie z jednostajnym kosztem (uniform cost

3.4. Algorytmy przeszukiwania drzew

search)

Zasada: rozwin

ąć

najta

ń

szy nierozwini

ę

ty w

ę

zeł.

Własno

ś

ci algorytmu

Brzeg jest kolejk

ą

uporz

ą

dkowan

ą

według rosn

ą

cego kosztu.

• Zupełno

ść

Tak je

ż

eli koszt kroku >

ε

> 0.

• Czas

O(b

C/

ε

) - najgorszy przypadek,

C - koszt rozwi

ą

zania optymalnego;

C - koszt rozwi

ą

zania optymalnego;

• Pami

ęć

O(b

C/

ε

);

• Optymalno

ść

Tak - w

ę

zły s

ą

rozwijane według

• Optymalno

ść

Tak - w

ę

zły s

ą

rozwijane według

najwolniej rosn

ą

cego kosztu.

© F.A. Dul 2007

background image

Poszukiwanie na ograniczon

ą

ę

boko

ść

(depth

3.4. Algorytmy przeszukiwania drzew

limited search)

Zasada: jak w algorytmie poszukiwania wgł

ą

b ale z

ę

boko

ś

ci

ą

ograniczon

ą

do poziomu

l

.

ę

boko

ś

ci

ą

ograniczon

ą

do poziomu

l

.

Algorytm rozwi

ą

zuje problem niesko

ń

czonej

ś

cie

ż

ki.

Własno

ś

ci algorytmu

• Zupełno

ść

Tak je

ż

eli l

d.

• Zupełno

ść

Tak je

ż

eli l

d.

• Czas

O(b

l

);

• Pami

ęć

O(bl);

• Pami

ęć

O(bl);

• Optymalno

ść

Tak je

ż

eli l

d.

© F.A. Dul 2007

background image

Poszukiwanie pogł

ę

biane iteracyjnie (iterative deepe-

3.4. Algorytmy przeszukiwania drzew

ning search)

Zasada: wyznacz

ć

iteracyjnie najlepsz

ą

ę

boko

ść

l

.

l = 0

© F.A. Dul 2007

background image

Poszukiwanie pogł

ę

biane iteracyjnie (iterative deepe-

3.4. Algorytmy przeszukiwania drzew

ning search)

Zasada: wyznacz

ć

iteracyjnie najlepsz

ą

ę

boko

ść

l

.

l = 1

© F.A. Dul 2007

background image

Poszukiwanie pogł

ę

biane iteracyjnie (iterative deepe-

3.4. Algorytmy przeszukiwania drzew

ning search)

Zasada: wyznacz

ć

iteracyjnie najlepsz

ą

ę

boko

ść

l

.

l = 2

© F.A. Dul 2007

background image

Poszukiwanie pogł

ę

biane iteracyjnie (iterative deepe-

3.4. Algorytmy przeszukiwania drzew

ning search)

Zasada: wyznacz

ć

iteracyjnie najlepsz

ą

ę

boko

ść

l

.

l = 3

© F.A. Dul 2007

background image

Poszukiwanie pogł

ę

biane iteracyjnie (iterative deepe-

3.4. Algorytmy przeszukiwania drzew

ning search)

Cel jest osi

ą

gni

ę

ty na gł

ę

boko

ś

ci d odpowiadaj

ą

cej

najpłytszemu w

ę

złowi docelowemu.

najpłytszemu w

ę

złowi docelowemu.

Algorytm ł

ą

czy zalety algorytmów poszukiwania wszerz

i w gł

ą

b.

Własno

ś

ci algorytmu

i w gł

ą

b.

• Zupełno

ść

Tak.

• Zupełno

ść

Tak.

• Czas

O(b

d

);

• Pami

ęć

O(bd);

• Pami

ęć

O(bd);

• Optymalno

ść

Tak je

ż

eli koszt kroku jest stały.

© F.A. Dul 2007

background image

Poszukiwanie dwukierunkowe (bidrectional search)

3.4. Algorytmy przeszukiwania drzew

Zasada: jednoczesne poszukiwanie z pocz

ą

tku i ko

ń

ca;

Nale

ż

y sprawdz

ć

przed rozwini

ę

ciem czy w

ę

zły nale

żą

Nale

ż

y sprawdz

ć

przed rozwini

ę

ciem czy w

ę

zły nale

żą

do drugiego brzegu.

d

d

d

b

b

b

<

+

2

/

2

/

Własno

ś

ci algorytmu

• Zupełno

ść

Tak je

ż

eli oba poszukiwania wszerz.

• Zupełno

ść

Tak je

ż

eli oba poszukiwania wszerz.

• Czas

O(b

d/2

);

• Pami

ęć

O(b

d/2

);

© F.A. Dul 2007

• Pami

ęć

O(b

);

• Optymalno

ść

Tak je

ż

eli oba poszukiwania wszerz.

background image

Porównanie algorytmów przeszukiwania

3.4. Algorytmy przeszukiwania drzew

Kryterium

Wszerz

W gł

ą

b

Koszt

jednordny

Stała

ę

boko

ść

Pogł

ę

bianie

iteracyjne

Dwukie-

runkowe

Zupełno

ść

TAK

NIE

TAK

TAK (l

≥≥≥≥

d)

TAK

TAK

Czas

O(b

d+1

)

O(b

m

)

O(b

C/

εεεε

)

O(b

l

)

O(b

d

)

O(b

d/2

)

Czas

O(b

)

O(b )

O(b

)

O(b )

O(b )

O(b

)

Pami

ęć

O(b

d+1

)

O(bm)

O(b

C/

εεεε

)

O(bl)

O(bd)

O(b

d/2

)

Optymalno

ść

TAK

NIE

TAK

TAK (l

≤≤≤≤

d)

TAK

TAK

© F.A. Dul 2007

background image

3.4. Algorytmy przeszukiwania drzew

Najwi

ę

ksz

ą

wad

ą

poszukiwa

ń

Najwi

ę

ksz

ą

wad

ą

poszukiwa

ń

nieinformowanych jest wykładniczy
wzrost kosztu oblicze

ń

.

wzrost kosztu oblicze

ń

.

Krytyczna jest zwłaszcza ilo

ść

Krytyczna jest zwłaszcza ilo

ść

wymaganej pami

ę

ci, gdy

ż

mo

ż

e ona

by

ć

gigantyczna nawet dla zada

ń

by

ć

gigantyczna nawet dla zada

ń

o umiarkowanych wymiarach.

o umiarkowanych wymiarach.

© F.A. Dul 2007

background image

Problem powtarzaj

ą

cych si

ę

stanów

3.4. Algorytmy przeszukiwania drzew

Je

ż

eli powtarzaj

ą

ce si

ę

stany nie s

ą

wykrywane, to zadanie

rozwi

ą

zywalne mo

ż

e zmieni

ć

si

ę

w nierozwi

ą

zywalne.

(a) zbiór stanów które mog

ą

by

ć

osi

ą

gane dwiema drogami,

(b) drzewo binarne dla zbioru stanów A, B, C, D...

(b) drzewo binarne dla zbioru stanów A, B, C, D...

Ka

ż

dy stan mo

ż

e by

ć

osi

ą

gni

ę

ty kosztem liniowym,

za

ś

koszt przeszukiwania drzewa jest wykładniczy.

© F.A. Dul 2007

za

ś

koszt przeszukiwania drzewa jest wykładniczy.

(c) stan A mo

ż

e by

ć

osi

ą

gany wieloma ró

ż

nymi drogami.

background image

3.5. Przeszukiwanie grafu (graph search)

Zasada: lista zamkni

ę

ta zawiera wszystkie rozwini

ę

te w

ę

zły.

function GRAPH-SEARCH(problem,fringe) return a solution or failure

closed

an empty set

closed

an empty set

fringe

INSERT(MAKE-NODE(INITIAL-STATE[problem]), fringe)

loop do

if EMPTY?(fringe) then return failure

if EMPTY?(fringe) then return failure
node

REMOVE-FIRST(fringe)

if GOAL-TEST[problem] applied to STATE[node] succeeds

then return SOLUTION(node)

then return SOLUTION(node)

if STATE[node] is not in closed then

add STATE[node] to closed
fringe

INSERT-ALL(EXPAND(node, problem), fringe)

Własno

ś

ci algorytmu

• Zupełno

ść

Tak

fringe

INSERT-ALL(EXPAND(node, problem), fringe)

• Zupełno

ść

Tak

• Czas

~ wymiaru przestrzeni stanu, << O(b

d

);

• Pami

ęć

~ wymiaru przestrzeni stanu, << O(b

d

)

© F.A. Dul 2007

• Pami

ęć

~ wymiaru przestrzeni stanu, << O(b )

• Optymalno

ść

Tak je

ż

eli poszukiwania wszerz.

background image

Poszukiwanie w przypadku niepełnej informacji

3.5. Algorytmy przeszukiwania grafów

Zało

ż

enia idealne:

-

ś

rodowisko jest całkowicie obserwowalne,

-

ś

rodowisko jest deterministyczne,

-

ś

rodowisko jest deterministyczne,

- agent zna efekty swojego działania.

Co si

ę

stanie, gdy agent nie ma pełnej informacji

Co si

ę

stanie, gdy agent nie ma pełnej informacji

o stanie lub efektach działania?

• Nieobserwowalne

zadanie bez czujników (conformant

problem)

– agent nie wie, gdzie jest; rozwi

ą

zanie jest ci

ą

giem stanów;

• Niedeterministyczne lub obserwowalne cz

ęś

ciowo

nieprzewidywalne

(contingency problem)

nieprzewidywalne

(contingency problem)

– obserwacje dostarczaj

ą

nowych

informacji o stanie bie

żą

cym,

– poszukiwania cz

ę

sto

przeplataj

ą

si

ę

z działaniami.

© F.A. Dul 2007

• Nieznana przestrze

ń

stanów

exploration problem

background image

Zadanie nieobserwowalne (conformant problem)

3.5. Algorytmy przeszukiwania grafów

Start z dowolnego stanu spo

ś

ród

{1,2,3,4,5,6,7,8}

{1,2,3,4,5,6,7,8}

W PRAWO

{2,4,6,8}

Rozwi

ą

zanie

[ W PRAWO , ODKURZAJ ,

W LEWO , ODKURZAJ ]

Je

ż

eli

ś

wiat nie jest całkowicie obserwowalny, to stan

wiarygodny (belief state) jest zbiorem stanów, które
mog

ą

by

ć

osi

ą

gni

ę

te.

© F.A. Dul 2007

mog

ą

by

ć

osi

ą

gni

ę

te.

background image

Zadanie nieobserwowalne (conformant problem)

3.5. Algorytmy przeszukiwania grafów

Rozwi

ą

zanie problemu - stan wiarygodny zawieraj

ą

cy

wszystkie mo

ż

liwe stany docelowe.

© F.A. Dul 2007

background image

Zadanie niedeterministyczne lub obserwowalne
cz

ęś

ciowo (contingency problem)

3.5. Algorytmy przeszukiwania grafów

cz

ęś

ciowo (contingency problem)

Obserwowalno

ść

lokalna: start

z jednego ze stanów {1,3}.

z jednego ze stanów {1,3}.

Prawo Murphy’ego

:

odkurzanie czystego dywanu

mo

ż

e go zabrudzi

ć

.

mo

ż

e go zabrudzi

ć

.

Obserwacja lokalna:

zabrudzenie tylko w miejscu

pobytu agenta.

pobytu agenta.

- obserwacja: [L,

Ś

MIECI] = {1,3},

- [ODKURZAJ] = {5,7},
- [W PRAWO] = {6,8},

- [W PRAWO] = {6,8},
- [ODKURZAJ] w {6} = {8}, OK
- [ODKURZAJ] w {8} =

Ź

LE!

Rozwi

ą

zanie

Ż

aden bezwarunkowy ci

ą

g działa

ń

nie gwarantuje powodzenia.

Nale

ż

y uzale

ż

ni

ć

działania od aktualnej sytuacji.

© F.A. Dul 2007

Rozwi

ą

zanie

[ ODKURZAJ, W PRAWO, je

ż

eli

Ś

MIECI to ODKURZAJ ]

background image

Podsumowanie

• Rozwi

ą

zywanie zada

ń

poprzez przeszukiwanie wymaga

• Rozwi

ą

zywanie zada

ń

poprzez przeszukiwanie wymaga

sformułowania zadania w postaci abstrakcyjnej.

• Je

ż

eli zadanie jest deterministyczne i obserwowalne

• 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:

• Istnieje wiele algorytmów poszukiwania nieinformowanego:

wszerz, w gł

ą

b, kosztu jednorodnego, stałej gł

ę

boko

ś

ci,

pogł

ę

biania iteracyjnego oraz 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

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,

s

ą

u

ż

ywani w wielu dziedzinach: wyznaczaniu drogi,

planowaniu układów VLSI, nawigacji robotów, poszukiwa

ń

internetowych;

© F.A. Dul 2007


Wyszukiwarka

Podobne podstrony:
04 Osiaganie celu poprzez poszu Nieznany (2)
03 przekroj podluzny i poprzeczny PROJEKTOWY
1975 12 Rakiety nie osiągają celu
03 przekroj podluzny i poprzeczny PROJEKTOWY
Historia Ryzykownej Techniki Osiagania Celu
03 POSZUKIWANIE OSOB UKRYWAJACYC SIE PRZED ORGANAMI SCIGANIA
Osiąganie celów strategicznych organizacji poprzez zarządzanie portfelem projektów
Zad 3 - Bilans osobisty z określeniem celu zawodowego, Studia, Semestry, semestr IV, WUP-aktywne met
Zad 3 - Bilans osobisty z określeniem celu zawodowego, Studia, Semestry, semestr IV, WUP-aktywne met
po co żyję, W poszukiwaniu utraconej mocy, W poszukiwaniu utraconej mocy / 03 marzec 2008
choroby zakaźne i nieinfekcyjne choroby cywilizacyjne 8 03
Zadanie 4 - Projekt realizacji celu, Studia, Semestry, semestr IV, WUP-aktywne metody poszukiwania p
03 ĆWICZENIA NA ROZGRZEWKĘ , W tej lekcji chciałabym przedstawić Ci kilka prostych i bezpiecznych ćw
03 PRZEKRÓJ POPRZECZNY A A
03 POSZUKIWANIE OSOB UKRYWAJACYC SIE PRZED ORGANAMI SCIGANIA
Ahern Jerry Krucjata 03 Poszukiwanie
Ahern Jerry Krucjata 03 Poszukiwanie

więcej podobnych podstron