1 / 12

„Program grający w szachy”

Praca inżynierska. „Program grający w szachy”. Autor : Mariusz Rostek. Promotor : Dr Maciej Szmit. Algorytm mini - max. Czarne mini. Horyzont zdarzeń. Horyzont zdarzeń : Przerwane drastycznie obliczenia w trakcie np.: wymiany bić, czy szachów co wypacza wynik przeszukiwania. Białe

platt
Download Presentation

„Program grający w szachy”

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Algorytm mini - max Czarne mini Horyzont zdarzeń 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 ∞ alfa = - ∞ beta = czarne min Białe 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 = 40 30 -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. poziom : 1 Szach lub wymiana figur lub marsz piona na promocje pogłębienie o 1 poziom 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 10.000 -10.000 Hetman 950 -950 Wieża 500 -500 Goniec 330 -330 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 dla króla w debiucie dla króla w końcówce

  11. Tablice transpozycyjne fragment tablicy haszowej tablica bierek Funkcja haszująca na liczbę z zakresu : od:0 do:rozmiar tablicy haszowej 8768686

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

More Related