Informatica 2e semester

Vergelijkbare documenten
Waarmaken van Leibniz s droom

Informatica 2e semester

Informatica. les 6. Slimme (deel II: hoofdstuk 5) versus intelligente (deel III: hoofdstuk 9) algoritmen

Informatica. les 6. Slimme (deel II: hoofdstuk 5) versus intelligente (deel III: hoofdstuk 9) algoritmen

Informatica 2e semester

Informatica 2e semester

Informatica 2e semester

Informatica. Deel II & III: les 5. Basis- & slimme algoritmen. Jan Lemeire Informatica deel II & III februari mei Parallel Systems: Introduction

Informatica 2e semester

Informatica. Deel II&III: les 7. AI linked lists - chips. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction

Informatica. les 7. Slimme (deel II: hoofdstuk 9) versus intelligente (deel III: hoofdstuk 10) algoritmen

Informatica 2e semester

Waarmaken van Leibniz s droom

Halma Bot: Monte Carlo versus Alpha-Beta

Waarmaken van Leibniz s droom

Uitwerking tentamen Algoritmiek 9 juni :00 17:00

Intelligente Spelen. Pieter Spronck. TouW Informatica Symposium, Open Universiteit, Universiteit van Tilburg

Tentamen Kunstmatige Intelligentie (INFOB2KI)

Opgave 2 ( = 12 ptn.)

Tentamen Kunstmatige Intelligentie (INFOB2KI)

Informatica. Deel II & III: les 5. Von Neumann, basis- & slimme algoritmen. Jan Lemeire Informatica deel II & III februari mei 2015

Python (gem=1,86) Java (gem=1,57) Enquete cursus informatica 1e bachelors oefeningen beter aansluiten bij project?

Informatica. Deel II: les 2. Leibniz - erven - digitaal. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction

Waarmaken van Leibniz s droom

Mijn project noemt Het Wari-spel. De doelgroep van mijn programma is iedereen die houdt van strategische spelen.

Uitwerking tentamen Algoritmiek 9 juli :00 13:00

Opgaven Kunstmatige Intelligentie 1 maart 2017

Computationale Intelligentie Dirk Thierens

Tentamen Kunstmatige Intelligentie

Zoekproblemen met tegenstanders. Zoekalgoritmen ( ) College 9: Zoeken met een tegenstander (I) Een zoekprobleem met een tegenstander

Twaalfde college complexiteit. 11 mei Overzicht, MST

Examen Datastructuren en Algoritmen II

Genetische algoritmen in Java met JGAP

- Denkt zoals een mens (activiteiten die we associëren met menselijk denken.)

Een voorbeeld. Computationele Intelligentie Zoeken met een tegenstander. Een voorbeeld vervolg. Een zoekprobleem met een tegenstander

Cover Page. The handle holds various files of this Leiden University dissertation.

Hoe gaan testrobots ons testers helpen? Robotica?

Kunstmatige Intelligentie

Addendum bij hoofdstuk 5 Generieke implementatie van de zoekalgoritmen

