Föreläsning 2. Teori. Övningar. Unifiering Unifiering i Prolog Sökning efter bevis. Ett lite större exempel: kampsport.pl Praktisk träning (hemläxa)
|
|
- Anders Lundqvist
- för 8 år sedan
- Visningar:
Transkript
1 Föreläsning 2 Teori Unifiering Unifiering i Prolog Sökning efter bevis Övningar Ett lite större exempel: kampsport.pl Praktisk träning (hemläxa)
2 Målet med denna föreläsning Diskutera unifiering i Prolog Visa hur Prologs unifiering skiljer sig från standardunifiering Förklara den sökstrategi som Prolog använder sig av när den försöker härleda ny information från redan existerande dito, mha modus ponens
3 Unifiering Tänk på exemplet från förra FL, där vi konstaterade att Prolog unifierar med woman(x) woman(mia) och instantierar därmed variabeln X med atomen mia.
4 Repetition: Prologs termer Terms Simple Terms Constants Variables Atoms Numbers Complex Terms
5 Unifiering Working definition : Två termer unifierar om de är samma term eller om de innehåller variabler som kan uniformt instantieras med termer på så sätt att de resulterande termerna är lika.
6 Unifiering Detta betyder att: mia och mia unifierar 42 och 42 unifierar woman(mia) och woman(mia) unifierar Detta betyder också att: vincent och mia inte unifierar woman(mia) och woman(jody) inte unifierar
7 Unifiering Hur går det med... mia och X X
8 Unifiering Hur går det med... woman(z) och woman(mia) mia z
9 Unifiering Hur går det med... loves(mia,x) och loves(x,vincent) mia X loves(mia,mia) loves(mia, vincent) X kan ej bindas till två olika värden samtidigt! loves(vincent, vincent) X vincent
10 Instantieringar När Prolog unifierar två termer, utför det alla de nödvändiga instantieringarna, så att termerna därefter är lika Detta gör unifieringen en kraftig programmingsmekanism
11 Reviderad definition 1/3 1. Om T 1 och T 2 är konstanter, så unifierar T 1 och T 2 ifall de är samma atom eller samma tal. 2 2 mia mia
12 Reviderad definition 2/ Om T 1 är en variabel och T 2 är vilken som helst term (any type of term), så unifierar T 1 och T 2, och T 1 instantieras till T 2. (och vice versa) X Y mia woman(mia)
13 Reviderad definition 3/ Om T 1 och T 2 är komplexa termer så unifierar de ifall: a) De har samma funktor och aritet, och b) alla deras motsvarande argument unifierar, och c) variabelinstantieringarna är kompatibla.
14 Prologs unifiering: =/2?- mia = mia. yes?- = unifieringsoperator (inbyggt predikat)
15 Prologs unifiering: =/2?- mia = mia. yes?- mia = vincent. no?-
16 Prologs unifiering: =/2?- mia = X. X=mia yes?- Kan mia unifieras med X? Ja, och X instantieras då till mia.
17 Hur kommer Prolog att reagera??- X=mia, X=vincent. X? mia vincent
18 Hur kommer Prolog att reagera??- X=mia, X=vincent. no?-, = and Varför? Efter att ha jobbat genom det första delmålet har Prolog instantierat X till mia, så att det nu inte längre kan unifiera X med vincent. Därför misslyckas det andra delmålet.
19 Exempel med komplexa termer?- k(s(g),y) = k(x,t(k)).
20 Exempel med komplexa termer?- k(s(g),y) = k(x,t(k)). X=s(g) Y=t(k) yes?-
21 Exempel med komplexa termer?- k(s(g),t(k)) = k(x,t(y)).
22 Example with complex terms?- k(s(g),t(k)) = k(x,t(y)). X=s(g) Y=k yes?-
23 Ett sista exempel...?- loves(x,x) = loves(marsellus,mia).
24 Ett sista exempel...?- loves(x,x) = loves(marsellus,mia). no. loves(x,x) = loves(marsellus,marsellus). loves(x,x) = loves(mia,mia).... skulle fungera.
25 Prolog och unifiering Prolog använder inte en standard unifieringsalgoritm Betrakta följande förfrågning:?- father(x) = X. Unifierar dessa termer eller ej?
26 Infinita termer?- father(x) = X. X=father(father(father(father(father(father (father(father(father(father(father(father (father(father(father(father(father(father (father(father(father(father(father(father (father(father(father(father(father(father (father(father(father(father(father(father (father(father(father(father(father(father (father(father(father(father(father(father (
27 Infinita terms?- father(x) = X. X=father(father(father( )))) yes?-
28 Obs! swipl på tuxedo:?- father(x) = X. X = father(x)?-
29 Occurs Check En standard unifieringsalgoritm utför en occurs check Om den ombes att unifiera en variabel med en annan term kontrollerar den ifall variabeln ifråga ingår i termen I Prolog:?- unify_with_occurs_check(father(x), X). no
30 Occurs Check Prolog på tuxedo:?- father(x) = X. X = father(x).?- man(x) = X. X = man(x).?- unify_with_occurs_check(father(x),x). false.
31 Att programmera med unifiering vertical( line(point(x,y), point(x,z))). horizontal( line(point(x,y), point(z,y))). Y X
32 Att programmera med unifiering vertical( line(point(x,y), point(x,z))). horizontal( line(point(x,y), point(z,y))).?-
33 Programming with Unification vertical( line(point(x,y), point(x,z))). horizontal( line(point(x,y), point(z,y))).?- vertical(line(point(1,1),point(1,3))). yes?-
34 Att programmera med unifiering vertical( line(point(x,y), point(x,z))). horizontal( line(point(x,y), point(z,y))).?- vertical(line(point(1,1),point(1,3))). yes?- vertical(line(point(1,1),point(3,2))). no?-
35 Att programmera med unifiering vertical( line(point(x,y), point(x,z))). horizontal( line(point(x,y), point(z,y))).?- horizontal(line(point(1,1),point(1,y))). Y = 1; no?-
36 Att programmera med unifiering vertical( line(point(x,y), point(x,z))). horizontal( line(point(x,y), point(z,y))).?- horizontal(line(point(2,3),point)). Point = point(_554,3); no?-
37 Prolog på tuxedo... vertical( line(point(x,y), point(x,z))). horizontal( line(point(x,y), point(z,y))).?- horizontal(line(point(2,3),point)). Point = point(_g8, 3).?-
38 Att söka efter bevis Nu när vi vet om unifiering, kan vi börja se hur Prolog söker genom sin kunskapsbas för att se om ett mål kan satisfieras. Med andra ord: vi är redo att börja lära oss sökning efter bevis (proof search)
39 Exempel f(a). f(b). g(a). g(b). h(b). k(x):- f(x), g(x), h(x).?- k(y). För vilket/ vilka Y gäller k?
40 Exempel: sökträd (resolutionsträd) f(a). f(b). g(a). g(b). h(b). k(x):- f(x), g(x), h(x).?- k(y).?- k(y). Vi börjar med målet som ställdes.
41 Exempel: sökträd (resolutionsträd) f(a). f(b). g(a). g(b). h(b). k(x):- f(x), g(x), h(x).?- k(y). matcha Y mot X Y=X?- k(y).?- f(x), g(x), h(x). Nu får vi en hel del nya delmål från regelns kropp att bevisa
42 Exempel: sökträd (resolutionsträd) f(a). f(b). g(a). Y=X?- k(y). g(b). h(b). k(x):- f(x), g(x), h(x).?- k(y). matcha X mot a?- f(x), g(x), h(x). X=a?- g(a), h(a). Gäller dessa också?
43 Exempel: sökträd (resolutionsträd) f(a). f(b). g(a). g(b). h(b). k(x):- f(x), g(x), h(x).?- k(y).?- k(y). Y=X?- f(x), g(x), h(x). X=a?- g(a), h(a).?- h(a).
44 Exempel: sökträd (resolutionsträd) f(a). f(b). g(a). g(b). h(b). k(x):- f(x), g(x), h(x).?- k(y).?- k(y). Y=X?- f(x), g(x), h(x). X=a?- g(a), h(a).?- h(a). Misslyckades bevisa h(a)
45 Exempel: sökträd (resolutionsträd) f(a). f(b). g(a). g(b). h(b). k(x):- f(x), g(x), h(x).?- k(y).?- g(a), h(a).?- h(a).?- k(y).?- f(x), g(x), h(x). X=a Y=X X=b?- g(b), h(b). Ett nytt försök: x binds till b
46 Exempel: sökträd (resolutionsträd) f(a). f(b). g(a). g(b). h(b). k(x):- f(x), g(x), h(x).?- k(y).?- k(y). Y=X?- f(x), g(x), h(x). X=a X=b?- g(a), h(a).?- g(b), h(b).?- h(a).?- h(b).
47 Exempel: sökträd (resolutionsträd) f(a). f(b). g(a). g(b). h(b). k(x):- f(x), g(x), h(x).?- k(y). Y=b?- k(y). Y=X?- f(x), g(x), h(x). X=a X=b?- g(a), h(a).?- g(b), h(b).?- h(a).?- h(b). NU!
48 Exempel: sökträd (resolutionsträd) f(a). f(b). g(a). g(b). h(b). k(x):- f(x), g(x), h(x).?- k(y). Y=b; no?-?- k(y). Y=X?- f(x), g(x), h(x). X=a X=b?- g(a), h(a).?- g(b), h(b).?- h(a).?- h(b). Inga andra svar
49 Ett annat exempel loves(vincent,mia). loves(marsellus,mia). jealous(a,b):- loves(a,c), loves(b,c).?- jealous(x,y).
50 Ett annat exempel loves(vincent,mia). loves(marsellus,mia).?- jealous(x,y). jealous(a,b):- loves(a,c), loves(b,c).?- jealous(x,y).
51 Ett annat exempel loves(vincent,mia). loves(marsellus,mia).?- jealous(x,y). X=A Y=B jealous(a,b):- loves(a,c), loves(b,c).?- jealous(x,y).?- loves(a,c), loves(b,c). Vem är svartsjuk på vem...
52 Ett annat exempel loves(vincent,mia). loves(marsellus,mia).?- jealous(x,y). X=A Y=B jealous(a,b):- loves(a,c), loves(b,c).?- jealous(x,y).?- loves(a,c), loves(b,c). A=vincent C=mia?- loves(b,mia). Vilket/vilka B älskar mia?
53 Ett annat exempel loves(vincent,mia). loves(marsellus,mia).?- jealous(x,y). X=A Y=B jealous(a,b):- loves(a,c), loves(b,c).?- jealous(x,y). X=vincent Y=vincent?- loves(a,c), loves(b,c). A=vincent C=mia?- loves(b,mia). B=vincent Ingenting hindrar A = B
54 Ett annat exempel loves(vincent,mia). loves(marsellus,mia).?- jealous(x,y). X=A Y=B jealous(a,b):- loves(a,c), loves(b,c).?- jealous(x,y). X=vincent Y=vincent; X=vincent Y=marsellus?- loves(a,c), loves(b,c). A=vincent C=mia?- loves(b,mia). B=vincent B=marsellus Nu binds B till marsellus
55 Ett annat exempel loves(vincent,mia). loves(marsellus,mia).?- jealous(x,y). X=A Y=B jealous(a,b):- loves(a,c), loves(b,c).?- jealous(x,y). X=vincent Y=vincent; X=vincent Y=marsellus;?- loves(a,c), loves(b,c). A=vincent C=mia?- loves(b,mia). B=vincent B=marsellus A=marsellus C=mia?- loves(b,mia). A och C binds på nytt
56 Ett annat exempel loves(vincent,mia). loves(marsellus,mia).?- jealous(x,y). X=A Y=B jealous(a,b):- loves(a,c),. loves(b,c). X=vincent Y=marsellus; X=marsellus Y=vincent?- loves(a,c), loves(b,c). A=vincent A=marsellus C=mia C=mia?- loves(b,mia).?- loves(b,mia). B=vincent B=vincent B=marsellus
57 Ett annat exempel loves(vincent,mia). loves(marsellus,mia).?- jealous(x,y). X=A Y=B jealous(a,b):- loves(a,c),. loves(b,c). X=marsellus Y=vincent; X=marsellus Y=marsellus?- loves(a,c), loves(b,c). A=vincent A=marsellus C=mia C=mia?- loves(b,mia).?- loves(b,mia). B=vincent B=vincent B=marsellus B=marsellus
58 Ett annat exempel loves(vincent,mia). loves(marsellus,mia).?- jealous(x,y). X=A Y=B jealous(a,b):- loves(a,c),. loves(b,c). X=marsellus Y=vincent; X=marsellus Y=marsellus; no?- loves(a,c), loves(b,c). A=vincent A=marsellus C=mia C=mia?- loves(b,mia).?- loves(b,mia). B=vincent B=vincent B=marsellus B=marsellus
59 Ett nytt exempel: kampsport.pl
60 Ett nytt exempel: kampsport.pl /* Ett litet expertsystem om olika kampsporter - kan med fördel utvidgas */ kampart(kungfu). /* en gemensam benämning för ett flertal kinesiska kamparter */ kampart(karate). /* den tomma handens väg */ kampart(sumo). /* De välberömda massiva brottarna */ kampart(ninjutsu). /* ninjornas hemliga kampkonster */ kampart(aikido). /* den harmoniska vägen */ kampart(judo). /* den mjuka vägen (med hårda fall =) */ kampart(kendo). /* japansk svärd med parkamp */ kampart(iaido). /* konsten att dra det japanska svärdet - ensam */ kampart(kyudo). /* bågskyttets väg */ kampart(taido). /* kroppens väg - extremt akrobatiskt */ kampart(taekwondo)./* koreansk kampsport */ kampart(hapkido). /* mjukare koreansk kampsport */ kampart(kobudo). /* traditionella vapen från Okinawa */ kampart(tessenjutsu). /* den japanska kampsolfjäderns teknik */ kampart(katorishintoryu). /* vapenskola från 1400-talet */
61 Ett nytt exempel: kampsport.pl delgrenav(taiji, kungfu). delgrenav(wingchun, kungfu). delgrenav(prayingmantis, kungfu). delgrenav(choylifut, kungfu). delgrenav(shotokan, karate). delgrenav(shotokai, karate). delgrenav(goryu, karate). delgrenav(sankukai, karate). delgrenav(yuishinkai, karate).
62 Ett nytt exempel: kampsport.pl harstammarfran(kungfu, kina). harstammarfran(kobudo, okinawa). harstammarfran(karate, okinawa). harstammarfran(sumo, japan). harstammarfran(ninjutsu, japan). harstammarfran(aikido, japan). harstammarfran(judo, japan). harstammarfran(kendo, japan). harstammarfran(iaido, japan). harstammarfran(kyudo, japan). harstammarfran(taido, japan). harstammarfran(tessenjutsu, japan). harstammarfran(katorishintoryu, japan). harstammarfran(taekwondo, korea). harstammarfran(hapkido, korea). harstammarfran(x,y) :- delgrenav(x,z), harstammarfran(z,y).
63 Ett nytt exempel: kampsport.pl harstammarfran(x,y) :- delgrenav(x,z), harstammarfran(z,y).?- harstammarfran(karate, X). X = okinawa.?- harstammarfran(goryu, X). X = okinawa ; false.?- harstammarfran(x, okinawa). X = kobudo ; X = karate ; X = shotokan ; X = shotokai ; X = goryu ; X = sankukai ; X = yuishinkai ; false.
64 Ett nytt exempel: kampsport.pl vapen(sabel). /* det breda svärdet */ vapen(svard). /*smalare svärd, ex. katana */ vapen(spjut). /* ex. japansk yari */ vapen(kapp). /* hanbo, jo, bo */ vapen(bage). /* en lång båge för kyudo */ vapen(nunchaku). /* korta käppar med kedja emellan */ vapen(kusarifundo). /* en viktad kedja */ vapen(kusarigama). /* kedjevapen med en hacka i ena ändan */ vapen(shuriken). /* kaststjarna */ vapen(solfjader). /* japansk tessen eller taijishan */ vapen(naginata). /* tank dig en lång ishockeylatka, skarpt */ vapen(sai). /* en kort trespiksgaffel */ harvapen(x,y) :- har(x,y), vapen(y).
65 Ett nytt exempel: kampsport.pl?- harvapen(aikido, X). X = kapp ; X = svard ; false. Jag vill veta vilka vapen aikido har?- harvapen(aikido, _). true ; true ; false.?- harvapen(x, svard). X = kungfu ; X = ninjutsu ; X = taiji ; X = aikido ; X = kendo ; X = iaido ; X = katorishintoryu. Jag vill veta om aikido har vapen överhuvudtaget Jag vill veta vilka grenar som tränar med svärd
66 Ett nytt exempel: kampsport.pl harejvapen(x) :- kampart(x), not(harvapen(x,_)). /* X binds har till de olika kamparterna som sedan testas för vapen. Man skulle också kunna ställa frågan till systemet, och då får man samma svar. Vad man INTE kan ha är definitionen eller frågan */ not(harvapen(x,_)) ensam; systemresponsen blir "fail". not kan inte här användas för att generera de önskade svaren. Så fort harvapen(x,_) kan bevisas med något X och något vapen, misslyckas not.
67 Ett nytt exempel: kampsport.pl /* not(harvapen(x,_)) */ ensam; systemresponsen blir "fail". not kan inte här användas för att generera de önskade svaren. Så fort harvapen(x,_) kan bevisas med något X och något vapen, misslyckas not.?- not(harvapen(x, _)). false.
68 Ett nytt exempel: kampsport.pl harejvapen(x) :- kampart(x), not(harvapen(x,_)). /* X binds har till de olika kamparterna som sedan testas för vapen. Man skulle också kunna ställa frågan till systemet, och då får man samma svar. */?- harejvapen(x). X = karate ; X = sumo ; X = judo ; X = taido ; X = taekwondo ; X = hapkido ; false. Detta stämmer ju inte med verkligheten, men nog med vår slutna värld, där man inte explicit har registrerat några vapen för karate.
69 Ett nytt exempel: kampsport.pl harejvapen(x) :- kampart(x), not(harvapen(x,_)). /* X binds har till de olika kamparterna som sedan testas för vapen. Man skulle också kunna ställa frågan till systemet, och då får man samma svar. */?- harejvapen(x). X = karate ; X = sumo ; X = judo ; X = taido ; X = taekwondo ; X = hapkido ; false. Regeln harvapen borde korrigeras så, att om X är delgren av Y, och harvapen gäller för X, så gäller harvapen även för Y. Då räknas kobudos vapen som karates.
70 Ett nytt exempel: kampsport.pl harejfall(x) :- kampart(x), not(har(x, fallteknik)).?- harejfall(x). X = karate ; X = kendo ; X = iaido ; X = kyudo ; X = taido ; X = taekwondo ; X = kobudo ; X = tessenjutsu ; X = katorishintoryu. Om du inte gillar ukemin... Ljuger igen... taidos kast har inte blivit registrerade, och åtm goryu bland karategrenar förutsätter både kast och fall.
71 Ett nytt exempel: kampsport.pl har(yuishinkai, kast). har(sumo, kast). har(ninjutsu, kast). har(kungfu, kast). har(aikido, kast). har(judo, kast). har(jujutsu, kast). har(hapkido, kast). har(karate, sparkar). har(kungfu, sparkar). har(taekwondo, sparkar). har(jujutsu, sparkar). har(karate, slag). har(kungfu, slag). har(taekwondo, slag). har(jujutsu, slag). har(ninjutsu, slag). har(taido, slag). har(aikido, slag). har(ninjutsu, struptag). har(jujutsu, struptag). har(karate, tavlingar). har(kungfu, tavlingar). har(jujutsu, tavlingar). har(sumo, tavlingar). har(judo, tavlingar). har(kendo, tavlingar). har(taido, tavlingar). har(taekwondo, tavlingar). har(kungfu, sabel). har(kungfu, svard). har(kungfu, spjut). har(kobudo, kapp). har(kobudo, nunchaku). har(kobudo, sai). har(ninjutsu, kapp). har(ninjutsu, nunchaku). har(ninjutsu, kusarifundo).
72 Ett nytt exempel: kampsport.pl har(ninjutsu, kusarigama). har(ninjutsu, shuriken). har(ninjutsu, svard). har(taiji, solfjader). har(taiji, svard). har(taiji, sabel). har(aikido, kapp). har(aikido, svard). har(kendo, svard). har(iaido, svard). har(kyudo, bage). har(tessenjutsu, solfjader). har(katorishintoryu, kapp). har(katorishintoryu, spjut). har(katorishintoryu, svard). har(katorishintoryu, naginata). har(x, fallteknik) :- har(x, kast). har(x, blockeringar) :- har(x, slag). har(x, blockeringar) :- har(x, sparkar).
73 Ett nytt exempel: kampsport.pl?- har(x, sparkar). X = karate ; X = kungfu ; X = taekwondo ; X = jujutsu.?- har(x, blockeringar). X = karate ; X = kungfu ; X = taekwondo ; X = jujutsu ; X = ninjutsu ; X = taido ; X = aikido ; X = karate ; X = kungfu ; X = taekwondo ; X = jujutsu. Obs! Igen, ofullständig beskrivning; också ex. ninjutsu har både slag och sparkar... för att dom har slag för att dom har sparkar
74 Ett nytt exempel: kampsport.pl harjuniorverksamhet(aikido). harjuniorverksamhet(karate). harjuniorverksamhet(judo). harjuniorverksamhet(taido). harjuniorverksamhet(taekwondo). harjuniorverksamhet(jujutsu). ejforbarn(x) :- harvapen(x, _), not(harjuniorverksamhet(x)). ejforbarn(x) :- har(x, struptag), not(harjuniorverksamhet(x)). Strypningar tränas inte med barn under 15 år. När det tränas bland vuxna, ska åtm. en lärare med svart bälte vara närvarande.
75 Ett nytt exempel: kampsport.pl?- ejforbarn(karate). false.?- ejforbarn(aikido). false.?- ejforbarn(kungfu). true ; true ; true ; false. har(kungfu, sabel). har(kungfu, svard). har(kungfu, spjut).
76 Ett nytt exempel: kampsport.pl?- ejforbarn(kungfu). true ; true ; true ; false.?- trace. true. [trace]?- ejforbarn(kungfu). Call: (6) ejforbarn(kungfu)? creep Call: (7) harvapen(kungfu, _G393)? creep Call: (8) har(kungfu, _G393)? creep Exit: (8) har(kungfu, kast)? creep Call: (8) vapen(kast)? creep Fail: (8) vapen(kast)? creep Redo: (8) har(kungfu, _G393)? creep... har(kungfu, sabel). har(kungfu, svard). har(kungfu, spjut).
77 Ett nytt exempel: kampsport.pl Exit: (8) har(kungfu, sparkar)? creep Call: (8) vapen(sparkar)? creep Fail: (8) vapen(sparkar)? creep Redo: (8) har(kungfu, _G393)? creep Exit: (8) har(kungfu, slag)? creep Call: (8) vapen(slag)? creep Fail: (8) vapen(slag)? creep Redo: (8) har(kungfu, _G393)? creep Exit: (8) har(kungfu, tavlingar)? creep Call: (8) vapen(tavlingar)? creep Fail: (8) vapen(tavlingar)? creep Redo: (8) har(kungfu, _G393)? creep Exit: (8) har(kungfu, sabel)? creep Call: (8) vapen(sabel)? creep Exit: (8) vapen(sabel)? creep Exit: (7) harvapen(kungfu, sabel)? creep ^ Call: (7) not(harjuniorverksamhet(kungfu))? creep Call: (8) harjuniorverksamhet(kungfu)? creep Fail: (8) harjuniorverksamhet(kungfu)? creep ^ Exit: (7) not(user:harjuniorverksamhet(kungfu))? creep Exit: (6) ejforbarn(kungfu)? creep true ; har(kungfu, sabel). har(kungfu, svard). har(kungfu, spjut).
78 Ett nytt exempel: kampsport.pl Redo: (8) har(kungfu, _G393)? creep Exit: (8) har(kungfu, svard)? creep Call: (8) vapen(svard)? creep Exit: (8) vapen(svard)? creep Exit: (7) harvapen(kungfu, svard)? creep ^ Call: (7) not(harjuniorverksamhet(kungfu))? creep Call: (8) harjuniorverksamhet(kungfu)? creep Fail: (8) harjuniorverksamhet(kungfu)? creep ^ Exit: (7) not(user:harjuniorverksamhet(kungfu))? creep Exit: (6) ejforbarn(kungfu)? creep true ; har(kungfu, sabel). har(kungfu, svard). har(kungfu, spjut).
79 Ett nytt exempel: kampsport.pl Redo: (8) har(kungfu, _G393)? creep Exit: (8) har(kungfu, spjut)? creep Call: (8) vapen(spjut)? creep Exit: (8) vapen(spjut)? creep Exit: (7) harvapen(kungfu, spjut)? creep ^ Call: (7) not(harjuniorverksamhet(kungfu))? creep Call: (8) harjuniorverksamhet(kungfu)? creep Fail: (8) harjuniorverksamhet(kungfu)? creep ^ Exit: (7) not(user:harjuniorverksamhet(kungfu))? creep Exit: (6) ejforbarn(kungfu)? creep true ; har(kungfu, sabel). har(kungfu, svard). har(kungfu, spjut).
80 Ett nytt exempel: kampsport.pl Redo: (8) har(kungfu, _G393)? creep Call: (9) har(kungfu, kast)? creep Exit: (9) har(kungfu, kast)? creep Exit: (8) har(kungfu, fallteknik)? creep Call: (8) vapen(fallteknik)? creep Fail: (8) vapen(fallteknik)? creep Redo: (9) har(kungfu, kast)? creep Fail: (9) har(kungfu, kast)? creep Redo: (8) har(kungfu, _G393)? creep Call: (9) har(kungfu, slag)? creep Exit: (9) har(kungfu, slag)? creep Exit: (8) har(kungfu, blockeringar)? creep Call: (8) vapen(blockeringar)? creep Fail: (8) vapen(blockeringar)? creep Redo: (9) har(kungfu, slag)? creep Fail: (9) har(kungfu, slag)? creep Redo: (8) har(kungfu, _G393)? creep Call: (9) har(kungfu, sparkar)? creep Exit: (9) har(kungfu, sparkar)? creep Exit: (8) har(kungfu, blockeringar)? creep har(x, fallteknik) :- har(x, kast). har(x, blockeringar) :- har(x, slag). har(x, blockeringar) :- har(x,sparkar).
81 Ett nytt exempel: kampsport.pl Call: (8) vapen(blockeringar)? creep Fail: (8) vapen(blockeringar)? creep Redo: (9) har(kungfu, sparkar)? creep Fail: (9) har(kungfu, sparkar)? creep Fail: (8) har(kungfu, _G393)? creep Fail: (7) harvapen(kungfu, _G393)? creep Redo: (6) ejforbarn(kungfu)? creep Call: (7) har(kungfu, struptag)? creep Fail: (7) har(kungfu, struptag)? creep Fail: (6) ejforbarn(kungfu)? creep false. [trace]?- notrace. true. [debug]?- nodebug. true.?- Inga ytterligare sätt att bevisa varför kungfu inte lämpar sig för barn.
82 Det var det...
83 Sammandrag av dagens FL Under denna föreläsning har vi definierat unifiering tittat på skillnaden mellan standard unifiering och Prologs unifiering introducerat sökträd (resolutionsträd)
84 Nästa föreläsning Diskuterar rekursion i Prolog Introducerar rekursiva definitioner i Prolog Visar att det kan finnas diskrepanser mellan den deklarativa betydelsen av ett Prologprogram och dess procedurala betydelse.
Logikprogrammering. Undervisningsmaterialet NYTT för 2013: Learn Prolog Now! SWI Prolog-tolk, startas under tuxedo/ pingvinerna med swipl!
Logikprogrammering Undervisningsmaterialet NYTT för 2013: Learn Prolog Now! SWI Prolog-tolk, startas under tuxedo/ pingvinerna med swipl! Learn Prolog Now! SWI Prolog Gratis Prolog-tolk Lesser GNU Public
Centrala begrepp i prolog och logikprogrammering. Annamaris lista
Centrala begrepp i prolog och logikprogrammering Annamaris lista Databas med fakta och regler: Ett prolog-system består av en databas av fakta, och regler som gäller för dessa fakta. Fakta har formen av
Föreläsning 9 i programmeringsparadigm. Unifiering (Brna Chapter 4.1).
Föreläsning 9 i programmeringsparadigm. Unifiering (Brna Chapter 4.1). Repetition: I Haskell är mönster-passning (pattern-matchning) jättepraktiskt: När vi gör ett anrop av en funktion med ett visst argument
Föreläsning 3: rekursion
Föreläsning 3: rekursion Teori Introducera rekursiva definitioner i Prolog Fyra exempel Visa att det kan finnas diskrepanser mellan Prolog-programmets deklarativa och procedurala betydelse! Rekursiva definitioner
FL 5: Aritmetik. Teori
FL 5: Aritmetik Teori Introducerar Prologs inbyggda operationer för aritmetik Tillämpar dessa på enkla listhanteringsproblem, mha ackumulatorer Ser på svansrekursiva predikat och förklarar varför de är
Traditionell Programmering
Crash Course in Prolog Baran Çürüklü Introduktion till PROLOG, dvs. PROgramming in LOGic Prolog-programmen är deklarativa och består av egenskaper, relationer och regler. Lisp and Prolog är de vanligaste
DD1361 Programmeringsparadigm HT17
DD1361 Programmeringsparadigm HT17 Logikprogrammering 1 Dilian Gurov, KTH Delkursinnehåll Logisk versus procedurell läsning Kontrollflöde: Unifiering, Backtracking, Snitt Induktiva datatyper och rekursion
DD1361 Programmeringsparadigm HT15
DD1361 Programmeringsparadigm HT15 Logikprogrammering 1 Dilian Gurov, TCS Innehåll Logikprogrammering Kontrollflöde Unifiering Backtracking Negation Snitt Induktiva datatyper och rekursion Inbyggda datatyper:
Ett Logikprogram. Logik och Programmering. Introduktion till PROLOG, dvs. PROgramming in LOGic. Viktiga begrepp/områden i Prolog. Framtiden?
Crash Course in Prolog Peter Funk FUKO HT2001 IDt, Computer Science and Engineering Mälardalen University Västerås, Sweden Peter.Funk@mdh.se Introduktion till PROLOG, dvs. PROgramming in LOGic Prolog-programmen
DD1361 Programmeringsparadigm HT16
DD1361 Programmeringsparadigm HT16 Logikprogrammering 1 Dilian Gurov, TCS Delkursinnehåll Logikprogrammering Logisk versus procedurell läsning Kontrollflöde Unifiering, Backtracking, Snitt Negation Induktiva
Prova på-laboration i Prolog
Prova på-laboration i Prolog Peter Dalenius petda@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2006-09-12 1. Introduktion till Prolog Programspråket Prolog konstruerades i början
Sommarlägret 2015. På Visingsö
Sommarlägret 2015 På Visingsö Sommarlägret vänder sig till alla oavsett ålder och bältesgrad. Lägret pågår under fem dagar, fyllda av träning. Sommarlägrets träningar motsvarar mer än en månads vanlig
FL 6: Definite Clause Grammars (kap. 7)
FL 6: Definite Clause Grammars (kap. 7) Teori Introducerar kontextfria grammatikor och några besläktade begrepp Introducerar definite clause - grammatikor, Prologs sätt att jobba med kontextfria grammatikor
Svensk biblioteksförenings kommitté för Klassifikationssystem för svenska bibliotek (SAB-systemet)
Svensk biblioteksförenings kommitté för Klassifikationssystem för svenska bibliotek (SAB-systemet) Sammanträde: 2011-09-14 Plats: BTJ, Lund Närvarande: Anders Noaksson (ordf) BTJ Ebon Gentili MSB Olle
Semantik och pragmatik (Serie 4)
Semantik och pragmatik (Serie 4) Satser och logik. Mats Dahllöf Institutionen för lingvistik och filologi April 2015 1 / 30 Så här långt (satslogik) Konjunktion (p q): att två enklare satser båda är uppfyllda.
Våra enkla funktioner eller procedurer
Föreläsning 3 Våra enkla funktioner eller procedurer Programmönster 1. Repetition 2. Högre-ordningens procedurer/programmönster - Procedurer som argument - Procedurer som returnerade värden 3. Scope och
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
Föreläsning 8. newtype Chess = Chess [(Square, Chessman)] -- data ist f newtype OK -- data istället för newtype krävs om >1 konstruerare.
Föreläsning 8. Typer och programmeringsstil i Haskell. När vi definerade ett schack gjorde vi så här: newtype Chess = Chess [(Square, Chessman)] -- data ist f newtype OK deriving Show -- newtype effektivare
I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.
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
*UXSS YQLQJ±/RJLNPHGWLOOlPSQLQJDUYW
*USS YQLQJ±/RJLNPHGWLOOlPSQLQJDUYW 8SSJLIW Här kommer några teoretiska frågor, skriv svaren med egna ord, dvs skriv inte av ohbilderna: a. Vad är en beslutsprocedur? En algoritm som terminerar och som
Omgivningar. Omgivningar är viktiga eftersom de avgör vilka namn som är synliga och därmed dessas innebörd och de värden som är förknippade med dem.
Omgivningar Omgivningar är viktiga eftersom de avgör vilka namn som är synliga och därmed dessas innebörd och de värden som är förknippade med dem. (define (sqrroot c) (define (fixpoint guess c eps) (define
Föreläsning 9 i programmeringsparadigm. Paradigmöversikt, paradigmhistoria, paradigmgeografi. Se även föreläsning 1.
Föreläsning 9 i programmeringsparadigm. Paradigmöversikt, paradigmhistoria, paradigmgeografi. Se även föreläsning 1. Användning av Prolog. Prolog har framför allt används inom AI ( Articifial Intellegence),
Innehåll. Föreläsning 7. Satslogiken är för grov. Samma sak i predikatlogik: Första ordningens predikatlogik. Logik med tillämpningar
Innehåll Föreläsning 7 Logik med tillämpningar 99-03-01 Första ordningens predikatlogik Objekt, predikat, kvantifierare Funktioner, termer, wffs Bindning och räckvidd Tolkningar och värderingar Satisfiering,
Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn.
Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E Föreläsning 4: Villkor och rekursion Konverterar mellan de grundläggande typerna: >>> int("") >>> int(.999) >>> float().0
DD1361 Programmeringsparadigm HT15
DD1361 Programmeringsparadigm HT15 Logikprogrammering 3 Dilian Gurov, TCS Idag Induktiva datatyper: Träd (inte inbyggd) Binära träd utan data Binära träd med data Prolog-specifika konstruktioner Negation,
TATA42: Föreläsning 9 Linjära differentialekvationer av ännu högre ordning
TATA42: Föreläsning 9 Linjära differentialekvationer av ännu högre ordning Johan Thim 4 mars 2018 1 Linjära DE av godtycklig ordning med konstanta koefficienter Vi kommer nu att betrakta linjära differentialekvationer
Innehållsförtekning Sida. Inledning 3 Vad är fuzzy logic? 3 Mängder 3 Medlemsfunktioner 5 Operationer 6 Fuzzification 8 Litteraturförteckning 9
Fuzzy Logic Innehållsförtekning Sida Inledning 3 Vad är fuzzy logic? 3 Mängder 3 Medlemsfunktioner 5 Operationer 6 Fuzzification 8 Litteraturförteckning 9 2 Inledning Med detta fördjupningsarbete vill
Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion
Introduktion till programmering Föreläsning 4: Villkor och rekursion 1 1 Några inbyggda funktioner (med resultat!) Konverterar mellan de grundläggande typerna: >>> int("32") 32 >>> int(3.999) 3 >>> float(32)
Grundläggande logik och modellteori
Grundläggande logik och modellteori Kapitel 8: Predikatlogik Henrik Björklund Umeå universitet 2. oktober, 2014 Första ordningens predikatlogik Signaturer och termer Första ordningens predikatlogik Formler
Grundläggande logik och modellteori (5DV102)
Tentamen 2013-10-31 Grundläggande logik och modellteori (5DV102) M. Berglund och K. Markström Totalt antal uppgifter 11 Maximalt antal poäng 30 Krav för 3 i betyg 14 poäng Krav för 4 i betyg 19 poäng,
MAA7 Derivatan. 2. Funktionens egenskaper. 2.1 Repetition av grundbegerepp
MAA7 Derivatan 2. Funktionens egenskaper 2.1 Repetition av grundbegerepp - Det finns vissa begrepp som återkommer i nästan alla kurser i matematik. Några av dessa är definitionsmängd, värdemängd, största
Svenska Budo & Kampsportsförbundet Bilaga 2. Organisationsnummer
Årsredovisning för räkenskapsåret 2009-01-01-2009-12-31 Styrelsen för Svenska Budo & Kampsportsförbundet avger härmed följande årsredovisning. Innehåll Sida Förvaltningsberättelse 2 Resultaträkning - kostnadsslagsindelad
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
I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.
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
SF1626 Flervariabelanalys
1 / 14 SF1626 Flervariabelanalys Föreläsning 7 Henrik Shahgholian Vid Institutionen för matematik, KTH VT 2018, Period 3 2 / 14 SF1626 Flervariabelanalys Dagens Lektion Kap 12.8 1. Implicit definierade
Motion till riksdagen. 1987/88:Ju810 av Göran Ericsson (m) om karateklubbar. Bakgrund. Kampsportens egenskaper
Motion till riksdagen 1987/88:Ju810 av Göran Ericsson (m) om karateklubbar Bakgrund Internationellt är karate en sport. l Sverige sorterar denna gren under Svenska Budoförbundet, som är anslutet till Riksidrottsförbundet.
TATA42: Föreläsning 8 Linjära differentialekvationer av högre ordning
TATA42: Föreläsning 8 Linjära differentialekvationer av högre ordning Johan Thim 23 april 2018 1 Differentialoperatorer För att underlätta notation och visa på underliggande struktur introducerar vi begreppet
DD1361 Programmeringsparadigm HT15
DD1361 Programmeringsparadigm HT15 Logikprogrammering 3 Dilian Gurov, TCS Idag Induktiva datatyper: Träd (inte inbyggd) Binära träd utan data Binära träd med data Prolog-specifika konstruktioner Negation,
Grundläggande logik och modellteori
Grundläggande logik och modellteori Kapitel 12: Logikprogrammering Henrik Björklund Umeå universitet 16. oktober, 2014 Prolog Prolog har två klasser av formler. Atomära formler: country(sweden, 9000000).
Programmering II (ID1019) :00-17:00
ID1019 Johan Montelius Programmering II (ID1019) 2014-03-10 14:00-17:00 Förnamn: Efternamn: Instruktioner Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten.
ÖVN 6 - DIFFERENTIALEKVATIONER OCH TRANSFORMMETODER - SF Nyckelord och innehåll. a n (x x 0 ) n.
ÖVN 6 - DIFFERENTIALEKVATIONER OCH TRANSFORMMETODER - SF683 HTTP://KARLJODIFFTRANS.WORDPRESS.COM KARL JONSSON Nyckelord och innehåll Potensserielösningar Analytiska funktioner Konvergensradie Rot- och
Robin Stenwall Lunds universitet
Robin Stenwall Lunds universitet Dagens föreläsning Informella bevismetoder för kvantifikatorer Universell elimination Existentiell introduktion Existentiell elimination Universell introduktion General
Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska ni kunna?
Avslutning Anmärkningar inför tentan Vad ska ni kunna? Avslutning 1 Vad? Anmärkningar inför tentan 1 Att ha en bra förståelse för det som behandlades på föreläsningarna, inlämningsuppgifterna och gruppövningarna
Länkning av Prolog under C
Länkning av Prolog under C Kent Boortz Swedish Institute of Computer Science Box 1263, S-164 28 Kista, Sweden 1 september 1991 T91:14 Sammanfattning SICStus länkmoduler ger möjlighet att blanda Prolog-
3 Deriveringsregler. Vi ska nu bestämma derivatan för dessa fyra funktioner med hjälp av derivatans definition
3 Deriveringsregler 3.1 Dagens Teori Vi ar lärt oss derivera en funktion, främst polynom, med jälp av derivatans definition. Vi ar funnit denna teknik ganska krävande. 3.1.1 Vi är på jakt efter ett mönster
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
Det finns både SM (varje år), EM (vartannat år) och VM (vartannat år). Sverige
Det var flera som tog ett glänsande farväl på VM i ju-jutsu i Malmö sista helgen i november förra året. De som lät VM-medaljerna avsluta tävlingskarriären lämnar stora hål efter sig och generationsskiftet
Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section
Föreläsning 1 Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section 1.1-1.3 i kursboken Definition En utsaga (proposition) är ett
Verbal judo. "Den mjuka vägen" är en modern japansk kampsport skapad av Jigoro Kano ur olika jujutsustilar vid talets slut
"Den mjuka vägen" är en modern japansk kampsport skapad av Jigoro Kano ur olika jujutsustilar vid 1800- talets slut I judo förekommer det inte sparkar och slag, till skillnad från andra budoarter som karate
Lådmodellen....eller procedure box control flow model. Dynamisk bild av ett prologprogram Förklarar i detalj procedurell läsning av ett program.
Lådmodellen...eller procedure box control flow model. Dynamisk bild av ett prologprogram Förklarar i detalj procedurell läsning av ett program. Lådmodellen...eller procedure box control flow model. Dynamisk
TATA42: Föreläsning 7 Differentialekvationer av första ordningen och integralekvationer
TATA42: Föreläsning 7 Differentialekvationer av första ordningen och integralekvationer Johan Thim 0 januari 207 Introduktion En differentialekvation (DE) i en variabel är en ekvation som innehåller både
Anteckningar för kursen "Analys i en Variabel"
Anteckningar för kursen "Analys i en Variabel" Simone Calogero Vecka 4 Viktig information. Dessa anteckningar är inte avsedda som en ersättning för kurs litteratur men bara som en kort sammanfattning av
Del : Funktionell programmering. I alla deluppgifterna, använd Haskell och skriv typen för de identifierare du definierar.
Nada Tentamensdag 2005 jan11 Tentamen Programmeringsparadigm Skrivtid 5 h Antalet uppgifter : 1 (allmänt)+ 4 (Haskell) + 4 (Prolog) = 10p +(6p + 10p +14p+ 20p) + (9p +11p + 8p +12p) = 10p + 50p + 40 p
TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 9 juni 2016, kl 14 18
TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 9 juni 2016, kl 14 18 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt.
Modul 1 Mål och Sammanfattning
Institutionen för Matematik SF1625 Envariabelanalys Läsåret 2016-2017 Lars Filipsson Modul 1 Mål och Sammanfattning 1. Reella tal. 1. MÅL FÖR MODUL 1 Känna till talsystememet och kunna använda notation
Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska kunnas?
Avslutning Anmärkningar inför tentan Vad ska kunnas? Avslutning 1 Vad? Anmärkningar inför tentan 1 Att ha en bra förståelse för det som behandlades på föreläsningarna och gruppövningarna räcker i princip.
Matematik 5 Kap 3 Derivator och Integraler
Matematik 5 Kap 3 Derivator och Integraler Inledning I kap 4 Differentialekvationer behövs derivator (och integraler) och i kap 5 Omfångsrika problemsituationer finns intressanta problem med användning
Shotokan Karateklubb
Shotokan Karateklubb Helsingborg Shotokan Karate Do MOTION SJÄLVFÖRSVAR TÄVLING Vad är karate? Karaten är svår att beskriva med några få ord. Man kan säga att det är en gammal stridskonst som har utvecklats
FÖRELÄSNING 3 ANDERS MÄRAK LEFFLER IDA/HCS
729G06 Logik FÖRELÄSNING 3 ANDERS MÄRAK LEFFLER IDA/HCS 160208 Idag C-regeln, informell (och formell) inledning till predikatlogik (Bevis kommer senare.) 2 3 Vår (Snöfritt Cykla) (Vår Snöfritt) Cykla Lätt
LEDARE KALENDARIUM I DETTA NUMMER
Kime - juni 2015 LEDARE Allt har ett slut och så även vårterminen 2015. House of Samurai går in i ett lugnare tempo under cirka två månaders tid med träning en gång i veckan för jujutsuutövarna och två
DD1361 Programmeringsparadigm HT17
DD1361 Programmeringsparadigm HT17 Logikprogrammering 3 Dilian Gurov, TCS Idag Induktiva datatyper: Träd (inte inbyggd) Binära träd utan data Binära träd med data Problemdomänbeskrivning Läsmaterial Prolog-fil:
Formell logik Kapitel 9. Robin Stenwall Lunds universitet
Formell logik Kapitel 9 Robin Stenwall Lunds universitet Kapitel 9: Introduktion till kvantifiering Vi har hittills betraktat logiska resonemang vars giltighet enbart beror på meningen hos konnektiv som
SF1625 Envariabelanalys
Föreläsning 5 Institutionen för matematik KTH 5 september 2017 Hur mycket behöver man jobba? Vi har ett gemensamt ansvar: Jag visar vad som behöver göras Men det är ni som måste göra det Viktigt faktum:
Nada KTH 2003 okt 23 Tentamen Programmeringsparadigm 2D1350 Skrivtid 5 h 8-13
Nada KTH 2003 okt 23 Tentamen Programmeringsparadigm 2D1350 Skrivtid 5 h 8-13 Antalet uppgifter : 1 (allmänt)+ 4 (Haskell) + 4 (Prolog) = 9 10p +(14p + 12p +10p+ 14p) + (8p +12p + 12p +8p) = 10p + 50p
Kontinuitet och gränsvärden
Kapitel Kontinuitet och gränsvärden.1 Introduktion till kontinuerliga funktioner Kapitlet börjar med allmänna definitioner. Därefter utvidgar vi successivt familjen av kontinuerliga funktioner, genom specifika
Föreläsning 6. SF1625 Envariabelanalys. Hans Thunberg, 9 november 2018
Föreläsning 6 SF1625 Envariabelanalys 9 november 2018 SF1625 CDEPR1, CENMI1, CLGYM TEMI2 HT18 F6 1 / 18 Dagens teman: Primitiva funktioner (Antiderivator) och differentialekvationer (2.10) Tillämpningar
Perunas mjölksyrade grönsaker
Perunas mjölksyrade grönsaker Mjölksyrade tomater, morötter, eller paprikor (med lök), surkål. Man börjar med att noga rengöra en tvåliters glasburk. Koka till exempel burken i vatten. Koka 1 liter vatten
Styrelsemöte nr. 16. Datum: 2011-12-04 Plats: Ölandsgatan 42, Svenska Budo & Kampsportsförbundets kansli Tid: Kl.14:00-18:00
1 Styrelsemöte nr. 16 Datum: 2011-12-04 Plats: Ölandsgatan 42, Svenska Budo & Kampsportsförbundets kansli Tid: Kl.14:00-18:00 Kallade, närvarande Anette Persson Sunje, ordförande Anders Bergström, kassör
Läsanvisningar till kapitel
Läsanvisningar till kapitel 2.3 2.5 2.3 Analytiska funktioner Analytiska funktioner, eller holomorfa funktioner som vi kommer kalla dem, är de funktioner som vi komer studera så gott som resten av kursen.
5 Blandade problem. b(t) = t. b t ln b(t) = e
5 Blandade problem 5.1 Dagens Teori Ett person sätter in 10000 kr på banken vid nyår 2000 till 4% ränta. Teckna en funktion, b(t) för beloppets utveckling. b(t) = 10000 1.04 t Skriv om funktionen med basen
DD1361 Programmeringsparadigm. Carina Edlund
DD1361 Programmeringsparadigm Carina Edlund carina@nada.kth.se Funktionell programmering Grundidéen med funktionell programmering är att härma matematiken och dess funktionsbegrepp. Matematiskt funktionsbegrepp
FÖRELÄSNING 2, TDDC74, VT2018 BEGREPP PROBLEMLÖSNING MED HJÄLP AV FALLANALYS PROBLEMLÖSNING MED HJÄLP AV REKURSION
FÖRELÄSNING 2, TDDC74, VT2018 Begrepp och definitioner (delvis från föreläsning 1) Fallanalys som problemlösningsmetod Rekursivt fallanalys Rekursiva beskrivningar och processer de kan skapa Rekursiva
Robin Stenwall Lunds universitet
Robin Stenwall Lunds universitet Dagens föreläsning Informella bevismetoder för kvantifikatorer Universell elimination Existentiell introduktion Existentiell elimination Universell introduktion General
Del : Paradigmer allmänt.
Nada Tentamensdag 2003 aug 25 Tentamen Programmeringsparadigm Skrivtid 5 h Antalet uppgifter : 1 (allmänt)+ 4 (Haskell) + 4 (Prolog) = 5p +(12p + 15p +5p+ 20p) + (10p +14p + 8p +11p) = 5p + 52p + 43 p
Nada KTH 2004 jan 12 Tentamen Programmeringsparadigm 2D1350 Skrivtid 5 h 8-13
Nada KTH 2004 jan 12 Tentamen Programmeringsparadigm 2D1350 Skrivtid 5 h 8-13 Antalet uppgifter : 1 (allmänt)+ 4 (Haskell) + 4 (Prolog) = 9 10p +( 5p + 14p +15p+ 16p) + (12p +10p + 10p +8p) = 10p + 50p
Konsten att lösa icke-linjära ekvationssystem
Konsten att lösa icke-linjära ekvationssystem Andreas Axelsson Vi beskriver här de grundläggande teknikerna för att lösa icke-linjära ekvationssystem. Detta är en nödvändig kunskap för att kunna lösa diverse
Mer om generaliserad integral
Föreläsning XI Mer om generaliserad integral Ex 64: Givet h(x) = ( x 2 5x + 2 ) e x/2. (a) Bestäm en p.f. till h(x). (b) Beräkna h(x)dx. (a) Vi har här en integrand som är en produkt av ett polynom av
Sidor i boken KB 6, 66
Sidor i boken KB 6, 66 Funktioner Ordet funktion syftar inom matematiken på en regel som innebär att till varje invärde associeras ett utvärde. Ofta beskrivs sambandet mellan invärde och utvärde med en
SB&K-nr Röster Antal medlemmar Ombudets namn 019 Boxing gym Idrottsförening 2046 1 18 Abada Capoeira Göteborg IF 1623 1 31 Abada Capoeira Umeå -IF
Förening SB&K-nr Röster Antal medlemmar Ombudets namn 019 Boxing gym Idrottsförening 2046 1 18 Abada Capoeira Göteborg IF 1623 1 31 Abada Capoeira Umeå -IF 1662 1 15 Abadá Capoeira Kristianstad IF 2072
10.1 Linjära första ordningens differentialekvationer
10.1 Linjära första ordningens differentialekvationer Här ska vi studera linjära första ordningens differentialekvationer som kan skrivas y (x) + g(x)y(x) = h(x) Om g(x) har en primitiv funktion G(x) så
Manual för att arrangera tävling i wushu
Sida 1 av 31 Manual för att arrangera tävling i wushu Baserad på Svenska Budo & Kampsportsförbundets tävlingspärm, omarbetad och anpassad för wushu av Peder Finnsiö 2011-09-25 INNEHÅLL 1. Arrangemanget...
M0038M Differentialkalkyl, Lekt 17, H15
M0038M Differentialkalkyl, Lekt 17, H15 Staffan Lundberg Luleå Tekniska Universitet Staffan Lundberg M0038M H15 1/ 38 Repetition Lekt 16 Uppskatta (8.2) 1/3 genom att använda differentialer. Svara på bråkform.
Föreläsningen ger en introduktion till differentialekvationer och behandlar stoff från delkapitel 18.1, 18.3 och 7.9 i Adams. 18.
Föreläsningen ger en introduktion till differentialekvationer och behandlar stoff från delkapitel 18.1, 18.3 och 7.9 i Adams. 18.1 Delkapitlet introducerar en del terminologi och beteckningar som används.
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
Introduktion till formella metoder Programmeringsmetodik 1. Inledning
Introduktion till formella metoder Programmeringsmetodik 1. Inledning Fokus på imperativa program (ex. C, Java) program betyder härefter ett imperativt program Program bestäms i en abstrakt mening av hur
Väl mött! /Ulf Nilsson, red. I DETTA NUMMER. Taekwondo fighting från Korea sid 2. Från Grästorp till Lund sid 3. Ordlista: Grader sid 6 KALENDARIUM
Kime - sep 2015 LEDARE En vän till mig som spenderar mycket tid i Nepal berättade att munkarna och nunnorna i det kloster hon brukar bo i brukar säga att utan ett fungerande inre kan vi inte nå nirvana
Kapitel 7. Kontinuitet. 7.1 Definitioner
Kapitel 7 Kontinuitet 7.1 Definitioner Vi har sett på olika typer av funktioner. Vi skall fortsätta att undersöka dem, men ur en ny synvinkel. Vår utgångspunkt är nu att försöka undersöka om de är sammanhängande.
Exempel på ett litet Ada-program
Exempel på ett litet Ada-program -- En kommentar som beskriver något. with Ada.Text_IO; procedure Mini is -- Deklarationer. K : constant Integer := 5; X, Y : Integer; -- Körbar kod. Ada.Text_IO.Put( Utskrift
Introduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner
Introduktion till programmering D0009E Föreläsning 5: Fruktbara funktioner 1 Retur-värden Funktioner kan både orsaka en effekt och returnera ett resultat. Hittills har vi ej definierat några egna funktioner
13 Potensfunktioner. Vi ska titta närmare på några potensfunktioner och skaffa oss en idé om hur deras kurvor ser ut. Vi har tidigare sett grafen till
3 Potensfunktioner 3. Dagens teori Vi ska titta närmare på några potensfunktioner och skaffa oss en idé om hur deras kurvor ser ut. Vi har tidigare sett grafen till f(x) = x 8 6 4 2-3 -2-2 3-2 -4-6 -8
Facit till Några extra uppgifter inför tentan Matematik Baskurs. x 2 x 3 1 2.
KTH Matematik Lars Filipsson Facit till Några extra uppgifter inför tentan Matematik Baskurs 1. Låt f(x) = ln 2x + 4x 2 + 9 + ln 2x 4x 2 + 9. Bestäm definitionsmängd och värdemängd till f och rita kurvan
Föreläsninsanteckningar till föreläsning 3: Entropi
Föreläsninsanteckningar till föreläsning 3: Entropi Johan Håstad, transkriberat av Pehr Söderman 2006-01-20 1 Entropi Entropi är, inom kryptografin, ett mått på informationsinnehållet i en slumpvariabel.
Konvertering från sträng. Winstrand Development
1 Winstrand Development Konvertering mellan strängar och datatyper När vi arbetar med de inbyggda datatyperna (int, double etc.) går det lätt att konvertera värdet till en sträng mha metoden.tostring()
DD1350 Logik för dataloger
DD1350 Logik för dataloger Fö 4 Predikatlogik 1 Kort repetition Satslogik Naturlig deduktion är ett sunt och fullständigt bevissystem för satslogik Avgörbarhet Så vad saknas? Egenskaper Satslogiken är
PIA. Publicerat med.llstånd Titel Text Bild Förlag
PIA Jonatan är så glad att han nästan svävar in genom dörren till sporthallen. Han är barfota och har träningsbyxor och T-shirt på sig. Han ser fram emot att få flyga genom luften med ena benet framför
Programkonstruktion och Datastrukturer
Programkonstruktion och Datastrukturer VT 2012 Tidskomplexitet Elias Castegren elias.castegren.7381@student.uu.se Problem och algoritmer Ett problem är en uppgift som ska lösas. Beräkna n! givet n>0 Räkna
Grundläggande logik och modellteori (5DV102)
Tentamen 2014-01-10 Grundläggande logik och modellteori (5DV102) M. Berglund och K. Markström Totalt antal uppgifter 10 Maximalt antal poäng 30 Krav för 3 i betyg 1 Krav för 4 i betyg 19 poäng, vara minst
15. Ordinära differentialekvationer
153 15. Orinära ifferentialekvationer 15.1. Inlening Differentialekvationer är en gren inom matematiken som beskriver en värl vi lever i bäst. Såana ekvationer kan beskriva matematiska moeller för många
PIA. Publicerat med tillstånd Taekwondo är tuffast Text Lise Blomquist Bild Stina Lövkvist Opal 2006
PIA Jonatan är så glad att han nästan svävar in genom dörren till sporthallen. Han är barfota och har träningsbyxor och T-shirt på sig. Han ser fram emot att få flyga genom luften med ena benet framför
Buddhismen, lä xä till fredäg 6 feb
Buddhismen, lä xä till fredäg 6 feb Buddhismen är den viktigaste religionen i Sydostasien, på Sri Lanka och i Tibet. Det finns också många buddhister i Kina och Japan. Hindusimen och buddhismen har mycket