05 Rozwiązywanie problemów z ograniczeniami

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

ż

e

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

z

dziedzin

D

i,

– cel zdefiniowany jest poprzez

ogranicznia

C 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

ć

ż

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:

n 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

1

, X

2

, X

3

,

• Dziedziny:

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

• Ograniczenia

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

ą

ż

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, T

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 n 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 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(csp) return a solution or failure

return RECURSIVE-BACKTRACKING({} , csp)

function RECURSIVE-BACKTRACKING(assignment, csp) return 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, csp) do

if value is consistent with assignment according to CONSTRAINTS[csp] then

© F.A. Dul 2007

if value is consistent with assignment according to CONSTRAINTS[csp] then

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 X oraz Y jest zgodna wtedy i tyko

wtedy, gdy dla ka

ż

dej dopuszczalnej warto

ś

ci x zmiennej X

istnieje dopuszczalna warto

ść

y 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(csp) return the CSP, possibly with reduced domains

inputs: csp, 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 x in DOMAIN[X

i

] do

if no value y 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 n 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 n 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

Wyszukiwarka

Podobne podstrony:
T 3[1] METODY DIAGNOZOWANIA I ROZWIAZYWANIA PROBLEMOW
ROZWIĄZYWANIE PROBLEMÓW
Rozwiazywanie problemów
Rehabilitacja jako pomoc w rozwiązywaniu problemów życiowych niepełnosprawnych
Coaching mentoring i zarzadzanie Jak rozwiazywac problemy i budowac zespol
telekomunikacja rozwiązania problemów z cienkiej książki
03 Kształtowanie umiejętności rozwiązywania problemówid 4402
14 rozwiazywanie problemow
Myślenie i rozwiązywanie problemów, Psychologia Ogólna, Referaty
Analiza protokołów werbalnych w badaniach rozwiązywania problemów, psychologia
Rozwiązywanie problemów z uruchamianiem systemu Windows za pomocą konsoli odzyskiwania, windows XP i
12 Technika rozwiazywania problemow
5a 6 5 2 5 Lab Rozwiązywanie problemów związanych z trasami statycznymi IPv4 oraz IPv6
OPIS I ANALIZA PRZYPADKU ROZPOZNAWANIA I ROZWIĄZYWANIA PROBLEMU WYCHOWAWCZEGO, wczesnoszkolne naucza
Metodyka rozwiązywania problemów kryminalnych, Administracja-notatki WSPol, Bezpieczeństwo społeczno
Rozwiązanie problemu twardej pozycji terenowej
Rozwiazywanie problemow z obsluga klientow?3
jak wolne społeczenstwo mołoby rozwiązać problem globalnego ocieplenia

więcej podobnych podstron