Fischer Random (

Hoe gaan testrobots ons testers helpen?

8+ 60 MIN Alleen te spelen in combinatie met het RIFUGIO basisspel. Only to be played in combination with the RIFUGIO basicgame.

Game Usability. Les 3 jaar 2. Ontwerp doelstellingen en randvoorwaarden

Intelligentie: hoe gaan we hier intelligent mee om in de neuropsychologie?

Minder Big data Meer AI.

Artificial Intelligence. Tijmen Blankevoort

Neurale Netwerken en Deep Learning. Tijmen Blankevoort

Verslag Opdracht 4: Magische Vierkanten

Transparanten bij het vak Inleiding Adaptieve Systemen: Evolutionary Computation. f(s max ) f(s) s

Planning. 1. Mini College. 2. Introductiecursus Imperatief Programmeren. 3. Crash and Compile (vanaf 17:00 uur)

ALGORITMIEK: answers exercise class 7

Elfde college algoritmiek. 18 mei Algoritme van Dijkstra, Heap, Heapify & Heapsort

Inleiding 2. 1 Spelregels Pünct 3

Nascholing Algoritmisch Denken. Martin Bruggink Renske Smetsers

Vier voorbeelden van Fourier

Vierde college algoritmiek. 2 maart Toestand-actie-ruimte Exhaustive Search

8. Complexiteit van algoritmen:

extra oefening algoritmiek - antwoorden

Tiende college algoritmiek. 13/21 april Gretige Algoritmen Algoritme van Dijkstra

Volg de stappen hieronder en begin direct met het uitdagen van wedstrijden. Je zult zien hoe gemakkelijk, leuk en spannend het is.

Ieder tweetal heeft nodig: Een kopie van de slagschipspelletjes: 1. 1A, 1B voor spel A, 2B voor spel A, 3B voor spel 3

Programmeermethoden. Recursie. week 11: november kosterswa/pm/

Artificiële intelligentie 1 ( ) Voorbeelden van examenvragen

Tiende college algoritmiek. 26 april Gretige algoritmen

Curriculum Informatica 2003/04

Examen Datastructuren en Algoritmen II

Java Programma structuur

Programmeren A. Genetisch Programma voor het Partitie Probleem. begeleiding:

Smart Vision! Van Neuroscience naar Deep Learning (en terug) Sander Bohté CWI Life Sciences VIA AwesomeIT, April 10th 2015

Machine Learning IBM Watson. Eindhoven, High Tech Campus, 13 juni 2017

Deeltentamen Kunstmatige Intelligentie

Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 2 juni 2009, uur

Hoe te verbinden met NDI Remote Office (NDIRO): Apple OS X How to connect to NDI Remote Office (NDIRO): Apple OS X

Programmeermethoden. Recursie. Walter Kosters. week 11: november kosterswa/pm/

Algoritmen abstract bezien

Tree traversal. Bomen zijn overal. Ferd van Odenhoven. 15 november 2011

Firewall van de Speedtouch 789wl volledig uitschakelen?

AI en Software Testing op de lange termijn

NAAM: Programmeren 1 Examen 29/08/2012

TestNet voorjaarsevent 15 mei Testen met AI. Op weg naar een zelflerende testrobot. TestNet werkgroep Testen met AI. Sander Mol Marco Verhoeven

Modellen en Simulatie Speltheorie

Elementary Data Structures 3

Tiende college algoritmiek. 14 april Gretige algoritmen

Settings for the C100BRS4 MAC Address Spoofing with cable Internet.

AXIOMATIEK VAN GETALLEN, vergezichten vanuit mijn ivoren toren

Kunstmatige Intelligentie (AI) Hoofdstuk van Russell/Norvig = [RN] Genetische algoritmen. voorjaar 2016 College 11, 3 mei 2016

Examen Datastructuren en Algoritmen II

Testen met zelflerende en zelfexplorerende

Uitwerking tentamen Algoritmiek 10 juni :00 13:00

ZELF DENKENDE WEBSHOP

Vergaderen in het Engels

MyDHL+ Van Non-Corporate naar Corporate

Info Support TechTalks

Nascholing Algoritmisch Denken. Martin Bruggink Renske Smetsers

8C080 deel BioModeling en bioinformatica

Games in een educatieve setting

Usability. Les 3 jaar 2. Ontwerp doelstellingen en randvoorwaarden

Kunstmatige intelligentie FILOSOFIE VAN DE KUNSTMATIGE INTELLIGENTIE. Sterke AI These. Zwakke AI These. Denken en redeneren in AI

Local search. Han Hoogeveen. 21 november, 2011

Tiende college algoritmiek. 4 mei Gretige Algoritmen Algoritme van Dijkstra

Transcriptie:

Informatica 2 e semester: les 6 Slimme (deel II: hoofdstuk 5) versus intelligente (deel III: hoofdstuk 9) algoritmen Jan Lemeire Informatica 2 e semester februari mei 2017 1

Is er een machine die even slim of zelfs slimmer is als de mens!?

HAL Film 1968

Computer HAL

Vandaag 1. Puzzel: herhaling & vervolg 2. Spel: minimax 3. Non-zero sum game 4. Leren 5. Deel III: slimme algoritmen versus intelligentie

Herhaling

Oplossingsmethoden p. 31 Type 1: De oplossing kan berekend worden met een formule (analytisch). Type 2: Je kunt de oplossing gericht zoeken of construeren (rechttoe-rechtaan). Type 3: Je gaat alle mogelijke actiesequenties af om een oplossing te vinden. Type 4: Door slimme keuzes (heuristieken) te maken, kan je verschillende actiesequenties uitsluiten. Type 5: Je leert al doende welke de juiste keuzes zijn. Jan Lemeire Pag. 7 / 94

p. 33 Doorploeteren zoekboom = Brute-force search 2 mogelijkheden: depth-first : a-b-e-j-k-c-f-g-l-m-n-d-h-o-p-i-q = backtracking breadth-first: a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q

Slimme algoritmen vervolg

Domme rekenkracht Brute force: puur rekenen Niet echt intelligent Echter: zoekruimte wordt snel te groot! 10 stappen > 2 10 1000 mogelijke sequenties 6x6 puzzel > 100 stappen > 2 100 10 30 mogelijke sequenties Kunnen we gerichter zoeken? Jan Lemeire Pag. 10 / 94

Oplossingsmethoden p. 31 Type 1: De oplossing kan berekend worden met een formule (analytisch). Type 2: Je kunt de oplossing gericht zoeken of construeren (rechttoe-rechtaan). Type 3: Je gaat alle mogelijke actiesequenties af om een oplossing te vinden. Type 4: Door slimme keuzes (heuristieken) te maken, kan je verschillende actiesequenties uitsluiten. Type 5: Je leert al doende welke de juiste keuzes zijn. Jan Lemeire Pag. 11 / 94

Gericht zoeken: greedy search p. 36 Kies actie die oplossing korter bij brengt Gebaseerd op een score Puzzel: Manhattan-afstand van stukje tot eindpositie Sommeren over alle stukjes Jan Lemeire Pag. 12 / 94

OK

stukje 2 & 3 verwisselen in beginpositie NOK in de toekomst kijken noodzakelijk Idee student Ruben Pauwels (examen juni 2016): greedy search combineren met backtracking: als je vast zit, keer je terug op je stappen en neemt het tweede-beste pad.

A-star of Best-first search: voorbeeld Robot moet weg vinden (rood -> groen) g-score = afstand vanaf start h-score = afstand tot doel Laagste scores (g-score + h-score) worden eerst bekeken http://en.wikipedia.org/wiki/a*_search_algorithm Jan Lemeire Pag. 15 / 94

A-star of Best-first search http://en.wikipedia.org/wiki/best-first_search Net als bij breadth-first houden we een lijst bij van open nodes, maar nu een priorityqueue (en niet een FIFOqueue) waarbij de elementen gesorteerd worden naargelang hun score Iteratief worden de nodes met laagste score eerst behandeld Jan Lemeire Pag. 16 / 94

public static <Zet> boolean breadthfirst astar (ZoekNode<Zet> startnode){ PriorityQueue FIFOQueue<ZoekNode<Zet>> opennodes = new FIFOQueue<ZoekNode<Zet>>(1000); PriorityQueue opennodes.add(startnode); while(!opennodes.isempty()){ ZoekNode<Zet> node = opennodes.get(); poll() } List<Zet> zetten = node.possiblemoves(); for(zet zet: zetten ){ ZoekNode<Zet> child = node.clone(); //copy!! child.move(zet); if (child.issolution()){ System.out.println("Oplossing gevonden!"); return true; } opennodes.add(child); } } return false; // geen oplossing gevonden

p. 38 Score-optimalisatie Iteratief tot oplossing: Zoekboom uitwerken tot een zekere diepte (horizon), vervolgens hoogste score selecteren Jan Lemeire Pag. 18 / 94

Score-optimalisatie Boom van 4 diep: 3 RIGHT LEFT UP 4 4 4 UP UP LEFT RIGHT 5 3 3 5 LEFT UP RIGHT UP DOWN UP DOWN UP 6 6 4 2 4 4 6 6 LEFT UP LEFT RIGHT UP RIGHT RIGHT RIGHT LEFT LEFT 5 DOWN 7 7 5 DOWN 5 3 5 5 7 7 7 5 Jan Lemeire Pag. 19 / 94

Score-optimalisatie stap 2 Boom uitwerken vanaf Met diepte 4 komen we er niet NOK Wat is noodzakelijke horizon om oplossing te bereiken? Jan Lemeire Pag. 20 / 94

Score in zoekruimte Probleem: terechtkomen in lokaal maximum Jan Lemeire Pag. 21 / 94

p. 40 Fitness landscape Biologische evolutie van soorten Fitheid: bepaald door zijn aangepastheid aan de omgeving Natuurlijke selectie Verandering bouw en het gedrag door genetische mutaties Evolutie van soorten Klimmen en sprongen door het fitness landscape elke stabiele soort op een bergtopje zit Evolutie nabootsen: genetisch algoritme Jan Lemeire Pag. 22 / 94

Genetisch algoritme Initële populatie Sommige individuën muteren Enkel de besten overleven Jan Lemeire Pag. 23 / 94

p. 41 Verdere verbeteringen puzzelalgoritme a) Leren (type 5): zie later b) puzzel rij-per-rij afwerken. Behalve de laatste twee rijen, die tegelijkertijd aanpakken Beperkte horizon OK c) Regels opstellen Type 1 probleem Jan Lemeire Pag. 24 / 94

