POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHANICZNY ENERGETYKI I LOTNICTWA MEL WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI NS 586 Dr inż. Franciszek Dul
5. ROZWIĄZYWANIE PROBLEMÓW Z OGRANICZENIAMI
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.
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 X i przyjmujących wartości z określonych dziedzin D i, 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 (nie naruszający ograniczeń) zbiór wartości zmiennych stanu spełniający wszystkie ograniczenia.
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.
5.1. Zadania z ograniczeniami Przykład - kolorowanie mapy 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) }
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
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.
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, X 1, X 2, X 3, Dziedziny: {0,1,2,3,4,5,6,7,8,9} Ograniczenia: 0. F, T, U, W, R, O są różnymi cyframi, 1. O + O = R + 10 X 1, 2. X 1 + W + W = U + 10 X 2, 3. X 2 + T + T = O + 10 X 3,, 4. X 3 = F, T 0, F 0.
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.
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).
5.2. Poszukiwanie wsteczne Przykład - kolorowanie mapy
5.2. Poszukiwanie wsteczne Przykład - kolorowanie mapy
5.2. Poszukiwanie wsteczne Przykład - kolorowanie mapy
5.2. Poszukiwanie wsteczne Przykład - kolorowanie mapy
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.