Vetenskapsmetodik för teknikområdet CT3620 5p B-nivå Finns det intelligenta datorer? Henrik Berglund FKVIDt [email protected] Per Eriksson FKVIDt [email protected] 1 2003-10-09 SAMMANFATTNING Denna rapport försöker utreda om det finns intelligenta datorer. För att göra det har vi även tittat på vad som egentligen menas med intelligens, och hur man går till väga för att undersöka om en dator kan räknas som intelligent. Vi tar även upp vissa exempel på intelligenta datorer eller datorprogram. Vi undersöker om dessa verkligen kan kallas intelligenta. Utvecklingen har kommit en bra bit på vägen mot intelligenta datorer. Dock är de inte ens i närheten av att vara lika intelligenta som oss människor. Den intelligens de besitter är ofta mycket logiskt-matematisk inriktad. De intelligenta datorer som finns i dagens läge är mer eller mindre bara gjorda för att ge resultat som liknar de resultat eller slutsatser en människa skulle dra av liknande in-data. En stor skillnad mellan människors sätt att tänka och datorers sätt att ”tänka” är att vi människor inte verkar kunna klara av så många beräkningar per sekund som en dator. Men vi tar igen detta på att vi har intuition och en mycket stor databas som innehåller vår erfarenhet, det vill säga allt vi lärt oss under den tid vi existerat. Innehållsförteckning SAMMANFATTNING .............................................................................................................. 2 INLEDNING .............................................................................................................................. 2 Finns det intelligenta datorer? .................................................................................................... 4 Vad menas med intelligens? .................................................................................................. 4 Test av intelligens .................................................................................................................. 4 Intelligenta datorer ................................................................................................................. 5 Användning av intelligenta datorer eller datorprogram ......................................................... 6 SLUTSATSER ........................................................................................................................... 7 REFERENSER ........................................................................................................................... 7 INLEDNING Vi (Henrik Berglund och Per Eriksson) skriver denna rapport som ett moment i kursen Vetenskapsmetodik för teknikområdet. Vi valde ämnet ”Finns det intelligenta datorer?” eftersom detta verkade intressant och lärorikt att skriva om. Dessutom antog vi att vi i detta ämne skulle hitta många bra vetenskapliga källor rörande artificiell intelligens, Turingtest och andra saker som kan tänkas ha något med rubriken att göra. Redan innan det fanns datorer hade man börjat tänka på schack som något sorts mått på hur intelligent en person eller maskin är. Vid Maria Theresas hov i Österiken-Ungern uppvisades år 1770 en klockdriven maskin av trä som flyttade pjäserna med en mekanisk arm. Denna maskin kallades Turk på grund av dess exotiska klädsel. Maskinen var en bluff. En människa satt i maskinen och styrde den. Dock var det många som ansåg att dess stora schacktalang var ett tecken på dess stora intelligens. Denna tanke att schack kunde vara ett mått på en maskins intelligens återupplivades 1950 när de första datorerna började dyka upp. Vid detta årtal skapades den första schackspelande datorn. I och med att denna schackdator skapades ansåg många forskare inom området artificiell intelligens att ett stort steg mot en generell teori om intelligenta maskiner var taget. De ansåg att problemet var väldefinierat och att det lätt gick att se om eller hur intelligent en maskin var genom att låta den spela några parti schack mot en människa. 2 Fram till 1997 hade tekniken utvecklats så pass mycket att en dator (Deep Blue) slog den dåvarande schackmästaren Garry Kasparov. Emellertid uppnåddes inte detta resultat genom att datorn härmade den mycket komplicerade tankeprocessen hos en människa utan istället använde den sig av tanklösa matematiska beräkningar (datorn undersöker alla tänkbara kombinationer av drag i extremt många nivåer). Om man använder tillräckligt många processorer så blir problemet trivialt. Eller som Kasparov sa efter matchen: Kvantitet har blivit kvalitet. Fortfarande finns det de som tror att schack visar att vissa datorer är intelligenta. De menar att om det händer igen att en dator slår en människa i schack så kan vi människor snart bli utkonkurrerade av maskiner. Då är inte maskinerna enbart bättre än oss människor på fysiskt arbete utan också smartare. [Economist2003] Vi får se vad som händer den elfte november i år då Garry Kasparov än en gång skall möta en avancerad schackdator vid namn X3D Fritz. [x3dchess, 2003-10-09] Andra menar att det inte är maskinerna som är intelligenta utan att det är programmerarna som är intelligenta. Enligt deras synsätt var det i grunden faktisk ett antal programmerare och schackexperter som slog Kasparov med en dator som ställföreträdare. I denna rapport kommer vi att försöka reda ut vilken av dessa föreställningar som kan stämma. Är datorer intelligenta eller sitter det en människa och styr dess reaktioner (som var fallet med Turk) även i dag, fast bara på ett mera avancerat sätt? Kan man med logik och massor med beräkningskraft förutse och kontra en schackmästares alla drag innan han ännu gjort dem. 3 Finns det intelligenta datorer? I denna del utreder vi vad som menas med intelligens och när vi väl kommit underfund med detta undersöker vi om det finns något man kan kalla intelligenta datorer. Vad menas med intelligens? För att svara på frågan om det finns intelligenta datorer måste man först utreda vad som menas med intelligens. Detta är inte så lätt som man kan tro. Med intelligens kan man mena förmåga att förstå, en kunskap man redan besitter i form av en begåvning eller egenskaper hos en människa osv. En person som försökt att definiera vad intelligens verkligen innebär är Howard Garner. Enligt Garners teori finns det en mängd olika intelligenser. Han delar upp intelligens på dessa olika grupper: Logisk-matematisk intelligens, det som vi normalt kallar intelligens Miljöintelligens, bra på att se mönster där andra ser oreda. Lingvistisk intelligens, lätt att lära sig språk. Spatial intelligens, bra på att teckna och hitta i rummet. Musikal intelligens, bra på att spela instrument. Kinetisk intelligens, bra på att uppfatta och räkna ut rörelser och utföra rörelser. Intrapersonlig intelligens, förmåga att uppfatta en persons eller sitt eget sinnestillstånd Interpersonlig intelligens, bra på att påverka andra människor. Av dessa är det huvudsakligen Logisk-matematisk intelligens som man verkar inriktar sig på vad gäller artificiell intelligens. Dock finns det undantag då man inom robotologin sysslar med saker som kanske kan kallas Kinetisk intelligens. Det kan till exempel vara en robot som kan fånga en boll som kastas mot den eller liknanden system som redan finns. [Bringsjord2003] De fundamentala aspekterna av intelligent kognitivt beteende är att en intelligent varelse skall kunna använda sig av sina erfarenheter och kunna resonera med utgångspunkt från vad denna varelse har lärt sig. [Valiant2003] Test av intelligens För människor finns det som kanske alla vet något som kallas IQ-test. Dessa test är gjorda för att testa den Logisk-matematisk intelligensen. De består ofta av matematiska och logiska figurer där man skall dra någon slags slutsats. Dock kan man säga att IQ-test inte mäter annat än hur bra man är på att klara IQ-test, inte intelligens egentligen. Turingtest är ett test som används för att avgöra intelligensen hos datorprogram. Detta test undersöker om datorn kan svara som en människa normalt gör utan att det går att se att det är en dator som utför det hela. Eftersom människan sägs vara intelligent så kan ju datorn också besitta någon grad av intelligens, då den kan utföra hela denna uppgift självständigt. Detta test 4 tar alltså ingen som helst hänsyn till hur datorn kommer fram till resultatet, hur den tänker, utan testet undersöker enbart resultatet. [Feigenbaum2003] Det går redan idag att göra datorprogram som verkar mer eller mindre intelligenta, som exempel på detta kan nämnas SJ:s bokningssystem som består av ett expertsystem med talsyntes och talförståelse. Ett annat kanske välkänt program är ”Eliza”. Eliza är ett program som man kan skriva frågor till och programmet formulerar ett svar rent grammatiskt som i vissa fall kan få det att verka som om det är en intelligent varelse i andra ändan. Intelligenta datorer När folk i allmänhet hör talas om intelligenta datorer börjar de kanske tänka på den tävling som hölls mellan en specialiserad dator och världsmästaren i schack Garry Kasparov. Deep Blue är en dator som har specialiserats på att spela schack. Deep Blue fungerar i stort som en helt vanlig dator. Dock har den flera processorer och därmed större beräkningskraft än vanliga PC-datorer. Deep Blue kan inte lära sig saker själv, medan den mänskliga schackspelaren använder sig av sin mycket stora erfarenhet och kunskap av att spela schack. Ibland kan man även säga att den mänskliga spelaren även kan använda sig av intuition. Datorn däremot har inte så mycket erfarenhet av att spela schack. Den vet bara hur man kan flytta pjäserna och har tillgång till en hel del gammal schackställningar och de drag som följde. Den största tillgången datorn har är att medan Kasparov endast kan testa högst tre drag i sekunden kan Deep Blue testa 200 miljoner drag per sekund. [IBM research, 2003-10-07] Det verkar som att alla datorer med artificiell intelligens är inriktade till ett mycket begränsat område, och bara begränsade till en viss sorts intelligens. “Deep Blue is, as it stands today, is not a "learning system." It is therefore not capable of utilizing artificial intelligence to either learn from its opponent or "think" about the current position of the chessboard.”[IBM research, 2003-10-07] Deep Blue kan därför kanske inte kallas “smart” då den inte kan lära sig av sina misstag. Deep Blue arbetar bara som en vanlig dator på ett matematiskt problem. I detta fall är problemet hur man flyttar dessa pjäser på schackbordet på bästa sätt så att man vinner matchen. Det finns dock andra exempel på datorer som kan sägas vara intelligenta, datorn kan lära sig av sina misstag eller lära sig hur något fungerar och sen kunna resonera utifrån detta. Vissa datorer med artificiell intelligens kan alltså samla in en massa information och sen undersöka denna och med den skapa slutsatser. [Valiant2003] För att det skall gå att säga att en dator har riktig intelligens måste datorn nog som i många olika sciencefictionberättelser känna till att den existerar, på ett filosofiskt sätt och vad allt detta innebär. cogito, ergo sum 5 Användning av intelligenta datorer eller datorprogram Ett område som använder sig flitigt av mer eller mindre intelligenta program är datorspel. I stort sätt alla spel har någon form av artificiell intelligens som till exempel styr de motståndare som finns i spelen. I början var programmen inte särskilt intelligenta. Motståndarna i de flesta spelen rörde sig i en slumpad riktning eller i en förutbestämd riktning och reagerade på ett visst sätt om spelaren kom i närheten. Redan i ett gammalt spel som Pacman fanns det ett visst ”intelligent” beteende. De olika motståndarna hade olika beteende i förhållande till vad spelaren befann sig och gjorde. Nu för tiden kommer det allt mera intelligenta datormotståndare då dessa i viss mån är till för att ersätta mänskliga motståndare när dessa inte finns tillgängliga. Detta gör att det läggs en hel del resurser på utveckling av denna AI. Den utvecklas hela tiden från att i början varit mycket dum och använt sig av andra trick för att göra det svårare för datorspelaren. Bland annat genom att datorn får olika fördelar i spelet eller att datorn kan styra flera olika motståndare. Nu börjar det komma spel som har AI styrda motståndare som kan samarbeta sinsemellan och lägga upp strategier som fungerar bäst beroende på vad den mänskliga spelaren har för sig. Ett annat användningsområde för dessa intelligenta program är inom robotologin. Robotarna skall kunna arbeta så självständigt som möjligt. Om det uppstår något oväntat så skall det inte göra att tillverkningen avbryts eller att en produkt blir defekt. Då utforskning av rymden till exempel andra planeter är riskabelt är det en fördel att skicka robotar av olika slag. Då det blir svårare att styra dessa eller till och med omöjligt ju längre från jorden man skickar dem. Det kommer då krävas att dessa robotar utforskar planeten och tar egna beslut. [Barrett, 2003-10-09] Artificiell intelligens används också i diverse produkter. En av dessa är i avancerade nätverkskomponenter så som switchar. Det blir allt vanligare att dessa kan analysera trafiken och eventuellt fördela resurserna och påpeka om det behövs ändringar eller uppgraderingar av nätverket. [Eslambolchi2003] 6 SLUTSATSER Vi drar slutsatsen att det ännu inte finns några datorer som skulle kunna tänkas vara intelligenta med våra mått. Dock har utvecklingen kommit en bra bit på vägen. Det finns redan i dag datorer som passerat ett Turingtest och kan anses ha en intelligens motsvarande vissa djur eller mindre barn vad gäller logiskt tänkande. När man sen begränsar uppgiften till att som expertsystem enbart inrikta sig på en viss begränsad funktion, kan datorer i vissa fall ge bättre resultat än den intelligentaste människan just på denna uppgift. Som ett exempel på detta kan eventuellt Deep Blue räknas, fast den inte kan utvecklas med tiden och dra slutsatser och lära sig av sina eller motståndarens misstag. De fundamentala aspekterna av intelligent kognitivt beteende är att en intelligent varelse skall kunna lära sig genom erfarenhet och dessutom kunna resonera med utgångspunkt från vad denna varelse har lärt sig. Det finns i dag AI-program som i viss mån kan göra just detta. Dock så verkar alla datorer med artificiell intelligens vara inriktade till ett mycket begränsat område och bara begränsade till en viss sorts intelligens. I de flesta fall verkar det som om det fortfarande är människan som liksom i fallet med Turk på ett eller annat sätt sitter bakom kulisserna och styr vad dessa så kallade intelligenta datorer skall göra.REFERENSER Artiklar: [Feigenbaum2003] Edward Feigenbaum, ”Some Challenges And Grand Challenges For Computational Intelligence”, Journal of the ACM, Volume 50, Issue 1 [Bringsjord2003] Selmer Bringsjord, ”Robotic Intelligence Measures Up”, The Futurist, janfeb 2003 [Eslambolchi2003] Hossein Eslambolchi, ”Reasons for optimism”, IEEE Communications Magazine March 2003 [Economist2003] The Economist ”Not so smart; Computers and chess” feb 2003, Volume 366, Issue 8309 [Valiant2003] Leslie G. Valiant ”Three Problems in Computer Science”, Journal of the ACM, Volume 50, Issue 1jan 2003 Internet: [Barrett, 2003-10-09] Anthony Barrett, ”Autonomy architectures for a constellation of spacecraft”, Jet Propulsion Laboratory, California Institute of Technology <http://www-aig.jpl.nasa.gov/public/planning/papers/isairas99-constellation.pdf> [x3dchess, 2003-10-09] <http://www.x3dchess.com/news/espnannounce.htm> [IBM research, 2003-10-07] <http://www.research.ibm.com/deepblue/> 7