WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI



Podobne dokumenty
Sztuczna Inteligencja i Systemy Doradcze

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

Algorytmy dla gier dwuosobowych

Wyznaczanie strategii w grach

Heurystyki. Strategie poszukiwań

Tworzenie gier na urządzenia mobilne

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

Partition Search i gry z niezupełną informacją

Gry. wykład 5. dr inż. Joanna Kołodziejczyk. Zakład Sztucznej Inteligencji ISZiMM. ESI - wykład 5 p. 1

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

Wstęp do Sztucznej Inteligencji

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

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

METODY SZTUCZNEJ INTELIGENCJI 2 Opis projektu

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

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

Wykład 7 i 8. Przeszukiwanie z adwersarzem. w oparciu o: S. Russel, P. Norvig. Artificial Intelligence. A Modern Approach

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

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

Automatyczne Diagnozy Partii Szachowych nowa funkcja Zestawienie Ruchów.

Narzędzia AI. Jakub Wróblewski Pokój SZTUCZNA INTELIGENCJA (ARTIFICIAL INTELLIGENCE)

Heurystyczne metody przeszukiwania

Metody przeszukiwania

MODELOWANIE RZECZYWISTOŚCI

Sztuczna Inteligencja i Systemy Doradcze

Rachunek prawdopodobieństwa w grach losowych.

MODELOWANIE RZECZYWISTOŚCI

11. Gry Macierzowe - Strategie Czyste i Mieszane

10. Wstęp do Teorii Gier

Badania operacyjne egzamin

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

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

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

Luty 2001 Algorytmy (4) 2000/2001

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

W którym rozważamy problemy pojawiające się, gdy próbujemy planować z góry w świecie zawierającym wrogiego agenta.

Planowanie drogi robota, algorytm A*

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

Rozwiązywanie problemów metodą przeszukiwania

Adam Meissner. SZTUCZNA INTELIGENCJA Gry dwuosobowe

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

SZTUCZNA INTELIGENCJA

Alfa-beta Ulepszenie minimax Liczba wierzchołk ow w drzewie gry. maksymalnie wd. minimalnie wbd/2c + wdd/2e Algorytmy przeszukiwania drzewa gry 5

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

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD III: Problemy agenta

Podstawy sztucznej inteligencji

Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1

9.9 Algorytmy przeglądu

GRY I ZABAWY UMYSŁOWO- LOGICZNE JAKO FORMA UPOWSZECHNIANIA KULTURY. Donata Fraś

Sztuczna inteligencja w programowaniu gier

Układy stochastyczne

Algorytmy z powrotami. Algorytm minimax

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

Elementy Modelowania Matematycznego

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Archipelag Sztucznej Inteligencji

Informatyka Systemów Autonomicznych

Propozycje tematów zadań

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

Zaawansowane algorytmy i struktury danych

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Rozdział 2: Metoda największej wiarygodności i nieliniowa metoda najmniejszych kwadratów

Plan wynikowy. Klasa III Technik pojazdów samochodowych/ Technik urządzeń i systemów energetyki odnawialnej. Kształcenie ogólne w zakresie podstawowym

POŁĄCZENIE ALGORYTMÓW SYMULACYJNYCH ORAZ DZIEDZINOWYCH METOD HEURYSTYCZNYCH W ZAGADNIENIACH DYNAMICZNEGO PODEJMOWANIA DECYZJI

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

Algorytmy i struktury danych

Algorytmy mrówkowe. H. Bednarz. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

Podstawy Sztucznej Inteligencji (PSZT)

ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe

Instrukcja obsługi programu

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Instytut Informatyki Uniwersytet Wrocławski. Dane w sieciach. (i inne historie) Marcin Bieńkowski

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Algorytmy i schematy blokowe

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

Podstawy sztucznej inteligencji

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

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Schemat programowania dynamicznego (ang. dynamic programming)

Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,

PDF created with FinePrint pdffactory Pro trial version

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

Dobble? Co to takiego?

Mikroekonomia. O czym dzisiaj?

Algorytmy klasyfikacji

