Wyznaczanie strategii w grach

Podobne dokumenty
TEORIA GIER DEFINICJA (VON NEUMANN, MORGENSTERN) GRA. jednostek (graczy) znajdujących się w sytuacji konfliktowej (konflikt interesów),w

Tworzenie gier na urządzenia mobilne

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Teoria gier. prof. UŚ dr hab. Mariusz Boryczka. Wykład 4 - Gry o sumie zero. Instytut Informatyki Uniwersytetu Śląskiego

Teoria gier. wstęp Teoria gier Zdzisław Dzedzej 1

Teoria gier. Wykład7,31III2010,str.1. Gry dzielimy

Teoria gier. Teoria gier. Odróżniać losowość od wiedzy graczy o stanie!

MODELOWANIE RZECZYWISTOŚCI

MODELOWANIE RZECZYWISTOŚCI

Teoria gier. dr Przemysław Juszczuk. Wykład 2 - Gry o sumie zero. Instytut Informatyki Uniwersytetu Śląskiego

Algorytmy dla gier dwuosobowych

Temat 1: Pojęcie gry, gry macierzowe: dominacje i punkty siodłowe

D. Miszczyńska, M.Miszczyński KBO UŁ 1 GRY KONFLIKTOWE GRY 2-OSOBOWE O SUMIE WYPŁAT ZERO

Modelowanie sytuacji konfliktowych, w których występują dwie antagonistyczne strony.

TEORIA GIER W EKONOMII WYKŁAD 2: GRY DWUOSOBOWE O SUMIE ZEROWEJ. dr Robert Kowalczyk Katedra Analizy Nieliniowej Wydział Matematyki i Informatyki UŁ

Adam Meissner. SZTUCZNA INTELIGENCJA Gry dwuosobowe

3. MINIMAX. Rysunek 1: Drzewo obrazujące przebieg gry.

Elementy teorii gier. Badania operacyjne

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

Teoria Gier - wojna, rybołówstwo i sprawiedliwość w polityce.

TEORIA GIER W EKONOMII WYKŁAD 5: GRY DWUOSOBOWE KOOPERACYJNE O SUMIE NIESTAŁEJ

10. Wstęp do Teorii Gier

Skowrońska-Szmer. Instytut Organizacji i Zarządzania Politechniki Wrocławskiej Zakład Zarządzania Jakością r.

Rozwiązywanie problemów metodą przeszukiwania

Heurystyczne metody przeszukiwania

Macierze. Rozdział Działania na macierzach

TEORIA GIER W NAUKACH SPOŁECZNYCH. Gry macierzowe, rybołówstwo na Jamajce, gry z Naturą

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH

15. Macierze. Definicja Macierzy. Definicja Delty Kroneckera. Definicja Macierzy Kwadratowej. Definicja Macierzy Jednostkowej

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

Partition Search i gry z niezupełną informacją

Algorytmiczne Aspekty Teorii Gier Rozwiązania zadań

CZYM JEST SZTUCZNA INTELIGENCJA? REPREZENTACJA WIEDZY SZTUCZNA INTELIGENCJA PROJEKTOWANIE ALGORYTMÓW I METODY SZTUCZNEJ INTELIGENCJI

Wprowadzenie do teorii gier

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Metoda Tablic Semantycznych

Teoria gier matematyki). optymalności decyzji 2 lub więcej Decyzja wpływa na wynik innych graczy strategiami

Sztuczna Inteligencja i Systemy Doradcze

Wstęp do Sztucznej Inteligencji

ALGORYTMY I STRUKTURY DANYCH

1 Macierze i wyznaczniki

EKONOMIA MENEDŻERSKA. Wykład 5 Oligopol. Strategie konkurencji a teoria gier. 1 OLIGOPOL. STRATEGIE KONKURENCJI A TEORIA GIER.

SID Wykład 4 Gry Wydział Matematyki, Informatyki i Mechaniki UW

9.9 Algorytmy przeglądu

