Algorytm mini-max.

Slides:



Advertisements
Podobne prezentacje
ALGORYTMY I STRUKTURY DANYCH
Advertisements

ESTYMACJA PRZEDZIAŁOWA
ANALIZA SIECIOWA PRZEDSIĘWZIĘĆ konstrukcja harmonogramu
STRUKTURY DANYCH.
Analiza współzależności zjawisk
HERD BEHAVIOR AND AGGREGATE FLUCTUATIONS IN FINANCIAL MARKETS Rama Cont & Jean-Philipe Bouchaud. Macroeconomic Dynamics, 4, 2000, Cambridge University.
Schemat blokowy M START KONIEC
Wykład 6 Najkrótsza ścieżka w grafie z jednym źródłem
Inteligencja Obliczeniowa Otwieranie czarnej skrzynki.
„Program grający w szachy”
Badania operacyjne. Wykład 1
Wskaźniki analizy technicznej
Sztuczna Inteligencja Gry i programy oparte na szukaniu
Sztuczna Inteligencja 2.1 Metody szukania na ślepo
Metoda pierwszeństwa operatorów
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 8: Wykorzystanie procedur i funkcji © Jan Kaczmarek.
Szachy komputerowe. Ogólna idea silnika szachowego.
Dariusz Odejewski Krzysztof Wójcik
Tablice Informatyka Cele lekcji: Wiadomości: Uczeń potrafi:
Od gier mniejszościowych do prawdziwych rynków From Minority Games to real markets D. Challet, A. Chessa, M. Marsili, Y-C. Zhang Wojciech Dzikowski 26.
BD-LAB6 Wojciech Pieprzyca
Magda Kusiak Karol Walędzik prof. dr hab. Jacek Mańdziuk
Rzędy wielkości funkcji
Semantyki programów współbieżnych " Determinizm programów sekwencyjnych, " Nie-determinizm programów współbieżnych, " prawdziwa równoległość vs.przeploty.
Algorytmika w drugim arkuszu maturalnym. Standardy wymagań I. WIADOMOŚCI I ROZUMIENIE I. WIADOMOŚCI I ROZUMIENIE II.KORZYSTANIE Z INFORMACJI II.KORZYSTANIE.
Biokomputer.
POJĘCIE ALGORYTMU Pojęcie algorytmu Etapy rozwiązywania zadań
Przegląd podstawowych algorytmów
Elementy Rachunku Prawdopodobieństwa i Statystyki
BADANIE STATYSTYCZNE Badanie statystyczne to proces pozyskiwania danych na temat rozkładu cechy statystycznej w populacji. Badanie może mieć charakter:
Algorytmy i struktury danych
A. Sumionka. Starodawna gra marynarska; Gra dwu i wieloosobowa; Gracze wykonują ruchy naprzemian; Złożona ze stosów, w których znajduje się pewna ilość
AI w grach komputerowych
dr hab. Ryszard Walkowiak prof. nadzw.
Gry dydaktyczne z fizyki
ATENA Usługi Informatyczne i Finansowe Sp. z o.o.
Modelowanie populacji i przepływu opinii pomiędzy aktorami sztucznej inteligencji za pomocą sieci społecznej Wojciech Toman.
ALGORYTMY ROZWIĄZYWANIA GIER C.D.
Hipotezy statystyczne
Marcin Jaruszewicz Jacek Mańdziuk
Temat 7: Instrukcje warunkowe
Seminarium licencjackie Beata Kapuścińska
Obliczalność czyli co da się policzyć i jak Model obliczeń maszyna licznikowa dr Kamila Barylska.
Wyszukiwanie maksimum funkcji za pomocą mrówki Pachycondyla Apicalis.
Przygotowanie do egzaminu gimnazjalnego
NIM gra Beata Maciejewska Monika Mackiewicz.
FRAKTALE FIGURY LISSAJOUSA Magdalena Szorc
PHP Instrukcja warunkowa if Damian Urbańczyk. Warunek? Instrukcję warunkową wykorzystujemy wtedy, gdy chcemy sprawdzić pewien fakt, który może być prawdziwy.
GRA CHOMP. Czym jest chomp? Jest to gra dla dwóch osób, rozgrywana na prostokątnej tablicy, zwanej „tabliczką czekolady”
Monopol Wykonały: Natalia Tyburska Marcelina Falkowska.
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe
SZTUCZNA INTELIGENCJA
Mierzenie wartości kapitału ludzkiego firmy SMG/KRC Poland HR Region Południowy Sp. z o.o. Ul. 3 maja 22/4c Katowice Tel
Stosowane modele równowagi ogólnej (CGE) Wykład 2.
Przeprowadzenie badań niewyczerpujących, (częściowych – prowadzonych na podstawie próby losowej), nie daje podstaw do formułowania stanowczych stwierdzeń.
Treść dzisiejszego wykładu l Analiza wrażliwości –zmiana wartości współczynników funkcji celu, –zmiana wartości prawych stron ograniczeń. l Podejścia do.
Przypomnienie wiadomości – kilka zadań
Moje Top 3 Gier Planszowych
Proces przewodzenia i kontrolowania
Systemy neuronowo – rozmyte
Ustalenie polityki cenowej - przykład
Regresja wieloraka – bada wpływ wielu zmiennych objaśniających (niezależnych) na jedną zmienną objaśnianą (zależą)
Motywacja w sporcie.
Grupy danych.
Koszyk danych – miejsce tymczasowego przechowywania ręcznie wybranych zmiennych : Funkcje koszyka Przekształcanie koszyka w grupę danych.
ALGORYTMY I STRUKTURY DANYCH
G Staś Toporkiewicz
Sztuczna Inteligencja Gry i programy oparte na szukaniu
Instrukcja warunkowa if
Zapis prezentacji:

Algorytm mini-max

Algorytm mini-max algorytm jest standardowo stosowany we wszelkich programach grających w gry planszowe i nie tylko. Celem algorytmu jest wskazanie w danej sytuacji ruchu dającego graczowi strategię wygrywającą, lub przynajmniej dającego możliwie duże prawdopodobieństwo zwycięstwa.

Strategia “mini-max” Nazwa algorytmu bierze źródło od przyjętej w nim strategii postępowania: symulując na zmianę ruchy własne i przeciwnika, znajdując się na poziomie przeciwnika wybieramy ruch najgorszy dla gracza, natomiast na poziomie gracza wybieramy ruch dla niego najlepszy.

Łatwo się domyślić, że analizując drzewo gry w ten sposób, nie da się dojść do liści drzewa, tj. do sytuacji w której gra jest rozegrana. Konieczne jest zastosowanie heurystycznych funkcji oceniających stan gry. Przeszukują one drzewo gry do pewnego ustalonego poziomu na którym stan gry jest ustalany przez zadaną funkcję. Odpowiednie dobranie tej funkcji jest kluczem do sukcesu programu.

Pseudokod algorytmu “mini-max”: MINI-MAX(sytuacja, gracz, głębokość) if głębokość > limit_głębokości then return OCEŃ_SYTUACJĘ(sytuacja) r = WYGENERUJ_MOŻLIWE_RUCHY(sytuacja, gracz) if gracz = 0 minimax := 0 else minimax := inf foreach x in r sytuacja' := WYKONAJ_RUCH(sytuacja, x) t := MINI-MAX(sytuacja, PRZECIWNIK(gracz), głębokość + 1) if gracz = 0 and t > minimax then minimax:=t else if gracz = 1 and t < minimax then return minimax

Obcinanie alfa-beta Głębokość przeszukiwania wpływa na „siłę” algorytmu Jeżeli analizując drzewo gry mamy wykonać ruch po którym stan gry będzie gorszy od najlepszego gwarantowanego, nie przeprowadzamy dalszej analizy tej gałęzi drzewa.

Funkcje oceny stanu stosowane w Warcabach Podejście podstawowe Zwracamy uwagę jedynie na liczbę pionków swoich i przeciwnika, damki liczą się jako n pionków.

Funkcje oceny stanu stosowane w Warcabach Punktujemy każdego pionka znajdującego się w obszarze niebieskim, czerwonym, zielonym odpowiednio x, y, z punktami, damkę traktujemy jako n pionków

Funkcje oceny stanu stosowane w Warcabach Podejście Chellapila i Fogel'a Sytuacja jest punktowana przez sieć neuronową zbudowaną z kilku warstw, pierwsza jest podłączona do pól planszy, ostatnia zbudowana jest z pojedynczego neuronu zwracającego wynik.

Funkcje oceny stanu stosowane w Warcabach Istotną wadą tej metody jest bardzo duża liczba parametrów (po kilka-kilkanaście dla każdego neuronu; łącznie około 5000) które koniecznie trzeba dobierać stosując algorytmy genetyczne.

Kółko i krzyżyk W tej grze nie występują pionki, które można by punktować, więc trzeba sobie radzić inaczej. W grze na nieskończonej planszy do pięciu, można dawać graczowi punkty za rozpoczęte ciągi krzyżyków lub kółek, w zależności od ich długości.

Szachy Ze względu na popularność tej gry, programy grające w szachy są najbardziej rozwinięte i ciekawe. Stosuje się w nich wiele usprawnień zwykłego podejścia “mini-max”: początkowe ruchy nie są wyznaczane metodą “mini-max”, ale wybierane z wygenerowanego wcześniej (na przykład przez super komputer, albo na podstawie przebiegów gier mistrzów) słownika liczba możliwych do przeprowadzenia gier jest większa niż występująca w praktyce liczba stanów gry, opłaca się zapisywanie wyników pracy funkcji MINI-MAX w tablicy z haszowaniem podczas przeszukiwania drzewa dba się o to, aby zaczynać od ruchów potencjalnie najlepszych (co istotnie zwiększa efektywność obcinania alfa-beta) poza punktowaniem poszczególnych figur i pionków, dodaje się punkty za ilość pól znajdującą się pod biciem gracza, nagrody za doprowadzenie do szachu, kary za izolowane pionki, kary za nie chronione figury, etc.

Gry wiedzy niepełnej Ponieważ nie jest znany cały stan gry, nie można stworzyć funkcji która by go wprost oceniała. Programy grające (uczciwie) w gry karciane stosują funkcje obliczające prawdopodobieństwo tego, że dana sytuacja jest korzystna.

Dobór współczynników Ręcznie Sieci neuronowe Algorytmy genetyczne Ocena na podstawie słownika

Jaki jest poziom mistrzów świata? Program grający w warcaby implementujący podejście zaproponowane przez Chellapila i Fogel'a został wpisany do Księgi Rekordów Guiness'a jako pierwszy komputer, który pokonał ludzkiego mistrza świata w jakiejkolwiek grze. Głębokość analizy powyżej 70 ruchów. Aby pokonać początkującego gracza wystarczy analiza 5-7 ruchów, dla gracza średnio zaawansowanego potrzeba ich 11.