Uczeń: -podaje przykłady ciągów liczbowych skończonych i nieskończonych oraz rysuje wykresy ciągów

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

WYMAGANIA Z MATEMATYKI NA POSZCZEGÓLNE OCENY KLASYFIKACYJNE DLA UCZNIÓW KLAS TRZECICH. Sposoby sprawdzania wiedzy i umiejętności uczniów

Szachy INSTRUKCJA. rekwizyty: 1) Bierki - 32 szt. 2) plansza - 1 szt.

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY 7SP. V. Obliczenia procentowe. Uczeń: 1) przedstawia część wielkości jako procent tej wielkości;

SZACHY mini INSTRUKCJA. rekwizyty: 1) Bierki - 32 szt. 2) plansza - 1 szt.

Risk-Aware Project Scheduling. SimpleUCT

ATOLL. Wykonali: Aleksandra Kuchta, Łukasz Wójcik, Sztuczna Inteligencja, Semestr trzeci, Kierunek Informatyka, Wydział Informatyki i Zarządzania,

Algorytm genetyczny (genetic algorithm)-

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

Indukowane Reguły Decyzyjne I. Wykład 3

INFORMATYKA POZIOM ROZSZERZONY

Systemy Wspomagania Decyzji

Rozkład materiału nauczania

Transkrypt:

POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHANICZNY ENERGETYKI I LOTNICTWA MEL WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI NS 586 Dr inż. Franciszek Dul

6. GRY POSZUKIWANIA W OBECNOŚCI PRZECIWNIKA

Gry Pokażemy, w jaki sposób agent może osiągnąć zamierzony cel jeżeli musi kooperować lub konkurować albo nawet walczyć z innymi agentami.

6.1. Czym są gry? Gry są to zadania poszukiwania z wieloma agentami działającymi (i konkurującymi) w tym samym środowisku. Gry: służą do zabawy ale i hazardu; są łatwe do sformułowania; agenci mogą zwykle wykonywać niewiele działań; są to zagadnienia interesujące, ale często bardzo trudne; Analiza gier może służyć ogólniejszym celom np. budowie robotów które mają działać w środowisku nieprzyjaznym;

6.1. Gry Relacja gier i poszukiwań Poszukiwania nie ma przeciwnika. Rozwiązanie jest heurystyczną metodą osiągnięcia celu. Heurystyki mogą znaleźć rozwiązanie optymalne. Funkcja szacująca - oszacowanie kosztu przejścia od startu do celu poprzez dany węzeł. Przykłady: planowanie dróg, opracowywanie harmonogramów. Gry są przeciwnicy. Rozwiązanie jest strategią gry, czyli odpowiedzią na każde działanie przeciwnika; Ograniczenia czasowe gry wymuszają znajdywanie rozwiązań przybliżonych. Funkcja szacująca oszacowanie dobroci sytuacji. Przykłady: szachy, warcaby, brydż, poker, trik-trak, kółko i krzyżyk, Go,...

6.1. Gry Klasyfikacja gier Informacja pełna Informacja niepełna Deterministyczne Szachy, Warcaby, Go, Kółko i krzyżyk Hazardowe Trik-trak (backgammon), Monopoly Brydż, Poker, Scrabble, wojna atomowa

6.2. Definicja gry W grze uczestniczą dwaj gracze: MAX i MIN. grę rozpoczyna MAX; ruchy wykonują naprzemian aż do zakończenia gry; zwycięzca otrzymuje nagrodę, przegrany ponosi karę. Gra jako poszukiwanie rozwiązania Stan początkowy: np. ustawienie szachów na szachownicy; Funkcja następnika: lista ruchów (stanów) spełniających reguły gry; Test końca: np. mat w szachach. Funkcja użyteczności - definiuje wartości stanów końcowych, np. zwycięzca (+1), przegrany (-1) lub remis(0). Do wyznaczenia następnego ruchu gracze używają algorytmu przeszukiwania drzewa.

6.2. Definicja gry Drzewo gry w kółko i krzyżyk

6.2. Definicja gry Drzewo gry w kółko i krzyżyk

6.2. Definicja gry Drzewo gry w kółko i krzyżyk