Materiał dydaktyczny dla nauczycieli przedmiotów ekonomicznych. Mikroekonomia. w zadaniach. Gry strategiczne. mgr Piotr Urbaniak

Programowanie liniowe

D. Miszczyńska, M.Miszczyński KBO UŁ, Badania operacyjne, gry konfliktowe 1

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

TEORIA GIER W EKONOMII WYKŁAD 6: GRY DWUOSOBOWE KOOPERACYJNE O SUMIE DOWOLNEJ

Programowanie gier planszowych

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Matematyka dyskretna dla informatyków

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

WABOT CZYM JEST SZTUCZNA INTELIGENCJA? SZTUCZNA INTELIGENCJA REPREZENTACJA WIEDZY KNOWLEDGE SOUP PROBLEM

Algorytmy z powrotami. Algorytm minimax

Algebra WYKŁAD 3 ALGEBRA 1

Rachunek prawdopodobieństwa- wykład 2

Gry o sumie niezerowej

Zaawansowane metody numeryczne

Metody numeryczne Wykład 4

Ćwiczenia: Ukryte procesy Markowa lista 1 kierunek: matematyka, specjalność: analiza danych i modelowanie, studia II

Wykład 5. Metoda eliminacji Gaussa

Metody przeszukiwania

Luty 2001 Algorytmy (4) 2000/2001

RACHUNEK MACIERZOWY. METODY OBLICZENIOWE Budownictwo, studia I stopnia, semestr 6. Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska

-Teoria gier zajmuje się logiczną analizą sytuacji konfliktu i kooperacji

Przykład. 1 losuje kartę z potasowanej talii, w której połowa kart ma kolor czarny a połowa czerwony. Postać ekstensywna Postać normalna

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

TEORIA GIER W EKONOMII. dr Robert Kowalczyk Katedra Analizy Nieliniowej Wydział Matematyki i Informatyki UŁ

Daria Sitkowska Katarzyna Urbaniak

Matematyka dyskretna. Andrzej Łachwa, UJ, A/15

Teoria gier. Katarzyna Koman Maria Koman. Politechnika Gdaoska Wydział Fizyki Technicznej i Matematyki Stosowanej

Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA

Metoda simpleks. Gliwice

Procesy stochastyczne WYKŁAD 2-3. Łańcuchy Markowa. Łańcuchy Markowa to procesy "bez pamięci" w których czas i stany są zbiorami dyskretnymi.

5. Rozwiązywanie układów równań liniowych

Treści programowe. Matematyka. Efekty kształcenia. Literatura. Terminy wykładów i ćwiczeń. Warunki zaliczenia. tnij.org/ktrabka

Planowanie drogi robota, algorytm A*

TEORIA GIER W NAUKACH SPOŁECZNYCH. Równowagi Nasha. Rozwiązania niekooperacyjne.

Definicja macierzy Typy i właściwości macierzy Działania na macierzach Wyznacznik macierzy Macierz odwrotna Normy macierzy RACHUNEK MACIERZOWY

1 Wartości własne oraz wektory własne macierzy

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie

ZAGADNIENIE TRANSPORTOWE

Sortowanie. Bartman Jacek Algorytmy i struktury

Matematyczne Podstawy Informatyki

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Podstawy Informatyki. Wykład 6. Struktury danych

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Zagadnienie transportowe

Szachy - Samouczek. Maciek Nowak

Sortowanie - wybrane algorytmy

ALGEBRA LINIOWA. Wykład 2. Analityka gospodarcza, sem. 1. Wydział Zarządzania i Ekonomii Politechnika Gdańska

8. Podejmowanie Decyzji przy Niepewności

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

TEORIA GRAFÓW I SIECI

Analiza matematyczna i algebra liniowa Macierze

Zagadnienie najkrótszej drogi w sieci

NUMERYCZNE ALGORYTMY PRZECHOWYWANIA MACIERZY RZADKICH

Transkrypt:

Wyznaczanie strategii w grach Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 Politechnika Wrocławska

