Planering. Planering vs sökning, 1. Planering vs sökning, 2. Handlingsrepresentation
|
|
- Maja Åberg
- för 6 år sedan
- Visningar:
Transkript
1 Planering Planering vs sökning, 1! Sökning vs planering! Planeringsnotationer! Enkel planering! Partialordningsplanering! Resursplanering! Hierarkisk planering! Planering i icke-deterministiska domäner Sökning! Handlingarna ger möjliga nya tillstånd! Tillstånden är kompletta, oftast enkla omvärldsbeskrivningar, tillståndsvektorer! Agenten kan testa om målet är uppnått genom att applicera en heuristisk funktion, f, på ett tillstånd, p, f(p). Kan inte välja handling som för närmare målet utifrån f(p).! Sökningen leder till en obruten sekvens av handlingar Planering vs sökning, 2 Handlingsrepresentation Planering! Använder en mer uttrycksfull representation som låter agenten resonera om tillstånd och handlingar! FOPL kopplar handlingar och tillstånd! Söker inte blint utan kan välja operatorer som för agenten framåt! Agenten kan ta de stora besluten först! Låter agenten lägga till handlingar när de behövs! Arbetar med flera delplaner samtidigt STRIPS-notationen:! Preconditions: villkor som måste vara uppfyllda för att utföra handlingen! Effect: effekten av att utföra handlingen. Delas ibland i en add list och en delete list! ara positiva predikat i tillstånd, inga negationer! losed world assumption! ara konjunktioner! Inga kvantifierare! Ingen likhet! Ingen typning! Inga situationsvariabler
2 Exempel, locks world Exempel Predikat:! On(x, y)! lear(x) Handling:! Move(b, x, y) Precond: On(b, x) lear(b) lear(y) Effect: On(b, y) lear(x) On(b, x) lear(y) STRIPS hade ADD och DELETE: ADD: On(b, y) lear(x) DELETE: On(b, x) lear(y) A On(A,) lear(a) lear() On(, Table) On(, Table) Move(A,, ) Precond: On(A, ) lear(a) lear() ADD: On(A, ) lear() DELETE: lear() On(A, ) A On(A,) lear(a) lear() On(, Table) On(, Table) STRIPS ADL! Effektiv men begränsad! Tar bort predikat, DELETE-list, dvs icke-monoton Mer uttrycksfullt! Tillåter negation! Open world assumption! Kraftfullare effekter: P Q innebär också P Q! Kvantifierade målvariabler: ex, x At(P, x) At(R, x)! Konjunktion och disjunktion! Villkorliga effekter: when P : E! Likhet! Typning: b : lock
3 Planeringsalgoritmer STRIPS-operatorer! Generera en sekvens av handlingar från start till mål! Framåtsökning! akåtsökning! STRIPS Stack(x, y) P: lear(y)! Holdning(x) D: lear(y)! Holdning(x) A: ArmEmpty! On(x, y) UnStack(x, y) P: On(x,y)! lear(x)! ArmEmpty D: On(x, y)! ArmEmpty A: Holdning(x)! lear(y) PickUp(x) P: lear(x)! OnTable(x) ArmEmpty D: OnTable(x)! ArmEmpty A: Holdning(x) PutDown(x) P: Holdning(x) D: Holdning(x) A: OnTable(x)! ArmEmpty Exempel Nytt exempel Start A On(, ) lear(a) lear() OnTable(A) OnTable() ArmEmpty Start A On(, A) lear() lear() OnTable(A) OnTable() ArmEmpty Mål Uppfyllt A On(, ) On(A, ) OnTable() ArmEmpty Leta efter operatorer som har On(x, y) på sin ADD-list, dvs Stack(A, ) Precond: lear(), Holding(A) Leta efter operator som har Holding(x) på ADD-list: PickUp eller UnStack Välj PickUp(A). Precond: ArmEmpty, lear(a), OnTable(A) uppfyllt Mål A On(A, ) On(, ) OnTable() ArmEmpty örja med ett mål, t.ex. On(A, ), ger UnStack(, A), PutDown(), PickUp(A), Stack(A, ) Ta sen nästa mål On(, ). Ger UnStack(A, ), PutDown(A), PickUp(), Stack(, ) Nu är inte On(A, ) uppfyllt så PickUp(A), Stack(A, )
4 Partialordningsplanering Ännu inte uppfyllt men först partialordnas delplanerna START OnTable(A) OnTable() ON(,A) ArmEmpty lear() lear() {x/a}! Problemet beror på att STRIPS arbetar med ett mål i taget! Vill kunna avbryta uppfyllandet av ett mål och påbörja nästa och sen fortsätta med det första igen! Uppnå On(A, ) UnStack(, A), PutDown() lear(a) OnTable(A) ArmEmpty PickUp(A) Holding(A) ArmEmpty OnTable(A) lear() OnTable() ArmEmpty PickUp() Holding() ArmEmpty OnTable() On(,A) lear() ArmEmpty UnStack(,A) Holding() lear(a) ArmEmpty On(,A)! Fortsätt med On(, ) PickUp(), Stack(, )! Återuppta On(A, ) PickUp(A), Stack(A, )! Partialordningplanerare skapar partiellt ordnade delplaner enligt least commitment strategy, dvs fatta så få beslut som möjligt lear() Holding(A) Stack(A,) ArmEmpty ON(A,) lear() Holdning(A) lear() Holding() Stack(,) ArmEmpty On(,) lear() Holdning() Holding() PutDown() ArmEmpty OnTable() Holdning() On(A,) On(,) OnTable() MÅL Partialordna, 1 Partialordna, 2! Operatorer som lagts till för att uppnå delmål partialordnas PickUp(A)! Stack(A,) PickUp()! Stack(,) UnStack(, A)! PutDown()! Vid konflikt ordnas operatorer så att konflikten undviks! Stack(A,) är i konflikt med PickUp() eftersom Stack tar bort lear ()! Stack(,) är pss i konflikt med UnStack(,A)! Partialordna: PickUp()! Stack(A,) UnStack(, A)! Stack(,) Finns det ytterligare ordning mellan de partiellt ordnade planerna? PickUp(A)! Stack(A,) PickUp()! Stack(,) UnStack(, A)! PutDown() PickUp()! Stack(A,) UnStack(, A)! Stack(,) PickUp() (och därmed också Stack(,)) före Stack(A,) och UnStack(,A) före Stack(,) UnStack(, A)! PutDown()! PickUp()! Stack(,)! PickUp(A)! Stack(A,)
5 START OnTable(A) OnTable() ON(,A) ArmEmpty lear() lear() On(,A) lear() ArmEmpty UnStack(,A) Holding() lear(a) ArmEmpty On(,A) Holding() PutDown() ArmEmpty OnTable() Holdning() lear() OnTable() ArmEmpty PickUp() Holding() ArmEmpty OnTable() lear() Holding() Stack(,) ArmEmpty On(,) lear() Holdning() lear(a) OnTable(A) ArmEmpty PickUp(A) Holding(A) ArmEmpty OnTable(A) lear() Holding(A) Stack(A,) ArmEmpty ON(A,) lear() Holdning(A) On(A,) On(,) OnTable() MÅL Alla preconditions uppfyllda så planeraren är klar Planeringsgraf! Graf med en sekvens av nivåer som svarar mot temporala steg i planen. ara för propositioner, dvs inga variabler i tillstånden! Representerar handlingar och icke-handlingar! Ex S 0 A 0 S 1 Have(ake) Eaten(ake) Eat(ake) Mutexlänk Have(ake) Have(ake) Eaten(ake) Eaten(ake) Ömsesidigt uteslutande relationer GraphPlan Mutexlänkar! Inkonsistenta effekter! en handling negerar en annan handlings effekt! Interference! en handling negerar en annans precondition! Konkurrerande behov! två handlingars preconditions är ömsesidigt uteslutande! Inkonsistent stöd! två satser på samma nivå är varandras komplement eller alla handlingar som kan uppnå satserna är ömsesidigt uteslutande def graphplan(problem): graph = initialplanninggraph(problem) goals = goals(problem) while True: if goals all non-mutex in last level of graph: solution = extractsolution(graph, goals, length(graph)) if solution <> failure: return solution elif nosolutionpossible(graph): return failure graph = expandgraph(graph, problem)
6 Punkteringsexemplet S 0 A 0 S 1 Init(At(Flat, Axle)! At(Spare, Trunk)) Goal(At(Spare, Axle)) Action(Remove(Spare, Trunk), Precond: At(Spare, Trunk), Effect: At(Spare, Trunk)! At(Spare, Ground)) Action(Remove(Flat, Axle), Precond: At(Flat, Axle), Effect: At(Flat, Axle)! At(Flat, Ground)) Action(PutOn(Spare, Axle), Precond: At(Spare, Ground)! At(Flat, Axle), Effect: At(Spare, Ground)! At(Spare, Axle)) Action(LeaveOvernight, Precond: Effect: At(Spare, Ground)! At(Spare, Axle)! At(Spare, Trunk)! At(Flat, Ground)! At(Flat, Axle)) WA At(Spare,Trunk) At(Flat,Axle) At(Spare,Axle) At(Flat,Ground) At(Spare,Ground) Remove(Spare,Trunk) Remove(Flat,Axle) LeaveOvernight At(Spare,Trunk) At(Spare,Trunk) At(Flat,Axle) At(Flat,Axle) At(Spare,Axle) At(Flat.Ground) At(Flat,Ground) At(Spare,Ground) At(Spare,Ground) S 0 A 0 S 1 A 1 S 2 Planering i världen At(Spare,Trunk) At(Spare,Trunk) At(Spare,Trunk) Remove(Spare,Trunk) At(Spare,Trunk) Remove(Spare,Trunk) At(Spare,Trunk)! Resursplanering! Handlingar tar en viss tid att utföras At(Flat,Axle) Remove(Flat,Axle) LeaveOvernight At(Flat,Axle) At(Flat,Axle) Remove(Flat,Axle) LeaveOvernight At(Flat,Axle) At(Flat,Axle)! Planhierarkier! Planering i icke-deterministiska domäner! Kontinuerlig planering At(Spare,Axle) At(Spare,Axle) PutOn(Spare,Axle) At(Spare,Axle) At(Spare,Axle) At(Flat,Ground) At(Spare,Ground) At(Flat.Ground) At(Flat,Ground) At(Spare,Ground) At(Flat.Ground) At(Flat,Ground) At(Spare,Ground) At(Spare,Ground) At(Spare,Ground)
7 Resursplanering, exempel Vanlig partialordningsplanerare Init(Vinge(v 1 )! Vinge(v 2 )! Motor(m 1, v 1, 40)! Motor(m 2, v 2, 30)! Hjul(h 1, v 1, 20)! Hjul(h 2, v 2, 15)) Goal(Klar(v 1 )! Klar(v 2 )) Action(AddMotor(m, v, d), Precond : Motor(m, v, d)! Vinge(v)! MotorOn(v), Effect: MotorOn(v)! Duration(d)) Action(AddHjul(h, v, d), Precond : Hjul(h, v, d)! Vinge(v)! MotorOn(v)! HjulOn(v), Start AddMotor1 40 AddMotor2 30 AddHjul1 20 AddHjul2 15 Inspektera1 10 Inspektera2 10 Mål Effect: HjulOn(h)! Duration(d)) Action(Inspektera(v), Precond : MotorOn(v)! HjulOn(v)! Vinge(v), Effect: Klar(v)! Duration(10)) Resursplanering Exempel Måste veta när handlingar börjar och slutar! ES: tidigaste möjliga starttid! LS: senast möjliga starttid! Slack = LS-ES! ES räknas ut från Start till Mål! LS räknas ut från Mål till Start ES AddMotor1 0 AddHjul1 40 Inspektera1 60 AddMotor2 0 AddHjul2 30 Inspektera2 45 LS LS(Op i-1 )=LS(OP i )-Duration(OP i-1 ), LS(Mål)=ES(Mål)=70 Inspektera2=70-10, AddHjul2=60-15, AddMotor1=45-30 AddMotor AddHjul Inspektera AddMotor1 0 0 AddHjul Inspektera
8 Resursplanerare Planering med resursbegränsning Start [0,0] AddMotor1 [40,40] AddHjul1 [60,60] Inspektera Mål! Antag begränsade resurser. Resource anger begränsningen! Svårare problem eftersom planeraren måste välja vilken handling som skall utföras först [0,15] AddMotor2 30 [30,45] AddHjul2 15 [45,60] Inspektera2 10! Ofta används minimum slack, dvs tag i varje steg den plan som har minst slack, Greedy. AddMotor 1 Hjul 1 K 1 AddMotor 2 Hjul 2 Slack K Exempel Planer för delade resurser Init(Vinge(v 1 )! Vinge(v 2 )! Motor(m 1, v 1, 40)! Motor(m 2, v 2, 30)! Hjul(h 1, v 1, 20)! Hjul(h 2, v 2, 15)! Kran(1)! Luftpump(1)! Kontrollant(2)) Goal(Klar(v 1 )! Klar(v 2 )) Action(AddMotor(m, v, d), Precond : Motor(m, v, d)! Vinge(v)! MotorOn(v), Effect: MotorOn(v)! Duration(d)), Resource: Kran(1)) Action(AddHjul(h, v, d), Precond : Hjul(h, v, d)! Vinge(v)! MotorOn(v)! HjulOn(v), Effect: HjulOn(h)! Duration(d)), Resource: Luftpump(1)) Action(Inspektera(v), Precond : MotorOn(v)! HjulOn(v)! Vinge(v), Effect: Klar(v)! Duration(10)), Resource: Kontrollant(1)) AddMotor 1 Hjul 1 AddMotor 2 Hjul 2 K 1 AddMotor 2 Hjul 2 K 2 AddMotor 1 Hjul 1 K 2 K 1 Minst slack
9 Hierarkisk planering Hierarkisk planering (HTN)! Abstrakta operatorer som håller steg i planen som i sig implementerar operatorn! Expanderas till dess att planeraren bara har primitiva operatorer! Expanderade planer måste ha korrekta preconditions! Interna effekter: preconditions som uppfylls inom en abstrakt operator. Den hierarkiska planeraren behöver inte hantera dessa! Externa effekter: preconditions som kommer utanför den abstrakta operatorn. Måste ordnas av planeraren P = initialiserad till top-planen while P innehåller icke-primitiva handlingar: välj en handling T ur P välj en metod att expandera T ersätt T med en expansion av T if kritik skall appliceras på detta steg: använd kritiken för att hitta konflikter reparera konflikter if någon konflikt inte kan fixas: return failure Exempel, bygga flygplan ygga och utvärdera expanderad ygga flygplan Expandera Sätta in säten Fixa utvecklingspengar pengar Underleverantörer Designa flygplanet ritning ygga och utvärdera ritning ygga flygplanskropp ygga motor fpk ygga cockpit Sätta samman vingar fpk+ vingar Sätta samman flygplan Utvärdera
10 Kritisera Sätta samman vingar expanderad! Alla externa effekter måste ordnas! För den abstrakta operatorn ygga och utvärdera måste de externa effekterna säten, hjul, plåt och ritning ordnas! Ex Hjul behövs inte för att bygga motor eller för att bygga flygplanskroppen utan går direkt till Sätta samman vingar hjul plåt motor Effekterna förfinas: Underleveratör hjul Underleveratör hjul ygga motor motor vingar ygga vingar ygga och utvärdera förfinas till Montera hjul & motor Sätta samman vingar förfinas till ygga motor motor Montera hjul & motor Montera hjul & motor Expanderas Till primitiva operatorer Planering i icke-deterministiska domäner Hittills har världen varit: tillgänglig, statisk och deterministisk Handlingar korrekta och kompletta Två problem:! Världen är inte komplett. Kan t.ex. inte se allt som finns! Världen är inte korrekt. Någon kan t.ex. flytta objekt eller handlingar misslyckas Strategier för att hantera inkonsistent och icke-komplett information! Sensorlös planering! Skapar plan utan sensordata! Villkorlig planering! Skapar plan för olika utfall! Omplanerande system! Inspekterar världen och planen innan handling
11 Exempel, 1 Exempel, 2! Måla stol och bord i samma färg. Init(Objekt(ord)! Objekt(Stol)! urk( 1 )! urk( 2 )! ISynfältet(ord)) Mål(Färg(Stol, c)! Färg(ord, c)) Action(TaAvLock(b), Precond: urk(b) Effect: Öppen(b)) Action(Måla(x, b), Precond: urk(b)! Objekt(x)! Färg(b, f)! Öppen(b) Effect: Färg(x, f))! Varseblivningsschema Percept(Färg(x, c), Precond: Objekt(x)! ISynfältet (x)) Agenten vet färgen, c, på objektet, x. Percept(Färg(b, c), Precond: urk(b)! ISynfältet (b)! Öppen(b)) Action(TittaPå(x), Precond: ISynfältet (y)! x! y Effect: ISynfältet (x)! ISynfältet (y)) Sensorlös planering, 1 Sensorlös planering, 2! Ser inget och kan därmed bara måla båda bord och stol i en av de två färgerna.! Inga varseblivningsschema Init(Objekt(ord)! Objekt(Stol)! urk( 1 )! urk( 2 ))! Vet också att objekt kan ha en färg x y Färg(x, y) vilket efter Skolemisering ger Färg(x, (x))! Applicera handlingen: Action(TaAvLock(b), Precond: urk(b), Effect: Öppen(b)) med {b/urk 1 } ger: Objekt(ord)! Objekt(Stol)! urk( 1 )! urk( 2 )! Öppen( 1 )! Färg(x, (x))! Med {x/ 1 och f/( 1 )} kan vi applicera handlingen: Action(Måla(x, b), Precond: urk(b)! Objekt(x)! Färg(b, f)! Öppen(b) Effect: Färg(x, f)) på t.ex. Stol och får: Action(Måla(Stol, 1 ), Precond: urk( 1 )! Objekt(Stol)! Färg( 1, ( 1 ))! Öppen( 1 ) Effect: Färg(Stol, ( 1 ))
12 Sensorlös planering, 3 Villkorlig planering! Samma handling på ord ger: Färg(ord, ( 1 ))! och måltillståndet: Färg(Stol, ( 1 ))! Färg(ord, ( 1 ))! Skapa en plan som inspekterar världen och handlar därefter [TittaPå(ord), TittaPå(Stol), if Färg(ord, c)! Färg(Stol, c) then NoOp else [TaAvLock(urk 1 ), TittaPå(urk 1 ), TaAvLock(urk 2 ), TittaPå(urk 2 ), if Färg(ord, c)! Färg(b, c) then Måla(Stol, b) else if Färg(Stol, c)! Färg(b, c) then Måla(ord, b) else [Måla(Stol, urk 1 ), Måla(ord, urk 1 )]]] Omplanerande system Action monitoring! Action monitoring! Säkerställ att precond fortfarande håller! Plan monitoring! Säkerställ att planen fortfarande håller! Goal monitoring! Se efter om det nu finns bättre mål att uppnå! Tolka percept! Ta bort brister i planen! Handla Ex Action(Move(x, y), Precond: lear(x)! lear(y)! On(x,z) Effect: On(x,y)! lear(z)! On(x,z)! lear(y))
13 Exempel Någon välter, omplanering A On(,) lear(a) lear() On(A, Table) On(, Table) A On(,Table) lear() lear() lear(a) On(A, Table) On(, Table) Move(A,) Move(,) Move(A,) A On(,) On(A,) On(, Table) A On(,) On(A,) On(, Table) Partialordna! Move(A,) ger som effekt On(A,)! lear(a)! On(A,Table)! lear()! lear() är precond för Move(,) Move(,)! Move(A,)
729G43 Artificiell intelligens Planering
729G43 Artificiell intelligens Planering Arne Jönsson HCS/IDA Planering Sökning vs planering Planeringsnotationer Enkel planering Partialordningsplanering Resursplanering Hierarkisk planering Planering
Läs mer729G43'Ar*ficiell'intelligens' Planering' Planering' Planering'vs'sökning,'1' Planering'vs'sökning,'2' Arne'Jönsson' HCS/IDA' '
Planering' 729G43'Ar*ficiell'intelligens' Planering' Arne'Jönsson' HCS/IDA' ' Sökning'vs'planering' Planeringsnota*oner' Enkel'planering' Par*alordningsplanering' Resursplanering' Hierarkisk'planering'
Läs merArtificiell Intelligens II Lektion 1
Labbar översikt rtificiell Intelligens II Lektion 1 Labbar översikt Planering (Lab1 Projektinspiration 3 stycken datorlabbar Planering Probabilistisk logik Maskininlärning Handledare Robin, Jonas, hristian,
Läs merLek$on 4: Planering. Robin Keskisärkkä
Lek$on 4: Planering Robin Keskisärkkä Sy7e Få en känsla för möjligheter och begränsningar med planering Öva på att modellera planeringsproblem för en planerare Förberedelser Läs kapitel 11 i kursboken
Läs merArtificiell Intelligens Lektion 1
Labbar översikt rtificiell Intelligens Lektion 1 Labbar översikt Planering (Lab1 Projektinspiration 3 stycken datorlabbar Planering Probabilistisk logik Maskininlärning Handledare Robin, Jonas, hristian,
Läs merAntag 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
Läs merArtificiell Intelligens Övningsuppgifter
Sökning - Tentauppg 99-:4 Artificiell Intelligens Övningsuppgifter Sökning Konjunktiv normalform Unifiering Resolution Planering Situationskalkyl Maskininlärning Beskriv sökmetoden A* genom att visa hur
Läs merFråga 5 (1 poäng) För att definiera ett sökproblem krävs...
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
Läs merAntag 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
Läs merAsymptotisk 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
Läs merVad 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
Läs merFråga 5 (1 poäng) För att definiera ett sökproblem krävs...
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
Läs merAsymptotisk 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
Läs merShakey s värld med HTNplanering
Shakey s värld med HTNplanering 2010-10-03 Artificiell Intelligens 2, 729G11 Maria Lindqvist Fördjupningsarbete, HT 2010 880913-0506 Linköpings Universitet marli314 2 Innehållsförteckning Inledning...
Läs merde 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
Läs merLektion 2: Sökagenter. Robin Keskisärkkä
Lektion 2: Sökagenter Robin Keskisärkkä Lektionens innehåll Introduktion till laboration 2 Implementation av en sökalgoritm Livekodning Konfrontera ett liknande problem själva Extra: Heuristisk sökning
Läs merArtificial Intelligence
Omtentamen Artificial Intelligence Datum: 2014-08-27 Tid: 09.00 13.00 Ansvarig: Resultat: Hjälpmedel: Gränser: Anders Gidenstam Redovisas inom tre veckor Inga G 8p, VG 12p, Max 16p Notera: Skriv läsbart!
Läs merUtsagor (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
Läs merTentamenskod: Inga hjälpmedel är tillåtna
Intelligenta och lärande system 15 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Tentamen (TEN1) Artificiell intelligens (AI) 5hp 21IS1C Systemarkitekturutbildningen Tentamenskod: Tentamensdatum:
Läs merSTRIPS. 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
Läs merLogik 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
Läs merSätt att skriva ut binärträd
Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer
Läs merAntag 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
Läs merFöreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk
Föreläsning 2 steknik DD1310 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer funktioner betyder att instruera en dator Ett program
Läs merMycket kortfattade lösningsförslag till tenta i AI 6 nov 2003
2003-12-02 Institutionen för datavetenskap Arne Jönsson/* Mycket kortfattade lösningsförslag till tenta i AI 6 nov 2003 1. Förklara de olika egenskaper en omgivning kan ha och ge exempel på en omgivning
Läs merSökning i ordnad lista. Sökning och sortering. Sökning med vaktpost i oordnad lista
Sökning och sortering Sökning i oordnad lista Att söka efter data man lagrat undan för senare användning är vanligt Egentligen har man ingen annan anledning för att lagra undan data Har man mycket data
Läs merTommy Färnqvist, IDA, Linköpings universitet
Föreläsning 9 Pekare, länkade noder, länkade listor TDDD86: DALP Utskriftsversion av föreläsning i Datastrukturer, algoritmer och programmeringsparadigm 25 september 2015 Tommy Färnqvist, IDA, Linköpings
Läs merExempel 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
Läs merGranskning av gränssnitt. Mattias Arvola
Granskning av gränssnitt Mattias Arvola 2 Att skapa interaktiva system Identifiera krav Utforma alternativ Ta fram prototyper (eller annan illustration av system) Utvärdera 3 Mål med utvärderingen Revidera,
Läs merLogisk semantik I. 1 Lite om satslogik. 1.1 Konjunktioner i grammatisk bemärkelse. 1.2 Sant och falskt. 1.3 Satssymboler. 1.
UPPSALA UNIVERSITET Datorlingvistisk grammatik I Institutionen för lingvistik och filologi Oktober 2007 Mats Dahllöf http://stp.ling.uu.se/ matsd/uv/uv07/dg1/ Logisk semantik I 1 Lite om satslogik 1.1
Läs merFöreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?
Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?
Läs merDjupstruktur och ytstruktur
Djupstruktur och ytstruktur En gammal man bodde på vinden. På vinden bodde en gammal man. Chomsky 1965 baskomponent transformationskomponent Föregångare till UCP Augmented Transition Network (Woods 1970)
Läs merTänk på följande saker när du skriver tentan:
Ämne: AI med inriktning mot kognition och design Kurskod: KOGB05 / TDBB21 Datum: 2005-04-01 Antal uppgifter: 12 Skrivtid: 09:00 15:00 Max poäng: 54 Betygsgränser: 27 x
Läs merAntag 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
Läs merIntroduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser
Introduktion till programmering Föreläsning 2: Variabler, uttryck och satser 1 1 Värden De grundläggande saker som en dator manipulerar resultaten av beräkningar kallas värden Värden vi stött på: 2 och
Läs merVarför är logik viktig för datavetare?
Varför är logik viktig för datavetare? 1. Datavetenskap handlar ofta om att automatisera processer som tidigare styrts av människor. Intuition, intelligens och mänskliga resonemang ersätts av beräkningar.
Läs merDatorlingvistisk grammatik I Institutionen för lingvistik och filologi Oktober 2007 Mats Dahllöf
UPPSALA UNIVERSITET Datorlingvistisk grammatik I Institutionen för lingvistik och filologi Oktober 2007 Mats Dahllöf http://stp.ling.uu.se/ matsd/uv/uv07/dg1/ Logisk semantik II 1 Predikatlogik, generella
Läs merGrafer, traversering. Koffman & Wolfgang kapitel 10, avsnitt 4
Grafer, traversering Koffman & Wolfgang kapitel 1, avsnitt 4 1 Traversering av grafer De flesta grafalgoritmer innebär att besöka varje nod i någon systematisk ordning precis som med träd så finns det
Läs merArtificiell Intelligens Lektion 4
Frames Filmdomän Artificiell Intelligens Lektion 4 Frames (Lab4) Resolution & unifiering Frames system Lagrar hierarkisk information Attribut lagras i attributvärdesstrukturer Attribut kan ha egenskaper
Läs merSökning. Sökning. Köoperationer. Generell sökalgoritm
Sökning Sökning! Datastrukturer och operationer! Värdering av sökstrategier! Blind sökning! Heuristisk sökning! Constraint satisfaction! Spelförande program Datastruktur: nod = [tillstånd, förälder, operator,
Läs merFöreläsning 4: Kombinatorisk sökning
DD2458, Problemlösning och programmering under press Föreläsning 4: Kombinatorisk sökning Datum: 2009-09-25 Skribent(er): Kristina Nylander, Dennis Ekblom, Marcus Öman Föreläsare: Fredrik Niemelä 1 Introduktion
Läs merEnKlass. Instans 3 av EnKlass. Instans 2 av EnKlass
Övningstillfälle 4 Klasser och objekt (s. 221 ff.) Syfte 1: En naturlig fortsättning på koncepten abstraktion och inkapsling! Funktion (återanvändning av skyddad, säker och testad kod) Modul (återanvändning
Läs merA B C D E F A B C D E F (3) Svar: Tabellen ger grafen:
1. Russel & Norvig menar att man kan utveckla AI-system som antingen tänker som en människa, handlar som en människa, tänker rationellt eller handlar rationellt. Förklara och exemplifiera dessa fyra synsätt.
Läs merImperativ programmering. Föreläsning 2
Imperativ programmering 1DL126 3p Föreläsning 2 Imperativ programmering Kännetecken för imperativa språk: Programmet består av en serie instruktioner. Olika språk har olika uppsättningar av instruktioner.
Läs merProgrammering i C++ EDA623 Mer om klasser. EDA623 (Föreläsning 6) HT 2013 1 / 26
Programmering i C++ EDA623 Mer om klasser EDA623 (Föreläsning 6) HT 2013 1 / 26 Mer om klasser Innehåll Konstanta objekt Statiska medlemmar Pekaren this Vänner (friends) Överlagring av operatorer EDA623
Läs merFöreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk
Föreläsning 2 steknik och C DD1316 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program
Läs merDataabstraktion. TDDD73 Funktionell och imperativ programmering i Python Föreläsning 12. Peter Dalenius Institutionen för datavetenskap
Dataabstraktion TDDD73 Funktionell och imperativ programmering i Python Föreläsning 12 Peter Dalenius Institutionen för datavetenskap 2014-11-19 Översikt Vad är abstraktion? Vad är en abstrakt datatyp?
Läs merJavaScript del 3 If, Operatorer och Confirm
JavaScript del 3 If, Operatorer och Confirm Under förra uppgiften så kollade vi på hur användaren kan ge oss information via promt(), vi använde den informationen både för att skriva ut den och för att
Läs merIntroduktion 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)
Läs merGrundläggande datalogi - Övning 2
Grundläggande datalogi - Övning 2 Björn Terelius November 7, 2008 Klasser skapas med nyckelordet class Klasser Konstruktorer och destruktorer Undantagshantering class MyClass: Docstring and doctests for
Läs merTentamen i. TDDA 69 Data och programstrukturer
1 Linköpings tekniska högskola Institutionen för datavetenskap Anders Haraldsson Tentamen i TDDA 69 Data och programstrukturer Torsdag den 14 januari 2009, kl 14-18 Hjälpmedel: Inga. Poänggränser: Maximalt
Läs merProgrammering = modellering
Programmering = modellering Ett datorprogram är en modell av en verklig eller tänkt värld. Ofta är det komplexa system som skall modelleras I objektorienterad programmering består denna värld av ett antal
Läs merÖversikt. Stegvis förfining. Stegvis förfining. Dekomposition. Algoritmer. Metod för att skapa ett program från ett analyserat problem
Översikt Stegvis förfining Pseudokod Flödesdiagram Dekomposition KISS-regeln Procedurell dekomposition DRY-regeln Algoritmer Sortering och sökning Stegvis förfining Metod för att skapa ett program från
Läs merSpråket Python - Del 1 Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR
Läs merÖvning2. Variabler. Data typer
Vahid 28 okt 2002 prgk02 Övning2 -Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =, ,!=,!) -String hur man
Läs merDataabstraktion. TDDD73 Funktionell och impterativ programmering i Python Föreläsning 12. Peter Dalenius Institutionen för datavetenskap
Dataabstraktion TDDD73 Funktionell och impterativ programmering i Python Föreläsning 12 Peter Dalenius Institutionen för datavetenskap 2013-11-12 Översikt Vad är abstraktion? Vad är en abstrakt datatyp?
Läs merLabb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic
Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Inledning Starta Microsoft Visual Studio 2005. Välj create Project Välj VB + Vindows Application och välj ett nytt
Läs merFöreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod
Föreläsning 3-4 Innehåll Diskutera Vad gör programmet programmet? Föreslå vilka satser vi kan bryta ut till en egen metod. Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer
Läs mer729G74 IT och programmering, grundkurs. Tema 2. Föreläsning 3 Jody Foo,
729G74 IT och programmering, grundkurs Tema 2. Föreläsning 3 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Information i grafstrukturer Diskret matematik Relationer: kopplingar mellan mängder Funktioner
Läs merFöreläsning 4: Giriga algoritmer. Giriga algoritmer
Föreläsning 4: Giriga algoritmer Giriga algoritmer Denna typ av algoritmer arbetar efter följande princip: Gör i varje situation det som är lokalt optimalt, d.v.s. bäst för stunden. Några exempel vi redan
Läs merDatatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek
De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000
Läs merGrundlä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,
Läs merDD1361 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
Läs merFöreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt
Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling
Läs merFöreläsning 3-4 Innehåll
Föreläsning 3-4 Innehåll Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer Datavetenskap (LTH) Föreläsning 3-4 HT 2017 1 / 36 Diskutera Vad gör programmet programmet? Föreslå
Läs merProgrammering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
Läs merFöreläsning 8 Datastrukturer (DAT037)
Föreläsning 8 Datastrukturer (DAT037) Fredrik Lindblad 1 22 november 2017 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt. Se http://www.cse.chalmers.se/edu/year/2015/course/dat037
Läs merParameteröverföring. Exempel. Exempel. Metodkropp
Exempel atriangle.changesize (100, 50); // OK atriangle.changesize (100); // fel antal atriangle.changesize ( 1, 50); // fel datatyp char c = atriangle.getarea (); // fel datatyp Parameteröverföring I
Läs merDD1314 Programmeringsteknik
Skolan för Datavetenskap och kommunikation DD1314 Programmeringsteknik Föreläsning 1 o print o variabler o reserverade ord o input o kommentarer o beräkningar o datatyper o if-satser Kursinformation Programmering:
Läs mer729G74 IT och programmering, grundkurs. Tema 2. Föreläsning 3 Jody Foo,
729G74 IT och programmering, grundkurs Tema 2. Föreläsning 3 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Information i grafstrukturer Diskret matematik Relationer: kopplingar mellan mängder Funktioner
Läs merGrundläggande datalogi - Övning 3
Grundläggande datalogi - Övning 3 Björn Terelius November 14, 2008 Utskrift av stackar Tornen i Hanoi Principerna för rekursion: Hitta ett enkelt basfall (som har en känd lösning). Reducera varje annat
Läs merClasses och Interfaces, Objects och References, Initialization
Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class
Läs merDagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i
Läs merData, typ, selektion, iteration
Data, typ, selektion, iteration En programmeringkurs på halvfart IDT, MDH ttp://www.negative-g.com/nolimits/no%20limits%20defunct%20coasters.htm 1 Dagens agenda Talrepresentation Typkonvertering Sekvens
Läs merÖvning 1 - Abstrakta datatyper
/home/lindahlm/activity-phd/teaching/12dd1320/exercise1/exercise1.py September 3, 20121 0 # coding : latin Övning 1 - Abstrakta datatyper 18 Summering Vi gick igenom betydelsen av abstrakta datatyper/datastrukturer.
Läs merFöreläsning 2. Täcker material från lektion 1, 2, 3 och 4:
(22 januari 2016 F2.1 ) Föreläsning 2 Täcker material från lektion 1, 2, 3 och 4: Datatyper Aritmetik Tecken och strängar Klasser, Objekt Metoder Villkor, villkorssatser och iterationer main-metoden Kodstandard
Läs merMultipel 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
Läs merÖversikt. Varför lära sig detta? Motivering Syntax och semantik Imperativa språkets byggstenar och Python. PL-boken Kap 1 (repetition):
Översikt Motivering Syntax och semantik Imperativa språkets byggstenar och Python Datatyper Tilldelning och uttryck Kontrollstrukturer (på satsnivå) Subprogram Relaterade avsnitt: PL 3.1-3.2, 5.1-5.3,
Läs merFöreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk
Föreläsning 2 steknik DD1310 Python introduktion Variabler Datatyper Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program är
Läs merDatastrukturer och algoritmer
Innehåll Datastrukturer och algoritmer Föreläsning14 Abstrakta datatyper Generella teorier Algoritmer Problemlösningsstrategier Typer av algoritmer 418 419 Abstrakta datatyper Ett koncept för att kunna
Läs merProgrammeringsteknik I
Programmeringsteknik I Föreläsning 2: Grundläggande Java Johan Öfverstedt Java Grundläggande begrepp Datatyper Selektion if Räckvidd (scope) Iteration while Klasser Objekt Metoder Metodhuvudet Kodstandarden
Läs merPythons standardbibliotek
Pythons standardbibliotek Python 3 skall, enligt standarddokumenten http://docs.python.org/py3k/library/index.html ha stöd för vissa funktioner, typer och datastrukturer Så länge man håller sig till detta
Läs merCS - Computer science. Datateknik Informationsbehandling Datalogi Datavetenskap (ÅA 2008)
CS - Computer science Datateknik Informationsbehandling Datalogi Datavetenskap (ÅA 2008) Vad datateknik INTE är: Att studera datorer Att studera hur man skriver datorprogram Att studera hur man använder
Läs merSystem.out.println("Jaså du har "+ antalhusdjur+ " husdjur"); if ( antalhusdjur > 5 ) System.out.println("Oj det var många);
1 Villkor och styrsatser I de program vi sett tidigare har programkörning inneburit att sats efter sats utförts i den ordning de skrivits i källkoden. Vi har inte kunna ändra programmets uppförande beroende
Läs merFöreläsning 2 Programmeringsteknik och C DD1316
Föreläsning 2 Programmeringsteknik och C DD1316 Föreläsning 2 Programmeringsteknik och C Datatyp Aritmetiska operatorer Omvandling av typer Reserverade ord Mikael Djurfeldt Logiska operatorer
Läs merFöreläsning Datastrukturer (DAT037)
Föreläsning Datastrukturer (DAT037) Nils Anders Danielsson 2015-11-20 Idag Grafer: Terminologi. Datastrukturer. Topologisk sortering. Kortaste vägen. Bredden först-sökning. Dijkstras algoritm. (Vi får
Läs merPython. Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program.
Moduler Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program. Vi har också ofta behov av att skapa överblick i våra program. Som ett
Läs merNå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
Läs merKunskapsrepresentation
Kunskapsrepresentation Hur representeras information? Representationer som bevarar strukturen perceptionsbaserad kunskapsrepresentation Representationer som bevarar innebörden meningsbaserad kunskapsrepresentation
Läs merIntroduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?
Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? jonas.kvarnstrom@liu.se 2016 2014 jonas.kvarnstrom@liu.se
Läs merObjektorienterad programmering i Java
Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet
Läs merProgrammering för språkteknologer II, HT2014. evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/
Programmering för språkteknologer II, HT2014 Avancerad programmering för språkteknologer, HT2014 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/ Idag - Hashtabeller
Läs merFöreläsning REPETITION & EXTENTA
Föreläsning 18 19 REPETITION & EXTENTA Programmeringsteknik på 45 minuter Klasser och objekt Variabler: attribut, lokala variabler, parametrar Datastrukturer Algoritmer Dessa bilder är inte repetitionsbilder
Läs merFöreläsning Datastrukturer (DAT036)
Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2013-11-13 Idag Grafer: Terminologi. Datastrukturer. Topologisk sortering. Kortaste vägen. Bredden först-sökning. Dijkstras algoritm. (Vi får
Läs merI 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
Läs merÖvningshäfte 1: Logik och matematikens språk
GÖTEBORGS UNIVERSITET MATEMATIK 1, MMG200, HT2014 INLEDANDE ALGEBRA Övningshäfte 1: Logik och matematikens språk Övning A Målet är att genom att lösa och diskutera några inledande uppgifter få erfarenheter
Läs merInnehållsförteckning
Innehållsförteckning Ämne Sida Program Hur ska man lära sig programmering med Java? 11 Kapitel 1 Introduktion till programmering 13 1.1 Vad är programmering? 14 1.2 Vad är en algoritm? 16 1.3 Olika sätt
Läs merTommy Färnqvist, IDA, Linköpings universitet. 1 Kursadministration 1. 2 Introduktion 2 2.1 Varför logik?... 2 2.2 Satslogik... 2
Föreläsning 1 Syntax 729G06 Logikdelen Föreläsningsanteckningar i Programmering och logik 21 januari 2014 Tommy Färnqvist, IDA, Linköpings universitet 1.1 Innehåll Innehåll 1 Kursadministration 1 2 Introduktion
Läs merClasses och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016
Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Abstract class En abstract class är en class som inte kan skapa några objekt. Syfte:
Läs merProgramsystemkonstruktion med C++: Övning 2. Karl Palmskog september 2010
Programsystemkonstruktion med C++: Övning 2 Karl Palmskog palmskog@kth.se september 2010 Specalfunktioner i klasser Konstruktorer i konstruktorerna för en klass initieras klassens medlemmar initialvärden
Läs mer