6.2. Definicja gry Drzewo gry w kółko i krzyżyk

6.2. Definicja gry Drzewo gry w kółko i krzyżyk Dla każdego stanu s drzewo gry określa możliwe ścieżki działań prowadzące do wygranej.

6.2. Definicja gry Strategie optymalne Znaleźć strategię warunkową dla gracza MAX przy założeniu, że MIN jest przeciwnikiem nieomylnym. Założenie - obaj gracze grają optymalnie. Znając drzewo gry można wyznaczyć strategię optymalną na podstawie wartości minimax dla każdego węzła. Należy wybrać ruch do węzła który ma największą wartość minimax. Odpowiada to uzyskaniu najkorzystniejszego wyniku przy najlepszej grze.

6.2. Definicja gry Algorytm MINIMAX Zasada algorytmu minimax dla dwóch graczy MAX i MIN Drzewo gry dla dwóch przeciwników.

6.2. Definicja gry Algorytm MINIMAX Zasada algorytmu minimax dla dwóch graczy MAX i MIN Wartości funkcji kosztu dla węzłów końcowych. Gracz MAX dąży do uzyskania największej wartości funkcji kosztu, zaś gracz MIN - najmniejszej.

6.2. Definicja gry Algorytm MINIMAX Zasada algorytmu minimax dla dwóch graczy MAX i MIN MIN wybiera posunięcia odpowiadające wartościom najmniejszym...

6.2. Definicja gry Algorytm MINIMAX Zasada algorytmu minimax dla dwóch graczy MAX i MIN Wybór minimax zaś MAX posunięcia odpowiadające wartościom największym. Algorytm minimax maksymalizuje więc najgorszy wynik gracza MAX.

6.2. Definicja gry Własności algorytmu MINIMAX Zupełność Tak, jeżeli drzewo jest skończone. Czas O(b m ) Pamięć O(bm) (poszukiwanie w głąb) Optymalność Tak (przeciwko grającemu optymalnie przeciwnikowi) Największą wadą algorytmu MINIMAX jest wykładniczy wzrost czasu wyznaczania rozwiązania ze wzrostem liczby ruchów. Rozwiązaniem problemu jest zastosowanie algorytmów obcinania gałęzi drzewa poszukiwań.

6.3. Algorytm przycinania α β 6.3. Algorytm przycinania α β Idea: odrzcanie (przycinanie) tych gałęzi drzewa poszukiwań, które są nieperspektywiczne. Zasada ogólna przycinania α - β Rozważmy węzeł v leżący gdzieś na drzewie. Jeżeli gracz MAX może dokonać lepszego wyboru w węźle rodzica lub gdziekolwiek wyżej (α) węzeł v nigdy nie biędzie osiągnięty. Gałąź z węzłem v może być przycięta.

6.3. Algorytm przycinania α β Przykład Idea: odrzcanie (przycinanie) tych gałęzi drzewa poszukiwań, które są nieperspektywiczne. Zakres możliwych wartości [-,+ ] [-, + ]

6.3. Algorytm przycinania α β Idea: odrzcanie (przycinanie) tych gałęzi drzewa poszukiwań, które są nieperspektywiczne. [-,+ ] [-,3]

6.3. Algorytm przycinania α β Idea: odrzcanie (przycinanie) tych gałęzi drzewa poszukiwań, które są nieperspektywiczne. [-,+ ] [-,3]

6.3. Algorytm przycinania α β Idea: odrzcanie (przycinanie) tych gałęzi drzewa poszukiwań, które są nieperspektywiczne. [3,+ ] [3,3]

6.3. Algorytm przycinania α β Idea: odrzcanie (przycinanie) tych gałęzi drzewa poszukiwań, które są nieperspektywiczne. [3,+ ] Ten węzeł jest gorszy dla MAX [3,3] [-,2]

6.3. Algorytm przycinania α β Własności algorytmu przycinania α - β Przycinanie nie wpływa na końcowy wynik gry. Przycinać można całe poddrzewa. Właściwa kolejność ruchów zwiększa efektywność przycinania. Czas obliczeń przy idealnym uporządkowaniu ruchów ~O(b m/2 ). Pozwala to podwoić głębokość poszukiwań.