Hoe generiek programmeren? niet te kennen, optioneel als vervangvraag

Generieke implementatie Via abstractie is het algoritme algemeen bruikbaar Code + uitleg staat op website Niet te kennen interface Node { boolean isoplossing(); List<Zet> volgendezetten(); void doezet(zet zet); void ontdoezet(zet zet); Node clone(); } interface Zet{ } Jan Lemeire Pag. 26 / 94

Uitdaging: algemene oplossing onafhankelijk van het specifieke probleem dat je wenst op te lossen! Wat moet je weten om de boom aan te maken? Je moet de mogelijke acties kennen. Met de actie kom je in een nieuwe situatie, je bereikt een nieuwe toestand. Je wilt ook weten of je de gevraagde eindsituatie bereikt hebt. Allemaal operaties op de toestand Jan Lemeire Pag. 27 / 94

Document op website Probleemspecifieke code Link tussen algoritme en probleem gegeven door interface

NP-complete problemen

NP-compleet: p. 42 traveling salesman problem Meest efficiënte volgorde om alle steden af te lopen? 15! = 1.307.674.368.000 mogelijke volgorden Jan Lemeire Pag. 30 / 94

NP-compleet Klasse van problemen Voor optimale oplossing: exponentiele zoektijd Zoekruimte = t d (t: aantal takken per node, d: diepte) je moet bijna alle mogelijkheden afgaan Er bestaan geen grote shortcuts! Jan Lemeire Pag. 31 / 94

