„Program grający w szachy”

Slides:



Advertisements
Podobne prezentacje
Witamy na spotkaniu z Betterware!
Advertisements

ALGORYTMY I STRUKTURY DANYCH
Wstawianie i wyszukiwanie kluczy w tablicach i drzewach binarnych
STRUKTURY DANYCH.
Sortowanie przez scalanie
Algorytmy sortowania i porządkowania
Algorytmy sortowania i przeszukiwania
Schemat blokowy M START KONIEC
Algorytmy i struktury danych
ALGORYTMY GRAFOWE.
Wizualizacja rozkładu zmiennej
Opracowała: mgr Magdalena Dukowska
PREZENTACJA MULTIMEDIALNA
ALGORYTMY I STRUKTURY DANYCH
Sztuczna Inteligencja Gry i programy oparte na szukaniu
Sztuczna Inteligencja 2.1 Metody szukania na ślepo
Jak zostać młodym emerytem?
Gra kierownicza WYŻSZA SZKOŁA INFORMATYKI I ZARZĄDZANIA
Sortowanie Zajęcia 13.
ZŁOŻONOŚĆ OBLICZENIOWA
Opracowała: Elżbieta Fedko
Szachy komputerowe. Ogólna idea silnika szachowego.
Binaryzacja okresów zadań cyklicznych SCR2000, Kraków Jerzy Nawrocki, Adam Czajka Instytut Informatyki Politechnika Poznańska.
X* optymalna wielkość zapasu
Dynamiczne struktury danych 1
Elementy Rachunku Prawdopodobieństwa c.d.
Magda Kusiak Karol Walędzik prof. dr hab. Jacek Mańdziuk
Wioleta Nowak Gimnazjum nr 20 w Poznaniu
ANALIZA BADANIA STATYSTYCZNEGO
Matematyka wokół nas.
ENERGETYKA POLSKA WYNIKI I WSKAŹNIKI FINANSOWE ELEKTROCIEPŁOWNI ZA 2005 ROK W PORÓWNANIACH Z WYNIKAMI I WSKAŹNIKAMI UŚREDNIONYMI SEKTORA I PODSEKTORA.
Pole prostokąta i kwadratu
Algorytm mini-max.
Algorytmy i struktury danych
Zbiór do posortowania mieści się w pamięci
DRZEWA BINARNE Emilia Krukowska.
IV OTWARTE MISTRZOSTWA OPOLA W PROGRAMOWANIU ZESPOŁOWYM
Algorytmy i struktury danych
Plan wynagrodzeń Nauczcie się go Uczcie go innych Wasza motywacja Motywacja waszego zespołu.
Przez szachy do matematyki
Word Tabela.
NAJLEPSZA OFERTA NA RYNKU
Quiz Liczby na co dzień Rozpocznij Quiz.
ALGORYTMY ROZWIĄZYWANIA GIER C.D.
autorzy: Michał Przykucki Małgorzata Sulkowska
A-priori Partition Mateusz Mor, Kasper Rzepecki, Daniel Mendalka, Michał Samsonowski.
Defragmentacja dysku Jednym z kluczowych czynników wydajności operacji wejścia/wyjścia jest poziom fragmentacji plików. Fragmentacja oznacza zapisywanie.
Początek, koniec lub przerwanie algorytmu
Prezentacja dla klasy V szkoły podstawowej
Prezentacja dla klasy V szkoły podstawowej
Elastyczność.
Związki między bokami i kątami w trójkątach.
Oś liczbowa Zaznaczanie liczb naturalnych na osi liczbowej
Plan debaty Czas trwania debaty: Stworzenie przez uczestników „mapy form aktywności społecznej” Przedstawienie wyników z ankiety dot. aktywności.
Metody matematyczne w inżynierii chemicznej Wykład 3. Całkowanie numeryczne.
NIM gra Beata Maciejewska Monika Mackiewicz.
Algorytmy równoległe Algorytm równoległy pozwala na wykonywanie w danej chwili więcej niż jednej operacji. EREW - wyłączny odczyt i wyłączny zapis; CREW.
Szachy a grafy. Powiązanie szachownicy z grafem Szachownicę można przedstawić jako graf. Wierzchołek odpowiada polu, a krawędzie ruchowi danej figury.
Teoretyczne Podstawy Informatyki - Rok I - kierunek IS w IFAiIS UJ – 2006/ /11/2006Prof. dr hab. Elżbieta Richter-Wąs Wykład 6 Model danych oparty.
SZTUCZNA INTELIGENCJA
Zbiory dynamiczne.
Excel 2007 dla średniozaawansowanych Zajęcia z Prowadzący: Artur Kołos.
Indeksy drzewiaste. ISAM ISAM - INDEXED SEQUENTIAL ACCESS METHOD Problem: –Dany jest plik uporządkowany – w jaki sposób zrealizować efektywnie zapytanie.
Zajęcia dodatkowe prowadzone przez wicedyrektora szkoły pana Janusza Jemioła SZACHY ODDZIAŁ 0A opracowanie prezentacji Kowalska Bernarda.
Rozdział 5 REKURENCJA.
Andrzejki, Sesja zdjęciowa- prezentacja kostiumu.
Zbiory rozłączne.
Ciche sporty.
Sztuczna Inteligencja Gry i programy oparte na szukaniu
ALGORYTMY I STRUKTURY DANYCH
Zapis prezentacji:

„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 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

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

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

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.

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

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

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.

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

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

Tablice transpozycyjne fragment tablicy haszowej rekord Głębokość Najlepszy ruch Wartość alfa …. 8768684 10 e2-e4 82 8768685 8 g1-f3 50 8768686 12 d2-d4 -20 tablica bierek Funkcja haszująca na liczbę z zakresu : od:0 do:rozmiar tablicy haszowej 8768686

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