Definicja gry Teoria gier i konstruowane na jej podstawie programy stanowią jeden z głównych wyznaczników postępu sztucznej inteligencji. Głównie ze względów komercyjnych spore nakłady przeznaczane są na badania dotyczące szachów (np. Intel i IBM zaangażowały w konstrukcję komputerów szachowych oraz w badania nad rozwojem algorytmów dla gier duże środki). Pierwszy program szachowy został napisany w roku 1958 (Alex Bernstein). W roku 1997 Kasparow podczas pojedynku z Deep Blue na sześć partii dwie przegrał, trzy zremisował i tylko jedną wygrał. Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 2

Definicja gry Definicja gry Gra jest to rozgrywka (dowolna sytuacja konfliktowa) prowadzona przez graczy, zgodnie z ustalonymi zasadami, w celu osiągnięcia określonego celu. Gra składa się z zestawu reguł określających możliwości wyboru postępowania jednostek (graczy). Rozpoczyna się ona od pewnego stanu początkowego i kończy się stanem, który według określonego kryterium może być uznany za wygrany, przegrany lub remisowy (z punktu widzenia jednego z graczy). Z każdym ze stanów końcowych można związać pewną funkcję wypłaty. Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 3

Definicja gry Charakterystyczną cechą gry jest istnienie sytuacji konfliktowej (konflikt interesów): każdy gracz stara się maksymalizować swój własny zysk i jednocześnie zminimalizować zysk przeciwnika. Podział gier ze względu na liczbę graczy: bezosobowe (np. gra w życie) jednoosobowe (np. puzzle, pasjans) dwuosobowe (np. warcaby, szachy, kółko i krzyżyk) wieloosobowe (np. brydż, poker, chińczyk) Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 4

Definicja gry Podział gier ze względu na liczbę ruchów: jednochodowe (np. papier- kamień-nożyce) wielochodowe (np. szachy, warcaby, brydż) Podział gier ze względu na postać funkcji wypłaty: gry o sumie zerowej (wygrana jednego gracza oznacza przegraną drugiego gracza) gry o sumie niezerowej Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 5

Definicja gry Podział gier ze względu na posiadaną informację: gry o pełnej informacji (gracz wybierając kolejny ruch posiada pełną informację o aktualnej sytuacji oraz możliwościach przeciwnika np. warcaby, szachy) gry o niepełnej informacji (np. poker, brydż, domino) Podział gier ze względu na występowanie elementu losowości: całkowicie losowe (np. ruletka) częściowo losowe (np. brydż, domino, chińczyk) deterministyczne (warcaby, szachy, go) Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 6

Definicja gry Każdą z gier można scharakteryzować za pomocą przyjętych kryteriów: szachy to gra dwuosobowa, wielochodowa, o sumie zerowej, o pełnej informacji i deterministyczna ruletka to gra jednoosobowa, jednochodowa, o sumie zerowej, o niepełnej informacji oraz całkowicie losowa Celem wykładu jest przedstawienie metod opisu oraz poszukiwania strategii dla gier dwuosobowych, wielochodowych, o sumie zerowej, o pełnej informacji i deterministycznych. Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 7

Proces poszukiwania strategii gry można opisać drzewem. Wykonujący pierwszy ruch (ze stanu początkowego) nazywany jest graczem, a drugi przeciwnikiem. Określenie funkcji wypłaty dla stanów końcowych dokonywane jest z punktu widzenia gracza. Korzeń jest początkowym stanem gry, jego potomkowie reprezentują stany osiągalne przez gracza w pierwszym ruchu. Z kolei ich potomkowie określają stany możliwe do uzyskania przez przeciwnika itd. Węzły końcowe (liście drzewa) reprezentują stany wygrane (wartości dodatnie), przegrane (wartości ujemne) lub remisowe (zero) dla gracza. Każda droga z węzła początkowego do liścia opisuje jedną rozgrywkę. Wyznaczenie strategii gry (planu rozgrywki) polega na określeniu kolejnych posunięć gracza dla różnych posunięć przeciwnika. Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 8