Een goede oplossing Maar niet te bewijzen dat optimaal zie http://ai4r.rubyforge.org/geneticalgorithms.html https://www.youtube.com/watch?v=94p5nuogclm. Jan Lemeire Pag. 32 / 94

Spel

p. 43 Spel Je speelt tegen een tegenstander, hebt een aantal acties ter beschikking, speelt om beurten en er is een einddoel of eindscore bepaald. Of varianten hierop. Zero-sum game: iemand wint andere verliest Jan Lemeire Pag. 34 / 94

OXO: uitrekenbaar X begint 255.168 possible games Zonder symmetrieen: 26.830 Winst voor X: 131.184 Winst voor O: 77.904 Gelijkspel: 46.080 Jan Lemeire Pag. 35 / 94

Schaken Evaluatiefunctie (score) 1. Waarde van de stukken 2. Positie van de koning 3. Controle over het middenveld (de 4 middelste vakjes) 4. Positie van de pionnen Bijvoorbeeld, of ze aaneensluitend gepositioneerd zijn 5. Positie van de stukken bijvoorbeeld, hoeveel de bewegingsvrijheid van elk stuk Jan Lemeire Pag. 36 / 94

Zoekboom met scores Wit & zwart spelen om beurten Score te maximaliseren door wit Wat moet wit doen: links of rechts? 4 White plays 5 6 Black plays 3 4 5 6 White plays 8 7 5 6 7 6 8 9 Black plays 7 6 4 5 8 7 5 3 2 8 3 8 7 9 9 6 Jan Lemeire Pag. 37 / 94

Greedy search Wit kiest voor rechts, zwart voor links, wit voor links en zwart voor links Eindscore = 2 ( is laagste van de hele boom!) 4 White plays 5 6 Black plays 3 4 5 6 White plays 8 7 5 6 7 6 8 9 Black plays 7 6 4 5 8 7 5 3 2 8 3 8 7 9 9 6 Jan Lemeire Pag. 38 / 94

