Sztuczne inteligencja i inżynieria wiedzy laboratorium
Transkrypt
Sztuczne inteligencja i inżynieria wiedzy laboratorium
Sztuczne inteligencja i inżynieria wiedzy laboratorium Ćwiczenie 2. Problem spełniania ograniczeń opracowanie: H. Kwaśnicka, M. Zięba Cel ćwiczenia Zapoznanie się z podstawowymi algorytmami stosowanymi do rozwiązywania problemów spełniania ograniczeń (ang. Constraint Satisfaction Problem, CSP), poprzez własnoręczną implementację i zbadanie właściwości. Realizacja ćwiczenia • Zapoznanie się z działaniem algorytmów: sprawdzenia wprzód (ang. forward checking), przeszukiwania przyrostowego z powracaniem (ang. backtracking). • Wybór jednego z dwóch proponowanych problemów (N hetmanów, kolorowania mapy) • Sformułowanie wybranego problemu, jako problemu CSP, poprzez podanie zmiennych, ich dziedzin i ograniczeń. • Implementacja algorytmów sprawdzenia wprzód, oraz przeszukiwania przyrostowego z powracaniem dla wybranego problemu. (Uwaga! Implementacja ma być wykonana w ten sposób, aby możliwe było przeprowadzenie symulacji dla różnych wartości parametrów reprezentujących wielkość problemu, czyli liczby hetmanów dla pierwszego problemu, czy też liczby krajów dla problemu drugiego) • Porównanie czasów przetwarzania zaimplementowanych metod. • Prezentacja najciekawszych (zdaniem studenta) wyników. • Dyskusja otrzymanych wyników. • Przygotowanie sprawozdania zawierającego powyższe punkty (pomijając punkt związany z implementacją) dla (różnych wielkości problemów) dwóch Problem 1. Zadanie N-Hetmanów Dana jest tablica o wymiarach NxN, dla N=6 tablica wygląda następująco: Należy ustawić N hetmanów na tablicy w ten sposób, by każdy z hetmanów nie atakował innego hetmana. Hetman atakuje inną figurę, jeżeli figura znajduje się na przekątnej, bądź na prostej, na której znajduje się hetman. Dokładny opis problemu (dla N=8) można znaleźć pod adresem: http://pl.wikipedia.org/wiki/Problem_ośmiu_hetmanów Należy zdefiniować problem N hetmanów, jako problem CSP. Rozwiązać problem wykorzystując algorytmy sprawdzenia wprzód, oraz przeszukiwania przyrostowego z powracaniem dla różnych wartości N (parametr N powinien być zadawany przez użytkownika). Należy porównać czasy przetwarzania dwóch metod dla różnych wartości parametru N. Problem 2. Zadanie kolorowania mapy Dana jest mapa z N państwami. Dana jest liczba kolorów m (sugeruje się przyjęcie m równego 3, bądź 4). Mapę należy zaprojektować tak, by każde państwo posiadało co najmniej dwóch i nie więcej niż m sąsiadów. Należy pokolorować mapę wykorzystując m kolorów w ten sposób, by sąsiadujące ze sobą państwa były pokolorowane różnymi kolorami. Przykładowe pokolorowanie mapy znajduje się poniżej: Należy zdefiniować problem N państw, jako problem CSP. Rozwiązać problem wykorzystując algorytmy sprawdzenia wprzód, oraz przeszukiwania przyrostowego z powracaniem dla różnych wartości N (parametr N powinien być zadawany przez użytkownika). Należy porównać czasy przetwarzania dwóch metod dla różnych wartości parametru N. Ocena ćwiczenia 2pkt Sformułowanie wybranego problemu jako problemu CSP 3pkt Implementacja algorytmów sprawdzenia wprzód i przeszukiwania przyrostowego z powracaniem dla wybranego problemu. 3pkt Przeprowadzenie badania czasów przetwarzania zaimplementowanych metod dla różnych wartości parametrów N. 2pkt Poprawna interpretacja wyników badania. Literatura 1. Notatki z wykładu i materiały do ćwiczeń. 2. Wojna A., Przeszukiwanie przestrzeni stanów — problemy z więzami http://www.mimuw.edu.pl/~awojna/SID/wyklady/przesz_z_wiezami.pdf