Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

„Program grający w szachy”

Podobne prezentacje


Prezentacja na temat: "„Program grający w szachy”"— Zapis prezentacji:

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

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

3 Algorytm alfa – beta ∞ ∞ ∞ Przy posortowanym drzewie czarne Białe min
max 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 30 beta = 30 beta = 30 40 -10 beta = -10 -10 Alfa = - beta = 30 30 -10 -200 Alfa = -10 beta = - 200 -200 -15 beta = -15 Nieposortowane ruchy Alfa = -10 -15 -15 25 100 -15 Aby zwiększyć liczbę odcięć najlepszy ruch powinien być pierwszy

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

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 Kolejność wykonywania ruchów
Najlepszy ruch ze spłyconego przeszukiwania przeszukanie małego drzewa służy do posortowania ruchów w większym drzewie C Ruch A = 10 B Ruch B = 20 A Ruch C = 30 „Ruchy morderców” najlepszy ruch z jednego poddrzewa może okazać się tez najlepszym w sąsiednim poddrzewie

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
Obszar przeszukiwania pełnego : wszystkie ruchy Horyzont zdarzeń Obszar przeszukiwania selektywnego : szachy, bicia, promocje poziom : 0 f.o. f.o. – funkcja oceniająca = materiał + wynik przeszukiwania selektywnego + ocena pozycji bierek poziom : 1 f.o. poziom : 2 korzeń poziom : 0 f.o. poziom : 1 Słaby ruch redukcja o 1 poziom f.o. f.o. Szach lub wymiana figur lub marsz piona na promocje pogłębienie o 1 poziom poziom : 1 poziom : 0 poziom : -1 poziom : -2 f.o.

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

10 Ocena pozycyjna bierek
Tablica wartości w zależności od zajmowanego przez bierkę pola Przykładowe parametry w zależności od fazy gry element pozycji: debiut środek końcówka zdwojenie pionków -15 samotny pion -20 krycie się pionków 3 wolny pion: na 2 linii 15 20 30 3 linii 18 23 34 4 linii 22 27 39 5 linii 32 45 6 linii 33 38 52 7 linii 40 60 blokada swojego pionka -3 -4 -8 blokada obcego pionka 5 6 12 wieża na wolnej linii 10 zdwojenie wież Para gońców dla króla w debiucie -60 -50 -40 -30 -20 -25 -8 -15 -3 -4 -10 2 3 -5 4 dla króla w końcówce -8 -6 -4 -3 -5 -1 8 10 14

11 Tablice transpozycyjne
fragment tablicy haszowej rekord Głębokość Najlepszy ruch Wartość alfa …. 10 e2-e4 82 8 g1-f3 50 12 d2-d4 -20 tablica bierek Funkcja haszująca na liczbę z zakresu : od:0 do:rozmiar 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”"

Podobne prezentacje


Reklamy Google