Twee zetten vooruit denken Wit kiest nog steeds voor rechts, want zwart kiest dan voor links => score van 5. Als wit voor links koos zou zwart voor links kiezen => score van 3. Zwart kiest voor links, want daar kan wit slechts 7 behalen. Vervolgens kiest wit voor rechts want zwart kan daar slechts een score van 3 behalen. 4 White plays 5 6 Black plays 3 4 5 6 White plays 8 7 5 6 7 6 8 9 Black plays 7 6 4 5 8 7 5 3 2 8 3 8 7 9 9 6 Jan Lemeire Pag. 39 / 94

p. 46 Minimax: wat doet zwart? Kiest zet die score minimaliseert White plays Enkel score van de laagste nodes is van belang!!! Black plays White plays Black plays MIN 7 6 4 5 8 7 5 3 2 8 3 8 7 9 9 6 Jan Lemeire Pag. 40 / 94

Minimax: wat doet wit? Kiest zet die score maximaliseert White plays Black plays White plays MAX Black plays MIN 6 7 6 4 7 3 2 3 7 6 4 5 8 7 5 3 2 8 3 8 7 9 9 6 Jan Lemeire Pag. 41 / 94

Minimax: zwart White plays Black plays MIN 6 White plays MAX 6 4 Black plays MIN 7 6 4 5 7 3 7 7 3 2 3 7 6 8 7 5 3 2 8 3 8 7 9 9 6 Jan Lemeire Pag. 42 / 94

Minimax: wit beslist Links geeft score 6 (met horizon van 4) 6 White plays MAX Black plays MIN White plays MAX Black plays MIN 6 7 6 6 4 4 5 6 7 8 7 7 3 5 3 2 2 8 3 3 3 8 3 7 7 9 7 6 9 6 Jan Lemeire Pag. 43 / 94

Snoeien van de boom Pruning Alfa-beta pruning: als tegenstander beschikt over een succesvolle actiesequentie => geen zin om dit deel verder te bekijken Voor sommige situaties dieper gaan Regels die hierover beslissen Jan Lemeire Pag. 44 / 94

Computer wint van Mens 1997: IBM s Deep Blue verslaat wereldkampioen Gary Kasparov Nadien enkele revanches van de mens, verschillende gelijke spelen, maar nu wordt geaccepteerd dat de computer sterker is Computerschaak Brute-force search: veel rekenen, weinig redeneren Evalueert 200 millioen posities per seconde Niet goed in strategisch denken Jan Lemeire Pag. 45 / 94

Is dit Artificiële Intelligentie? p. 47 Betwijfel het Jan Lemeire, An Alternative Approach for Playing Complex Games like Chess, Annual machine learning conference of Belgium and The Netherlands (BeneLearn 2008), Spa, Belgium 2008. zie mijn homepage Idee: opportuniteit (patronen) checken of einddoel gehaald kan worden enkel branches nagaan die relevant zijn? Gericht zoeken in boom mogelijk Jan Lemeire Pag. 46 / 94

Opportuniteit: vork Opportuniteit geslaagd Jan Lemeire Pag. 47 / 94

We bekijken enkel relevante zetten die invloed kunnen hebben (pruning) Opportuniteit: vork Opportuniteit teniet gedaan Jan Lemeire Pag. 48 / 94

Moeilijkheid: patronen We bekijken enkel relevante zetten die invloed kunnen hebben (pruning) Wat zijn de relevante zetten? Hoe herkennen we ze? Patronen definiëren/herkennen Jan Lemeire Pag. 49 / 94

Go Strategisch-tactisch bordspel waarbij mens nog steeds wint van computer Regel: als vijandelijke stukken zijn ingesloten Weg Hier: wit stukje op A plaatsen Jan Lemeire Pag. 50 / 94

16 maart 2016 AlphaGo defeats Lee Sedol 4 1 in Google DeepMind Challenge Match Jan Lemeire Pag. 51 / 94

Non-zero sum games

p. 48 Prisoner s dillema Henry & Dave beschuldigd van misdrijf Rechter roept hen apart bij zich en vraagt hen of de ander schuldig is Antwoord bepaalt straf: Henry zegt over Dave Dave zegt over Henry Jan Lemeire Pag. 53 / 94

Iterative Prisoner s dillema Samenwerken of bedriegen? Iteratief toepassen Op termijn speelt vertrouwen mee Cf vertrouwen op het internet om iets te kopen van een vreemde De basis van de speltheorie (game theory) in economie Er is een win-win situatie (samenwerking)! Jan Lemeire Pag. 54 / 94

Jan Lemeire Pag. 55 / 94

