Download I AM THAT I AM eller Automated Mathematician

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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