Kunstmatige Intelligentie Informatica en Informatiekunde Definitie Kunstmatige Intelligentie • Kunstmatige intelligentie (KI) of artificiële intelligentie (AI) is de wetenschap die zich bezighoudt met het creëren van een artefact dat een vorm van intelligentie vertoont • Maar wat is nu intelligentie? Informatica en Informatiekunde Definitie Intelligentie • Spearman – Brits pyscholoog – 1923 – Intellectueel functioneren bestaat uit een algemene intelligentie plus specifieke intelligenties voor verschillende mentale taken Informatica en Informatiekunde Definitie intelligentie (2) • Wechsler – Amerikaans psycholoog – 1939 – Wechsler Adult Intelligence Scale – Intelligentie is het vermogen doelgericht te handelen, rationeel te denken en effectief met de omgeving om te gaan Informatica en Informatiekunde Definitie intelligentie (3) • III studenten – 2009 – … Informatica en Informatiekunde Tijdsaspect? • Verandert intelligentie met de tijd? • Noem een paar voorbeelden van wat ‘vroeger’ intelligent was en nu niet meer Informatica en Informatiekunde Voetballen of schaken? • Welke sport vergt meer intelligentie? • In welke sport zijn computers beter? Informatica en Informatiekunde Deep(er) Blue • 1996: 1-2-3 • 1997: 2-3-1 • Speciale hardware en software met een IBM RS/6000 SP2 • 200 miljoen zetten per seconde • Kasparov claimt dat mensen de computer hebben geholpen op grond van ‘menselijke zetten’ Informatica en Informatiekunde Deep Blue in 1770: The Turk • Mechanische schaakmachine van Wolfgang von Kempelen • Opvallend: – Mensen geloofden dat het mogelijk was om een schaakmachine te maken! Informatica en Informatiekunde Kunnen computers denken? • Is er een wezenlijk verschil tussen wat wij mensen kunnen en wat machines kunnen ? • Kunnen machines intelligent zijn ? • Hoe zou je dit kunnen testen/meten ? Informatica en Informatiekunde Turingtest • Turing • 1936 • Een machine is intelligent als deze niet te onderscheiden is van een mens in een geschreven vraag en antwoord sessie Informatica en Informatiekunde Turingtest (2) Informatica en Informatiekunde Turingtest (3) Informatica en Informatiekunde Turingtest (4) Informatica en Informatiekunde Turingtest (5) • Omgekeerde Turingtest – Laat een mens aantonen dat hij geen computer is Informatica en Informatiekunde Chinese Room experiment • Searle • 1980 • Is een computer die vragen in het Chinees interpreteert en vervolgens antwoorden genereert die zo goed zijn dat hij een (Chinese) Turingtest doorstaat intelligent? • En wat als de computer door een persoon met handboeken wordt vervangen? Informatica en Informatiekunde Chinese Room experiment (2) Informatica en Informatiekunde Chines Room experiment (3) • Als de taak niet begrepen wordt, kan het systeem niet intelligent worden genoemd… Informatica en Informatiekunde KI en programmeertalen • Van oudsher gebruikt voor KI • LISP – Functionele programmeertaal – Op lijsten gebaseerd • PROLOG – Logische programmeertaal – Op predikaatlogica gebaseerd – Recursief zoeksysteem – Unificatie – Backtracking Informatica en Informatiekunde PROLOG voorbeeld • Predikaten als database • U:?- likes(george, kate) • likes(george, kate). • P: yes • likes(george, susie). • U:?- likes(kate, susie) • likes(george, wine). • P: yes • likes(susie, wine). • U:?- likes(george, X) • likes(kate, gin). • P: X=kate • likes(kate, susie). • U: ; • P: X = susie • U: ; • P: X=wine • U: ; • P: no Informatica en Informatiekunde 2 3x3 paardenprobleem in PROLOG 1 2 3 4 5 6 7 8 9 • Is er een pad van geldige paardensprongen van veld 1 naar 3? Informatica en Informatiekunde 2 3x3 paardenprobleem in PROLOG (2) • Specificeer de geldige zetten • move(1,6). move(1,8). move(2,7). move(2,9). • move(3,4). move(3,8). move(4,3). move(4,9). • move(6,7). move(6,1). move(7,6). move(7,2). • move(8,3). move(8,1). move(9,4). move(9,2). • Specificeer paden • path(Z,Z,L). • path(X,Y,L):- move(X,Z), not(member(Z,L)), path(Z,Y,[Z|L]) • member(X,[X|T]). • member(X,[X|T]):- member(X,T). Informatica en Informatiekunde 2 3x3 paardenprobleem in PROLOG (2) • Is er een pad met geldige paardensprongen van veld 1 naar 3? • U: ?-path(1,3[1]). • Welk pad wordt door dit programma gevonden? Informatica en Informatiekunde 2 Vragen? Informatica en Informatiekunde 2