Loopgrachtenoorlog Resulteerde in bestanden tussen de soldaten van beide kanten Van akkoorden over eetpauzes tot afspraken over (ongevaarlijke) schietuurtjes om de officieren te plezieren (doen alsof er echt gevochten werd) Iterative prisoner s dilemma!! Je kan het bestand schenden en de ander bij verrassing aanvallen Maar op lange termijn heb je meer baat bij samenwerking De legerstaf moest maatregelen nemen om deze natuurlijke evolutie tegen te gaan Jan Lemeire Pag. 56 / 94

Iterative Prisoner s dillema Samenwerken of bedriegen? Wat is beste strategie? Toernooien worden gespeeld Elk duel bestaat uit 100 opeenvolgende beslissingen Winnaar: oog-om-oog, tand-om-tand Laatste zet tegenstander Volgende zet Samenwerking Verraad Verraad Samenwerking 0 1 1 0 Jan Lemeire Pag. 57 / 94

Leren

Oplossingsmethoden Type 1: De oplossing kan berekend worden met een formule (analytisch). Type 2: Je kunt de oplossing gericht zoeken of construeren (rechttoe-rechtaan). Type 3: Je gaat alle mogelijke actiesequenties af om een oplossing te vinden. Type 4: Door slimme keuzes (heuristieken) te maken, kan je verschillende actiesequenties uitsluiten. Type 5: Je leert al doende welke de juiste keuzes zijn. Jan Lemeire Pag. 59 / 94

Een computer van Google DeepMind heft zichzelf 49 spelletjes op de klassieke Atari 2600-console aangeleerd, en spelt nu even goed of beter dan een mens. Kinderspel? Allerminst. Misschien is het zelfs een doorbraak in artificiële intelligentie. De Standaard 26 februari 2015

p. 49 Leren: de theorie Te definiëren de mogelijke toestanden de mogelijke acties de beloning/straf Strategie Staat -> actie State space staat 1 staat 2 staat 3 staat 4 State space staat 1 staat 2 staat 3 staat 4 Action space actie 1 actie 2 actie 3 Action space actie 1 actie 2 actie 3 Jan Lemeire Pag. 61 / 94

Reinforcement learning Matrix van gewichten bijhouden Gewicht geeft effectiviteit van actie aan actie 1 actie 2 actie 3 staat 1 staat 2 staat 3 staat 4 4.1 3.8 6.7 12.3 1.2 15.6 8.7 10.2 0.2 2.3 8.7 1.7 Initieel: alle gewichten gelijk Exploratiefase: acties worden willekeurig gekozen Later: keuze ~ gewicht (P(actie) ~ gewicht) Exploitatiefase: actie met grootste gewicht kiezen goed om soms andere acties te kiezen, want het spel kan dynamisch veranderen Jan Lemeire Pag. 62 / 94

Reinforcement learning: update Als winst/verlies, de laatste acties belonen/afstraffen eventueel met forgetting factor : kleinere aanpassing voor oudere acties staat 2 actie 1 staat 3 actie 1 staat 1 actie 2 staat 1 actie 3 staat 4 +0.5 +1 +1.5 +2 Winst 10 Jan Lemeire Pag. 63 / 94

Iterative Prisoner s Dilemma Reinforcement learning Gebaseerd op n laatste zetten n=2: 16 mogelijkheden Gewicht voor de volgende zet aanpassen als tegenstander het omgekeerde doet Leidt dit tot een goede strategie?? Laatste zetten S/S S/V S/S S/S S/S V/V S/S V/S Als tegenstander Verraad Samenwerking Volgende zet Samenwerking Verraad 4.1 3.8 12.3 1.2 8.7 10.2 2.3 8.7...... -5% +5% +5% -5% Jan Lemeire Pag. 64 / 94

Mijn masterproef De evolutie naar coöperatie Egoistische robotjes leren samenwerken omdat het hun wederzijds voordeel oplevert (win-win) Mijn onderzoek: onder welke voorwaarden ontstaat er coöperatie? Jan Lemeire Pag. 65 / 94

Jan Lemeire Pag. 66 / 94