6.4. Gry z niepełną informacją Algorytmy MINMAX i przycinania α - β wymagają jednak zbyt wielu oszacowań wartości na gałęziach, co zajęłoby za dużo czasu w grach rzeczywistych. Poprawa efektywności algorytmów gier (Shannon, 1950) Wprowadzenie ustalonej głębokości poszukiwań tak, aby nie przekroczyć limitu czasu ustalonego w danej grze (CUTOFF-TEST); Zastąpienie testu końcowego (TERMINAL-TEST) przez test obcięcia; Zastosowanie heurystycznej funkcji EVAL w przycinaniu α - β zamiast funkcji użyteczności końcowej UTILITY: UTILITY informacja tylko NA KOŃCU gry EVAL informacja o sytuacji także W TRAKCIE gry.

6.4. Gry z niepełną informacją Heurystyczna funkcja szacująca EVAL Idea: oszacowanie przewidywanego wyniku gry począwszy od aktualnego stanu. Efektywność gry zależy od jakości funkcji EVAL: funkcja EVAL powinna porządkować węzły kończące grę w taki sam sposób jak funkcja UTILITY, obliczenia nie mogą trwać zbyt długo, dla stanów niekońcowych funkcja EVAL powinna być silnie skorelowana z aktualną szansą wygranej. W szachach EVAL jest zazwyczaj liniową sumą ważoną, np.: EVAL(s) = w 1 f 1 (s) + w 2 f 2 (s) + + w n f n (s) Funkcje stanu f k (s) opisują różne elementy konfiguracji szachowych: starszeństwo figur, specyficzne układy figur, itp., np.: f k (s) = (liczba białych królowych) (liczba czarnych królowych) Współczynniki w k mogą być określone przez ekspertów mistrzów szachowych lub też mogą być wyuczone. Addytywność funkcji EVAL zakłada niezależność sytuacji szachowych.

6.4. Gry z niepełną informacją Efekty nieliniowe - wyjście poza horyzont Funkcja EVAL w postaci liniowej kombinacji sytuacji jest jednak użyteczna tylko dla stanów zmieniających się umiarkowanie. Poszukiwania o ustalonej głębokości nie zauważą możliwej zmiany pionka na królową - zmiana ta jest mocno nieliniowa! Użycie nieliniowej funkcji szacującej EVAL(s) = NLIN( f 1 (s), f 2 (s),, f n (s) ) pozwala lepiej szacować interakcje pomiędzy własnościami.

6.4. Gry z niepełną informacją Jak to działa w praktyce gry w szachy? Załóżmy, że na jeden ruch mamy 100 sekund, a możemy sprawdzać 10 4 węzłów/s. Możemy zatem sprawdzać 10 6 węzłów na jeden ruch. b = 35, b m = 10 6 m = 4 posunięcia naprzód Analiza mniej niż czterech posunięć cechuje jednak gracza bardzo słabego! 4 ruchy - nowicjusz, 8 ruchów - mistrz, komputer PC, 12 ruchów - arcymistrz Kasparow, komputer Deep Blue. Dla typowej partii szachów: b ~ 35, m ~ 100 co oznacza, że rozwiązanie ścisłe jest zupełnie nieosiągalne, 35 100 ~ 10 100 3.5 100 ~ 10 140 Dla porównania liczba atomów we Wszechświecie ~10 80

6.5. Gry z losowością W wielu grach występują elementy losowe, odzwierciedlające nieprzewidywalność rzeczywistości. Gra Trik-Trak (Backgammon) zawiera losowość w postaci rzutów kostką. 0 1 2 3 4 5 6 7 8 9 10 11 12 Wynik rzutów kostką: 5, 6. Możliwe ruchy pionków: (5-10,5-11), (5-11,19-24), (5-10,10-16), (5-11,11-16). 25 24 23 22 21 20 19 18 17 16 15 14 13

