AM ett självlärande upptäckarprogram i matematik
|
|
- Hans Lund
- för 6 år sedan
- Visningar:
Transkript
1 AM ett självlärande upptäckarprogram i matematik Jonoh927@student.liu.se
2 Abstract Denna uppsats handlar om Douglas Lenats program AM Automated Mathematician ett av de första lyckade upptäckarprogrammen som gavs stor uppmärksamhet när det lanserades Det som skilde programmet från de flesta andra på den här tiden var dels att det klarade av att hantera inlärning av flera koncept samtidigt, men framförallt att det på egen hand skapade de exempel, träningsinstanser, som den behövde för att kunna hitta de nya koncepten. AM fungerade alltså helt utan fördefinierade exempel att lära sig av. AM lärde aldrig heller sig sina kunskaper för att kunna förbättra prestandan hos något slags utförandeelement, vilket är regel - AM var inte ens kopplat till något utförandeelement. Istället var det upptäckandet av koncepten i sig som var målet. AM var byggt för att modellera hur människor via heuristiska sökningar kommer fram till nya saker. AMs uppgift var därför att försöka hitta så många nya (nya som i att AM inte kände till dem när det startade) intressanta koncept inom matematik och mängdlära som möjligt, vilket man kan säga att det lyckades rätt bra med. AM upptäckte bland annat aritmetikens fundamentalsats och Goldbachs hypotes 123. Program som jobbar för att hitta nya vetenskapliga koncept eller lagar kallas upptäckarsystem (Eng: Discovery System ) 4. Det som gjorde att AM fungerade, och det som var själva essensen med AM som modell för mänskligt påkommande av nya saker, var den stora mängd heuristik som var inbyggt i programmet. Totalt sett var cirka 250 stycken unika regler inskrivna i programmet 5, vilka hela tiden talade om för AM vad det skulle göra härnäst, och på vilket sätt. Utan heuristikerna hade AM också drunknat i mängden av alla potentiellt intressanta koncept att utforska med hjälp av heuristikerna kunde AM rangordna dem och på så sätt slippa söka igenom dem alla vid varje ny sekvens. Detta genom att hela tiden enbart utföra lämpliga handlingar för det koncept som låg överst i denna rangordning. Uppsatsen går i detalj igenom och beskriver hur AM fungerade, för att avslutningsvis diskutera lite runt AMs problem och AM som kognitiv modell. 1 Cohen, P & Feigenbaum, E. (1982). The Handbook of Artificial Intelligence Lenat, D. (1977). Computers and Thought Lecture: The Ubiquity of Discovery 2
3 Innehållsförteckning Abstract...2 Innehållsförteckning...3 Grundläggande begrepp...4 Maskininlärning från exempel...4 Ett varv i tvårymdsmodellen för inlärning från exempel...5 Automated Mathematican...6 Inledning...6 AM och tvårymdsmodellen för inlärning från exempel...7 AMs kunskapsrepresentation Ett Framesystem...8 Ett koncept i AM...9 AMs kärna dess heuristik...10 Heuristik för att sätta in exempelvärden till ett koncept...10 Heuristik för att komma upp med nya koncept...11 Heuristik för att utvärdera värden och hitta relationer mellan koncept...12 Heuristik för att hålla AM uppdaterat...12 AMs programflöde Agendan...13 Agendan...13 Hur AM hittade konceptet Primtal...14 Diskussion...15 Källhänvisning...17 Bildkällor
4 Grundläggande begrepp Här följer en genomgång av hur maskininlärning via exempel fungerar på ett teoretiskt plan. Detta främst för att introducera begrepp och modeller som sedan används för att förstå AM. Maskininlärning från exempel Maskininlärning från exempel är den process där ett datorprogram, mer eller mindre enbart försett med grundläggande domänkunskap om problemområdet, via olika sorters träning från exempel på egen hand uppnår önskad kunskap. Detta kan handla om allt möjligt, som till exempel att utifrån olika exempelhänder i poker till slut kunna urskilja en hand som innebär färg från en som inte gör det, det vill säga genom att generalisera från de enskilda exemplena till det som de har gemensamt, för att förändra sin hypotes om konceptet ända tills den lyder något i stil med: c1 c2 c3 c4 c5 x SUIT(c1,x) SUIT(c2,x) SUIT(c3,x) SUIT(c4,x) SUIT(c5,x) 6. En bra modell över hur maskininlärning via exempel fungerar är den som Cohen och Feigenbaum (1982) använder sig av i sin bok The Handbook of Artificial Intelligence. Här följer en fritt översatt egen tolkning av modellen. Fig. 1. Tvårymdsmodellen för inlärning från exempel Regelrymden kan ses som rymden av alla möjliga generella regler som skulle kunna beskriva konceptet eller koncepten i fråga. Regelrymden rymmer utöver sådana regler all annan kunskap programmet behöver, till exempel domänkunskap och uppsättningen med för tillfället antagna hypoteser, H. Träningsinstansrymden är rymden som rymmer alla möjliga träningsinstanser. 6 Cohen, P & Feigenbaum, E. (1982). The Handbook of Artificial Intelligence 4
5 Ett varv i tvårymdsmodellen för inlärning från exempel Cohen och Feigenbaum menar att maskininlärning via exempel går till ungefär på följande sätt: Inledningsvis är regelrymdens uppsättning av hypoteser, H, förmodligen tom, om inte några sådana är fördefinierade. Programmet har således ingenting att jobba med, utan behöver en träningsinstans ur träningsinstansrymden. Vilken denna träningsinstans är kan vara helt slumpmässigt utvalt, eller det kan vara bestämt på förhand, men det kan också fungera på andra sätt, framförallt hos intelligentare program. Värt att nämnas är att beroende på hur inlärningsprogrammet är skrivet så kan ordningen som exemplena presenteras i spela stor roll för den slutgiltiga konceptbeskrivningen. Innan träningsinstansen kan utnyttjas för att uppdatera hypotesen eller hypoteserna i H så måste den tolkas. Ett antal lämpliga attribut måste extraheras, och denna information måste sedan göras om så att den rent syntaktiskt kan användas för att söka efter nya regler eller uppdateringar av de befintliga reglerna i H. När detta är gjort uppdaterar sedan programmet sitt set H, så att det stämmer in med det nya exemplet och alla föregående. Detta kan göras på olika sätt. Programmet måste sedan också se till så att all annan kunskap det besitter stämmer överens med det uppdaterade setet H. För mindre intelligenta program slutar ett varv i cykeln här. Ett nytt exempel väljs sedan på samma sätt som föregående, och programmet kör på tills det antingen har slut på exempel eller tills det via någon slags målfunktion anses ha skapat en tillräckligt bra beskrivning av konceptet. Ett program som bara gör på detta sätt skulle man kunna tycka inte är ett särskilt intelligent program. Ett sådant program skulle inte alls kunna förstå eller påverka vilka exempel den behöver härnäst och vore därför helt beroende av fördefinierade, bra ordnade, användbara exempel. Man skulle kunna tycka att det är först här som det intressanta börjar. Ett annat sätt att fullfölja varvet vore att använda den längre bågen som är inritad i modellen, med texten Efterfrågan efter eller konstruktion av speciell träningsinstans. Ett program som använder sig av detta avslutar varje cykel med att tänka till: Givet uppdateringarna som nyss utfördes i H finns det någon speciell träningsinstans som vore extra intressant att utvärdera? Vore det möjligt att till exempel (med säkerhet) göra en rätt stor generalisering av en viss hypotes, givet en träningsinstans som utesluter den sista lilla möjligheten som jag fortfarande måste hålla öppen? (säg till exempel att programmet fortfarande tror att ett av de två oanvända korten i en trisshand i poker måste vara klöver, vilket inte är fallet) Ett program som tänkt till på detta sätt skulle kunna önska sig specifika exempel från träningsinstansrymden, vilka kommer leda programmet snabbare mot förbättrade hypoteser om konceptet. Ett program som tar det hela ännu ett steg längre använder sig kanske inte alls av fördefinierade exempel, utan skapar dem hela tiden på egen hand, utifrån vad i setet H som verkar vara värt att utforska. Ett sådant program var AM. 5
6 Automated Mathematican Inledning AM skrevs av Douglas Lenat i programspråket LISP Programmet var skrivet som ett försök till illustrativ modell över hur människan använder heuristiska sökningar för att komma på nya saker. Att förklara människans förmåga till nya upptäcker ansågs viktigt i den bredare diskussionen om intelligens som då som nu pågick. I The Ubiquity of discovery (1977) argumenterar Lenat för att hans program hade lyckats och AM på samma sätt som människor utifrån baskunskaper via heuristisk sökning kunde komma fram till helt nya koncept. Lenat såg det som att AM utförde en heuristisk sökning i rymden som innehöll alla möjliga matematiska koncept som AM kunde skapa i jakt på de som var meningsfulla. Denna rymd motsvarar den regelrymd som introducerades tidigare. AMs träningsinstansrymd var, som nämnts tidigare, väldigt speciell då det var AM själv som konstruerade de exempel som programmet ville ha, istället för att vara beroende av någon användare. Lenats nyckelord för programmet och hela hans uppslag om att detta var hur människor kom på nya saker var heuristik. Han argumenterade för att en oinformerad sökning aldrig skulle klara av att hantera denna potentiellt oändliga sökrymd av möjliga koncept, vare sig det gäller människor eller datorer. Lenat använde sig av heuristiska regler och sin initialkunskap för att därifrån guidat söka sig vidare, istället för att göra en total sökning av alla möjliga alternativ. Lenat skrev total cirka 250 olika heuristiker för att guida programmet i sin sökning efter de nya koncept som faktiskt var av värde. AM arbetade via induktion. Eftersom induktiva slutledningar inte är logiskt nödvändigt sanna, och eftersom AM aldrig förfogade över någon annan bevismetod så kunde AM till skillnad från många andra liknande system aldrig bevisa de koncept som det hittade. Dess induktiva slutledningar är dock väldigt sannolika utifrån den heuristik de bygger på, men detta spelade egentligen ingen roll. Målet med AM var egentligen inte koncepten de hittade i sig, utan snarare att visa att heuristiska sökningar är en bra modell för hur människor hittar nya koncept, varför bevisning av de matematiska koncepten föreföll irrelevant. 6
7 AM och tvårymdsmodellen för inlärning från exempel Hur går ett varv till i AM, jämfört med modellen som tidigare presenterades? AM jobbar egentligen inte i cykler, utan via en prioriterad kö-lista, dess AGENDA, men för att till en början illustrera AM så kör vi ett varv i tvårymdsmodellen i alla fall. AM börjar då, till skillnad från de flesta andra program, inte genom att det får ett en träningsinstans tilldelad till sig, utan genom att först utvärdera vad det är för exempel programmet behöver. Detta görs genom att programmet först väljer ut (via Agendan) vilket koncept som ska utvärderas. Koncepten kan sägas vara AMs set H av för tillfället trodda hypoteser i regelrymden. AMs set H innehåller initialt en del koncept, men alla dessa saknar exempelvärden satta till sina exempelattribut. Eftersom AM upptäckandestrategi bygger på att hitta olika sorters relationer mellan koncept, vilket främst görs via dess exempelvärden, så är det en bra idé för AM att börja med att fylla i exempelvärden till koncepten. AM börjar alltså med att välja ut ett av sina koncept, en av hypoteserna i H i regelrymden, och ska sedan utifrån detta hitta träningsinstanser i träningsinstansrymden som på något sätt tar programmet vidare. AMs träningsinstanser består främst av nummer, men de kan också bestå av mängder och liknande då AM inte bara hanterade matematik utan också mängdlära. Det AM gör när den nu vill hitta exempelvärden är att den själv via olika heuristiska tekniker ser till att skapa träningsinstanser som ger den det den vill ha. Detta motsvarar bågen som sade Efterfrågan eller konstruktion av speciella träningsinstanser i Fig.1. En teknik skulle kunna vara att bara skapa 1000 slumpmässigt utvalda nummer och sedan för var och en jämföra om de passar in i konceptets definition, men AM har bättre strategier, vilka tas upp senare. AM tar sedan till sig de exempelvärden som passar konceptets definition, och sätter dem som värden till konceptets exempelattribut. Tillbaka i första steget i modellen, i regelrymden, så utvärderar programmet hur de ska uppdatera sina koncept, sitt set H, och sin Agenda, baserat på ändringarna som just skedde. Programmet utvärderar alltså de värden de just fyllde i konceptet, och letar framförallt då efter mönster till exempel om andra koncept har en exempelvärdemängd som på något sätt verkar relaterad till denna. Är detta fallet så kommer programmet svara tillbaka till Agendan att detta koncept verkar intressant, och konceptet kanske behåller sin topplacering i kön för att alltså när varvet börjar om åter igen vara det som väljs. Är det istället så att programmet konstaterar att det knappt lyckades hitta några exempel alls som tillfredställde konceptets definition, och att dessa dessutom verkar totalt ointressanta, så kommer programmet istället sänka konceptets intressevärde, och det kommer tappa placeringar i Agendan. Värt att notera är att AM inte bara tar hänsyn till hur många och intressanta värden en sökning i träningsinstansrymden gav, utan också hur lång tid det tog. Koncept som för AM verkar svåra att jobba med prioriteras lägre än dem som ger snabba svar. Avslutningsvis ser AM till att sprida all ny information runt i hela programmet. Detta görs genom att om AM exempelvis fann att koncept A och koncept B var relaterade så höjs inte bara koncepts As intressevärde, utan även det för koncept B, och eventuellt ännu fler som på något sätt anses relaterade. Genom att AM jobbar på detta sätt klarar sig programmet ifrån frameproblem, och kan därför förlita sig på Agendans rankning av koncepten, istället för att behöva genomföra en totalsökning efter det mest intressanta konceptet varje varv. 7
8 AMs kunskapsrepresentation Ett Framesystem Som bas i programmet AM finner man dess Framesystem, i vilket det representerar all sin kunskap. Framesystemet fungerar dels som mall för varje nytt koncept som programmet ska lära sig, men innehåller dessutom all a-priori kunskap gällande domänen. Dessutom har Framesystem ju den fördelen att de på ett bra sätt kan representera ISA-relationer och hantera ärvning, vilket AM använder sig av till fullo. En förenklad modell av AMs initiala kunskapshierarki illustreras i Fig.3, vilket på nytt är återgiven från Cohen och Feigenbaums (1982) The Handbook of Artificial Intelligence. Fig.3. Förenklad modell av AMs initiala framesystem av koncept Detta system med fördefinierade frames med ett visst antal bestämda attribut fungerar både som mall för nya koncept och för att representera a priori-kunskapen. All kunskap inordnas hierarkiskt in i systemet. Detta innebär till exempel att alla nya koncept som AM hittar hamnar någonstans under den mer generella överkategorin ANYCONCEPT. Den absolut högsta kategorin AM känner till är konceptet ANYTHING. Det ska poängteras redan nu, vilket ses i figuren, att AM inte bara hanterade objekt, utan även aktiviteter såsom predikat och operatorer. AM kunde alltså senare hitta en relation mellan ett objekt och en operator (alla tre koncept representerade som frames), och inte bara mellan objekt. 8
9 Ett koncept i AM Ett typiskt koncept i AM såg ut som följer:. Fig. 2. Delar av konceptet Primtal, representerat som en Frame hos, och hittat av, AM. Koncept är alltså Primes, primtal, vilket representeras som en frame i systemet. Framen här, liksom hos alla andra frames i AM, består av ett antal fasta attribut, här med tilldelade värden. Ursprungligen när ett koncept skapas så har det inga värden satta till attributen, utan de fylls i efterhand som programmet tar reda på mer och mer saker. Värdet till det första attributet, namn, är i det här fallet naturligtvis ändrat manuellt programmet visste ju inte själv att konceptet det just hittat är det som vi kallar primtal, utan bara att det var ett koncept med vissa värden och på ett visst sätt relaterat till andra koncept. Attributet STATEMENT, eller DEFINITION(S), är det viktigaste attributet i ett koncept. Så fort AM hittar en ny definition så skapar den ett nytt koncept med denna definition som enda satta värde i konceptet. Förutom det värde som är satt till STATEMENT på den här bilden, ett ursprungsvärde, så rymmer attributet också plats för en rekursiv och en predikatlogisk definition. Dessa används sen också för att generera exempel. Det näst viktigaste av attributen i ett koncept är förmodligen WORTH-attributet. Det är detta attribut som gör så att AGENDAN fungerar, då den rankar olika koncept baserat på detta värde. Exempelvärdena används för att hitta olika relationer mellan koncept (SPECIALIZATIONS, GENERALIZATIONS och CONJECTURES) och IS-A värdet är det som visar på den hierarkiska strukturen mellan koncepten. Attributet EXAMPLES delas in i fem olika kategorier (varav 4 syns på bilden): Normala positiva exempel, Positiva gränsvärdeexempel, Negativa gränsvärdeexempel, Normala negativa exempel och Helt felaktiga exempel. Normala positiva exempel är de som uppfyller definitionen och normala negativa exempel är de som inte gör det. Helt felaktiga exempel är sådana som över huvud taget passar in, till exempel mängden A till konceptet Primtal. Mittemellan de normala positiva och normala negativa exemplena finner man en definitions gränsvärdeexempel. Detta är de exempelvärden som precis eller precis inte uppfyller definitionen. För Primtal räknar AM alltså 2, 3 till positiva gränsvärdeexempel, och 0,1 till negativa gränsvärdeexempel. Denna typ av specialexempel, extremvärden, har AM användning av för att hitta nya funktioner. 9
10 AMs kärna dess heuristik Bakom varje attribut i koncept i AM dolde sig heuristiska regler. Dessa regler var alla från början bundna till något av de koncept som AM startade med. Systemet var uppbyggt så att de heuristiska reglerna var placerade så högt upp som möjligt i hierarkin, för att sedan via ärvning kunna användas av alla underkategorier, även de som AM senare lade till. På så sätt fanns det en heuristisk regel bakom varje attribut hos varje koncept. När AM sedan ska utföra någon slags handling så gör den det genom att konsultera relevanta regler. Dessa regler kan delas in efter vilken funktion de hade. Totalt sett hade AM fyra sorters regler: För att sätta värden till attribut till ett koncept För att skapa nya koncept För att utforska värden i koncept (för att hitta relationer mellan befintliga koncept) För att hålla AM uppdaterat - propagera kunskap och lägga nya handlingar till Agendan Reglerna var skrivna som produktionsregler, med en IF condition(s) x THEN action(s) y struktur. Ungefär 30 av dessa regler gällde hur AM skulle hitta exempelvärden till ett koncept, vilka vi börjar med att utforska. Heuristik för att sätta in exempelvärden till ett koncept AM utgick hela tiden från sin nuvarande kunskap när den skulle ta reda på nya saker. Det första AM vet om ett nytt koncept är vad det är som definierar det, vilket är ganska användbart för att generera exempel. Olika definitionsattribut som fanns i AM var: ursprung, en predikatlogisk och en rekursiv formel. Via den rekursiva formeln kunde då AM till exempel kolla på basfallet och på så sätt få ett godkänt exempelvärde. En annan typ av heuristik, som är mer sannolik att genera fler exempel, är den som jämför med exempel som är godkända för ett annat på något sätt relaterat koncept och sedan testar om de passar in även till det aktuella konceptet. En variant av denna regel kan uttryckas såhär i pseudokod 7 : IF: Det nuvarande jobbet är att fylla i exempel till koncept X Och X är en specificering av ett annat koncept Y, THEN: Jämför varje av Ys exempelvärden mot definitionen av X, och behåll dem som är godkända. AM kan också få tag i exempel genom renodlad ärvning. AM kan ärva godkända exempel uppåt i hierarkin, om det skulle vara så att det finns ett koncept som är mer specifikt än det aktuella, och som har exempel ifyllda. Alla exempel som gäller för detta mer specifika 7 Cohen, P & Feigenbaum, E. (1982). The Handbook of Artificial Intelligence 10
11 koncept kommer också gälla för det aktuella, mer generella, konceptet. På samma sätt kan AM också ärva icke-exempel nedåt i hierarkin. Heuristik för att komma upp med nya koncept AM hade cirka 40 heuristiska regler för att komma upp med nya koncept. Dessa var av två olika typer. Den första typen av regler var den enda som bara var till för att skapa nya koncept, och som också garanterat gjorde detta. Den typen av regler utgick från vilket som helst existerande koncept i AM, och använde sedan till exempel generaliserande regler för att hitta en ny version av ett gammalt koncept. Den andra typen av regler kunde bara appliceras på koncept som var aktiviteter, det vill säga funktioner, relationer eller operatorer, och gav inte nödvändigtvis ett nytt koncept. Generella regler Generalisering/Specificering av befintligt koncept Detta kan göras på många olika sätt, varav de flesta metoder är helt allmänna och fungerar i vilket program som helst. Man kan skippa ett villkor i till exempel en definition, genom att helt ta bort det från definitionen, vilket då ger en ny definition och ett nytt koncept. Man kan slå ihop flera olika definitioner som alla leder till samma exempel, genom att sätta disjunktioner mellan respektive koncepts villkor. Man kan också göra om konstanter till variabler, vilket ger en stor generalisering. Alla dessa regler med fördel användas i helt andra domäner än AMs, exempelvis för att få ett program att lära sig känna igen cyklar. Den första generaliseringen hjälper då programmet att inse att en specifik färg på cykeln kanske inte är ett nödvändigt villkor för att det ska räknas som en cykel. Den andra kan användas för att koppla ihop olika varianter av en cykel till samma koncept man kanske tycker att en trehjuling också är en cykel och följdaktigen att en cykel antingen kan ha två hjul ELLER tre hjul och ett litet flak därbak, så då kopplar man ihop dessa två hittills skilda koncept med en disjunktion emellan. Den tredje regeln skulle också kunna användas på det första fallet, genom att säga att cykeln måste ha en färg x, istället för den specifika färg som hittills observerats. Till de generaliseringsregler som är mer specifika för en matematisk domän som AMs hör regler för att på olika sätt generalisera delvillkor i en definition. Detta görs bland annat genom att generalisera A B till A B, där B är en delmängd till B 8. Detta leder till en mindre begränsning, alltså en generalisering. AM känner också till många olika sätt att generalisera rekursiva definitioner, vilket är användbart då de flesta koncept i AM definieras på detta sätt. För alla uppräknade regler hittills gäller att inversen av dem ger regler som ger mer specificerade koncept i stället för mer generella. 8 Cohen, P & Feigenbaum, E. (1982). The Handbook of Artificial Intelligence 11
12 Hantering av specialexempel Det andra stora sättet som AM skapar nya exempel på är via att den hittar speciella mängder av exempel. Ett sätt att göra detta på är när AM hittar ett koncept med en väldigt stor mängd negativa exempel. AM kan då ta denna mängd av exempel och skapa ett nytt koncept med en definition som istället uppfyller dem. Detta kan vara användbart. Ett annat exempel är när AM skapar ett nytt koncept med samma positiva exempelmängd som ett tidigare, förutom gränsvärdeexemplena. Det var på detta sätt som AM utifrån konceptet Primtal lyckades skapa konceptet Udda primtal, då AM lyckades göra sig av med gränsvärdet 2, som ju är det enda jämna primtalet. Regler för relationer, funktioner och aktiviteter Precis som i reglerna för koncept så har AM regler för Generalisering och Specificering också för aktivitetskoncept. Ett urplock av typer av regler är regler för att skapa inversen av ett befintlig aktivitetskoncept, regler för att permutera (byta ordning på) elementen i en mängd och regler för att skapa ett nytt koncept genom att om och om igen upprepa en redan existerande funktion. Det var på detta sätt som AM utifrån upprepad addition hittade funktionen multiplikation. Heuristik för att utvärdera värden och hitta relationer mellan koncept Ungefär 30 av AMs regler var till för att utvärdera exempelvärden hos koncept för att på sådant sätt hitta relationer däremellan. AM kan upptäcka fem olika relationer 9 : Koncept1 är ett exempel av Koncept2 Koncept är en specificering eller generalisering av Koncept2 Koncept1 och Koncept2 är samma sak Koncept1 är relaterat till Koncept2 via funktionen X Koncept1 är en operator som har domänen D som domän eller som har range R som range. Dessa samband hittas genom att AM jämför olika koncepts exempelvärden. AM jämför alltså inte konceptens definitioner, utan deras exempelmängder. Om alla exempelvärden hos Koncept1 också finns hos Koncept2, men att det där även finns fler, så tolkar AM det som att Koncept1 är en specificering av Koncept2, och så vidare. Om AM hittar två koncept som har samma exempelmängder så tolkar AM det som att dessa två koncept egentligen är ett och samma, och AM slår sedan ihop dem till ett. Denna arbetsmetod att AM går in och blir 100% övertygad om de konceptrelationer som programmet hittar - gäller alla sorts samband. Detta hör ihop med hur Agendan och framesystemet överlag beter sig. Heuristik för att hålla AM uppdaterat För att Agendan ska fungera krävs att allting alltid är uppdaterat. AM har därför också en mängd heuristiker för att sköta detta. Förutom dem som nämndes i förbifarten tidigare, att AM ser till att uppdatera WORTH-värdet för alla koncept som påverkas av en ny upptäck så 9 Cohen, P & Feigenbaum, E. (1982). The Handbook of Artificial Intelligence 12
13 gäller de flesta sådana här heuristiker ärvning av olika värden. Även ett exempel av detta har nämnts tidigare, en heuristik som talar om för AM ungefär att om Koncept1s exempelmängd utökas, och koncept1 är en specifikation av x antal andra koncept, så ska dessa exempel även läggas till dessa koncepts exempelmängder. Till sist, vilket också nämnts tidigare, så innehåller AM en hel del heuristik vars uppgift är att lägga till nya handlingar till Agendan. En sådan heuristik säger till exempel att om senaste handlingen var att lägga till nya exempel till Koncept1, och handlingen lyckades, så ska handlingen utvärdera koncept1s exempelvärdemängd läggas till Agendan. Via andra heuristiker kommer denna uppgift sedan rankas in i Agendans kösystem för att så småningom, om den någonsin hamnar högst upp i kön, utföras. AMs programflöde Agendan Under denna rubrik följer först en kort beskrivning av Agendan, vilken kan sägas håller ordning på AMs programflöde. Efter detta följer en kort sekvens av handlingar som AM en gång utförde handlingarna som ledde fram till att AM hittade konceptet Primtal detta för att ge en sista inblick i hur alla AMs delar fungerade tillsammans. Agendan AMs Agenda är en kö av jobb som någon heuristik har kommit fram till borde utföras, rankade efter prioritet. Utan AMs Agenda skulle programmet blivit väldigt kaosartat, då flera handlingar inte skulle ha kunnat läggas på rad, för att vänta på sin tur, utan programmet skulle istället hela tiden vara tvunget att direkt utföra varje handling som någon heuristik föreslog. Som redan nämnts ett antal gånger så skulle Agendan inte heller fungera om inte heuristikerna, med god hjälp av den ordnade strukturen i framesystemet, höll ordning och uppdaterare all kunskap genom hela programmet, vid varje ny händelse. AMs Agenda är ett bra exempel på hur en guidad sökning kan klara av att söka i en bottenlös sökrymd, tack vare heuristik. Det lite speciella med AMs Agenda är att varje jobb i kön bär med sig de anledningar som finns till att jobbet borde utföras 10. AM har med denna information av två olika anledningar, förutom det faktum att det underlättar rejält för en mänsklig observatör vid felsökning och liknande: Om ett jobb som redan finns med på Agendan föreslås igen så jämför AM av vilka anledningar jobbet har föreslagits. Om anledningarna är likadana som föregående gång så gör AM ingenting, men om jobbet nu föreslagits av andra anledningar så kommer jobbets prioritet och därmed position i Agendan att öka. När jobbet väl hamnat först i kön och ska utföras så gör AM en bedömning över hur mycket tid och minne jobbet ska tillåtas ta upp, baserat på hur bra skäl jobbet har till att utföras. 10 Lenat, D. (1977). Computers and Thought Lecture: The Ubiquity of Discovery 13
14 Hur AM hittade konceptet Primtal Detta blir en förenklad genomgång av hur AM hittade konceptet Primtal. Med förenklad menas att enbart de skeenden som direkt spelade in för själva hittandet av Primtal tas upp, och allt annat utelämnas. Denna genomgång är hämtad från Lenats Computers and Thought Lecture: The Ubiquity of Discovery. När vi börjar genomgången har AM precis hittat konceptet Addition. Efter att ha genererat några exempel konstaterade AM att Addition verkade vara ett intressant koncept, då det var relaterat till många andra koncept AM kände till. Efter att ett antal handlingar av olika heuristiker lagts i topp på Agendan fick AM så småningom träff genom heuristiken som säger att en funktion kan upprepas flera gånger i följd för att se om något intressant inträffar som följd. På så sätt så hittade AM det nya konceptet Multiplikation. Eftersom Multiplikation, på samma grunder som Addition, bedömdes ännu intressantare började AM genast lägga ner mycket krut på att jobba vidare med konceptet. En av reglerna som ledde till utförd handling var regeln som säger att ett nytt koncept kan skapas som är inversen av ett existerande aktivitetskoncept. På så sätt hittade AM konceptet Divisors-of (Tal som man delar andra tal med). När AM började skapa exempelvärden till detta koncept stötte det på saker som verkade mer och mer intressanta. Genom heuristiken som säger letar efter funktioner som på intressanta sätt relaterar olika konceptsmängder till varandra så började AM hitta olika sätt som på vilka Divisors-of relaterade konceptet Siffror till Mängder av siffror. AM hittade först på detta sätt konceptet Number withouth Divisors (Tal som inte går att dela), närmare bestämt talet 0. Sedan hittade AM på samma sätt Numbers with only 1 divisor, för att till sist hitta Numbers with only 2 divisors Primtal. AM hittade dessutom lite senare konceptet Numbers with many divisors, vilket också visade sig vara av matematiskt värde, även om det inte var ett så pass väl känt eller viktigt koncept som Primtal. AM hittade konceptet Primtal via den fungerande prioriteringen av koncept som verkar lovande, och via den välformulerade heuristiken som förmådde programmet att ta sig vidare från ett koncept till ett helt annat, via vägar som inte alltid är så uppenbara. AM hittade konceptet Primtal på motsvarande 8 nivåers djup, och för att komma dit var AM tvungen att skapa 14 helt nya koncept 11. Detta visar att AMs lyckades med att ta fram fördelarna i en heuristisk sökning. 11 Cohen, P & Feigenbaum, E. (1982). The Handbook of Artificial Intelligence 14
15 Diskussion Totalt sett kan man, tycker jag, konstatera att AM var ett intelligent program. Detta beror som alltid självklart på hur man definierar intelligens, men om man till exempel ser till resultaten som AM faktiskt presterade, så är de i hög grad vid samma nivå som vad människor klarar, inom matematikdomänen. Hur mycket detta beror på själva programmet, och hur mycket det beror på programmeraren, kan man i och för sig diskutera. Applicerar man de termer som Koza använder på hemsidan så får AM inte alls ett lika högt betyg, Koza räknar nämligen ut ett A/I förhållande mellan resultatet programmet presterar och mängden intelligens som människor var tvungna att bygga in i programmet. AM skulle få ett dåligt värde, då AM dels var ett ganska avancerat projekt, men kanske framförallt då AM faktiskt aldrig kom på mer saker än vad som kan härledas ur dess ursprungliga heuristik, som människor byggt in. Även om man struntar i den här ration, så klarade AM faktiskt inte av så mycket. Programmet kom visserligen upp med konceptet Primtal, och några andra koncept på ungefär samma nivå, men längre än så kom inte programmet. Detta berodde på att heuristikerna var för generella för att kunna hantera och gå vidare från så pass avancerade koncept. AM kunde inte heller appliceras inom andra domäner, då dels heuristiken i allmänhet var för inriktad mot matematik, men kanske framförallt då det visade sig att det i princip var omöjligt att bedöma ett koncepts intressevärde på det sätt som AM hade gjort inom matematikdomänen. Trots att Lenats tanke hela tiden hade varit att ha så generella heuristiker så att programmet skulle kunna klara vilken domän som helst så visade det sig AMs flexibilitet i slutändan vara extremt låg. Hur kunde detta komma sig? Jag tycker att AM och Lenat fokuserade på fel saker. Från början pratade Lenat om att modellera mänsklig intelligens, om att bygga ett program som skulle visa på att människor kom på nya saker via heuristiskt guidade sökningar. Han pratade alltså om en modell för mänsklig kognition. Ändå försökte AM i slutändan inte modellera den mänskliga kognitionen, utan snarare mäta sig med den. Lenat slängde in sin generella heuristiker på ett monsterproblem, för att se om det skulle klara det. Inte bara var detta en annan sak än den AM ursprungligen var menat att byggas för, jag tycker också att Lenat gjorde ett överoptimistiskt tankehopp när han fick för sig att AM borde klara en sådan uppgift. Hans argumentation gick från början ut på att det bland alla olika sorters program som löste problem fanns vissa gemensamma drag i heuristiken. Genom att generalisera från dessa specifika regler till något mer generellt så skulle han få ett program som gick att använda till allt. Han lyckades också i teorin visa att dessa generella regler som han kom på borde kunna klara av att lösa vardagsproblem, som att komma på verktyget osthyvel 12. Härifrån tog han sedan det enligt mig alltför stora steget till att hävda att ett program som får dessa regler implementerade blir kreativt och kan klara av att uppfinna saker. Själva grejen med kreativitet och uppfinnande är enligt mig att det måste finnas något slags slumpmässigt moment inbyggt - någonting oförutsägbart som leder en dit ingen annan tänkt förut. Även om AM lyckades konstruera en relativt komplicerad tankegång för att komma på konceptet Primtal så kan man ändå backtracka hela den tankegången mot de heuristiska 12 Lenat, D. (1977). Computers and Thought Lecture: The Ubiquity of Discovery 15
16 regler som programmet innehåller. AM skulle aldrig ha kunnat överraska sin skapare. Vad som krävs för kreativitet ska jag låta vara osagt, men för uppfinnande tror jag snarare att genetiska algoritmer är en bättre lösning än ett program som ska förlita sig på att all kunskap som behövs är inskrivet redan från början. Visserligen börjar genetiska algoritmer, precis som AM gjorde, med domänkunskap och någon slags fördefinierad hypotes, men det som verkligen skiljer dem två åt är just de genetiska algoritmernas förmåga att till viss mån slumpmässigt, men ändå medvetet, förändra sina hypoteser. Genetiska algoritmer är dock förmodligen bättre än människor på att komma på nya lösningar till problem, varför jag kommer tillbaka till min kritik. AM var ju ursprungligen tänkt för att modellera mänsklig, och inte optimal, kognition. Varför var Lenat tvungen att gå så långt som att låta hans program försöka återskapa komplicerade matematiska teorem? Jag hade velat se hur bra AM hade klarat sig i de domäner som Lenat från början talade om, uppfinningsrikedom när det gäller att lösa korsord, konstruera nya verktyg eller kanske hellre ännu simplare saker. Först då kunde man ha avgjort om AM verkligen var användbart som en modell för mänskligt uppfinnande, vilket programmet nu aldrig egentligen testades som. 16
17 Källhänvisning 1. Douglas B. Lenat (1977), Computers and Thought Lecture: The Ubiquity of Discovery, Carnegie-Mellon University, Pittsburgh 2. Paul R. Cohen & Edward A. Feigenbaum (1982), The Handbook of Artificial Intelligence 3. Stuart Russel & Peter Norvig (2003), Artificial Intelligence A Modern Approach, Second Edition. 4. Douglas B. Lenat (1976), AM: An artificial intelligence approach to discovery in mathematics as heuristic search, Knowledge-based systems in artificial intelligence, Stanford University, AI Lab Bildkällor Fig 1 & 3. Stuart Russel & Peter Norvig (2003), Artificial Intelligence A Modern Approach, Second Edition. Fig
Vad behövs för att skapa en tillståndsrymd?
OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
de var svåra att implementera och var väldigt ineffektiva.
OBS! För flervalsfrågorna gäller att flera alternativ eller inget alternativ kan vara korrekt. På flervalsfrågorna kan man bara ha rätt eller fel, dvs frågan måste vara helt korrekt besvarad. Totalt kan
Övningshäfte 2: Induktion och rekursion
GÖTEBORGS UNIVERSITET MATEMATIK 1, MMG200, HT2017 INLEDANDE ALGEBRA Övningshäfte 2: Induktion och rekursion Övning D Syftet är att öva förmågan att utgående från enkla samband, aritmetiska och geometriska,
Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping
Fuzzy Logic När oskarpa definitioner blir kristallklara Linköpings Universitet Linköping Sammanfattning I denna fördjupningsuppgift har jag fokuserat på Fuzzy Logic och försökt att beskriva det på ett
729G11 Artificiell Intelligens Marcus Johansson Marjo581. Fuzzy logic. Marcus Johansson Marjo581
Fuzzy logic 880328-2535 Innehåll Fuzzy logic... 1 1. Inledning... 4 2. Jämförelse mellan fuzzy logic och tvåvärdeslogik.... 4 3. Fuzzy sets.... 4 4. Linvistiska variabler... 5 5. Operatorer... 5 6. If-
Algebra I, 1MA004. Lektionsplanering
UPPSALA UNIVERSITET Matematiska Institutionen Dan Strängberg HT2016 Fristående, IT, KandDv, KandMa, Lärare 2016-11-02 Algebra I, 1MA004 Lektionsplanering Här anges rekommenderade uppgifter ur boken till
Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.
OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
Filosofisk logik Kapitel 19. Robin Stenwall Lunds universitet
Filosofisk logik Kapitel 19 Robin Stenwall Lunds universitet Dagens upplägg Gödels fullständighetsteorem Sundhet och fullständighet Fullständighetsbeviset Vittneskonstanter Henkinteorin Eliminationsteoremet
Lektion 8: Konstruktion av semantiska tablåer för PTL-formler
Lektion 8: Konstruktion av semantiska tablåer för PTL-formler Till denna lektion hör uppgift 2, 6 och 0 i lärobokens avsnitt.6 (sid. 255). Lös uppgift 2 genom att konstruera en semantisk tablå. Följande
Upprepade mönster (fortsättning från del 1)
Modul: Algebra Del 2: Resonemangsförmåga Upprepade mönster (fortsättning från del 1) Anna-Lena Ekdahl och Robert Gunnarsson, Högskolan i Jönköping Ett viktigt syfte med att arbeta med upprepade mönster
Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.
OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT 2007. Lars Larsson Algoritmer 1
Algoritmer Lars Larsson VT 2007 Lars Larsson Algoritmer 1 1 2 3 4 5 Lars Larsson Algoritmer 2 Ni som går denna kurs är framtidens projektledare inom mjukvaruutveckling. Som ledare måste ni göra svåra beslut
Matematik 5 Kap 2 Diskret matematik II
Matematik 5 Kap 2 Diskret matematik II Inledning Konkretisering av ämnesplan (länk) http://www.ioprog.se/public_html/ämnesplan_matematik/struktur_äm nesplan_matematik/struktur_ämnesplan_matematik.html
Genetisk programmering i Othello
LINKÖPINGS UNIVERSITET Första versionen Fördjupningsuppgift i kursen 729G11 2009-10-09 Genetisk programmering i Othello Kerstin Johansson kerjo104@student.liu.se Innehållsförteckning 1. Inledning... 1
Antag att följande träd genereras i ett spelförande program om vi applicerar evalueringsfunktionen
1. Komplexiteten hos en agent beror mycket på vilken omgivning den skall verka i. Vad innebär det att en omgivning är stokastisk, episodisk och dynamisk? Ge exempel på en omgivning som är stokastisk, episodisk
Upprepade mönster kan talen bytas ut mot bokstäverna: A B C A B C eller mot formerna: Anna-Lena Ekdahl, Högskolan i Jönköping
Algebra Del 1 Upprepade mönster Anna-Lena Ekdahl, Högskolan i Jönköping Det är välkänt att barn långt innan de börjat skolan utforskar och skapar mönster på olika sätt och med olika material. Ofta skapas
2 (6) k 0 2 (7) n 1 F k F n. k F k F n F k F n F n 1 2 (8)
De naturliga talen. Vi skall till att börja med stanna kvar i världen av naturliga tal, N 3. Vi har redan använt (i beviset av Euklides primtalssats) att de naturliga talen är uppbyggda (genom multiplikation)
Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.
OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna kan man bara ha rätt eller fel, dvs frågan måste vara helt korrekt besvarad för att man skall
Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens 2 2010-10-03 Erik Claesson 880816-1692
Beräkning med ord -hur en dator hanterar perception 2010-10-03 Erik Claesson 880816-1692 Innehåll Inledning... 3 Syfte... 3 Kan datorer hantera perception?... 4 Naturligt språk... 4 Fuzzy Granulation...
Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 14 augusti, 2002
Institutionen för matematik, KTH Mats Boij och Niklas Eriksen Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 14 augusti, 2002 1. Använd induktion för att visa att 8 delar (2n + 1 2 1 för alla
Framsida På framsidan finns:
Framsida På framsidan finns: Rubriken på hela arbetet Namnet på den eller de som gjort arbetet Klass Någon form av datering, t.ex. datum för inlämning eller vilken termin och vilket år det är: HT 2010
Tentamen TMV210 Inledande Diskret Matematik, D1/DI2
Tentamen TMV20 Inledande Diskret Matematik, D/DI2 208-0-27 kl. 4.00 8.00 Examinator: Peter Hegarty, Matematiska vetenskaper, Chalmers Telefonvakt: Anton Johansson, telefon: 5325 (alt. Peter Hegarty 070-5705475)
FUZZY LOGIC. Christopher Palm chrpa087
FUZZY LOGIC 900223-1554 Innehållsförteckning INLEDNING...2 HUR DET FUNGERAR...3 Crisp Sets och Fuzzy Sets...3 Operatorer...5 IF THEN regler...7 FUZZY INFERENCE...7 Fuzzification...8 Regelsättning...8
Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige
Är varje påstående som kan formuleras matematiskt*) alltid antingen sant eller falskt? *) Inom Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige Exempel: 12 = 13 nej, falskt n! >
Logik och kontrollstrukturer
Logik och kontrollstrukturer Flödet av instruktioner i ett programmeringsspråk bygger vi upp med hjälp av dess kontrollstrukturer. I C har vi exemplen if, if else, while, do while. Dessutom finns switch
för att komma fram till resultat och slutsatser
för att komma fram till resultat och slutsatser Bearbetning & kvalitetssäkring 6:1 E. Bearbetning av materialet Analys och tolkning inleds med sortering och kodning av materialet 1) Kvalitativ hermeneutisk
Uppsala Universitet Matematiska Institutionen Thomas Erlandsson
Uppsala Universitet Matematiska Institutionen Thomas Erlandsson LÄSANVISNINGAR VECKA 36 VERSION 1. ARITMETIK FÖR RATIONELLA OCH REELLA TAL, OLIKHETER, ABSOLUTBELOPP ADAMS P.1 Real Numbers and the Real
Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.
OS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
Multipel tilldelning. Introduktion till programmering D0009E. Föreläsning 6: Iteration. while-satsen. Kom ihåg. Snurror kontra rekursion
Introduktion till programmering D0009E Föreläsning 6: Iteration Multipel tilldelning Helt ok att tilldela en variabel flera gånger: bruce = bruce, bruce = 7 bruce Output: 7 Som tillståndsdiagram: bruce
Business research methods, Bryman & Bell 2007
Business research methods, Bryman & Bell 2007 Introduktion Kapitlet behandlar analys av kvalitativ data och analysen beskrivs som komplex då kvalitativ data ofta består av en stor mängd ostrukturerad data
Metoduppgift 4- PM. Inledning: Syfte och frågeställningar:
Gabriel Forsberg 5 mars 2013 Statsvetenskap 2 Statsvetenskapliga metoder Metoduppgift 4- PM Inledning: Anledningen till att jag har bestämt mig för att skriva en uppsats om hur HBTQ personer upplever sig
Nonogram
Nonogram. Vad är nonogram? Nonogram är små enkla men fascinerande pyssel som ursprungligen kommer från Japan. De har också givits ut i söndagsbilagan i engelska dagstidningar under flera år. Idén bakom
1, 2, 3, 4, 5, 6,...
Dagens nyhet handlar om talföljder, ändliga och oändliga. Talföljden 1,, 3, 4, 5, 6,... är det första vi, som barn, lär oss om matematik över huvud taget. Så småningom lär vi oss att denna talföljd inte
Kognitiv psykologi. Kognition / Tänkande. Tänkande
Kognitiv psykologi Tänkande och resonerande som grund för problemlösning Anders Jansson Kognition / Tänkande Kognitionsmodeller IP-modellen, Konnektionistiska teorier, Prototypteori, Kognitiv semantik,
Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad
1 Datatyper Tobias Wrigstad Det finns flera olika typer av (slags) data Olika datatyper har olika egenskaper. T.ex. är ett personnummer inte ett tal. (Den sista siffran skall stämma enligt den s.k. Luhnalgoritmen
Primitivt rekursiva funktioner och den aritmetiska hierarkin
Primitivt rekursiva funktioner och den aritmetiska hierarkin Rasmus Blanck 0 Inledning En rad frågor inom logiken, matematiken och datavetenskapen relaterar till begreppet beräkningsbarhet. En del i kursen
DD1350 Logik för dataloger. Fö 7 Predikatlogikens semantik
DD1350 Logik för dataloger Fö 7 Predikatlogikens semantik 1 Kryssprodukt av mängder Om A och B är två mängder så är deras kryssprodukt A B mängden av alla par (a,b), där a A och b B. Ex: A={1,2}, B={3,4},
Regression med Genetiska Algoritmer
Regression med Genetiska Algoritmer Projektarbete, Artificiell intelligens, 729G43 Jimmy Eriksson, jimer336 770529-5991 2014 Inledning Hur många kramar finns det i världen givet? Att kunna estimera givet
En av matematikhistoriens mest berömda trianglar är Pascals triangel,
Michael Naylor Okända skrymslen i Pascals triangel Pascals triangel, som har varit känd av indiska, persiska, arabiska och kinesiska matematiker i mer än tusen år, fick sitt nuvarande namn i mitten av
Hela tal LCB 1999/2000
Hela tal LCB 1999/2000 Ersätter Grimaldi 4.3 4.5 1 Delbarhet Alla förekommande tal i fortsättningen är heltal. DEFINITION 1. Man säger att b delar a om det finns ett heltal n så att a Man skriver b a när
729G04 - Diskret matematik. Lektion 4
729G04 - Diskret matematik. Lektion 4 1 Lösningsförslag 1.1 Vägar, stigar och annat 1. Vi ges den oriktade grafen G=(V,E), V = {a, b, c, d, f, g, h, i, j}, E = {{a, b}, {b, c}, {a, c}, {f, g}, {c, d},
inte följa någon enkel eller fiffig princip, vad man nu skulle mena med det. All right, men
MATEMATISKA INSTITUTIONEN STOCKHOLMS UNIVERSITET Christian Gottlieb Gymnasieskolans matematik med akademiska ögon Induktion Dag 2. Explicita formler och rekursionsformler. Dag mötte vi flera talföljder,
Introduktion till logik
Introduktion till logik Av Johan Johansson Johan.johansson@guldstadsgymnasiet.se Logik sägs som många andra saker komma från de grekiska filosoferna, och ordet kommer också därifrån. Grekerna kallade det
Föreläsning 5. Deduktion
Föreläsning 5 Deduktion Hur ett deduktivt system fungerar Komponenter - Vokabulär Ett deduktivt system använder ett visst slags språk som kan kallas för systemets vokabulär. I mindre formella fall är kanske
Resurscentrums matematikleksaker
Resurscentrums matematikleksaker Aktiviteter för barn och vuxna Innehåll 1 Bygga lutande torn som inte faller 2 2 Om konsten att vinna betingat godis i spel 5 3 Den snåle grosshandlarens våg 6 4 Tornen
Fuzzy Logic: Den oskarpa skarpheten
Fuzzy Logic: Den oskarpa skarpheten Av: 1 Innehåll Inledning... 3 Vad är Fuzzy Logic?... 4 Fuzzy sets... 4 Medlemsskapsfunktion... 5 Operatorer... 7 Union... 7 Snitt... 8 Komplement... 8 Exempel med de
Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium. v. 2.0, den 29/ III. Metalogik 17-19
Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium IV v. 2.0, den 29/4 2013 III. Metalogik 17-19 Modeller för satslogiken 18.1 Vi har tidigare sagt att en modell är en tolkning av en teori
Lotto. Singla slant. Vanliga missuppfattningar vad gäller slumpen. Slumpen och hur vi uppfattar den - med och utan tärning
Slumpen och hur vi uppfattar den - med och utan tärning Ingemar Holgersson Högskolan Kristianstad grupper elever Gr, 7, 9 och. grupp lärarstudenter inriktning matematik Ca i varje grupp Gjord i Israel
Föreläsning 12 Inspektionsmetoder. Rogers et al. Kapitel 15
Föreläsning 12 Inspektionsmetoder Rogers et al. Kapitel 15 Inspektionsmetoder Metoder som genomförs utan användare En eller helst flera experter utför en inspektion eller granskning Man utgår ifrån vedertagna
Algoritmanalys. Inledning. Informationsteknologi Malin Källén, Tom Smedsaas 1 september 2016
Informationsteknologi Malin Källén, Tom Smedsaas 1 september 2016 Algoritmanalys Inledning Exempel 1: x n När vi talade om rekursion presenterade vi två olika sätt att beräkna x n, ett iterativt: x n =
(N) och mängden av heltal (Z); objekten i en mängd behöver dock inte vara tal. De objekt som ingår i en mängd kallas för mängdens element.
Grunder i matematik och logik (2017) Mängdlära Marco Kuhlmann 1 Grundläggande begrepp Mängder och element 2.01 En mängd är en samling objekt. Två standardexempel är mängden av naturliga tal (N) och mängden
DD1350 Logik för dataloger
DD1350 Logik för dataloger Fö 8 Axiomatiseringar 1 Modeller och bevisbarhet Sedan tidigare vet vi att: Om en formel Φ är valid (sann i alla modeller) så finns det ett bevis för Φ i naturlig deduktion.
Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4
Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 014-015 Denna lektion ska vi studera rekursion. Lektion 4 Principen om induktion Principen om induktion är ett vanligt sätt att bevisa
Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik
Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik Mats Boij 28 oktober 2001 1 Heltalen Det första kapitlet handlar om heltalen och deras aritmetik, dvs deras egenskaper som
Reflektionsverktyg att utveckla modelleringsförmåga
Modul: Undervisa matematik utifrån förmågorna Del 4: Modelleringsförmåga Reflektionsverktyg att utveckla modelleringsförmåga Örjan Hansson, Högskolan Kristianstad Experter i matematisk modellering framhäver
Filosofisk Logik. föreläsningsanteckningar/kompendium (FTEA21:4) v. 2.0, den 5/ Kompakthet och Löwenheim-skolemsatsen
Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium VI v. 2.0, den 5/5 2014 Kompakthet och Löwenheim-skolemsatsen 19.6-19.7 Närhelst vi har en mängd satser i FOL som inte är självmotsägande
Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder
Block 2 Algebra och Diskret Matematik A BLOCK INNEHÅLL Referenser Inledning 1. Följder 2. Rekursiva definitioner 3. Sigmanotation för summor 4. Strängar 5. Tal 6. Övningsuppgifter Referenser Följder, strängar
Lutande torn och kluriga konster!
Lutande torn och kluriga konster! Aktiviteter för barn under Vetenskapsfestivalens skolprogram 2001 Innehåll 1 Bygga lutande torn som inte faller 2 2 Om konsten att vinna betingat godis i spel 5 3 Den
STRIPS. En planerares uppbyggnad. Emma Torensjö. Artificiell Intelligens II. Linköpings Universitet HT Emma Torensjö.
STRIPS En planerares uppbyggnad Artificiell Intelligens II Linköpings Universitet HT 2012 Innehållsförteckning Innehåll Innehållsförteckning... 3 Inledning... 4 1. Introduktion till STRIPS... 4 2. Operatorbeskrivning
3. Välj den sprajt (bild) ni vill ha som fallande objekt, t ex en tårta, Cake. Klicka därefter på OK.
Moment 2: Klonspel Instruktioner för deltagare Idag ska du få lära dig om: Kloner - kopior av samma figur (sprajt) Variabler - ett värde, exempelvis antal poäng Slumptal - slå en tärning för att välja
HKGBB0, Artificiell intelligens
HKGBB0, Artificiell intelligens Kortfattade lösningsförslag till tentan 3 november 2005 Arne Jönsson 1. Vad karaktäriserar dagens AI-forskning jämfört med den AI-forskning som bedrevs perioden 1960-1985.
Statistisk mönsterigenkänning
Statistisk mönsterigenkänning Jonas Sandström Artificiell intelligens II Linköpings universitet HT 2011 Innehållsförteckning 1. Innehållsförteckning sid 2 2. Inledning sid 3 3. Statistisk mönsterigenkänning
Lennart Rolandsson, Uppsala universitet, Ulrica Dahlberg och Ola Helenius, NCM
Matematik Gymnasieskola Modul: Matematikundervisning med digitala verktyg II Del 1: Om programmering Aktiviteter Del 1 Lennart Rolandsson, Uppsala universitet, Ulrica Dahlberg och Ola Helenius, NCM Ni
Under min praktik som lärarstuderande
tomoko helmertz Problemlösning i Japan och Sverige Japansk matematikundervisning skiljer sig på många sätt från svensk. Vilka konsekvenser får det för hur elever i respektive länder löser problem? Tomoko
Vardagssituationer och algebraiska formler
Modul: Algebra Del 7: Kommunikation i algebraklassrummet Vardagssituationer och algebraiska formler Cecilia Kilhamn, Göteborgs Universitet och Jörgen Fors, Linnéuniversitetet En viktig del av algebran
1. Inledning, som visar att man inte skall tro på allt man ser. Betrakta denna följd av tal, där varje tal är dubbelt så stort som närmast föregående
MATEMATISKA INSTITUTIONEN STOCKHOLMS UNIVERSITET Christian Gottlieb Gymnasieskolans matematik med akademiska ögon Induktion Dag 1 1. Inledning, som visar att man inte skall tro på allt man ser. Betrakta
Vad är matematik? Svaret kanske verkar enkelt. Vi vet alla att det är
11 Stefan Buijsman Vad är matematik? Efter ett kortare uppehåll fortsätter nu artikelserien Mattetalanger. Denna gång förs ett filosofiskt resonemang om vad matematik är. Författaren tar både Platon och
Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet
Formell logik Kapitel 1 och 2 Robin Stenwall Lunds universitet Kapitel 1: Atomära satser Drömmen om ett perfekt språk fritt från vardagsspråkets mångtydighet och vaghet (jmf Leibniz, Russell, Wittgenstein,
Slutrapport för Internetfonden
Slutrapport för Internetfonden Webbprogrammering i matematik och fysikundervisning Mikael Tylmad mikael@roboro.se Fredrik Atmer fredrik.atmer@gmail.com Ella Kai-Larsen e@k-l.se 10 april 2014 http://www.profyma.se/
RemoteBud. Inlämnas: Patrik Johnsson, e01pjo Viktor Karlsson, e01vk
RemoteBud Inlämnas: 2005-02-01 Patrik Johnsson, e01pjo Viktor Karlsson, e01vk Abstract Skulle du också vilja styra dina lampor och rulla ner dina persienner med hjälp av din TV-fjärrkontroll? Remotebud
Laboration i datateknik
KUNGLIGA TEKNISKA HÖGSKOLAN Laboration i datateknik Felsökning och programmering av LEGO NXT robot Daniel Willén 2012 09 06 dwill@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Syftet med
TALTEORI FÖR ALLA 1 Juliusz Brzezinski
TALTEORI FÖR ALLA 1 Juliusz Brzezinski För exakt 10 år sedan publicerade Andrew Wiles sitt bevis av Fermats Stora Sats. Nyheten om hans resultat väckte enorm uppmärksamhet i hela världen. Vägen till lösningen
Likhetstecknets innebörd
Likhetstecknets innebörd Följande av Görel Sterner översatta och bearbetade text bygger på boken: arithmetic & algebra in elementary school. Portsmouth: Heinemann Elever i åk 1 6 fick följande uppgift:
Symboler och abstrakta system
Symboler och abstrakta system Warwick Tucker Matematiska institutionen Uppsala universitet warwick@math.uu.se Warwick Tucker, Matematiska institutionen, Uppsala universitet 1 Vad är ett komplext system?
Tentamen: Programutveckling ht 2015
Tentamen: Programutveckling ht 2015 Datum: 2015-11-04 Tid: 09:00-13:00 Sal: Ansvarig: Resultat: Hjälpmedel: Maxpoäng: Betygsgränser: Anslås inom 3 veckor. Inga 40 p 20 p för G, 32 p för VG. Iakttag följande:
I kursen i endimensionell analys är mängden av reella tal (eng. real number), R, fundamental.
Lunds tekniska högskola Datavetenskap Lennart ndersson Föreläsningsanteckningar EDF10 4 Mängder 4.1 Motivering Mängden är den mest grundläggande diskreta strukturen. Nästan alla matematiska begrepp går
Grundläggande logik och modellteori
Grundläggande logik och modellteori Kapitel 6: Binära beslutsdiagram (BDD) Henrik Björklund Umeå universitet 22. september, 2014 Binära beslutsdiagram Binära beslutsdiagram (Binary decision diagrams, BDDs)
Signalflödesmodellen. Två (gamla) exempel: Kvadratera alla jämna löv.
Strömmar (streams) De sista dagarna objekt med tillstånd modellerades som beräkningsobjekt med tillstånd. Isådana modeller är tiden modelerad (implicit) som en sekvens av tillstånd. För att kunna modellera
Grundläggande logik och modellteori
Modeller och uttrycksfullhet hos predikatlogik Department of mathematics Umeå university Föreläsning 10 Dagens föreläsning 1 Innehåll på resten av kursen 2 Varför verifikation? Formella metoder för verifikation
Programmeringsmetodik DV1 Programkonstruktion 1. Moment 4 Om rekursion. PK1&PM1 HT-06 moment 4 Sida 1 Uppdaterad
Programmeringsmetodik DV1 Programkonstruktion 1 Moment 4 Om rekursion PK1&PM1 HT-06 moment 4 Sida 1 Uppdaterad 2006-10-17 Summera godtyckligt antal tal (* sumupto n Type: int->int Pre: n >= 0, n
Lek$on 3: Kunskapsrepresenta$on. Robin Keskisärkkä
Lek$on 3: Kunskapsrepresenta$on Robin Keskisärkkä Översikt Laborationerna så här långt Genomgång av laboration 3 Uppgift Förberedelser Kunskapsrepresentation Framesteori Uppgi9 Implementera ett frames-system
Lösning till tentamensskrivning i Diskret Matematik för CINTE och CMETE, m fl, SF1610, tisdagen den 2 juni 2015, kl
1 Matematiska Institutionen KTH Lösning till tentamensskrivning i Diskret Matematik för CINTE och CMETE, m fl, SF1610, tisdagen den juni 015, kl 1.00-19.00. Examinator: Olof Heden Hjälpmedel: Inga hjälpmedel
Matematiska begrepp kan ibland vara svåra att visualisera, exempelvis
Kajsa Bråting Tolka visualiseringar Vilken roll kan visualiseringar ha i skolmatematiken? Några elever på gymnasiet tar sig an ett historiskt problem som handlar om att utifrån en visualisering avgöra
Filosofisk logik Kapitel 15. Robin Stenwall Lunds universitet
Filosofisk logik Kapitel 15 Robin Stenwall Lunds universitet Dagens upplägg Första ordningens mängdlära Naiv mängdlära Abstraktionsaxiomet (eg. comprehension) Extensionalitetsaxiomet Små mängder Ordnade
IBSE Ett självreflekterande(självkritiskt) verktyg för lärare. Riktlinjer för lärare
Fibonacci / översättning från engelska IBSE Ett självreflekterande(självkritiskt) verktyg för lärare Riktlinjer för lärare Vad är det? Detta verktyg för självutvärdering sätter upp kriterier som gör det
Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.
OS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
Att dela en hemlighet
Att dela en hemlighet Olle Alvin, NA3d 19 maj 014 Gymnasiearbete Spyken Handledare: Roger Bengtsson Abstract This report will investigate different methods for sharing secret information, for example bank
MATEMATIKENS SPRÅK. Avsnitt 1
Avsnitt 1 MATEMATIKENS SPRÅK Varje vetenskap, liksom varje yrke, har sitt eget språk som ofta är en blandning av vardagliga ord och speciella termer. En instruktionshandbok för ett kylskåp eller för en
18 juni 2007, 240 minuter Inga hjälpmedel, förutom skrivmateriel. Betygsgränser: 15p. för Godkänd, 24p. för Väl Godkänd (av maximalt 36p.
HH / Georgi Tchilikov DISKRET MATEMATIK,5p. 8 juni 007, 40 minuter Inga hjälpmedel, förutom skrivmateriel. Betygsgränser: 5p. för Godkänd, 4p. för Väl Godkänd (av maximalt 36p.). Förenkla (så mycket som
2 = 2. Tal skrivna på det sättet kallas potenser. I vårt fall har vi tredje tvåpotensen. Tredje tvåpotensen har 2 som bas och 3 som
616 Talföljder på laborativt vis Vikt papper Vik ett A-4 ark mitt itu så att du får två stycken A-5 ark. Vik det en gång till på samma sätt. Hur stora och hur många är dina ark? Vad händer om du fortsätter?
Bråkräkning uppfattas av många elever som svårt, särskilt vid beräkningar
Britt Holmberg & Cecilia Kilhamn Addition med bråk på tallinjen I sin tredje artikel om tallinjen beskriver författarna hur den används för att utveckla elevers förståelse för addition med oliknämniga
Talsystem Teori. Vad är talsystem? Av Johan Johansson
Talsystem Teori Av Johan Johansson Vad är talsystem? Talsystem är det sätt som vi använder oss av när vi läser, räknar och skriver ner tal. Exempelvis hade romarna ett talsystem som var baserat på de romerska
Den intelligenta dammsugaren
Institutionen för Datavetenskap presenterar: Den intelligenta dammsugaren En laboration i fyra delar Laborationen utvecklad av KogVet- studenter Reviderad 2007: Jenny Dalenius 1 Hej och välkommen! Bilden
Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik
Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik Mats Boij 18 november 2001 13 Grupper Det trettonde kapitlet behandlar grupper. Att formulera abstrakta begrepp som grupper
Några satser ur talteorin
Några satser ur talteorin LCB 997/2000 Fermats, Eulers och Wilsons satser Vi skall studera några klassiska satser i talteori, vilka är av betydelse bland annat i kodningsteknik och kryptoteknik. De kan
hämtad från ls.idpp.gu.se
Att introducera multiplikation i årskurs två Skola Parkskolan i Norrtälje Årskurs 2 Antal elever i studien 38 elever deltog i studien. Studien avslutades våren 2013. Handledare Charlotta Andersson, charlotta.andersson@norrtalje.se
MÖNSTER OCH TALFÖLJDER
MÖNSTER OCH TALFÖLJDER FÖRELÄSNINGENS INNEHÅLL OCH SYFTE Genomgång av viktiga matematiska begrepp, uttryck och symboler med anknytning till mönster och talföljder. Skälet till att välja detta innehåll
ARTIFICIELL INTELLIGENS
ARTIFICIELL INTELLIGENS www..se Så fungerar det Artificiell Intelligens (AI) är intelligens som uppvisas av maskiner. Uttrycket användes för första gången 1955 i ett forskningsförslag med syftet att hitta
HD-metoden och hypotesprövning. Vetenskapliga data
HD-metoden och hypotesprövning. Vetenskapliga data En central vetenskaplig metod? Vetenskap har (minst) fyra olika komponenter: Att ställa upp hypoteser. Att verifiera hypoteser med logik. Att värdera
Olika sätt att lösa ekvationer
Modul: Algebra Del 5: Algebra som språk Olika sätt att lösa ekvationer Cecilia Kilhamn, Göteborgs Universitet och Lucian Olteanu, Linnéuniversitetet Att lösa ekvationer är en central del av algebran, det