p. 51 Blad-steen-schaar Laatste zet bl bl bl - st bl - sc st bl st - st st - sc sc bl sc - st sc - sc blad Volgende zet steen schaar 4.1 3.8 3.6 12.3 1.2 1.8 8.7 10.2 3.4 2.3 8.7 7.8 4.1 3.8 3.6 12.3 1.2 1.8 8.7 10.2 3.4 2.3 8.7 7.8 4.1 3.8 3.6 Enkel laatste zet beschouwen: 9x3 gewichten Jan Lemeire Pag. 67 / 94

Patroon gebruiken Laatste zet winst verlies gelijk verander Volgende zet blijf random 14.1 3.8 3.6 14.3 1.2 1.8 11.7 1.2 8.4 Slechts 9 gewichten te leren Jan Lemeire Pag. 68 / 94

p. 52 Minimax: Leren van evaluatiefunctie Net zoals bij de schuifpuzzel kunnen we onmogelijk voor elke situatie de beste actie leren Wel mogelijk: Aanpassen van parameters met behulp van feedback (winst of verlies) Voorbeeld: gewichten van de score-functie, aangezien deze uit meerdere delen bestaat. Zoals evaluatiefunctie van schaken Jan Lemeire Pag. 69 / 94

Probleem: explosie van staten Stel: voor elke toestand (staat) willen we beste zet leren Schuifpuzzel: 9! mogelijke configuraties Schaken: nog groter Te veel mogelijkheden om voor elke toestand de beste actie te leren (mapping van staat op actie)! Mogelijke oplossing: abstracte regels gebruiken Als X, doe actie Y X: eigenschap van staat geldt dus voor meerdere staten! Leren van relevantie van regels (zie scorefunctie) Jan Lemeire Pag. 70 / 94

Hoofdstuk 9: Artificiële intelligentie Jan Lemeire Pag. 71 / 94

Waarmaken van Leibniz s droom (9) Artificiële intelligentie (8) Communicatie & internet (7) Operating system (6) Computatietheorie & Software (5) Efficiënt productieproces (4) Hardware architectuur Elektronica: (2) relais -schakeling, (3)geheugen (1) Digitaal & binair (0) Het idee Informatica deel III: technologie, historiek en economische aspecten

Hoofdstuk niet te kennen, enkel ter info Artificiële Intelligentie, de grote uitdaging

Is er een machine die even slim of zelfs slimmer is als de mens!?

Wanneer spreken we over intelligentie? Er is verschil tussen slimme algoritmen en intelligentie! Type A: Patronen herkennen Type B: Symbolisch = tekens die een betekenis (semantiek) hebben begrijpen is noodzakelijk voor intelligentie

AI: Type (A) toepassingen Stemherkenning Wat je zegt lukt redelijk momenteel maar herkennen wie spreekt, kan computer niet Spreken met de computer, zullen we het ooit? willen we het? Objectherkenning Vbn: security, gezichtsherkenning in facebook, verkeersbordherkenning, nummerplaatherkenning bij ingang VUB Echter moeilijk bij slecht weer, donkerte, Spel: patronen bepalen strategie/tactiek Computer = brute force, niet met gebruiken van patronen Al mooie resultaten worden behaald.

Automatische verkeersbordherkenning in de auto

INPUT OUTPUT Verkeersbordherkenning Met een neuraal netwerk (gebaseerd op hoe hersens werken) OUTPUT: Code van verkeersbord Zo n neuraal netwerk is ook de basis van deep learning, de nieuwste hype en basis van Google s intelligente systemen. De gewichten van het hele network worden geleerd, ook de diepste lagen.

Een computer van Google DeepMind heft zichzelf 49 spelletjes op de klassieke Atari 2600-console aangeleerd, en spelt nu even goed of beter dan een mens. Kinderspel? Allerminst. Misschien is het zelfs een doorbraak in artificiele intelligentie. De Standaard 26 februari 2015

AI: type (B) toepassingen Google search Ask Jeeves: je kan vragen stellen Vertalingen: hoe goed/slecht is Google Translate? Consumentenprofiel adhv historische egevens Grootwarenhuizen Facebook, google: aangepaste reclame Is dit intelligent??

Internet 3.0: het semantische web Internet 1.0: door informatie browsen Internet 2.0: interactiviteit, gebruiker die informatie uploadt Internet 3.0: een web van verbanden tussen informatie op het internet => semantische pagina s Een overzicht van alle staatshoofden van Europa kan alleen beantwoord worden als er een webpagina over bestaat. Ipv enkel informatie, ook inhoud (semantiek - betekenis) datasets combineren en er informatie uithalen Begrijpen heeft te maken met semantiek, een droom voor het volgende internet. Zijn we daar kortbij? Ik vrees van niet. Jan Lemeire Pag. 81 / 94