Fragment drzewa dla gry kółko i krzyżyk : Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 9

Metody określenia strategii wygrywającej dla gracza: na podstawie macierzy gry na podstawie drzewa gry Ogólny model gry n-osobowej: Niech M = {m 1, m 2,.., m k } oznacza zbiór ruchów dopuszczalnych dla danej gry. W zbiorze M można wyróżnić n podzbiorów M 1, M 2,.., M n. Zbiór M i jest zbiorem dopuszczalnych ruchów dla gracza G i (i = 1, 2,.., n). W ogólnym przypadku podzbiory M i nie muszą być rozłączne. Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 10

Przykładowe drzewo dla gry dwuosobowej: G 1 G 2 G2 i 21 i 22 i 21 i 22 G 1 G 1 G 1 G 1 +10-10 +2-2 +6 +2-6 -10 Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 11

Dla gracza G 1 : M 1 = {, } Dla gracza G 2 : M 2 = {i 21, i 22 } Każda partia kończy się po trzech ruchach (gracz G 1 wykonuje dwa ruchy, G 2 tylko jeden). W każdym posunięciu gracz może wybrać jeden z dwóch możliwych ruchów. Gracz G 1 posiada cztery różne strategie: S 11 = S 12 = S 13 = S 14 = Gracz G 2 posiada dwie różne strategie: S 21 = i 21 S 22 = i 22 Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 12

Na tej podstawie możemy utworzyć macierz gry S: S 21 S 22 S 11 +10 +2 S 12-10 -2 S 13 +6-6 S 14 +2-10 Gracz G 1 dąży do znalezienia takiej strategii, która zapewni mu maksymalną wygraną (wartości wypłat ze znakiem +). Przeciwnik G 2 również dąży do znalezienia takiej strategii, która zapewni mu maksymalną wygraną (wartości wypłat ze znakiem -). Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 13

Strategia optymalna dla gracza G 1 zostanie osiągnięta gdy: α* = max { min S ij }, i j gdzie S ij element macierzy S (i - indeks wiersza, j- indeks kolumny) W tym celu dla każdego wiersza określamy wartość minimalną i wybieramy taki wiersz, w którym znalezione minimum jest największe: S 21 S 22 S 11 +10 +2 S 12-10 -2 S 13 +6-6 S 14 +2-10 +2-10 -6-10 α* = S 11 Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 14

Strategia optymalna dla gracza G 2 zostanie osiągnięta gdy: β* = min { max S ij }, j i W tym celu dla każdej kolumny określamy wartość maksymalną i wybieramy taką kolumnę, w której znalezione maksimum jest najmniejsze: S 21 S 22 S 11 +10 +2 S 12-10 -2 S 13 +6-6 S 14 +2-10 +10 +2 β* = S 22 Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 15

Optymalna dla gracza G 1 strategia α* = S 11 nazywa się strategią maksyminową (lub maksyminimalną). Zapewnia ona graczowi G 1 wygraną +2 (dolna wygrana). Optymalna dla gracza G 2 strategia β* = S 22 nazywa się strategią minimaksową (lub minimaksymalną). Funkcja wypłaty wynosi w tym przypadku +2 (przegrana gracza G 2 ). Strategia ta określa górną przegraną gracza G 2. Jeżeli zachodzi równość: α* = β* to gra posiada punkt siodłowy, a uzyskana w tym przypadku funkcja wypłaty nazywa się wartością gry. Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 16

Gry posiadające punkt siodłowy nazywamy grami o pełnej informacji (lub grami zamkniętymi). W takich grach gracze dokonują analizy macierzy gry, następnie wybierają swoje strategie optymalne i na tym właściwie gra się kończy. Z punktu widzenia teorii gier gry o pełnej informacji są mało ciekawe, gdyż ich rozwiązanie jest trywialne (każdy gracz stosuje tylko jedną strategię tzw. strategia czysta). W praktyce bardzo rzadko spotykamy się z grami o pełnej informacji. Najczęściej gry dwuosobowe nie posiadają punktu siodłowego (nazywamy je grami o niepełnej informacji lub grami otwartymi). Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 17

