729G43 Artificiell intelligens Planering
|
|
- Lennart Magnusson
- för 6 år sedan
- Visningar:
Transkript
1 729G43 Artificiell intelligens Planering Arne Jönsson HCS/IDA Planering Sökning vs planering Planeringsnotationer Enkel planering Partialordningsplanering Resursplanering Hierarkisk planering Planering i icke-deterministiska domäner Linköpings universitet 1
2 Planering vs sökning, 1 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 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 Linköpings universitet 2
3 Handlingsrepresentation 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 Bara positiva predikat i tillstånd, inga negationer Closed world assumption Bara konjunktioner Inga kvantifierare Ingen likhet Ingen typning Inga situationsvariabler Exempel, Blocks world Predikat: On(x, y) Clear(x) Handling: Move(b, x, y) Precond: On(b, x) Clear(b) Clear(y) Effect: On(b, y) Clear(x) On(b, x) Clear(y) STRIPS hade ADD och DELETE: ADD: On(b, y) Clear(x) DELETE: On(b, x) Clear(y) Linköpings universitet 3
4 Exempel A B C On(A,B) Clear(A) Clear(C) On(B, Table) On(C, Table) Move(A, B, C) Precond: On(A, B) Clear(A) Clear(C) ADD: On(A, C) Clear(B) DELETE: Clear(C) On(A, B) A B C On(A,C) Clear(A) Clear(B) On(B, Table) On(C, Table) STRIPS Effektiv men begränsad Tar bort predikat, DELETE-list, dvs icke-monoton Linköpings universitet 4
5 ADL 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 : Block Planeringsalgoritmer Generera en sekvens av handlingar från start till mål Framåtsökning Bakåtsökning STRIPS Linköpings universitet 5
6 STRIPS-operatorer Stack(x, y) P: Clear(y) Ù Holdning(x) D: Clear(y) Ù Holdning(x) A: ArmEmpty Ù On(x, y) UnStack(x, y) P: On(x,y) Ù Clear(x) Ù ArmEmpty D: On(x, y) Ù ArmEmpty A: Holdning(x) Ù Clear(y) PickUp(x) P: Clear(x) Ù OnTable(x) Ù ArmEmpty D: OnTable(x) Ù ArmEmpty A: Holdning(x) PutDown(x) P: Holdning(x) D: Holdning(x) A: OnTable(x) Ù ArmEmpty Exempel Start B C A On(B, C) Clear(A) Clear(B) OnTable(A) OnTable(C) ArmEmpty Uppfyllt A Mål B C On(B, C) On(A, B) OnTable(C) ArmEmpty Leta efter operatorer som har On(x, y) på sin ADD-list, dvs Stack(A, B) Precond: Clear(B), Holding(A) Leta efter operator som har Holding(x) på ADD-list: PickUp eller UnStack Välj PickUp(A). Precond: ArmEmpty, Clear(A), OnTable(A) uppfyllt Linköpings universitet 6
7 Nytt exempel Start C A B On(C, A) Clear(C) Clear(B) OnTable(A) OnTable(B) ArmEmpty A Mål B C On(A, B) On(B, C) OnTable(C) ArmEmpty Börja med ett mål, t.ex. On(A, B), ger UnStack(C, A), PutDown(C), PickUp(A), Stack(A, B) Ta sen nästa mål On(B, C). Ger UnStack(A, B), PutDown(A), PickUp(B), Stack(B, C) Nu är inte On(A, B) uppfyllt så PickUp(A), Stack(A, B) Partialordningsplanering 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, B) UnStack(C, A), PutDown(C) Fortsätt med On(B, C) PickUp(B), Stack(B, C) Återuppta On(A, B) PickUp(A), Stack(A, B) Partialordningplanerare skapar partiellt ordnade delplaner enligt least commitment strategy, dvs fatta så få beslut som möjligt Linköpings universitet 7
8 Ännu inte uppfyllt men först partialordnas delplanerna START OnTable(A) OnTable(B) ON(C,A) ArmEmpty Clear(C) Clear(B) Clear(A) OnTable(A) ArmEmpty PickUp(A) Holding(A) ArmEmpty OnTable(A) Clear(B) OnTable(B) ArmEmpty PickUp(B) Holding(B) ArmEmpty OnTable(B) {x/a} On(C,A) Clear(C) ArmEmpty UnStack(C,A) Holding(C) Clear(A) ArmEmpty On(C,A) Clear(B) Holding(A) Stack(A,B) ArmEmpty ON(A,B) Clear(B) Holdning(A) Clear(C) Holding(B) Stack(B,C) ArmEmpty On(B,C) Clear(C) Holdning(B) Holding(C) PutDown(C) ArmEmpty OnTable(C) Holdning(C) On(A,B) On(B,C) OnTable(C) MÅL Partialordna, 1 Operatorer som lagts till för att uppnå delmål partialordnas PickUp(A) Stack(A,B) PickUp(B) Stack(B,C) UnStack(C,A) PutDown(C) Vid konflikt ordnas operatorer så att konflikten undviks Stack(A,B) är i konflikt med PickUp(B) eftersom Stack tar bort Clear(B) Stack(B,C) är pss i konflikt med UnStack(C,A) Partialordna: PickUp(B) Stack(A,B) UnStack(C, A) Stack(B,C) Linköpings universitet 8
9 Partialordna, 2 Finns det ytterligare ordning mellan de partiellt ordnade planerna? PickUp(A) Stack(A,B) PickUp(B) Stack(B,C) UnStack(C,A) PutDown(C) PickUp(B) Stack(A,B) UnStack(C,A) Stack(B,C) PickUp(B) (och därmed också Stack(B,C)) före Stack(A,B) och UnStack(C,A) före Stack(B,C) UnStack(C,A) PutDown(C) PickUp(B) Stack(B,C) PickUp(A) Stack(A,B) START OnTable(A) OnTable(B) ON(C,A) ArmEmpty Clear(C) Clear(B) On(C,A) Clear(C) ArmEmpty UnStack(C,A) Holding(C) Clear(A) ArmEmpty On(C,A) Holding(C) PutDown(C) ArmEmpty OnTable(C) Holdning(C) Clear(B) OnTable(B) ArmEmpty PickUp(B) Holding(B) ArmEmpty OnTable(B) Clear(C) Holding(B) Stack(B,C) ArmEmpty On(B,C) Clear(C) Holdning(B) Clear(A) OnTable(A) ArmEmpty PickUp(A) Holding(A) ArmEmpty OnTable(A) Clear(B) Holding(A) Stack(A,B) ArmEmpty ON(A,B) Clear(B) Holdning(A) On(A,B) On(B,C) OnTable(C) MÅL Alla preconditions uppfyllda så planeraren är klar Linköpings universitet 9
10 Planeringsgraf Graf med en sekvens av nivåer som svarar mot temporala steg i planen. Bara för propositioner, dvs inga variabler i tillstånden Representerar handlingar och icke-handlingar Ex S 0 A 0 S 1 Have(Cake) Eaten(Cake) Eat(Cake) Have(Cake) Have(Cake) Eaten(Cake) Eaten(Cake) Mutexlänk Ömsesidigt uteslutande relationer 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 Linköpings universitet 10
11 Planering GraphPlan 1. Skapa en planeringsgraf med djup k 2. Om det finns en lösning returnera den 3. I annat fall öka djupet med 1 och gå till 1. Det finns en lösning om: Alla fakta i målet finns på djup k och inte är mutex Om det för alla delmål på djup k-1, k-2, 1 finns en handling som inte är mutex med någon annan handling Planen är en linjärisering av eventuella parallella handlingar GraphPlan 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) Linköpings universitet 11
12 Punkteringsexemplet 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)) S 0 A 0 S 1 At(Spare,Trunk) At(Spare,Trunk) Remove(Spare,Trunk) At(Spare,Trunk) At(Flat,Axle) At(Spare,Axle) Remove(Flat,Axle) LeaveOvernight At(Flat,Axle) At(Flat,Axle) At(Spare,Axle) CWA At(Flat,Ground) At(Spare,Ground) At(Flat.Ground) At(Flat,Ground) At(Spare,Ground) At(Spare,Ground) Linköpings universitet 12
13 S 0 A 0 S 1 A 1 S 2 At(Spare,Trunk) At(Spare,Trunk) At(Spare,Trunk) Remove(Spare,Trunk) At(Spare,Trunk) Remove(Spare,Trunk) At(Spare,Trunk) Remove(Flat,Axle) Remove(Flat,Axle) At(Flat,Axle) LeaveOvernight At(Spare,Axle) At(Flat,Ground) At(Spare,Ground) At(Flat,Axle) At(Flat,Axle) LeaveOvernight At(Spare,Axle) PutOn(Spare,Axle) At(Flat.Ground) At(Flat,Ground) At(Spare,Ground) At(Spare,Ground) At(Flat,Axle) At(Flat,Axle) At(Spare,Axle) At(Spare,Axle) At(Flat.Ground) At(Flat,Ground) At(Spare,Ground) At(Spare,Ground) Avancerad planering Resursplanering Handlingar tar en viss tid att utföras Planhierarkier Abstrakta operatorer som håller steg i planen som i sig implementerar operatorn Expanderas till dess att planen bara innehåller primitiva operatorer Planering i icke-deterministiska domäner 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 Linköpings universitet 13
Planering. Planering vs sökning, 1. Planering vs sökning, 2. Handlingsrepresentation
Planering Planering vs sökning, 1! Sökning vs planering! Planeringsnotationer! Enkel planering! Partialordningsplanering! Resursplanering! Hierarkisk planering! Planering i icke-deterministiska domäner
729G43'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'
Lek$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
Artificiell 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,
Artificiell 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
Artificiell 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,
Frå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
Frå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
Tentamenskod: 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:
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
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
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
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
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
Artificial 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!
Shakey 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...
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
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
Lektion 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
Artificiell 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
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
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
Varfö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.
Tommy 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
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
Trädstrukturer och grafer
Översikt Trädstrukturer och grafer Trädstrukturer Grundbegrepp Binära träd Sökning i träd Grafer Sökning i grafer Programmering tillämpningar och datastrukturer Varför olika datastrukturer? Olika datastrukturer
Sö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
Mycket 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
729G74 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
729G74 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
Fö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
A 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.
Sä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
Logisk 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
Fö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
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
Dataabstraktion. 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?
729G04 Programmering och diskret matematik. Python 3: Loopar
729G04 Programmering och diskret matematik Python 3: Loopar Översikt Labbar Punktnotation och strängmetoder Loopar Labb 3 Labbar? Punktnotation Punktnotation Ni har stött på punktnotation tidigare - kapitel
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,
Fö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?
Grafer, 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
Datatyper 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
Föreläsning 13 och 14: Binära träd
Föreläsning 13 och 14: Binära träd o Binärträd och allmänna träd o Rekursiva tankar för binärträd o Binära sökträd Binärträd och allmänna träd Stack och kö är två viktiga datastrukturer man kan bygga av
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)
Dataabstraktion. 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?
Datorlingvistisk 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
Sö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,
Tentamen 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
Ö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,
Språ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
Fö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
Djupstruktur 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)
Fö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
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:
Grundläggande Datalogi
s delar Grundläggande Datalogi s delar s delar s delar Dataabstraktion Rekursion Algoritmanalys s delar Sortering Trädstrukturer Grafalgoritmer Optimering Stavning Strängmatchning Datakompression Versionshantering
Fö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
TDDC74 Programmering, abstraktion och modellering DUGGA 2
AID-nummer: Datum: 2011-02-18 1 Tekniska högskolan vid Linköpings universitet Institutionen för datavetenskap Anders Haraldsson TDDC74 Programmering, abstraktion och modellering DUGGA 2 Fredag 18 feb 2011
Fö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
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
Programmering 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
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
Ö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.
Programmering 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
Python. 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
Fö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
Dagens 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
Tommy 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
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
Granskning 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,
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).
Fö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å
Labb 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
Grundlä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
Föreläsning Datastrukturer (DAT037)
Föreläsning Datastrukturer (DAT037) Nils Anders Danielsson 2015-11-23 Idag Mer om grafer: Minsta uppspännande träd (för oriktade grafer). Djupet först-sökning. Minsta uppspännande träd Träd (utan rot)
Objektorienterad programmering Föreläsning 2
Objektorienterad programmering Föreläsning 2 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Inläsning av data via dialogrutor Repetitioner (While-satsen och For-satsen) Nästlade
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:
Ö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
MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...
Allt du behöver veta om MATLAB: Industristandard för numeriska beräkningar och simulationer. Används som ett steg i utvecklingen (rapid prototyping) Har ett syntax Ett teleskopord för «matrix laboratory»
TENTAMEN: Algoritmer och datastrukturer. Läs detta!
1 (6) TENTAMEN: Algoritmer och datastrukturer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Börja varje uppgift på ett nytt blad. Skriv ditt idnummer på varje blad (så att vi
Artificiell intelligens
2013-08-13 Introduktion Artificiell intelligens Vad är AI? Olika mål Intelligenta agenter Områden inom AI Arne Jönsson HCS/IA Vad är AI? Intelligens: Förmågan till tänkande och analys (Svenska ORboken)
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
Innehå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
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära
Föreläsning Datastrukturer (DAT036)
Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2013-11-18 Idag Mer om grafer: Minsta uppspännande träd (för oriktade grafer). Prims algoritm. Kruskals algoritm. Djupet först-sökning. Cykel
Dagens föreläsning Programmering i Lisp Fö 7. Sammanfattning funktionell programmering Exempel på funktionella programspråk
1 Dagens föreläsning Programmering i Lisp Fö 7 Kopplingen funktionella programmering och diskret matematik. Jämför vad ni hittills gjort i denna kurs och i den diskreta matematiken, med referenser in i
729G74 IT och programmering, grundkurs. Tema 2, Föreläsning 2 Jody Foo,
729G74 IT och programmering, grundkurs Tema 2, Föreläsning 2 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Kursinfo: återkoppling Muddy Cards och kompletteringar Diskret matematik Python: Programmering
Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs
Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera först talet 37 med 2. Använd heltalsdivision. Det ger kvoten
Programmeringsteknik 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
DD1314 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:
Övning 3 - Tillämpad datalogi 2012
/home/lindahlm/activity-phd/teaching/12dd1320/exercise3/exercise3.py September 14, 20121 0 # coding : latin Övning 3 - Tillämpad datalogi 2012 Summering Vi gick igenom problemträd, sökning i problem träd
Grunderna i stegkodsprogrammering
Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer
Pythons 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
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
MicroPython Ett textbaserad programmeringsspråk för Micro:bit
MicroPython Ett textbaserad programmeringsspråk för Micro:bit Introduktion till informationsteknologi 1DT051 2018-09-24 karl.marklund@it.uu.se Uppsala universitet Programming, problemlösning och algoritmer
Fö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
Tentamen Datastrukturer D DAT 035/INN960 (med mycket kortfattade lösningsförslag)
Tentamen Datastrukturer D DAT 035/INN960 (med mycket kortfattade lösningsförslag) 21 december 2007 Tid: 8.30-12.30 Ansvarig: Peter Dybjer, tel 7721035 eller 405836 Max poäng på tentamen: 60. (Bonuspoäng
TDDC74 Programmering, abstraktion och modellering DUGGA 2
1 Tekniska högskolan vid Linköpings universitet Institutionen för datavetenskap Anders Haraldsson TDDC74 Programmering, abstraktion och modellering DUGGA 2 Torsdag 19 feb 2009 8-10 Namn: Personnummer:
DD1350 Logik för dataloger. Fö 2 Satslogik och Naturlig deduktion
DD1350 Logik för dataloger Fö 2 Satslogik och Naturlig deduktion 1 Satslogik En sats(eller utsaga)är ett påstående som kan vara sant eller falskt. I satslogik(eng. propositionallogic) representeras sådana
Ö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