Sztuczna Inteligencja, Algorytmy Genetyczne oraz Teoria Gier czyli dlaczego warto zostać Inżynierem? Wojciech St. Mościbrodzki wojmos@pjwstk.edu.pl Polsko-Japońska Wyższa Szkoła Technik Komputerowych GDAŃSK
Zagadnienia Co to jest Sztuczna Inteligencja, czyli: czy istnieją Myślące Maszyny? O programowaniu życia słów kilka czyli: czy jesteśmy Programami? Co to są Algorytmy Genetyczne czyli: jak Natura programuje Życie Bardzo krótki wstęp do Teorii Gier czyli: jak grać, żeby (dobrze) żyć
Co to jest Sztuczna Inteligencja?
Sztuczna vs. Ludzka (a może i nieludzka?) Czym jest sztuczna inteligencja? AI to maszyna, o której działaniu dałoby się powiedzieć, że jest podobne do ludzkich przejawów inteligencji John McCarthy, 1950 AI to maszyna, która przechodzi Test Turinga Alan Turing, 1950 Czym jest NASZA inteligencja? "ogólna zdolność adaptacji do nowych warunków i wykonywania nowych zadań przez wykorzystanie środków myślenia" "zdolność uczenia się" "zdolność do aktywnego przetwarzania informacji w celu lepszego przystosowywania się do zmiennego środowiska" "zdolność do generowania nowych pojęć lub ich nieoczekiwanych połączeń" czy CZŁOWIEK jest inteligentny?
Jak zbudować myślącą maszynę? Mózg – naturalna inteligencja (?) średnia światowa wielkość - 1350 ml (800-2000ml) około 100 mld neuronów, każdy neuron łączy się z ok. 10 tys. innych neuronów sieć połączeń ma wielkość około 1015 Sztuczny mózg = sztuczna inteligencja? podstawa – sztuczny neuron neurony poukładane warstwami algorytmy uczenia inteligencja = wagi??
Sztuczny neuron Sztuczny mózg (?)
Osiągnięcia sieci neuronowych Sztuczne Sieci Neuronowe: potrafią się uczyć tworzyć asocjacje, czyli skojarzenia (lata '70) rozpoznawać obrazy samoorganizować się (lata '80) rozpoznawać mowę (lata '90) sterowanie przemysłowe 2020 2000 Obecnie stosowane także w: medycynie (podejmowanie decyzji) przemyśle (sterowniki) logistyce (zarządzanie ruchem) ekonomii (giełda – automatyczne fundusze hedgingowe)
Algorytmy genetyczne, czyli kto jest Najlepszym Programistą?
Czym jest program komputerowy? Jak piszemy programy? My i nasze programy „A na początku był Program Aż do czasu, gdy ktoś nacisnął ENTER I Program się wykonał” Czym jest program komputerowy? Jak piszemy programy? Co jest konieczne do napisania programu? 01010010 10100010 11101001 01010100 10111011... Kiedy powstał pierwszy komputer?
Mała wyprawa w przeszłość (1) „Człowiek: myślę, więc jestem Komputer: nie myśli, więc go nie ma?” Procesor wielordzeniowy (ok. 1998) Sieć WWW (1990) Komputer domowy (1973) Komputer osobisty (1970) Sieć Internet (1969) Komputer (?) Pamięć rdzeniowa (1951) ENIAC (1946) Maszyna Turinga (1936) Maszyna włókiennicza Jackarda (1801) Programowanie proceduralne (1200) Mechanizm z Antykithiry (150 p.n.e. )
Mała wyprawa w przeszłość (2) Homo programmus (-1.000) Homo sapiens (-200.000) Homo antecessor (-800.000) Homo ergaster (-1.8 mln) Homo erectus (-2 mln) Dinosauria (-230 mln) Algae (-542 mln) Fungi (-1.5 mld) Bacteria (-3 mld)
Natura jako Wielki Programista Pierwsza komórka = pierwszy program Komputer dwubinarny: ATGC Fundamenty "programowania genetycznego": Zaproponuj rozwiązanie (zakoduj) Sprawdź, jak działa Skopiuj dobre pomysły Kopiuj – ale niedokładnie! Poczekaj, aż rozwiązanie znajdzie się samo
ACCTGAACCAATCGGGGAATC Jak działa ewolucja? Który z przedstawionych ludzi jest najlepszy (ma najlepsze cechy?) Cecha: zdolność do gromadzenia energii kodowanie genotyp ACCTGAACCAATCGGGGAATC ? realizacja TEST środowisko fenotyp
Hodujemy Wiedźmina, czyli programowanie genetyczne Który z buildów (przydział punktów) jest najlepszy?
Jak działa sztuczna ewolucja? Które z przedstawionych rozwiązań jest najlepsze? Cecha: zdolność do przetrwania kodowanie genotyp 11000110001100011100 ? realizacja TEST środowisko fenotyp
Naturalnie czy Sztucznie Ewolucja naturalna cechy kodowane ACTG weryfikacja jakości w środowisku miernikiem zdolność przetrwania dobór naturalny doskonalenie przez rozmnażanie rozmnażanie wymiana genów przeżywają najlepsi najlepsi uczestniczą w rozmnażaniu mutacje Programowanie genetyczne cechy kodowane binarnie weryfikacja jakości w środowisku miernikiem – to co wybierzemy dobór symulowany doskonalenie przez krzyżowanie krzyżowanie wymiana genów przeżywają najlepsi najlepsi uczestniczą w krzyżowaniu mutacje
Programowanie genetyczne Zadanie: Dane jest pole gry, na którym występują zmieniające się w czasie zasoby Na polu mamy postawić robota, który korzysta z zasobów (sposób działania określa program) W którym miejscu należy umieścić robota, który potrafi korzystać z tych zasobów, i jaki dać mu program, aby jego działanie było optymalne? Podejście strukturalno-obiektowe: Napisz najlepszy jak potrafisz program dla robota i sprawdź, jak działa Podejście genetyczne Zaproponuj jakiś program Rozrzuć roboty w terenie Pozwól na ewolucję
Genetyczne rozwiązanie problemu Generujemy populację P0 - N osobników Każdy członek populacji to biot pi(xi,yi) Kodowanie: x i y – informacje o położeniu Osobniki rozrzucamy po terenie Oceniamy przystosowanie osobników pi(xi,yi) M = f (pi) szeregujemy osobniki w kolejności malejącej M1, M2, M3 ... MN. Połowa osobników ginie (przetrwają najsilniejsi): M1, M2, M3... MN/2 Najlepszych bierzemy do rozmnażania Część dzieci ulega mutacji P1 obszar gry P2 P3
Rozwiązanie genetyczne Nagradzamy najlepszych (czyli pozwalamy na rozmnażanie) ojciec mutacja obszar dzieci matka
Teoria Gier, czyli czy granie jest "naukowe"?
W życiu spotykamy się z sytuacją wyboru Interakcja, gra i wybór W życiu spotykamy się z sytuacją wyboru Sytuacja Decyzyjna to konieczność podjęcia wyboru związanego z niepewną przyszłością Czy dziś iść do kina, czy do szkoły? Z którą dziewczyną się umówić? Pójść na Politechnikę, czy na PJWSTK? Podpisać umowę, czy nie? Kiedy założyć własną firmę? Jeśli ja postawię bazę tu, co zrobi on? Jeśli opowiem komuś jego sekret – czy mi wybaczy? Jeśli podpowiem mu na egzaminie, czy mi podziękuje? Jeśli nie zaproszę jej na lody, czy zrozumie? Gry typowo konfliktowe
Gra w tchórza Gra w tchórza: Dwa pojazdy kierują się na zderzenie – kto pierwszy ustąpi? Jaką wybrać strategię gry? Czy można wygrać?
Model decyzyjny w teorii gier Dylemat więźnia: złapano dwie osoby, podejrzewane o popełnienie przestępstwa, ale nie ma twardych dowodów ich winy. Zaproponowanie układu każdemu z podejrzanych, tworzy sytuację opisywaną w Teorii Gier. Melvin Dresher i Merril Food, 1950 Albert Tucker, 1992 gra o sumie zerowej stabilna równowaga Nasha różna od optimum Pareto Formalnie: iterowana gra decyzyjna dla dwóch podmiotów, o symetrycznej macierzy wypłat P[2,2] iterowana gra decyzyjna dla populacji N podmiotów, o symetrycznej macierzy wypłat P[m,m], gdzie m – liczba możliwych decyzji Dylemat więźnia jest w istocie modelem interakcji DOBRY-ZŁY
Stopień możliwości rośnie bardzo szybko ze złożonością sieci Jak grać, żeby wygrać? Strategie gry: Zawsze uczciwa Zawsze nieuczciwa Zwykle uczciwa Zależna od środowiska Zależna od potrzeby Hammurabiego Ryzykowna Turnieje PD i programy uczące się pokazują, że wprowadzenie pojęcia sieci interakcji znacząco zmienia rozwiązanie optymalne Stopień możliwości rośnie bardzo szybko ze złożonością sieci
Sieć interakcji W co grają ze sobą ludzie? Czym jest sieć interakcji? Jak zmienia się nasza sieć? Działamy w stanie niepewności
MMORPG, czyli od chromosomów do agentów Bioty a ludzie Bioty a interakcja Co powoduje zmianę Czym jest agent? Programowanie zachowań indywidualnych Czy WoW może (się) uczyć Czy gry MMORPG mogą ewoluować Jak zrobić dobrą grę?
Czy można studiować gry? Dlaczego poważnie traktować gry? W jaki sposób studiować gry? Gdzie studiować? CD Projekt – partner PJWSTK Zajęcia z Teorii Gier Laboratoria i warsztaty
Podsumowanie Sztuczna inteligencja – nie wiemy, co to jest; nie wiemy, jak to zbudować; nie wiemy, czy jest to w ogóle możliwe – ale uważamy, że potrafimy Algorytmy genetyczne są sposobem, w jaki można rozwiązywać problemy nawet, jeśli nie wiemy, czy rozwiązanie istnieje Przetwarzanie rozproszone przez wiele, autonomicznych, równolegle działających programów w świecie niepewnej wiedzy to programowanie agentowe ... a wszystko to na PJWSTK
Prestiżowa uczelnia techniczna Uczelnia Przyjazna Studentom PJWSTK PJWSTK istnieje od 1994 Prestiżowa uczelnia techniczna Uczelnia Przyjazna Studentom Kluby Akido, Manga-Anime i A.I. Koła Naukowe: Grafiki, AI, RPG Gildia Uczymy programowania – od I roku Teoria Gier i Symulacje Warsztaty Programistyczne (PHP), Java i Java Zaawansowana, C/C++ Multimedia i Sztuczna Inteligencja Pomagamy rozwinąć własny biznes Projekty badawcze: SAKKADA, SARPA, FIDO...
Nasze Wydziały profil kształcenia: inżynierski kierunek: INFORMATYKA typowy absolwent: informatyk-programista, specjalista od multimediów, menedżer projektów, menedżer (informatyk biznesowy) profil kształcenia: artystyczny kierunek: GRAFIKA typowy absolwent: grafik /specjalista od multimediów / animacji specjalista kreatywny ds mediów / reklamy designer / artysta / projektant menedżer artystyczny
http://gdansk.pjwstk.edu.pl napisz do nas: gdansk@pjwstk.edu.pl
Domo arigato gozaimasu! KONIEC Dziękuję za uwagę. Domo arigato gozaimasu! Wojciech St. Mościbrodzki PJWSTK Gdańsk www.wojmos.com wojmos@pjwstk.edu.pl GG: 2254539