background image

WPROWADZENIE 

DO SZTUCZNEJ  INTELIGENCJI

POLITECHNIKA WARSZAWSKA

WYDZIAŁ MECHANICZNY ENERGETYKI I LOTNICTWA

MEL

MEL

NS 586

Dr in

Ŝ

. Franciszek Dul

©  F.A. Dul 2007

background image

5.  ROZWIĄZYWANIE 

PROBLEMÓW Z OGRANICZENIAMI

©  F.A. Dul 2007

PROBLEMÓW Z OGRANICZENIAMI

background image

Problemy z ograniczeniami

Poka

Ŝ

emy, w jaki sposób agent mo

Ŝ

osi

ą

gn

ąć

 zamierzony cel je

Ŝ

eli musi 

uwzgl

ę

dnia

ć

 ograniczenia wyst

ę

puj

ą

ce 

w zadaniu.

©  F.A. Dul 2007

w zadaniu.

background image

5.1.  Wprowadzenie

• Zadania z ograniczeniami.

• Poszukiwanie wsteczne dla zada

ń

 z ograniczeniami.

• Poszukiwania lokalne dla zada

ń

 z ograniczeniami.

Plan rozdziału

©  F.A. Dul 2007

background image

5.1. Zadania z ograniczeniami (CSP)

Ŝ

nica mi

ę

dzy zadaniami poszukiwania a zadaniami             

z ograniczeniami (Constraint Satisfaction Problems):

• w zadaniach zwykłych stan mo

Ŝ

e by

ć

 dowoln

ą

 struktur

ą

która umo

Ŝ

liwia wyznaczanie nast

ę

pników, obliczenie 

funkcji kosztu, sprawdzenie osi

ą

gni

ę

cia celu; 

• w zadaniach z ograniczeniami:

– stan jest zbiorem zmiennych X

i

przyjmuj

ą

cych 

warto

ś

ci

dziedzin

D

i,

– cel zdefiniowany jest poprzez 

ogranicznia

które musz

ą

 

©  F.A. Dul 2007

– cel zdefiniowany jest poprzez 

ogranicznia

C

i,

które musz

ą

 

spełnia

ć

 warto

ś

ci zmiennych stanu, np. C

2,

X

1

X

2

Rozwi

ą

zaniem zadania z ograniczeniami jest zgodny zbiór 

warto

ś

ci zmiennych stanu spełniaj

ą

cy wszystkie ograniczenia.

Przykłady: 

• kolorowanie map, 
• kompozycja parkietów, 
• kryptografia, 
• szeregowanie obserwacji dla teleskopu Hubble’a.

Przypisanie warto

ś

ci zmiennym stanu jest zgodne, je

Ŝ

eli    

nie narusza ogranicze

ń

.

background image

Zadania z ograniczeniami

Charakterystyczne cechy zada

ń

 z ograniczeniami:

• standardowy sposób sformułowania;
• standardowe postacie funkcji nast

ę

pstwa i funkcji celu; 

• standardowe heurystyki, niezale

Ŝ

ne od charakteru 

konkretnego zadania.

5.1.  Zadania z ograniczeniami

©  F.A. Dul 2007

background image

5.1.  Zadania z ograniczeniami

Przykład - kolorowanie mapy

©  F.A. Dul 2007

• Zmienne:

WA, NT, Q, NSW, V, SA, T

• Dziedziny:

D

i

= {R,G,B} ( = {Red,Green,Blue} )

• Ograniczenia

: obszary przyległe musz

ą

 mie

ć

 ró

Ŝ

ne kolory

– WA 

NT, lub

– (WA,NT) 

{ (R,G), (R,B), (G,R), (G,B), (B,R), (B,G) }

background image

Przykład - kolorowanie mapy

5.1.  Zadania z ograniczeniami

©  F.A. Dul 2007

Rozwi

ą

zaniem jest ka

Ŝ

de kompletne i zgodne przypisanie 

warto

ś

ci z dziedzin zmiennym stanu, np.: 