6.5. Gry z losowością Do analizy gier losowych nie wystarcza drzewo MAX MIN. Należy je uzupełnić węzłami losowymi (chance nodes). C W węzłach losowych wyboru gałęzi dokonuje się na podstawie prawdopodobieństw poszczególnych możliwości. Algorytm EXPECTIMINMAX wykorzystuje wartość oczekiwaną obliczaną dla wszystkich możliwych zdarzeń. Problem gigantyczny koszt O(b m n m ).

6.5. Gry z losowością Karty gry losowe z niepełną informacją Gry w karty są interesujące, gdyż występują w nich zarówno losowość jak i niepełność informacji: początkowy rozkład kart jest losowy (losowość występuje tylko na początku gry), gracze nie znają rozkładu kart przeciwników - można wykorzystywać tylko tę informację, która jest dostępna w danej chwili. Do analizy gier w karty można użyć algorytmu MINIMAX. Idea: obliczyć wartości MINIMAX dla każdego ruchu w każdym rozdaniu i wybrać ruchy z największymi wartościami oczekiwanymi. Tak działa mistrzowski program GIB do gry w brydża: generuje sto rozdań zgodnych z licytacją, wybiera te ruchy, które wygrają więcej lew.

6.6. Osiągnięcia programów AI dla gier Szachy W roku 1997 komputer Deep Blue pokonał arcymistrza świata Garego Kasparowa w sześciu partiach. DeepBlue analizował sześć milionów pozycji w ciągu sekundy używając bardzo wyszukanego szacowania oraz pewnych metod tajnych, co umożliwiło przedłużanie ścieżek poszukiwań nawet do 40 ruchów naprzód.

6.6. Osiągnięcia programów AI dla gier Warcaby W roku 1994 program Chinook zakończył czterdziestoletnie panowanie geniusza warcabów, wielokrotnego mistrza świata, dr Mariona Tinsleya. Chinook używał w tym celu bazy danych zawierającej wstępnie obliczone końcówki gry opisujące 444,000,000,000 pozycji dla ośmiu lub mniejszej liczby pionków.

6.6. Osiągnięcia programów AI dla gier Othello (Reversi) Mistrzowie odrzucają grę z komputerami, gdyż są one zbyt dobre. Program Logistello wygrał mistrzostwa świata w roku 1997 wynikiem 6:0. Go Mistrzowie odrzucają grę z komputerami, gdyż są one za słabe. W tej grze b > 361 więc większość programów używa baz wiedzy które sugerują możliwe ruchy. Najlepsze programy: Goemate i Go4++, osiągają zaledwie poziom słabych amatorów. Brydż Program Bridge Baron wygrał po raz pierwszy mistrzostwa świata w roku 1997, a ogółem - pięciokrotnie. Program GIB wygrał mistrzostwa świata w roku 2000. Trik-Trak (Backgammon) Program TD-GAMMON uważany jest za jednego z trzech najlepszych graczy na świecie.

Podsumowanie Gry są przyjemne (ale czasami niebezpieczne...) W grach dwóch graczy o sumie zerowej z pełną informacją algorytm MINIMAX pozwala wyznaczyć ruchy optymalne. Niemożność analizy całego drzewa zmusza do użycia funkcji szacujących użyteczności stanów w grze. Gry ilustrują wiele ważnych kwestii dotyczących AI: gra perfekcyjna jest nieosiągalna, konieczna jest aproksymacja; niepewność wymaga użycia metod statystycznych. Gry dorównują mistrzom w wielu przypadkach: szachach, warcabach, Othello, Trik-Traku i innych. Uważa się, że gry są tym dla sztucznej inteligencji, czym wyścigi Grand Prix Formuły I są dla rozwoju automobilizmu.

Wątpliwość Wprawdzie programy AI są w stanie pokonać nawet arcymistrzów, ale muszą one korzystać z heurystyk wymyślonych przez człowieka. Czy zatem można uważać, że są to rzeczywiście byty cechujące się sztuczną inteligencją?

Poziomy sztucznej inteligencji Sztuczna świadomość? Uczenie się Planowanie i podejmowanie decyzji Uwzględnianie niepewności Wnioskowanie logiczne Rozwiązywanie problemów