5.1. Zadania z ograniczeniami - MEiL

Transkrypt

5.1. Zadania z ograniczeniami - MEiL
POLITECHNIKA WARSZAWSKA
WYDZIAŁ MECHANICZNY ENERGETYKI I LOTNICTWA
MEL
WPROWADZENIE
DO SZTUCZNEJ INTELIGENCJI
NS 586
Dr inż. Franciszek Dul
© F.A. Dul 2012
5. ROZWIĄZYWANIE
PROBLEMÓW Z OGRANICZENIAMI
© F.A. Dul 2012
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 2012
5.1. Zadania z ograniczeniami (CSP)
Róż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 Xi przyjmujących
wartości z określonych dziedzin Di,
– cel zdefiniowany jest poprzez ogranicznia Ci, które
muszą spełniać wartości zmiennych stanu, np.
C2,: X1 ≥ X2
Rozwiązaniem zadania z ograniczeniami jest zgodny
(nie naruszający ograniczeń) zbiór wartości zmiennych stanu
spełniający wszystkie ograniczenia.
© F.A. Dul 2012
5.1. Zadania z ograniczeniami
Cechy charakterystyczne zadań z ograniczeniami:
• jednolity, standardowy sposób sformułowania;
• standardowe postacie funkcji następstwa i funkcji celu;
• standardowe heurystyki, niezależne od charakteru
konkretnego zadania.
Przykłady zadań z ograniczeniami
• kolorowanie map,
• kompozycja parkietów,
• kryptografia,
• układanie planu zajęć,
• planowanie transportów,
• organizacja produkcji,
• dyslokacja wojsk,
• szeregowanie obserwacji dla teleskopu Hubble’a.
© F.A. Dul 2012
5.1. Zadania z ograniczeniami
Przykład - kolorowanie mapy
• Zmienne: WA, NT, Q, NSW, V, SA, T
• Dziedziny: Di = {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) }
© F.A. Dul 2012
5.1. Zadania z ograniczeniami
Przykład - kolorowanie mapy
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 są również np.:
WA = G, NT = B, Q = G, NSW = B, V = G, SA = R, T = B
WA = B, NT = R, Q = B, NSW = R, V = B, SA = G, T = R
© F.A. Dul 2012
5.1. Zadania z ograniczeniami
Graf ograniczeń
Zadanie binarne z ograniczeniami: każde ograniczenie
jest relacją dwóch zmiennych.
Graf ograniczeń:
• węzły są zmiennymi,
• krawędzie są ograniczeniami.
Sformułowanie w postaci grafu pozwala uprościć
poszukiwanie rozwiązania.
© F.A. Dul 2012
5.1. Zadania z ograniczeniami
Przykład - arytmetyka kryptograficzna
Znaleźć cyfry, które przyporządkowane literom w sposób
jednoznaczny spełnią równanie
0.
4.
3.
2.
1.
Graf zadania
• Zmienne: F, T, U, W, R, O, X1 , X2 , X3 ,
• Dziedziny: {0,1,2,3,4,5,6,7,8,9}
• Ograniczenia: 0. F, T, U, W, R, O są różnymi cyframi,
1.
2.
3.
4.
O + O = R + 10 · X1 ,
X1 + W + W = U + 10 · X2 ,
X2 + T + T = O + 10 · X3,,
X3 = F, T ≠ 0, F ≠ 0.
© F.A. Dul 2012
5.1. Zadania z ograniczeniami
CSP jako standardowe zadanie poszukiwania
Zadanie CSP może być zawsze sformułowane w postaci
standardowej jako zadanie poszukiwania.
Sformułowanie przyrostowe (identyczne dla wszystkich
zadań CSP)
• Stan początkowy = przypisanie puste { };
• Funkcja następnika: przypisać jakąś wartość wolnej
zmiennej pod warunkiem, że nie spowoduje to
naruszenia ograniczeń;
• Test celu: czy aktualne przypisanie jest kompletne?
• Koszt drogi: przyjmuje się stały w każdym kroku;
Rozwiązanie zadania CSP uzyskuje się po określonej liczbie
kroków - można więc użyć algorytmu poszukiwania w głąb.
Droga wyznaczenia rozwiązania jest nieistotna.
© F.A. Dul 2012
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).
Idea:
- przypisuje się wartość jednej zmiennej,
- cofa się działanie, gdy następnej zmiennej nie można
przypisać żadnej wartości bez naruszenia ograniczeń.
Poszukiwanie wsteczne jest podstawowym algorytmem
nieinformowanym dla zadań CSP.
Strategie poszukiwania wstecznego:
• najbardziej ograniczonej zmiennej (most constrained
variable),
• najmniej ograniczającej wartości (least constraining
value),
• sprawdzania w przód (forward checking).
© F.A. Dul 2012
5.2. Poszukiwanie wsteczne
Przykład - kolorowanie mapy
© F.A. Dul 2012
5.2. Poszukiwanie wsteczne
Przykład - kolorowanie mapy
© F.A. Dul 2012
5.2. Poszukiwanie wsteczne
Przykład - kolorowanie mapy
© F.A. Dul 2012
5.2. Poszukiwanie wsteczne
Przykład - kolorowanie mapy
© F.A. Dul 2012
Podsumowanie
• 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.
© F.A. Dul 2012