Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
I AM THAT I AM eller Automated Mathematician Skrivet av: Emil Palm, KogVet 2 Fördjupningsarbete i AI, HKGBBO Emil Palm [email protected] AM – Automated Mathematician Artificiell Intelligens, HKGBB0 Abstract Denna fördjupning skall jag beskriva AM eller Automated Mathematician. AM var ett program skrivet i programspråket LISP och det tog fram, för programmet i sig, nya matematiska regler utifrån 243 heuristiker. Heuristikerna och hjälpsystem som frames, best-first och hillclimbing avgjorde vilka nya regler som skulle tas fram. Programmet skapades i mitten på 1970-talet av Douglas Lenat. Det kom fram till saker såsom primtal, primpar och andra visserligen inte nya men väl så avancerade begrepp. Jag kommer även att ta upp mina åsikter och tankar om AI samt ge min blick framåt inom detta område. 2/13 Emil Palm [email protected] AM – Automatic Mathematician Artificiell Intelligens, HKGBB0 Innehållsförteckning Inledning....................................................................................................................... 4 Douglas Lenat .......................................................................................................... 5 Maskininlärning......................................................................................................... 5 AM................................................................................................................................ 6 Best-first-sökning ...................................................................................................... 6 Greedy-best-first ................................................................................................... 6 A* .......................................................................................................................... 6 Frames ..................................................................................................................... 7 Agenda ..................................................................................................................... 7 Heuristikerna ................................................................................................................ 7 Loopen ......................................................................................................................... 8 Arbetssätt ................................................................................................................. 8 Frame-exempel......................................................................................................... 9 Resultatet ................................................................................................................... 10 Körningar ................................................................................................................ 10 Varför?.................................................................................................................... 10 Eurisko ....................................................................................................................... 11 Slutsats ...................................................................................................................... 11 Framtiden ................................................................................................................... 12 Referenser ................................................................................................................. 13 3/13 Emil Palm [email protected] AM – Automated Mathematician Artificiell Intelligens, HKGBB0 Inledning Programmet AM skapades på 1970-talet av Douglas Lenat och blev förutom Lenats doktorsavhandling också ett starkt bidrag till den då relativt unga vetenskapen AI. Programmet har från början 78 matematiska regler. Dessa behandlas och kombineras ihop med en mängd olika heuristiker. Resultaten läggs till i kunskapsbasen som nya regler och sedan börjar programmet om med en ny behandling av fakta. På detta sätt skulle programmet dels komma fram till (för programmet) nya matematiska begrepp men även kunna fortsätta och omforma dessa nya och möjligen komma fram till nya begrepp för mänskligheten. 6 Det som delvis gjorde detta möjligt var att programmet var skrivet i programspråket LISP, ett språk som grundar sig på mängdlära. Detta fungerar bra mot matematiska formler och gör att det enkelt går att omforma och bearbeta regler och funktioner samt att skriva nya automatiskt. Detta var inget som Lenat tänkte på innan utan var något som kom fram först när man började utvärdera programmet.10 För att komma fram till nya begrepp använder sig programmet av något som jag själv tycker är intressant. Till exempel så kan det ta två regler och se om det går att generalisera/specificera dessa på något sett. Går det så kan det skriva en ny regel av resultatet. Detta kan naturligtvis göras på näst intill oändligt många sätt så att endast använda en vanlig bredden/djupet först sökning där man tar alla möjligheter i ordning är att ses som ohanterligt. Till sin hjälp har då programmet dels en mängd (243 stycken) heuristiker som skall föreslå beräkningar. Sedan har det också ett antal system för att klassificera de olika vägar programmet kan gå efter hur intressanta de är. 6 4/13 Emil Palm [email protected] AM – Automatic Mathematician Artificiell Intelligens, HKGBB0 Douglas Lenat Douglas Lenat föddes i Philadelphia, USA 1950. Han intresserade sig för vetenskap tidigt och läste redan i sjätte klass i Isaac Asimovs böcker om fysik och biologi. Han började på University of Pennsylvania år 1968 och hade då redan varit med bland finalisterna i en internationell vetenskapsmässa då han beskrev det n:te primtalet. Han började i en AI-kurs för John W. Carr 1971 och det var här hans intresse för AI sprang upp. 7 Han ansåg att forskningen fortfarande var ung och många inte riktigt visste vad det handlade om. Han skrev AM 1976 och det blev också hans doktorsavhandling. 1977 fick han priset ”The IJCAI Computers & Thought Award”. Han började därefter på projektet Eurisko och sitter nu som verkställande direktör för företaget Cycorp. Detta företag är enligt egen utsago en av de ledande leverantörerna av ”formalized common sense”. 8 Maskininlärning Maskininlärning som vetenskap anses ha sin början på 50-talet och har sedan dess utvecklats till att vara ett begrepp för olika former av densamma. Det finns en mängd olika typer och tillvägagångssätt för maskininlärning. Exempel på dessa är till exempel: beslutsträd av typen top-down/bottom-up, klustring, neurala nät, induktiv programmering och case-based reasoning. Det som är det största problemet med maskininlärning är sållningen av relevanta data. Till detta behövs heuristiker. 9 5/13 Emil Palm [email protected] AM – Automated Mathematician Artificiell Intelligens, HKGBB0 AM Lenats doktorsavhandling hette som sagt AM och står för automated mathematician. Här följer korta beskrivningar av vissa av de olika system som AM använde för att utföra de operationer som den gjorde. Best-first-sökning Det som best-first-sökning grundar sig på är att programmet hela tiden tar det steget som ger den billigaste vägen fram till målet. Detta är naturligtvis bara möjligt att göra om programmet i sig har någon uppfattning om hur långt det är kvar till målet. Det finns olika versioner på denna sökning som är olika uppbyggda. Här följer två exempel men det finns flera än dessa. Bland annat sådana som är specialiserade på att dra ner minnesåtgång. Greedy-best-first Greedy-best-first tar hela tiden det steget som tar den så nära målet som möjligt. Varje steg har en uppskattning om hur nära målet det är. Det fungerar i vissa situationer men den kan få problem i olika sammanhang. Tänk till exempel att den tar ett stort steg i en riktning och detta steg visar sig leda till målet via flera sidospår, medan ett kortare första steg skulle ha ett andra steg som kom direkt till målet. Detta gör att den skulle få en högre totalkostnad. Det kan även vara så att den kommer in i en återvändsgränd där alla steg den kan ta skulle leda den längre bort från målet och i detta fall skulle sökningen kollapsa. 5 A* Det som skiljer A* och greedy-best-first-sökning är att A* dels jobbar med att alla punkter på vägen har en uppskattad totalkostnad till målet, dels med att varje steg har en kostnad i sig. Den tar då och lägger ihop stegkostnaden med den uppskattade kostnaden som är kvar för att nå målet. Detta gör att om den skulle ställas inför samma problem som greedy-best-first-sökningen i exemplet ovan så skulle den veta att det längre förstasteget hade en större totalkostnad än det kortare förstasteget. Den skulle då välja det kortare steget och på så sätt också alltid komma fram till målet. 5 6/13 Emil Palm [email protected] AM – Automatic Mathematician Artificiell Intelligens, HKGBB0 Frames Framessystemet bygger på attribut-värde-matriser. Varje objekt som AM jobbar med kan ses som en nod i ett nät. Varje nod har en specifik relation till en annan nod och dessa relationer skrivs in som attribut till varje nod. De regler som finns från början och de som AM själv kommer fram till representeras då som frames. Varje frame har ett värde som anger hur pass intressant det är för programmet att utveckla. 6 Agenda Agendan liknar frames i mångt och mycket. Agendan jobbar också med att intressebestämma olika handlingar men då på ett mer explicit sätt. Varje handling beskrivs med två argument. Det ena pekar på alla anledningar som talar för att utföra just denna handling. Det andra argumentet pekar på hur mycket nytta denna handling kommer att ha i just detta fall. Alla handlingar som kan göras vid ett tillfälle uppskattas och läggs i en stack. AM kan sedan se vilken av dem som har det högsta värdet och kan då välja att utföra denna. Detta skiljer programmet från andra liknande system eftersom AM hela tiden väljer en operation att utföra och inte alla i stacken. 10 Heuristikerna AM hade 243 stycken heuristiker som den kombinerade och som varje loopvarv föreslog en mängd olika operationer. Det var dessa operationer som sedan hjälpsystemen klassificerade efter hur intressanta de var. Varje operation fick ett intressevärde mellan noll och tusen där tusen är det mest intressanta. Ovanför dessa heuristiker fanns heuristiker för att bestämma vilka heuristiker som skulle användas och kombineras. Dessa kallades för metaheuristiker. 3 Alla heuristiker i AM följde samma mönster, de hade ett högerled som var en premiss och ett vänsterled som var ett resultat. Resultatet bestod då av en mängd handlingar som kunde utföras om premissen var sann. Dessa var generellt skrivna och detta för att det dels skulle kunna gå att använda dem vid flera tillfällen, dels för att ett av skälen till AM var att visa att man skulle kunna få maskiner att lära sig något nytt med relativt få heuristiker. 6 7/13 Emil Palm [email protected] AM – Automated Mathematician Artificiell Intelligens, HKGBB0 Loopen Här nedan tänkte jag beskriva ett tänkt exempels väg genom den loop som AM jobbade med. Låt oss ta en av de större ”upptäckterna” för AM: primtal. Arbetssätt Hur kom då programmet fram till regeln för primtal? Jo, en väg som den kunde ta var att den tillexempel tog divisionsregeln och körde den på tal från kanske ett till 100. Den hittade då tal som kunde delas med endast två tal och att det var relativt få av dessa i förhållande till antalet tal. Det skapade då en definition på dessa regelbundenheter och jobbade sedan vidare på definitionen och skapade generaliseringar/specificeringar på denna. En annan väg som programmet skulle kunna ha gått är multiplikation. Genom att successivt multiplicera varje tal från ett till 100 med varje annat tal i samma serie skulle vissa tal inte dyka upp och dessa ”luckor” skulle vara det mönster som programmet skulle spinna vidare på. Det slutgiltiga intressevärdet som operationen ges beror helt på vad heuristikerna tycker är viktigt. På detta sätt jobbade sig programmet fram och kombinerade olika regler med varandra, letade efter mönster och kontrollerade mot heuristikerna hur pass intressant operationen var. Detta var i alla fall hur programmet var tänkt att fungera i teorin. Det var också ”bara i teorin” som Lenat själv trodde att det skulle fungera, man skrev nämligen nästan alla heuristiker innan man började programmera och visste på så vis inte ens om det överhuvudtaget var möjligt för programmet att klara stegen att gå från en teori till en annan. 3 8/13 Emil Palm [email protected] AM – Automatic Mathematician Artificiell Intelligens, HKGBB0 Frame-exempel Här följer en beskrivning av primtal såsom det såg ut efter AM upptäckte det. Man kan se detta som ett exempel på en frame, här är den dock skriven med pseudokod. I denna går det att läsa att definitionen på primtal är ett tal som endast kan delas med två tal. Alla tal som stämmer in på det är primtal. I förlängningen så betyder detta att de två talen är talet i sig själv och talet ett. Detta är dock inte nödvändigt att specificera då det inte finns något helt tal som inte är delbart med sig självt eller ett. Det går också att läsa att en generalisering är tal delbart med ett jämnt antal tal. Specificering skulle ge t.ex. Goldbachs teorem. Sedan står det lite info om vidare utveckling inom området och slutligen ett intressevärde för operationen. Name: Prime Numbers Definitions: Origin: Predicate-calculus: Iterative: Examples: Boundary: Boundary-failures: Failures: Generalizations: Specializations: Conjectures: Analogies: Interest: Number-of-divisors-of(x) = 2 (for x > 1): For i from 2 to sqrt(x), ~(i | x) 2, 3, 5, 7, 11, 13, 17 2, 3 0, 1 12 Nos. Nos. with an even no. of divisors, Nos. with a prime no. of divisors Odd Primes Prime Pairs Prime Uniquely-addables Unique factorization Goldbach's conjecture Extremes of Number-of-divisors-of Maximally divisible numbers are converse extremes of Number-of-divisors-of Factor a nonsimple group in simple groups Conjectures associating Primes with TIMES and with Divisors-of Worth: 800 6 9/13 Emil Palm [email protected] AM – Automated Mathematician Artificiell Intelligens, HKGBB0 Resultatet Vad blev det då för resultat? AM upptäckte verkligen nya matematiska regler som den inte blivit inprogrammerad att veta om från början. De flesta av dessa var visserligen triviala och gav kanske ingen större uppmärksamhet. Vid vissa tillfällen trodde man dock att den kommit på något nytt och revolutionerande. Denna glädje varade dock inte så länge då det i alla fall visade sig att dessa resultat redan fanns bevisade tidigare. Det som dock var imponerande var att de som kommit på dessa bevis ansågs vara genier i många fall och oftast hade jobbat väldigt länge med att få fram bevisen. Bevis som AM spottade ur sig i samma takt som de mer grundläggande. 12 Körningar Under den tid som programmet kördes så formade det flera hundra koncept och dessa var alla genomförbara matematiska beräkningar och begrepp. Det upptäckte även regler för primtal (tal som bara är jämt delbara med sig själv och ett) samt Goldbach’s teorem (alla heltal över fem kan uttryckas som summan av tre primtal, dessutom att alla jämna heltal över fyra kan uttryckas som summan av två primtal.) Efter en tid i en körning uppvisade AM så kallad ”intellektuell utmattning”. Agendan innehöll då endast förslag på handlingar som alla hade intressevärde på 200 och lägre och efter det så stängde AM ner sig. De stora bevisen och upptäckterna kom i början av varje körning. I slutet på varje körning så behandlade programmet mest grundläggande matematik. 11 Varför? Varför blev det då som det blev? Varför slutade programmet att fungera? Den största orsaken var att medan programmet kunde ta fram nya regler och omforma gamla så kunde det däremot inte göra om heuristikerna. Detta resulterade i att efter en viss tid var de regler som den arbetade med så pass skilda från de regler som funnits i början av körningen att heuristikerna helt enkelt inte kunde bedöma dem. Detta innebar att varje beräkning och omformning inte fick några höga poäng från heuristikerna och således var det till slut ingen väg som var tillräckligt intressant att följa. 5 10/13 Emil Palm [email protected] AM – Automatic Mathematician Artificiell Intelligens, HKGBB0 Eurisko Den invändning som kritikerna hade mot AM var att programmet inte kom på några nya upptäckter för mänskligheten utan bara för sig själv. Problemet ligger dock inte i programmet utan att heuristikerna var fasta och att programmet stängde av sig på grund av detta. Douglas Lenat började med ett nytt program efter slutförandet av AM. Detta hette Eurisko och det jobbade på samma sätt som AM förutom att det också omformade sina heuristiker. Detta var också en stor utmaning då LISP inte lämpar sig lika bra för heuristiker som för matematiska regler. Han fick dock klart ett program som han lät köra med reglerna från ett brädspel och det fungerade extremt bra. Det fick också köras på reglerna av en beta-version av InterLISP, samma språk som det själv var implementerat i, och kunde där hitta buggar och även laga dessa. Detta är ett exempel på att det är genomförbart att få program att lära sig saker som är nytt för mänskligheten. Även om de upptäckter den gjorde kanske inte var så stora så var det ändå sådana som mänskligheten inte visste om. 2 Slutsats Vad gav då dessa projekt? Jag anser att de flyttade på gränserna på vad man trodde var möjligt med maskiners tänkande eller icketänkande. Det viktigaste i detta tycker inte jag är de teorem och upptäckter man gjorde utan snarare att man fick en maskin/dator att lära sig något som den inte visste förut. Om man kan få en dator att lära sig något på egen hand, vad som helst, så tycker jag det visar på att man kan göra maskiner och program som kan tänka. Att det var just matematik är kanske inte så konstigt eftersom en dator grundar sig på digitala signaler där det antingen kan vara sant eller falskt. Just matematiken är en sådan vetenskap där det finns rätta svar och inga ”kanske” eller ”ungefär”. Det som jag anser är en utmaning nu är att få en dator att kunna jobba med just sådana frågor som har ”kanske” som svar. Det kan kräva att man gör en dator som arbetar inte med ettor och nollor utan med ungefärliga värden istället. Denna dator skulle man sedan kunna programmera för att svara på frågor som till exempel: ”Finns Gud?”; ”Vart slutar universum?” och så vidare. 11/13 Emil Palm [email protected] AM – Automated Mathematician Artificiell Intelligens, HKGBB0 Framtiden Efter Lenats program så har flera andra forskare inom AI gjort program som är förbättringar till AM och Eurisko och även liknande program för andra tillämpningar. Det finns till exempel vissa system som använder AM som hjälpsystem, där man då skickar in ett gäng heuristiker och regler till AM och sedan använder utdatan i huvudprogrammet. Det finns fortfarande mycket att upptäcka när det gäller AI och detta var bara ett steg på vägen till en helt fungerande AI. Men det var ett stort steg och om man fick ett generellt inlärningsprogram att fungera så skulle det nog inte finnas några hinder kvar för att skapa en sådan fulländad AI. Med tanke på den lilla mängd kod som behövdes för att få programmet att fungera som det gjorde tycker jag också att det visar på att det inte är tekniken som saknas, utan tänkandet. Det verkar lite som att det är vi som måste komma på hur vi själva tänker för att kunna överföra det på maskiner. Vissa hävdar att det är omöjligt att förstå hjärnan när man bara har hjärnan som redskap men jag anser att man med hjälp av datorer kan få en förståelse för hjärnan och därmed också kunna få datorer att arbeta som en hjärna. 12/13 Emil Palm [email protected] AM – Automatic Mathematician Artificiell Intelligens, HKGBB0 Referenser 1. Nationalencyklopedin. 2003 www.ne.se 2. Ken Haase, From AM to Eurisko. 1996 web.media.mit.edu/~haase/thesis/node65.html 3. D. Lenat, Eurisko: A program witch learns new heuristics and domain concepts. 1983 Artificial Intelligence, 21. 4. SiteCeer. Scientific Literature Digital Library. 2003 http://citeseer.nj.nec.com 5. S. Russel & P. Norvig, Artificial Intelligence – A modern approach, Second edition. 2003 Prentice-Hall, Inc. New Jersy. 6. R. Davis & D. Lenat, Knowledgebased systems in artificial intelligence. 1982 McGraw-Hill International Bookcompany 7. D. Shasha & C. Lazere Out Of Their Minds: the lives and discoveries of 15 great computer scientists. 1995 www.cs.nyu.edu/cs/faculty/shasha/outofmind/lenat.html 8. Cycorp. Creators of the Cyc® Knowledge Base. 2003 www.cyc.com/overview.html 9. T. Olsson, Maskininlärning och Adaption 1997 http://www.d.kth.se/~d93-tol/ml/uppsats 10. E. Rich & K. Knight, Artificial Intelligence Second edition. 1991 McGraw-Hill Bookcompany 11. M. A. Hiltzik, Birth of a Thinking Machine, LA Times 2001-06-21 http://www.cyc.com/LATIMESCyc.pdf 12. P. Cohen & E. Freigenbaum, The Handbook of Artificial Intelligence Volume 3. 1982 Pitman Books Limited, London 13/13