WA = R,  NT = G,  Q = R,  NSW = G,  V = R,  SA = B,  T = G

… ale rozwi

ą

zaniem jest równie

Ŝ

 np.  

WA = G,  NT = B,  Q = G,  NSW = B,  V = G,  SA = R,  T = B

background image

Graf ogranicze

ń

Binarne zadanie z ograniczeniami: ka

Ŝ

de ograniczenie 

jest relacj

ą

 dwóch zmiennych. 

Graf ogranicze

ń

: w

ę

zły s

ą

 zmiennymi, 

kraw

ę

dzie s

ą

 ograniczeniami.

5.1.  Zadania z ograniczeniami

©  F.A. Dul 2007

Sformułowanie w postaci grafu pozwala upro

ś

ci

ć

 

poszukiwanie rozwi

ą

zania.

background image

Odmiany zada

ń

 CSP

Dyskretne zmienne stanu. 

5.1.  Zadania z ograniczeniami

• dziedziny sko

ń

czone:

– zmiennych, wymiar 

d  ⇒ O(d

n

mo

Ŝ

liwych przypisa

ń

;                              

np.: zadania boolowskie;

• dziedziny niesko

ń

czone: 

• liczby naturalne, ła

ń

cuchy,

• np. planowanie (kolejkowanie) zada

ń

,

• wymagaj

ą

 j

ę

zyka do opisu ogranicze

ń

, np. 

©  F.A. Dul 2007

Ci

ą

głe zmienne stanu. 

• wymagaj

ą

 j

ę

zyka do opisu ogranicze

ń

, np. 

StartJob

1

+ 5 

StartJob

3

• rozwi

ą

zywalne z ograniczeniami liniowymi;                                  

z nieliniowymi - nierozstrzygalne;

• np. czasy rozpocz

ę

cia i zako

ń

czenia obserwacji przez 

teleskop Hubble’a;

• zadania z ograniczeniami liniowymi s

ą

 rozwi

ą

zywalne  

za pomoc

ą

 programowania liniowego w czasie 

wielomianowym.

background image

Odmiany ogranicze

ń

 w zadaniach CSP

Ograniczenia unarne (dla pojedy

ń

czych zmiennych stanu). 

5.1.  Zadania z ograniczeniami

• np. SA 

Red

Ograniczenia binarne (dla dwóch zmiennych stanu). 

• np. SA 

WA

Ograniczenia wy

Ŝ

szego rz

ę

du, dla trzech lub wi

ę

kszej liczby 

zmiennych stanu 

• np. dla kolumny danych kryptoarytmetycznych

©  F.A. Dul 2007

• np. dla kolumny danych kryptoarytmetycznych

Ograniczenia preferencyjne (mi

ę

kkie), np.

czerwony kolor jest lepszy ni

Ŝ

 zielony

Cz

ę

sto s

ą

 reprezentowane poprzez koszt przypisania 

warto

ś

ci do zmiennej; 

Zadanie jest wtedy typu optymalizacji z ograniczeniami.

background image

5.1.  Zadania z ograniczeniami

Przykład - arytmetyka kryptograficzna

Znale

źć

 cyfry, które przyporz

ą

dkowane literom w sposób 

jednoznaczny spełni

ą

 równanie  

©  F.A. Dul 2007

• Zmienne:

F, T, U, W, R, O, X

, X

, X

,

• Dziedziny:

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

• Ograniczenia

F, T, U, W, R, O s

ą

 ró

Ŝ

nymi cyframi oraz:

• O + O = R + 10 · X

1

,

• X

1

+ W + W = U + 10 · X

2

,

• X

2

+ T + T O + 10 · X

3,

,

• X

3

F,  

0,  F

0.

Graf zadania  

background image

Zadania CSP w praktyce

Zadania przyporz

ą

dkowania. 

5.1.  Zadania z ograniczeniami

• np. kto prowadzi jaki wykład?

Zadania rozkładu zaj

ęć

 (timetabling)

• np. które zaj

ę

cia w której sali i kiedy?

Zadania planowania (szeregowania) w transporcie, 

przemy

ś

le, itp.  

©  F.A. Dul 2007

W zadaniach praktycznych zmienne przyjmuj

ą

 cz

ę

sto 

warto

ś

ci ci

ą

głe rzeczywiste.

background image

CSP jako standardowe zadanie poszukiwania

Zadanie CSP mo

Ŝ

e by

ć

 zawsze sformułowane w postaci 

standardowej jako zadanie poszukiwania.

5.1.  Zadania z ograniczeniami

• Stan pocz

ą

tkowy  = przypisanie puste { };

• Funkcja nast

ę

pnika: przypisa

ć

 warto

ść

 wolnej zmiennej 

pod warunkiem, 

Ŝ

e nie spowoduje to naruszenia 

ogranicze

ń

;

• Test celu: kompletno

ść

 bie

Ŝą

cego przypisania;

Sformułowanie przyrostowe

©  F.A. Dul 2007

• Test celu: kompletno

ść

 bie

Ŝą

cego przypisania;

• Koszt drogi: stały w ka

Ŝ

dym kroku;  

Sformułowanie to jest identyczne dla wszystkich zada

ń

 CSP.

Rozwi

ą

zanie zadania CSP uzyskuje si

ę

 po krokach 

- mo

Ŝ

na wi

ę

c u

Ŝ

y

ć

 algorytmu poszukiwania w gł

ą

b.

Droga rozwi

ą

zania jest nieistotna, mo

Ŝ

na wi

ę

c u

Ŝ

y

ć

 

kompletnej reprezentacji stanu.

W kroku l-tym  b = (n-l)d, zatem istnieje a

Ŝ

 n! d

n

li

ś

ci drzewa 

(mimo, 

Ŝ

e jest tylko d

n

Ŝ

nych stanów).  

background image

5.2. Poszukiwanie wsteczne 

Algorytm szukania w gł

ą

b zastosowany do zadania CSP      

z przypisaniem warto

ś

ci jednej zmiennej nazywa si

ę

 

poszukiwaniem wstecznym (backtracking search).

Przypisanie warto

ś

ci jest przemienne, np.:

[ WA = R 

NT = G ]  

[ NT = G 

WA = R ]

W ka

Ŝ

dym w

ęź

le przypisuje si

ę

 jedn

ą

 spo

ś

ród warto

ś

ci 

do jednej zmiennej, zatem b = d i powstaje tylko d

n

li

ś

ci 

drzewa.  

©  F.A. Dul 2007

poszukiwaniem wstecznym (backtracking search).

Idea: przypisuje si

ę

 warto

ść

 jednej zmiennej i cofa si

ę

 

działanie gdy kolejnej zmiennej nie mo

Ŝ

na przypisa

ć

 

Ŝ

adnej warto

ś

ci bez naruszenia ogranicze

ń

.

Poszukiwanie wsteczne jest podstawowym algorytmem 

nieinformowanym dla zada

ń

 CSP.

background image

Algorytm rekursywny poszukiwania wstecznego CSP

5.2.  Poszukiwanie wsteczne

function BACKTRACKING-SEARCH(cspreturn a solution or failure

return RECURSIVE-BACKTRACKING({} , csp)

function RECURSIVE-BACKTRACKING(assignment, cspreturn a solution or failure

if assignment is complete then return assignment

var

SELECT-UNASSIGNED-VARIABLE(VARIABLES[csp],assignment,csp)

for each value in ORDER-DOMAIN-VALUES(var, assignment, cspdo

if value is consistent with assignment according to CONSTRAINTS[cspthen

©  F.A. Dul 2007

if value is consistent with assignment according to CONSTRAINTS[cspthen

add {var=value} to assignment 

result

RRECURSIVE-BACTRACKING(assignment, csp)

if result 

failure  then return result

remove {var=value} from assignment

return failure

background image

Przykład - kolorowanie mapy

5.2.  Poszukiwanie wsteczne

©  F.A. Dul 2007

background image

Przykład - kolorowanie mapy

5.2.  Poszukiwanie wsteczne

©  F.A. Dul 2007

background image

Przykład - kolorowanie mapy

5.2.  Poszukiwanie wsteczne

©  F.A. Dul 2007

background image

Przykład - kolorowanie mapy

5.2.  Poszukiwanie wsteczne

©  F.A. Dul 2007

background image

Poprawa efektywno

ś

ci poszukiwania wstecznego 

Efektywno

ść

 algorytmu ogólnego mo

Ŝ

e by

ć

 zasadniczo 

poprawiona poprzez rozstrzygni

ę

cie nast

ę

puj

ą

cych kwestii:

5.1.  Zadania z ograniczeniami

• która zmienna powinna by

ć

 sprawdzana w nast

ę

pnej 

kolejno

ś

ci?

• w jakiej kolejno

ś

ci nale

Ŝ

y przyporz

ą

dkowywa

ć

 warto

ś

ci 

zmiennej?

• czy mo

Ŝ

na wykry

ć

 nieuniknione niepowodzenie?

• czy mo

Ŝ

na wykorzysta

ć

 znajomo

ść

 struktury zadania?

©  F.A. Dul 2007

• czy mo

Ŝ

na wykorzysta

ć

 znajomo

ść

 struktury zadania?

Istniej

ą

 nast

ę

puj

ą

ce strategie poszukiwania wstecznego:

• najbardziej ograniczonej zmiennej (most constrained

variable),

• najmniej ograniczaj

ą

cej warto

ś

ci (least constraining

value),

• sprawdzania w przód (forward checking).

background image

Strategia najbardziej ograniczonej zmiennej 

Idea: wybra

ć

 zmienn

ą

 której mo

Ŝ

na przypisa

ć

 najmniej 

warto

ś

ci dopuszczalnych.

5.2.  Poszukiwanie wsteczne

Wersja heurystyczna nosi nazw

ę

 minimum pozostałych 

warto

ś

ci (minimum remaining values).

©  F.A. Dul 2007

warto

ś

ci (minimum remaining values).

Strategia najbardziej ograniczaj

ą

cej zmiennej

Idea: wybra

ć

 zmienn

ą

 której nakłada najwi

ę

cej ogranicze

ń

 

na pozostałe zmienne.

background image

Heurystyka stopniowa

5.2.  Poszukiwanie wsteczne

Idea: wybra

ć

 zmienn

ą

 która wyst

ę

puje w najwi

ę

kszej liczbie 

ogranicze

ń

 nało

Ŝ

onychna inn

ą

 woln

ą

 zmienn

ą

.

©  F.A. Dul 2007

background image

Strategia najmniej ograniczaj

ą

cej warto

ś

ci

5.2.  Poszukiwanie wsteczne

Idea: wybra

ć

 dla zmiennej bie

Ŝą

cej tak

ą

 warto

ść

, która 

pozostawia najwi

ę

ksz

ą

 swobod

ę

 przy przypisywaniu 

warto

ś

ci pozostałym wolnym zmiennym.

pozostawia 1 

warto

ść

 dla SA

pozostawia 0 

warto

ś

ci dla SA

©  F.A. Dul 2007

warto

ś

ci dla SA

background image

Strategia sprawdzania w przód

5.2.  Poszukiwanie wsteczne

Idea:

ś

ledzi

ć

 dopuszczalne warto

ś

ci dla wolnych zmiennych;

• przerwa

ć

 dalsze przypisywanie je

Ŝ

eli jakiej

ś

 zmiennej 

nie mo

Ŝ

na b

ę

dzie przypisa

ć

 

Ŝ

adnej warto

ś

ci

©  F.A. Dul 2007

background image

Strategia sprawdzania w przód

5.2.  Poszukiwanie wsteczne

Idea:

ś

ledzi

ć

 dopuszczalne warto

ś

ci dla wolnych zmiennych;

• przerwa

ć

 dalsze przypisywanie je

Ŝ

eli jakiej

ś

 zmiennej 

nie mo

Ŝ

na b

ę

dzie przypisa

ć

 

Ŝ

adnej warto

ś

ci

©  F.A. Dul 2007

background image

Strategia sprawdzania w przód

5.2.  Poszukiwanie wsteczne

Idea:

ś

ledzi

ć

 dopuszczalne warto

ś

ci dla wolnych zmiennych;

• przerwa

ć

 dalsze przypisywanie je

Ŝ

eli jakiej

ś

 zmiennej 

nie mo

Ŝ

na b

ę

dzie przypisa

ć

 

Ŝ

adnej warto

ś

ci

©  F.A. Dul 2007

background image

Strategia sprawdzania w przód

5.2.  Poszukiwanie wsteczne

Idea:

ś

ledzi

ć

 dopuszczalne warto

ś

ci dla wolnych zmiennych;

• przerwa

ć

 dalsze przypisywanie je

Ŝ

eli jakiej

ś

 zmiennej 

nie mo

Ŝ

na b

ę

dzie przypisa

ć

 

Ŝ

adnej warto

ś

ci

©  F.A. Dul 2007

background image

Propagacja ogranicze

ń

5.2.  Poszukiwanie wsteczne

Poł

ą

czenie heurystyki i sprawdzania w przód zapewani 

wi

ę

ksz

ą

 efektywno

ść

 ni

Ŝ

 stosowanie ich oddzielnie.

Nie zapewnia to jednak odpowiednio wczesnego wykrywania 

wszystkich niepowodze

ń

Sprawdzanie w przód propaguje informacj

ę

 ze zmiennych 

zaj

ę

tych do wolnych.

©  F.A. Dul 2007

• NT i SA nie mog

ą

 by

ć

 pomalowane na niebiesko.

Propagacja ogranicze

ń

 wymusza spełnienie ogranicze

ń

 

tylko lokalnie.

background image

Zgodno

ść

 kraw

ę

dzi

5.2.  Poszukiwanie wsteczne

Poł

ą

czenie heurystyki i sprawdzania w przód zapewnia 

wi

ę

ksz

ą

 efektywno

ść

 ni

Ŝ

 stosowanie ich oddzielnie.

Kraw

ę

d

ź

 ł

ą

cz

ą

ca zmienne oraz jest zgodna wtedy i tyko 

wtedy, gdy dla ka

Ŝ

dej dopuszczalnej warto

ś

ci zmiennej X

istnieje dopuszczalna warto

ść

 dla zmiennej Y.

©  F.A. Dul 2007

• Kraw

ę

d

ź

 SA 

NSW jest zgodna, gdy

Ŝ

 SA = B

NSW = R 

Kraw

ę

d

ź

 NSW 

SA stanie si

ę

 zgodna, je

Ŝ

eli z NSW usunie si

ę

 B. 

• Kraw

ę

d

ź

 NSW 

SA nie jest zgodna, gdy

Ŝ

                                 

NSW = R 

SA = B, ale NSW = B 

SA = ?

• Po usuni

ę

ciu warto

ś

ci nale

Ŝ

y sprawdzi

ć

 s

ą

siadów; z V usun

ąć

 R.

background image

Algorytm zgodno

ś

ci kraw

ę

dzi

5.2.  Poszukiwanie wsteczne

function AC-3(cspreturn the CSP, possibly with reduced domains

inputscsp, a binary csp with variables {X

1

, X

2

, …, X

n

}

local variables: queue, a queue of arcs initially the arcs in csp

while queue is not empty do

(X

i

, X

j

REMOVE-FIRST(queue)

if REMOVE-INCONSISTENT-VALUES(X

i

, X

j

then

for each X

k

in NEIGHBORS[X

i

do

add (X

i

, X

j

to queue 

©  F.A. Dul 2007

add (X

i

, X

j

to queue 

function REMOVE-INCONSISTENT-VALUES(X

i

, X

j

return true iff we 

remove a value
removed

false

for each in DOMAIN[X

i

do

if no value in DOMAIN[X

i

] allows (x,y) to satisfy the constraints 

between X

i

and X

j

then delete x from DOMAIN[X

i

]; removed

true

return removed

Czas oblicze

ń

 ~O(n

2

d

3

)

background image

5.3. Poszukiwania lokalne dla zada

ń

 CSP 

Algorytmy poszukiwa

ń

 lokalnych (najszybszego wzrostu, 

symulowane wy

Ŝ

arzanie) działaj

ą

 na stanach „kompletnych”, 

tj. takich w których wszystkie zmienne maj

ą

 przypisane 

warto

ś

ci.  

• dopu

ś

ci

ć

 stany w których ograniczenia nie s

ą

 

spełnione,

• wprowadzi

ć

 operatory które zmieniaj

ą

 przypisania 

warto

ś

ci do zmiennych

Aby mo

Ŝ

na było je zastosowa

ć

 do zada

ń

 CSP nale

Ŝ

y:

©  F.A. Dul 2007

• wprowadzi

ć

 operatory które zmieniaj

ą

 przypisania 

warto

ś

ci do zmiennych

Wybór zmiennych: selekcja losowa zmiennej b

ę

d

ą

cej 

w konflikcie inn

ą

 zmienn

ą

.   

Wyboru warto

ś

ci dokonuje si

ę

 za pomoc

ą

 heurystyki 

minimalnych konfliktów:

– wybra

ć

 warto

ść

 która powoduje najmniejsz

ą

 liczb

ę

 

konfliktów z innymi zmiennymi.

Np. algorytm najszybszego wzrostu z heurystyk

ą

   

h(n) = całkowita liczba naruszonych ogranicze

ń

.

background image

Przykład - problem czterech królowych

5.3.  Poszukiwania lokalne dla zada

ń

 CSP

• Stan

: cztery królowe w czterech kolumnach (4

4

= 256 stanów)

• Działania

: ruch królowej w kolumnie

• Test celu

Ŝ

adna królowa nie jest atakowana

• Heurystyka

h(n) = liczba atakowanych królowych

©  F.A. Dul 2007

Dla zadanego losowo stanu pocz

ą

tkowego algorytm potrafi 

rozwi

ą

za

ć

 problem królowych dla bardzo wielkich n, np. 

n=10,000,000 przy prawie takim samym czasie oblicze

ń

.

background image

Zalety poszukiwa

ń

 lokalnych dla zada

ń

 CSP 

5.3.  Poszukiwania lokalne dla zada

ń

 CSP

• Czas rozwi

ą

zania zadania CSP przy u

Ŝ

yciu poszukiwa

ń

 

lokalnych jest prawie niezale

Ŝ

ny od wymiaru zadania 

(por. zadanie królowych);

• Algorytmy poszukiwa

ń

 lokalnych mog

ą

 by

ć

 zastosowane 

w trybie online - w przeciwie

ń

stwie do algorytmu 

backtracking.

©  F.A. Dul 2007

background image

Podsumowanie

• Poszukiwania z ograniczeniami (Constrained Search

Problems) stanowi

ą

 szczególny rodzaj zada

ń

:

• 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 (backtracking) 

to poszukiwania w gł

ą

b z przypisaniem w ka

Ŝ

dym w

ęź

le 

warto

ś

ci tylko jednej zmiennej.

©  F.A. Dul 2007

warto

ś

ci tylko jednej zmiennej.

• Uporz

ą

dkowanie zmiennych i dobre heurystyki wyboru 

warto

ś

ci znacznie poprawiaj

ą

 efektywno

ść

 metody 

poszukiwania wstecznego.

• Metoda sprawdzania w przód pozwala zmniejszy

ć

 ryzyko  

niepowodzenia w dalszym etapie rozwi

ą

zywania zadania.

• Algorytmy propagacji ogranicze

ń

 (np. algorytm zgodno

ś

ci 

kraw

ę

dzi) pozwalaj

ą

 na wykrycie pó

ź

nych niezgodno

ś

ci.

• Algorytm minimalnych konfliktów jest bardzo efektywny   

przy rozwi

ą

zywaniu zada

ń

 praktycznych.

background image