W wielu przypadkach reprezentacja macierzowa jest nieprzydatna przy wyznaczaniu strategii optymalnych np. gdy nie można zbudować pełnego drzewa gry lub drzewo jest znacznych rozmiarów. Optymalną strategię można wówczas znaleźć poprzez zastosowanie rekurencyjnych funkcji wartościujących wierzchołki drzewa gry. W drzewie gry wyróżniamy dwa typy wierzchołków: na poziomie gracza na poziomie przeciwnika. Na początku funkcje wartościujące przypisane są jedynie wierzchołkom końcowym (liściom drzewa). Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 18

Wierzchołkom na poszczególnych poziomach drzewa gry (od liści do korzenia) przypisywane są kolejne wartości zgodnie z następującym algorytmem: wierzchołkom na poziomie gracza nadawana jest maksymalna wartość potomków wierzchołkom na poziomie przeciwnika nadawana jest minimalna wartość potomków Powyższy algorytm zakłada, że każdy gracz w kolejnych krokach dąży do wybrania jak najlepszego ruchu. Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 19

Działanie algorytmu ilustruje następujące drzewo gry: etap 1 budowa drzewa gry i ocena wierzchołków końcowych G 1 G 2 G2 i 21 i 22 i 21 i 22 G 1 G 1 G 1 G 1 +10-10 +2-2 +6 +2-6 -10 Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 20

etap 2 ocena wierzchołków na poziomie gracza (maksymalna wartość potomka) G 1 G 2 G2 i 21 i 22 i 21 i 22 MAX G 1 +10 G 1 +2 G 1 +6 G 1-6 +10-10 +2-2 +6 +2-6 -10 Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 21

etap 3 ocena wierzchołków na poziomie przeciwnika (minimalna wartość potomka) G 1 MIN G 2 +2 G2-6 i 21 i 22 i 21 i 22 MAX G 1 +10 G 1 +2 G 1 +6 G 1-6 +10-10 +2-2 +6 +2-6 -10 Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 22

Ostateczne rozwiązanie: MAX G 1 +2 MIN G 2 +2 G2-6 i 21 i 22 i 21 i 22 MAX G 1 +10 G 1 +2 G 1 +6 G 1-6 +10-10 +2-2 +6 +2-6 -10 Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 23

Twierdzenie minimaksowe Fundamentalnym twierdzeniem teorii gier, dotyczącym gier dwuosobowych o sumie zerowej, jest twierdzenie minimaksowe udowodnione przez von Neumanna (1928): Każda skończona gra dwuosobowa o sumie zerowej ma co najmniej jedno rozwiązanie, które określa wartość gry i optymalne strategie graczy. Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 24

Strategia minimaksu utwórz drzewo gry o maksymalnej głębokości przypisz wierzchołkom końcowym drzewa (liściom) wartości zgodnie z przyjętą funkcją oceny np. +1, -1, 0 (w przypadku dużych drzew użyj funkcji heurystycznej) wierzchołkom na kolejnych poziomach (od liści do korzenia) nadaj wartości zgodnie z zasadą: maksymalna wartość potomka dla gracza oraz minimalna wartość potomka dla przeciwnika po osiągnięciu korzenia wybierz strategię, która zapewnia największe zyski Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 25

Algorytm cięć α-β Algorytm cięć α-β stanowi modyfikację algorytmu minimaksowego. W algorytmie tym węzły nie wpływające na wartość przypisywaną ich przodkom są eliminowane z dalszej analizy (znaczne ograniczenie drzewa gry). W algorytmie występują dwa rodzaje cięć: cięcie α - dla wierzchołków na poziomie gracza ocenę wierzchołków potomnych można zakończyć, gdy wartość będzie niższa niż dotychczasowe maksimum α cięcie β - dla wierzchołków na poziomie przeciwnika ocenę wierzchołków potomnych można zakończyć, gdy wartość będzie wyższa niż dotychczasowe minimum β Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 26

