Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Program grający w szachy Promotor : Dr Maciej Szmit Praca inżynierska Autor : Mariusz Rostek.

Podobne prezentacje


Prezentacja na temat: "Program grający w szachy Promotor : Dr Maciej Szmit Praca inżynierska Autor : Mariusz Rostek."— Zapis prezentacji:

1 Program grający w szachy Promotor : Dr Maciej Szmit Praca inżynierska Autor : Mariusz Rostek

2 Algorytm mini - max Białe max Czarne mini Horyzont zdarzeń ? wartość mini - max = -10 Horyzont zdarzeń : Przerwane drastycznie obliczenia w trakcie np.: wymiany bić, czy szachów co wypacza wynik przeszukiwania -15 korzeń drzewa liście drzewa węzły drzewa

3 Białe max Algorytm alfa – beta czarne min Alfa = Porównanie algorytmów Mini – max : Ilość węzłów około : d h d - średnia ilość ruchów h - głębokość Alfa – beta : Ilość węzłów około : d h/2 Przy posortowanym drzewie Nieposortowane ruchy -15 Alfa = - Aby zwiększyć liczbę odcięć najlepszy ruch powinien być pierwszy beta = beta =30 beta = -10 beta = 30 alfa = - beta = beta = -15

4 Zawężenie obszaru przeszukiwania Ilość węzłów V- spodziewana wartość mini – max drzewa m – okno przeszukiwania alfa = - m beta= +m obszar przeszukiwania Obszar odcięty

5 Kolejność wykonywania ruchów Aby algorytm alfa – beta miał jak najwięcej odcięć należy posortować ruchy w kolejności od najlepszego do najgorszego. Kolejność przeszukiwania ruchów w programie Sierżant : 1.Ruch z tablicy transpozycyjnej 2.Pusty ruch – wykonanie pod rząd 2 ruchów tej samej strony. Wykonany na spłyconą głębokość mało kosztuje, a może odciąć całą gałąź drzewa. 3.Bicia i promocje – jest duże prawdopodobieństwo że wśród i promocji bić znajdzie się najlepszy ruch, bicia i promocje zmieniają drastycznie wartość minimaksową drzewa po za tym drzewo gry w którym nastąpiły bicia jest zazwyczaj mniejsze i analiza przebiega szybciej.

6 Ruch A = 10 Ruch B = 20 Ruch C = 30 4.Najlepszy ruch ze spłyconego przeszukiwania przeszukanie małego drzewa służy do posortowania ruchów w większym drzewie 5.Ruchy morderców najlepszy ruch z jednego poddrzewa może okazać się tez najlepszym w sąsiednim poddrzewie C B A Kolejność wykonywania ruchów

7 Sortowanie ruchów na korzeniu Iteracyjne pogłębianie służy do posortowania ruchów na korzeniu drzewa

8 Model drzewa gry w programie Sierżant Horyzont zdarzeń poziom : 2 korzeń poziom : 1 poziom : 0 poziom : 1 poziom : 0 poziom : 1 poziom : -1poziom : -2 Szach lub wymiana figur lub marsz piona na promocje pogłębienie o 1 poziom Obszar przeszukiwania pełnego : wszystkie ruchy poziom : 0 Słaby ruch redukcja o 1 poziom Obszar przeszukiwania selektywnego : szachy, bicia, promocje f.o. – funkcja oceniająca = materiał + wynik przeszukiwania selektywnego + ocena pozycji bierek f.o.

9 Funkcja oceniająca materiał = suma wartości bierek Wartość poszczególnych bierek jest zmienna, zależy od fazy gry. Bierkabiałeczarne Król Hetman Wieża Goniec Skoczekod 300 (debiut)-30 do 260 (końcówka)-260 Pionod 80(debiut) -80 do 120(końcówka)-120 Funkcja oceniająca = materiał + ocena pozycyjna bierek

10 Ocena pozycyjna bierek element pozycji:debiutśrodekkońcówka zdwojenie pionków -15 samotny pion-20 krycie się pionków333 wolny pion: na 2 linii linii linii linii linii linii blokada swojego pionka blokada obcego pionka 5612 wieża na wolnej linii zdwojenie wież10 5 Para gońców51015 Przykładowe parametry w zależności od fazy gry Tablica wartości w zależności od zajmowanego przez bierkę pola dla króla w debiucie dla króla w końcówce

11 Tablice transpozycyjne tablica bierek Funkcja haszująca na liczbę z zakresu : od:0 do:rozmiar tablicy haszowej rekordGłębok ość Najlep szy ruch Warto ść alfa … e2-e g1-f d2-d4-20 … fragment tablicy haszowej

12 Dziękuje bardzo i zapraszam na coroczne Mistrzostwa Polski Programów Szachowych organizowanych pod patronatem Katedry Informatyki Stosowanej przez dr Macieja Szmita.


Pobierz ppt "Program grający w szachy Promotor : Dr Maciej Szmit Praca inżynierska Autor : Mariusz Rostek."

Podobne prezentacje


Reklamy Google