Zadanie 1: Piętnastka
Transkrypt
Zadanie 1: Piętnastka
Informatyka, studia dzienne, inż. I st. semestr VI Sztuczna Inteligencja i Systemy Ekspertowe 2010/2011 Prowadzący: mgr Michał Pryczek piątek, 12:00 Data oddania: Ocena: Grzegorz Graczyk 150875 Marek Rogalski 150982 Zadanie 1: Piętnastka - uzupełnienie∗ 1. Materiały i metody W ramach badań użyto następujących losowych zestawów układanek: — — — — — — — — — — 30 50 50 50 10 30 50 50 50 50 układanek o wymiarach 4x4 z optymalnym układanek o wymiarach 4x4 z optymalnym układanek o wymiarach 4x4 z optymalnym losowych układanek o wymiarach 4x4 układanek o wymiarach 3x3 z optymalnym układanek o wymiarach 3x3 z optymalnym układanek o wymiarach 3x3 z optymalnym układanek o wymiarach 3x3 z optymalnym układanek o wymiarach 3x3 z optymalnym losowych układanek o wymiarach 3x3 rozwiązaniem o długości 5 rozwiązaniem o długości 10 rozwiązaniem o długości 17 rozwiązaniem rozwiązaniem rozwiązaniem rozwiązaniem rozwiązaniem o o o o o długości długości długości długości długości 3 5 10 11 12 2. Wyniki Wszystkie zebrane wyniki przedstawiono na histogramach. Dla wszystkich badań zbadano długość znalezionego rozwiązania. Ponadto zbadano czas działania algorytmów bfs i dfs ∗ SVN: http://serce.ics.p.lodz.pl/svn/labs/sise/mp_pt1030/alois 1 2 3 4 5 6 3. Dyskusja Dla układanek o krótkich rozwiązaniach optymalnych rozwiązania znalezione przez algorytm BFS są takie same, równe długości rozwiązania optymalnego - zgodnie z przewidywaniami algorytm znajduje rozwiązania optymalne. Wyniki dla układanek 4x4 wyraźnie pokazują optymalność wybranych heurystyk. W wypadku drugiej heurystyki dla najmniejszych układanek duża część znalezionych rozwiązań była optymalna. W układankach 3x3 o rozwiązaniu optymalnym nie dłuższym niż 10 znadowała ona zawsze optymalne rozwiązanie. W przypadku układanek długości 17 optymalne rozwiązanie udało się znaleźć tylko w 40 W wypadku pierwszej heurystyki nawet dla najmniejszych układanek tylko mała część zaproponowanych rozwiązań była optymalna. Dla układanki o długości 17 heurystyka nie znajdywała optymalnych rozwiązań, jednak znajdywane przez nią rozwiązania były nieznacznie dłuższe niż nieoptymalne rozwiązania znalezione przez drugą heurystykę. Układanki 3x3 również pokazały tendencję drugiej heurystyki do znajdywania optymalnych rozwiązań. Zauważono również, że algorytm DFS znajduje bardzo nieoptymalne rozwiązania nawet dla bardzo małych układanek. Co więcej - długość optymalnego rozwiązania nie wpływa na długość rozwiązania znalezionegorz przez ten algorytm. W przypadku pomiarów czasu dla krótkich układanek 3x3 algorytm DFS działał znacząco wolniej niż pozostałe, co świadczy o niewielkiej liczbie stanów przeszukanych przez pozostałe algorytmy - a zatem dobrze obieranej drodze w stronę rozwiązania. Losowe układanki oraz układanki 4x4 o dłuższych rozwiązaniach optymalnych ujawniły skłonność algorytmu BFS do dłuższego działania. Spowodowane było to rosnącą wykładniczo ilością stanów, które musiał przeszukać ten algorytm. Porównanie czasów przeszukiwania dla układanek różnej długości dla algorytmu DFS nie wykazało żadnej jednoznacznej zależności między czasem działania i długością optymalnego rozwiązania, choć dla krótszych widać było tendencję do nieco szybszego działania dla krótkich układanek. Dla algorytmu BFS wyraźnie wyrysowała się zależność między długością rozwiązania i czasem działania. Sąsiednie klasy zazębiają się między sobą jednak proporcjonalność jest nadal wyraźna. W przypadku losowych układanek 4x4 druga heurystyka nie tylko przestała odnajdywać optymalne rozwiązania, ale stała się gorsza od pierwszej heurystyki. Wynika to z metody używanej przez drugą heurystykę, która jest najskuteczniejsza, gdy rozwiązanie jest ”niedaleko”. 4. Wnioski — Algorytm BFS jako jedyny z badanych znajduje optymalne (najmniej ruchów) rozwiązania. — Algorytm DFS znajduje rozwiązania bardzo nieoptymalne tysiące razy dłuższe niż optymalne. Z tego powodu nie nadaje się on do tego rodzaju przeszukiwania stanów. 7 — Algorytmy heurystyczne znajdują rozwiązania znacznie szybciej niż algorytmy BFS bądź DFS. — Wybór heurystyki powinien zależeć od naszego celu oraz wyboru heurystyki - w badanym przypadku jedna z heurystyk pozwalała dla krótkich układanek znajdywać wydajnie optymalne rozwiązania. — Czas działania algorytmu BFS jest zależny od długości optymalnego rozwiązania. — Czas działania oraz długość rozwiązania znalezionego przez algorytm DFS jest niezależna od długości optymalnego rozwiązania. 8