De uitvinder van het internet 1989: maakte de eerste webserver en browser 1999: dacht verder: Tim Berners-Lee I have a dream for the Web [in which computers] become capable of analyzing all the data on the Web the content, links, and transactions between people and computers. A Semantic Web, which should make this possible, has yet to emerge, but when it does, the dayto-day mechanisms of trade, bureaucracy and our daily lives will be handled by machines talking to machines. The intelligent agents people have touted for ages will finally materialize.

Wanneer spreken we over intelligentie? Er is een verschil tussen slimme algoritmen en intelligentie! Veel van wat we intelligent noemen is in feite slechts gebaseerd op een goed doordacht algoritme Het leeralgoritme van Google Deepmind heeft veel tijd nodig om te leren en kan de resultaten niet extrapoleren van 1 spel naar een ander. Intelligentie heeft, volgens mij, te maken met begrijpen

Wat is intelligentie? Marvin Minsky Founding father of AI Ontdekker van artificiële neurale netwerken The Society of Mind theory. Marvin Minsky 1927- Intelligentie ontstaat uit het samenvoegen van vele domme building blocks die elk iets kunnen. Het geheel is intelligent.

Wat is intelligentie? Informatie Redeneren Begrijpen Wikipedia: abstract thought, understanding, selfawareness, communication, reasoning, learning, having emotional knowledge, retaining, planning, and problem solving. Taal (noodzakelijk?) Verschil tussen slimme algoritmen en intelligentie! Er Informatica is nog 2e semester: geen HOC 6 eenduidige definitie van intelligentie! Jan Lemeire Pag. 85 / 94

Turing Test (1950) 'Can machines think? Artificiële intelligentie Kunnen we verschil maken tussen mens en computer? Computer Mens Alan Turing 1912-1954 Omdat er geen duidelijke definitie bestaat over wat intelligentie inhoudt en wij als mens prototype zijn van intelligentie, bedacht Turing een test. Door vragen te stellen tracht je te ontdekken of er achter het scherm een computer of mens bevindt. Als we geen verschil meer kunnen maken, kunnen we de computer intelligent noemen. Jan Lemeire Pag. 86 / 94

Turing test http://www.turinghub.com/ http://www.loebner.net/prizef/loebnerprize.html Je kan je intelligent programma opladen 100.000 dollar als je programma slaagt voor de Turing test http://cleverbot.com/ Communiceer je met een computer of met een mens?

Turing test for bots The idea is to evaluate how we can make game bots, which are Non-Player Characters (NPCs) controlled by AI algorithms, appear as human as possible. Unreal Tournament 2004 (results) tournament against one another and about an equal number of humans tag opponents as human or bot.

Jan Lemeire Pag. 89 / 94

1990 Piet Vroon Drie soorten hersens Instinct (Hersenstam/hypothalamus - reptielenherses) Conditionering (Limbisch systeem - zoogdierenbrein) Intelligentie (Neocortex meest recente hersens) 1 miljoen jaar geleden: evolutionaire sprong (vuur werktuigen) 50.000 jaar geleden: finale evolutionaire sprong (taal?) Geest is federatie van delen Daden gevolg van combinatie 3 hersens

Volgens mij Met een graduele verbetering van de huidige technieken komen we er niet Echte ontdekking moet nog gebeuren Hoe we informatie opslaan/verwerken/gebruiken Natuurlijke taal? Wie is het genie die dit gaat ontdekken? Mijn drijfveer om informatica te gaan doen

The myth of the magic moment Jan Lemeire Pag. 92 / 94

The myth of the magic moment Jan Lemeire Pag. 93 / 94

Conclusie voor ingenieur Er is gespecialiseerd onderzoek naar A.I. Maar meestal is engineering nog noodzakelijk Meestal zijn simpele, slimme oplossingen even goed Zware A.I.-technieken nog weinig in gebruik, nog niet voor meteen Gebruik je intelligentie en ingenioziteit om adequate oplossing te vinden Helen Greiner (2015): in de AI worden we om de 5 jaar heen en weer geslingerd tussen het idee dat de technologie op het punt staat de wereld te veroveren, en de totale teleurstelling