Cięcie α: Cięcie β: k (max) w 1 k (min) w 1 k+1 (min) w 2 α w 3 k+1 (max) w 2 β w 3... w 4 f 4 w 5 w 6... w 4 f 4 w 5 w 6 jeżeli f 4 <= α, to wierzchołków w 5 i w 6 nie musimy rozpatrywać jeżeli f 4 >= β, to wierzchołków w 5 i w 6 nie musimy rozpatrywać Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 27

Zastosowanie heurystyki do oceny wierzchołków Pomimo pełnej informacji o przebiegu gry i skończonej liczbie możliwych ruchów jakie mogą wykonać gracze w danej sytuacji utworzenie pełnego drzewa gry i wyznaczenie na tej podstawie strategii optymalnych dla graczy jest w wielu przypadkach niemożliwe. Szacuje się, że w szachach możliwych jest około 10 120 różnych gier. Dla gry kółko i krzyżyk na 9 polowej planszy liczba różnych partii wynosi 9! = 362880. W takich przypadkach stosowane jest podejście heurystyczne do wyznaczenia optymalnej strategii gry. Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 28

Aby określić najlepszy ruch w danej sytuacji każdemu możliwemu wyborowi przyporządkowuje się pewne oszacowanie liczbowe. W dowolnym posunięciu należy wybrać tę strategię ruchu, której odpowiada największa (lub najmniejsza) wartość oszacowania liczbowego. Należy dążyć do tego, aby optymalne strategie poszczególnych ruchów prowadziły do optymalnej strategii pełnej. Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 29

Przykład kółko i krzyżyk Oznaczmy pola planszy zgodnie z rysunkiem: 1 2 3 8 9 4 7 6 5 Niech o i (i = 1, 2,..., 9) oznacza funkcję oceny kratki z numerem i. Na początku gry przyjmuje się: o 9 = 3 (środek planszy) o 1 = o 3 = o 5 = o 7 = 2 (narożniki planszy) o 2 = o 4 = o 6 = o 8 = 1 (pozostałe pola) Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 30

Z każdym polem związany jest zestaw kierunków: pole środkowe (9) posiada 4 możliwe kierunki poziomy, pionowy i dwa diagonalne (po przekątnej) pola narożne (1, 3, 5, 7) posiadają 3 możliwe kierunki poziomy, pionowy i jeden diagonalny pozostałe pola (2, 4, 6, 8) posiadają 2 możliwe kierunki poziomy i pionowy. Kierunek poziomy oznaczamy przez h, pionowy przez v, natomiast diagonalny przez d. Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 31

Dla dowolnym kierunku może wytworzyć się jedna z 6 typowych sytuacji (każdej przypisano ocenę liczbową): x x 40 o x o o 20 10 5 1 x o 0 Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 32

Mając tablicę ocen typowych sytuacji na poszczególnych kierunkach można wyznaczyć oceny liczbowe dla każdego pola w dowolnym momencie gry. Ocenę o i wykonania ruchu na pole i obliczmy jako sumę ocen sytuacji na wszystkich kierunkach związanych z danym polem. Należy określić najlepszy ruch dla gracza G 1 (stawiającego krzyżyk): 1 2 3 8 9 7 x 4 x o o x 6 5 o 1 = h + v + d = 10 + 5 + 10 = 25 o 2 = h + v = 10 + 0 = 10 o 4 = h + v = 10 + 10 = 20 o 5 = h + v + d = 20 + 10 + 10 = 40 o 8 = h + v = 10 + 5 = 15 Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 33

Jako podsumowanie: Mistrz świata 2800 punktów 5 ruchów do przodu 1500 punktów dodatkowy poziom + 200 punktów (od 5 do 10) Deep Blue analizował 200-1000 milionów pozycji w ciągu sekundy. Autor: Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 34