Informatica 2 e semester: les 7 Slimme (deel II: hoofdstuk 5) versus intelligente (deel III: hoofdstuk 9) algoritmen Jan Lemeire Informatica 2 e semester februari mei 2018 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
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. 9 / 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. 10 / 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. 11 / 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.
Slimme algoritmen vervolg
Onvolledig in cursus Best-first search 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. Dus: sorteren op score, in een lijst de open nodes bijhouden Open nodes = tot waar je gekomen bent in de verschillende takken die je al bekeken hebt PriorityQueue gebruiken: sorteert de elementen volgens score (ascending/opklimmend: laagste eerste) Implementatie = breadthfirst, maar dan PriorityQueue ipv FIFOQueue Jan Lemeire Pag. 15 / 94
Code breadth-first => best-first niet in cursus public static <Zet> boolean breadthfirst bestfirst (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
A-star: voorbeeld Foutief in cursus Robot moet weg vinden (rood -> groen) g-score = afstand vanaf start h-score = afstand tot doel Staat niet vermeld Laagste scores (g-score + h-score) worden eerst bekeken: hierop sorteren met PriorityQueue Alles is hetzelfde als best-first, enkel dat g-score wordt toegevoegd Staat niet vermeld http://en.wikipedia.org/wiki/a*_search_algorithm
A-star 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. 18 / 94
Code breadth-first => astar 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 Stapje zetten en opnieuw de zoekboom uitwerken tot de horizon (dus 1 stapje verder) Jan Lemeire Pag. 20 / 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. 21 / 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. 22 / 94
Score in zoekruimte Probleem: terechtkomen in lokaal maximum Jan Lemeire Pag. 23 / 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. 24 / 94
Genetisch algoritme Initële populatie Sommige individuën muteren Enkel de besten overleven Jan Lemeire Pag. 25 / 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. 26 / 94
Hoe generiek programmeren? niet te kennen, optioneel als vervangvraag
Generieke implementatie Via abstractie is het algoritme algemeen bruikbaar Code + uitleg staat op website Java package zoeken Niet te kennen Optioneel: als vervangvraag (in de plaats van een andere vraag) interface Node { boolean isoplossing(); List<Zet> volgendezetten(); void doezet(zet zet); void ontdoezet(zet zet); Node clone(); } interface Zet{ } Jan Lemeire Pag. 28 / 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. 29 / 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. 32 / 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 wil je zeker zijn de beste oplossing te vinden. Er bestaan geen grote shortcuts! Jan Lemeire Pag. 33 / 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. 34 / 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. 36 / 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. 37 / 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. 38 / 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. 39 / 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. 40 / 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. 41 / 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. 42 / 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. 43 / 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. 44 / 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. 45 / 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. 46 / 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. 47 / 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. 48 / 94
Opportuniteit: vork Opportuniteit geslaagd Jan Lemeire Pag. 49 / 94
We bekijken enkel relevante zetten die invloed kunnen hebben (pruning) Opportuniteit: vork Opportuniteit teniet gedaan Jan Lemeire Pag. 50 / 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. 51 / 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. 52 / 94
16 maart 2016 AlphaGo defeats Lee Sedol 4 1 in Google DeepMind Challenge Match Jan Lemeire Pag. 53 / 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. 55 / 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. 56 / 94
Jan Lemeire Pag. 57 / 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. 58 / 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. 59 / 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. 61 / 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. 63 / 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. 64 / 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. 65 / 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. 66 / 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. 67 / 94
Jan Lemeire Pag. 68 / 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. 69 / 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. 70 / 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. 71 / 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. 72 / 94
Hoofdstuk 9: Artificiële intelligentie Jan Lemeire Pag. 73 / 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
Artificiële Intelligentie, de grote uitdaging
Is er een machine die even slim of zelfs slimmer is als de mens!? Volgende vragen kunnen beantwoorden: Wat is volgens u intelligentie? Is de huidige computer al intelligent? Al goed op weg? En in de toekomst?
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. Maar robots kunnen nog niet voetballen ofzo
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 gegevens Grootwarenhuizen Facebook, google: aangepaste reclama Recent: gebruik in USA om politieke voorkeur te beïnvloeden Is dit intelligent??
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? 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 is nog geen eenduidige definitie van intelligentie! Jan Lemeire Pag. 87 / 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. 88 / 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. 91 / 94
1990 Piet Vroon (professor pshycholigie ugent) Drie soorten hersens Instinct (Hersenstam/hypothalamus - reptielenherses) Conditionering (Limbisch systeem - zoogdierenbrein) Intelligentie (Neocortex meest recente hersens) Evolutie van de mens 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
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