Sztuczna inteligencja/SI Ćwiczenia 6: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Jarabas (dyskusja | edycje)
Jarabas (dyskusja | edycje)
 
(Nie pokazano 5 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 18: Linia 18:
'''Rozwiązanie'''  
'''Rozwiązanie'''  
<div class="mw-collapsible-content" style="display:none">
<div class="mw-collapsible-content" style="display:none">
Użyta funkcja heurystyczna znajduje długość <math>l\,</math> najkrótszej z krawędzi, które dostępne są wśród węzłów rozpatrywanego grafu nieobecnych na zbudowanym już fragmencie ścieżki (cyklu); podawane dolne ograniczenie na sumaryczną długość pozostałej (niezbudowanej) cześci cyklu to iloczyn długości znalezionej najkrótszej ścieżki <math>l\,</math> przez pozostałą do dodania ilość krawędzi.
Poniżej znajdują się ścieżki wygenerowane przez kolejno strategie: zachłanną, równomiernego kosztu oraz '''A*''' dla 10 miast z danych obecnych w kodzie źródłowym rozwiązania.
[[Grafika:greedy.png]]
Strategia '''zachłanna''', długość ścieżki: 37.49.
[[Grafika:uniform.png]]
Strategia '''równomiernego kosztu''', długość ścieżki: 32.61.
[[Grafika:astar.png]]
Strategia '''A*''', długość ścieżki: 27.5624.
Kod źródłowy:
[[Media:tsp.cc]]
</div>
</div>
</div>
</div>
Linia 23: Linia 39:
== Zadanie 3 ==
== Zadanie 3 ==


Czy zastosowanie strategii A* daje gwarancję, że pierwsze odwiedzenie węzła będącego celem przeszukiwania odbędzie się po najkrótszej ścieżce?
Czy zastosowanie strategii <math>A^*\,</math> daje gwarancję, że pierwsze odwiedzenie węzła będącego celem przeszukiwania odbędzie się po najkrótszej ścieżce?


<div class="mw-collapsible mw-made=collapsible mw-collapsed">
<div class="mw-collapsible mw-made=collapsible mw-collapsed">
'''Rozwiązanie'''  
'''Rozwiązanie'''  
<div class="mw-collapsible-content" style="display:none">
<div class="mw-collapsible-content" style="display:none">
Nie, taką pewność dawałoby jedynie zastosowanie idealnej funkcji heurystycznej <math>h^*\,</math>. Zastosowanie rzeczywistej funkcji heurystycznej <math>h\,</math> w metodzie <math>A^*\,</math> pozwala na zredukowanie liczby przeszukiwanych węzłów.
</div>
</div>
</div>
</div>
Linia 38: Linia 55:
'''Rozwiązanie'''  
'''Rozwiązanie'''  
<div class="mw-collapsible-content" style="display:none">
<div class="mw-collapsible-content" style="display:none">
Gwarancję taką dają algorytmy równomiernego kosztu i A*; algorytm zachłanny może znaleźć rozwiązanie nieoptymalne.
</div>
</div>
</div>
</div>

Aktualna wersja na dzień 03:13, 30 wrz 2006

Zadanie 1

Zdefiniować (i naszkicować jej graf) przestrzeń przeszukiwań i sformułować funkcję celu dla przykładowego zadania sortowania tablicy zawierającej 4 elementy {1,2,3,4}

Rozwiązanie

Zadanie 2

Napisać program rozwiązujący problem komiwojażera. Rozważyć trzy metody rozwiązania: strategię równomiernego kosztu, strategię zachłanną i A*. Uwaga: testując proszę przyjąć stosunkowo niewielkie grafy aby móc doczekać się rozwiązania.

Rozwiązanie

Zadanie 3

Czy zastosowanie strategii A* daje gwarancję, że pierwsze odwiedzenie węzła będącego celem przeszukiwania odbędzie się po najkrótszej ścieżce?

Rozwiązanie

Zadanie 4

Które z algorytmów - zachłanny, równomiernego kosztu, A* - dają gwarancję znalezienia najkrótszej ścieżki, jeśli w grafie przestrzeni przeszukiwań nie występują cykle?

Rozwiązanie