Shakey s värld med HTNplanering

Storlek: px
Starta visningen från sidan:

Download "Shakey s värld med HTNplanering"

Transkript

1 Shakey s värld med HTNplanering Artificiell Intelligens 2, 729G11 Maria Lindqvist Fördjupningsarbete, HT Linköpings Universitet marli314

2 2

3 Innehållsförteckning Inledning... 4 Introduktion till HTN planering... 5 Task Networks... 5 Sönderdelning i HTN-planering... 6 Fördelar med HTN-planering... 8 Översikt över STRIPS... 8 Shakey s värld i HTN hypotetiskt... 9 Slutkommentar Referenser

4 Inledning Att gå från planering i experimentella miljöer till verkliga komplexa problem skapar en stor utmaning för agenterna. De system som har visat sig mest brukbara i verkliga situationer är hierarkiska system. I det här fördjupningsarbetet ställs två planeringssystem mot varandra STRIPS och Hierarchical Task Network-planning (HTN-planering) med syfte att få bättre förståelse för funktionen hos HTN-planering och de svårigheter som planering i en realistisk domän medför. 4

5 Introduktion till HTN planering Hierarchical task networks, eller HTN-nätverk är som vanlig planering, förutom att förhållandet mellan handlingar (actions) är i form av nätverk istället för enbart preconditions. För att fritt kunna konstruera task 1 networks istället för enbart att kunna sönderdela (decompose) framåt krävs ett bokföringssystem som representerar alla restriktioner som algoritmen ej än har framdrivit [3]. Det görs genom att de restriktioner som ej har blivit genomdrivna än presenteras i ett bokföringssystem som kallas task network. Ett sådant task network är ett par, w = (U, C) där U är uppdragsnoder, eller task nodes, och C är restriktioner. Varje restriktion måste uppfylla varje plan som är lösningen till planeringsproblemet. Processen slutar när alla icke-primitiva tasks är sönderdelade till primitiva underhandlingar (subtasks) och en actionsekvens är uppnådd. En HTN-planering kräver, förutom task networks, en problemdefinition och en planeringsdomän. Planeringsdomänen består av operatorer och HTN-metoder. Problemdefinitionen består av ett begynnande stadium, begynnande task network, operatorer, och en lista på metoder [1]. Nedan har jag listat ett antal sådana metoder, med ett tillhörande sönderdelningsträd (figur 1) för att illustrera metoderna bättre. Syftet med HTN-planering är inte att nå ett målstadium som det är i STRIPS, utan att hitta en mängd tasks som ska utföras. Slutmålet i HTN-planering kan kallas för en goaltask vilket är ett övergripande task som behöver utföras. Syftet är att hitta en hierarki med sönderdelningar som leder till en mängd primitiva tasks som kan utföras från det begynnande stadiet som definieras i problemdefinitionen. I det här arbetet ger jag enbart exempel på HTN-metoder, och inte problemdefinition eller domän. Task Networks HTN-planering bygger på task networks [2], vilket kan definieras som w = (U, C), där U är uppdragsnoder och C är restriktioner. Det finns exempel på olika restriktioner som är listade nedan: precedence constraints, alltså företrädande restriktioner betyder att för uppdragsnoderna u<v måste de handlingar som följer på u gå före handlingarna som följer på v. before constraints, alltså förekommande restriktioner innebär att något måste vara sant innan en handling kan utföras. after-constraints, eller efterrestriktioner betyder att något måste vara sant precis efter att handlingen är utförd. between-constraints, eller mellanrestriktioner innebär att något måste vara sant både före, under och efter en handling. 1 Task skulle kunna översättas till uppdrag, men jag anser att den översättningen inte är fullständig, så det engelska ordet kommer att användas även i fortsättningen. 5

6 I ett task network förekommer inte endast en metod, utan det är ett antal uppdragsnoder som tillsammans bildar ett nätverk som är sammankopplat av restriktioner mellan uppdragsnoderna. Givet ett task network som innehåller en uppdragsnod med en tillhörande task och en metod kan detta metoden sönderdela uppdragsnoden till en ny subtask vilket producerar ett nytt task network med en nya restriktioner och omdefinierade uppdragsnoder. För att sedan kunna utföra en sönderdelning till ett mer primitivt stadie krävs en början med ett task network av formen w = ({u}, C) där u är en uppdragsnod med en tillhörande task, som till exempel push-box(r, b, l 1, l 2 ). Sedan appliceras en metoden, till exempel Push(r, b, l 1, l 2 ) vilket gör att det task network som fanns från början omvaldas till w2 = ({u 1, u 2 }, C) eftersom att u 1 och u 2 är subtasks till den överliggande metoden och blir tillsammans uppdragsnoder i ett nybildat task network. Sedan appliceras en till metod, som hör ihop med u1, vilket skulle kunna vara Move(r, l 1, l 2 ). Då har två sönderdelningar skett och det nya nätverket blir w 3 = ({u 2, u 3, u 4 }, C 3 ) enligt: t u3 = setup(b) t u4 = move (r) t u5 = finish(b) C 3 = {u 3 < u 4, u 4 < u 5 } Sönderdelning i HTN-planering I HTN-planering är ursprungsplanen eller problemet en beskrivning av vad som behöver göras, till exempel att laga en cykel. Den blir mindre genom en action decomposition, alltså de stora handlingarna delas upp i ett antal tydligare handlingar ända tills enbart primitiva handlingar kvarstår. Det realiseras i ett sönderdelningsträd med så få grenar som möjligt för ett bra resultat, med sammansatta tasks i de övre noderna för att få en överblick. De sönderdelas till primitiva handlingar, som är handlingar som kan utföras automatiskt. Det betyder[1]att HTN-planering är en form av konkretisering snarare än att skapa en beskrivning av nödvändiga aktiviteter för att nå ett mål. Värt att notera är att planer som kommer ur ren HTN planering, det vill säga enbart ur sönderdelning är ett ganska onaturligt sätt att lösa problem och i de flesta verkliga domäner används en kombination av HTN-planering och partialorderplanering. Ett exempel på en goaltask i en HTN-planering är Light High Lightswitch i en Shakeydomän - alltså att tända en lampa som sitter så högt att Shakey måste klättra upp på en låda för att nå den. För att kunna göra den planeringen krävs att ett antal metoder listas. En metod används på ett sammansatt task som har okända resultat och gör att det kan sönderdelas till ett eller flera enklare subtasks. Subtasks är ett antal mindre abstrakta tasks än det sammansatta task som de tillhör, men kan ändå vara både sammansatta och primitiva tasks beroende på komplexiteten hos det begynnande tasket. Nedan har jag listat exempel på metoder som kan höra till Shakey-domänen: - För att utföra ett task att en robot ska tända en lampa i ett rum krävs att roboten befinner sig i rummet och att han har tillgång till en låda som han kan placera under lampknappen 6

7 - För att utföra ett task att en robot ska tända en lampa krävs först att han bedömer om lampan redan är tänd eller ej, och därefter tänder lampan om den är släckt. Dessa metoder kan realiseras i en mer detaljerad metodbeskrivning nedan som tillhör sönderdelningsträdet i figur 1: Light HLS(b, l1, l2, ls, r) Prepare(b, l1, l2 r) PushButton() PushBox() Climbup() Figur 1, Decomposition tree i ett task network. Light HighLightSwitch är ett sammansatt task som sönderdelas till Prepare och PushButton. De med grå bakgrund är primitiva tasks. En HTN-metod är en tupel med fyra komponenter: m = (name(m), task(m), subtask(m), constr(m)) där subtask(m), constr(m) är ett task network. Nedan presenteras ett antal HTNmetoder som bygger på att tända en lampa som befinner sig så högt upp att roboten måste klättra upp på en låda för att tända den. Light HLS (l1, l2, b, r, ls) ;; metod för Shakey att tända en lampa med en hög lampknapp Task: Light high lightswitch (l1, l2, b, r, ls) ;; En ickeprimitiv handling Subtask: u 1 = Prepare(r, b, l1, l2) u 2 = PushButton (r, ls, l1) Constr: u 1 < u 2 ;; subtask u1 ska utföras före subtask u2 Prepare (r, b, l1, l2, ls) ;; metod att förbereda för tändningen Task: Prepare (l1, l2) ;; En ickeprimitiv handling Subtask: u 1 = PushBox (r,, b, l1, l2) u 2 = ClimbUp (r, b, l1) Constr: u 1 < u 2, before({u 1 }, at(r, l1)), before({u 1 }, at(b, l1)) before({u 1 }, not( at(r, ls))) PushBox (b, l1, l2,r) ;; metod att flytta en låda om den inte är på l2 Task: u0 = push-box(l1, l2) ;; En primitiv handling Subtask: ;; inga subtasks, är en primitiv funktion Constr: before({u}, at(r, l1)), before({u}, at(b, l1)) ClimbUp (b, l1,r) ;; metod klättra upp på en låda om den befinner sig på samma plats Task: u0 = Climb-up-on-box (r, l1, l2) ;; En primitiv handling Subtask: ;; inga subtasks, är en primitiv funktion 7

8 Constr: before({u0}, at(r, l1)), before({u}, at(b, l1)) PushButton (b, l1,r, ls) ;; metod att tända lampan Task: u0 = push-button (r, l1, l2) ;; En primitiv handling Subtask: ;; inga subtasks, är en primitiv funktion Constr: before({uo}, at(r, l1)), before({u0}, at(b, l1)), before({u0}, at(ls, l1)) before({u0}, unlit(ls) Det som är ett task network är subtasksen och constraints, vilka båda behövs för att rätt bedömning om vilket subtask som ska utföras härnäst ska kunna göras. De constraints som förekommer i mitt exempel är before -constraints, alltså att något måste vara sant före ett task kan utföras. Det finns även precedence -constraints, där ett subtask måste prioriteras före ett annat subtask, vilket tydliggörs med en < -symbol. Det blir ganska självklart i det här fallet eftersom att det inte går att tända lampan innan det är förberett med en låda på rätt ställe. De sammansatta tasksen har subtasks men inte de primitiva eftersom att de går att utföras på en gång. Fördelar med HTN-planering Det är allmänt erkänt att planering i realistiska domäner kräver planering på olika nivåer [2]. Det gör att en enklare, mer beräkningsbar version av verkligheten kan tillverkas av planeraren. Det är därför som HTN-planerare är de planerarna som har använts mest när det gäller praktisk planering i verkligheten. Fördelen med en hierarkisk struktur är enligt Russel och Norvig (2003) att på varje nivå i hierarkin reduceras funktionen till ett litet antal aktiviteter, decompositions, på den nästkommande nivån vilket gör att beräkningskostnaden för att arrangera aktiviteterna blir liten (jämfört med andra planerare som reducerar en uppgift till ett stort antal aktiviteter). Översikt över STRIPS STRIPS är ett problemlösningssystem som söker genom världen efter en viss modell som gör att de uppsatta målen efterföljs [4]. STRIPS var skapad just för planering av en robot som ska navigera och flytta objekt. I STRIPS definieras ett startstadium och ett målstadium. Regler med preconditions och effekter definieras till varje handlingsoperator. Dessa regler tar världens predikat som argument vilket resulterar i ett nytt stadie i värden efter att regeln har blivit utnyttjad, om nu preconditions är uppfyllda. Algoritmen försöker finna en mängd operatorer som skapar ett stadie i världen som är detsamma som målstadiet. En operator i STRIPS består av tre huvuddelar: 1. Operatorns namn och alla parametrar 2. Preconditions 3. Effekter Nedan följer ett exempel på en operator i STRIPS för att flytta en robot r från plats A till plats B: 8

9 Action (Move(r, A, B), PRECOND: At(r, from, to) Robot(r) Location (A) Location(B) EFFECT: At(r, A) At(r, B) För att förenkla för den som tolkar koden delas ibland effekten in i add list för positiva parametrar och en DELETE LIST för negativa parametrar. Shakey s värld i HTN hypotetiskt Som beskrivet tidigare fungerar HTN och STRIPS mycket olika, men jag ska ändå försöka uttrycka Shakey s värld i ett hierarkiskt nätverk. Eftersom att HTN fungerar på ett annorlunda sätt än STRIPS, bör ett huvudmål sättas upp med ett antal underliggande sammansatta tasks som därefter kan leda till primitiva tasks istället för enbart en domän och ett problem. Det kan ske på olika sätt. Det ena är att ha ett statiskt mål, som till exempel AllLightswitchesOn som därefter måste sönderdelas till andra sammansatta tasks för att slutligen bli primitiva. Där ser vi fördelen med att kunna använda HTN-planering i Shakey s miljö, och det är att mer komplexa frågor om världen kan ställas. De frågorna var tidigare möjligen genomförbara med ADL-planering ocskså skulle vara fullt genomförbara med HTN-planering. Problemet är just Shakeydomänen så primitiv från början att det väldigt fort går ner i direkt genomförbara actions annars och trädet blir mer en samling rötter än ett verkligt träd, för att förklara det bildligt. Det skulle dock gå att genomföra, och acceptera att Shakeydomänen är så simpel och därför göra precis som det illustrerades när sönderdelningen förklarades, och nöja sig med att det träd som går ut blir det lite mer likt hur det fungerar i STRIPS, fast göra det med hierarkiska nätverk istället. För att kunna göra Shakey s värld i HTN-planering krävs att ett HTN-problem definieras. Ett HTN-planeringsproblem består av fyra delar [2]: Ett inledande tillstånd Ett inledande task network En mängd operatorer En mängd metoder Att lösa ett sådant problem går att göras på flera olika sätt, och det finns en mängd planerare som har använt sig av HTN-planering men som har använt helt skilda algoritmer. Den här studien fokuserar mer på sönderdelningen och på de övergripande funktionerna än på hur det appliceras i verkligheten för att lösa ett problem, därför förklaras detta bara ytligt. För just Shakey s värld skulle det inledande tillståndet vara placeringen av alla objekt och positioner i världen samt var Shakey befinner sig. Task network i det här fallet skulle börja med det task som först behöver utföras, samt de restriktioner som finns gällande vad som får utföras före något annat eller tvärt om. För en STRIPS action description för a, som har p som precondition och e som effekt blir den action som ska sönderdelas Achieve (e) eftersom att det är effekten som är huvudmålet. Sönderdelningen får då två steg: Achieve (p) och a. 9

10 Det betyder att den STRIPS-action som presenterades tidigare ser ut som följer i HTNplanering: Action (Achieve( At(r, A) At(r, B) PRECOND: at(robot, A), EFFECT: at(robot, B) ( At(r, A) 10

11 Slutkommentar HTN går att implementera på Shakey s värld, men det framgår tydligt att det inte är det som HTN-planering främst är till för. Hade resurs- eller tidsrestriktioner varit avgörande faktorer hade HTN-planering kommet mer till sin rätt. Det blir också mer komplicerat eftersom att Shakey-domänen gör att primitiva handlingar går att implementeras redan från början. Därför krävs en svårare uppgift, som till exempel att tända alla lampor eller dylikt för att det ska gå. Det var mycket svårt att hitta ett sätt att skriva ut hur det ska göras eftersom att HTNplanering, som jag förstod det, i sig inte är ett färdigutarberat planeringssystem. Istället är det mer är en teori med en algoritm som kan utnyttjas i olika former av planerare, ofta tillsammans med partialorderplanering. 11

12 Referenser [1] Artificial Intelligence A Modern Approach, Second Edition, Russell, Stuart, Norvig, Peter,Prentice Hall 2003 [2] Automated planning: theory and practice. Ghallab, Elsevier/Morgan Kaufmann 2004 [3] Zhou, H. H, Hu, D. H, Hogg, C, Yang, Q & Munoz-Avila, H. Learning HTN Method Preconditions and Action Models from Partial Observations. Proceedings of the 21 st international joint conference on Artificial intelligence, S [4] STRIPS: A new approach to the application of theorem proving to problem solving, Nilsson, N. E & Fikes, R.E. Stanford Research institute

STRIPS. En planerares uppbyggnad. Emma Torensjö. Artificiell Intelligens II. Linköpings Universitet HT Emma Torensjö.

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

Läs mer

Artificiell Intelligens II Lektion 1

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,

Läs mer

Artificiell Intelligens Lektion 1

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,

Läs mer

729G43 Artificiell intelligens Planering

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 mer

Lektion 8: Konstruktion av semantiska tablåer för PTL-formler

Lektion 8: Konstruktion av semantiska tablåer för PTL-formler Lektion 8: Konstruktion av semantiska tablåer för PTL-formler Till denna lektion hör uppgift 2, 6 och 0 i lärobokens avsnitt.6 (sid. 255). Lös uppgift 2 genom att konstruera en semantisk tablå. Följande

Läs mer

Lek$on 4: Planering. Robin Keskisärkkä

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

Läs mer

Statistisk mönsterigenkänning

Statistisk mönsterigenkänning Statistisk mönsterigenkänning Jonas Sandström Artificiell intelligens II Linköpings universitet HT 2011 Innehållsförteckning 1. Innehållsförteckning sid 2 2. Inledning sid 3 3. Statistisk mönsterigenkänning

Läs mer

Inledning ARTIFICIELL INTELLIGENS 729G011 HT 2010

Inledning ARTIFICIELL INTELLIGENS 729G011 HT 2010 Inledning För att koordinera enheter mot ett gemensamt mål krävs ett effektivt system för att förmedla information. Man strävar ofta efter att varje enhet ska ha den information som krävs för att enheten

Läs mer

NKRR. Regelskrivning i praktiken

NKRR. Regelskrivning i praktiken Sida: 1 (13) NKRR Regelskrivning i praktiken Innehåll Sida: 2 (13) 1 Inledning... 3 1.1 Förkortningar och begrepp... 3 2 Ändringshistorik för dokumentet... 4 3 Bakgrund... 5 3.1 Regler i NKRR... 5 3.2

Läs mer

Ontologier. Cassandra Svensson 2014-01-09

Ontologier. Cassandra Svensson 2014-01-09 Ontologier Cassandra Svensson 2014-01-09 Sammanfattning Jag har läst Annika Flycht-Ericssons avhandling Design and Use of Ontoligies in information-providing Dialogue Systems. Med Annikas text som utgångspunkt

Läs mer

Föreläsning 15: Repetition DVGA02

Föreläsning 15: Repetition DVGA02 Föreläsning 15: Repetition DVGA02 Vad handlar kursen om? Kursen kan i grova drag delas upp i tre delar: 1. Objekt-orienterad programmering 2. Grafiska användargränssnitt 3. Datastrukturer Dessutom genomsyras

Läs mer

Laboration 2. Artificiell Intelligens, Ht 2004 2004-10-19 Lärare: Christina Olsén Handledare: Therese Edvall Daniel Ölvebrink

Laboration 2. Artificiell Intelligens, Ht 2004 2004-10-19 Lärare: Christina Olsén Handledare: Therese Edvall Daniel Ölvebrink Artificiell Intelligens, Ht 2004 2004-10-19 Lärare: Christina Olsén Handledare: Therese Edvall Daniel Ölvebrink Laboration 2 Laboranter: Johan Bystedt (dit02lbt) Alexander Pettersson (dit02apn) Stefan

Läs mer

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping Fuzzy Logic När oskarpa definitioner blir kristallklara Linköpings Universitet Linköping Sammanfattning I denna fördjupningsuppgift har jag fokuserat på Fuzzy Logic och försökt att beskriva det på ett

Läs mer

Artificiell Intelligens den nya superkraften

Artificiell Intelligens den nya superkraften Artificiell Intelligens den nya superkraften Socialchefsdagarna, 4 oktober 2018 #CGINext Artificiell Intelligens Förmågan hos mjukvara att agera självständigt på ett intelligent sätt tidigare bara associerat

Läs mer

Från ljusenergi till en kub som går att stå på Hur man får en dator att känna igen olika former i visuell information

Från ljusenergi till en kub som går att stå på Hur man får en dator att känna igen olika former i visuell information ARTIFICIELL INTELLIGENS II INSTITUTUINEN FÖR DATAVETENSKAP LINKÖPINGS UNIVERSITET Från ljusenergi till en kub som går att stå på Hur man får en dator att känna igen olika former i visuell information Anna

Läs mer

729G11 Artificiell Intelligens Marcus Johansson Marjo581. Fuzzy logic. Marcus Johansson Marjo581

729G11 Artificiell Intelligens Marcus Johansson Marjo581. Fuzzy logic. Marcus Johansson Marjo581 Fuzzy logic 880328-2535 Innehåll Fuzzy logic... 1 1. Inledning... 4 2. Jämförelse mellan fuzzy logic och tvåvärdeslogik.... 4 3. Fuzzy sets.... 4 4. Linvistiska variabler... 5 5. Operatorer... 5 6. If-

Läs mer

Tentamen. 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl 9.00 14.

Tentamen. 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl 9.00 14. Tentamen 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl 9.00 14.00, sal D31 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel

Läs mer

Sub-symbolisk kognition & Konnektionism. Kognitionsvetenskaplig Introduktionskurs (729G01) Mats Andrén,

Sub-symbolisk kognition & Konnektionism. Kognitionsvetenskaplig Introduktionskurs (729G01) Mats Andrén, Sub-symbolisk kognition & Konnektionism Kognitionsvetenskaplig Introduktionskurs (729G01) Mats Andrén, mats.andren@liu.se 1 Konnektionism Neutrala nät baseras på en (förenklad) modell av hur hjärnan fungerar.

Läs mer

Planering. Planering vs sökning, 1. Planering vs sökning, 2. Handlingsrepresentation

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

Läs mer

Artificial Intelligence

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!

Läs mer

TDDC74 Programmering, abstraktion och modellering DUGGA 2

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

Läs mer

Faktorisering med hjälp av kvantberäkningar. Lars Engebretsen

Faktorisering med hjälp av kvantberäkningar. Lars Engebretsen Faktorisering med hjälp av kvantberäkningar Lars Engebretsen 003-11-18 Bakgrund Vanliga datorer styrs av klassiska fysikens lagar. Vanliga datorer kan simuleras av turingmaskiner i polynomisk tid. Kanske

Läs mer

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

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

Läs mer

DAB760: Språk och logik

DAB760: Språk och logik DAB76: Språk och logik /4: Finita automater och -7 reguljära uttryck Leif Grönqvist (leif.gronqvist@msi.vxu.se) Växjö Universitet (MSI) GSLT (Sveriges nationella forskarskola i språkteknologi) Göteborg

Läs mer

Hierarchical Temporal Memory Maskininlärning

Hierarchical Temporal Memory Maskininlärning Hierarchical Temporal Memory Maskininlärning Innehåll Sammanfattning... 3 Inledning... 4 Vad är HTM?... 4 Hur fungerar HTM?... 4 Hierarchical... 4 Temporal... 5 Memory... 5 Hitta orsaker i världen... 5

Läs mer

Inledande programmering med C# (1DV402) Introduktion till programmering

Inledande programmering med C# (1DV402) Introduktion till programmering Introduktion till programmering Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt

Läs mer

Fördjupningsarbete HT 2012 FUZZY LOGIC

Fördjupningsarbete HT 2012 FUZZY LOGIC FUZZY LOGIC 1 Innehåll Bakgrund & Introduktion till fuzzy logic... 3 Syfte... 3 Fuzzy sets... 4 Hedges... 5 Fuzzy set logic... 6 IF-THEN relger... 7 Fuzzy Inference... 7 Användandet utav fuzzy logic i

Läs mer

Dependensregler - Lathund

Dependensregler - Lathund Dependensregler - Lathund INTRODUKTION I textprogrammet TeCST är det möjligt för en skribent att skriva, redigera och klistra in text för att få ut läsbarhetsmått och få förslag på hur texten kan skrivas

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 10 Anton Grensjö grensjo@csc.kth.se 18 november 2015 Anton Grensjö ADK Övning 10 18 november 2015 1 / 20 Översikt Kursplanering Ö9: NP-fullständighetsbevis

Läs mer

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

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

Läs mer

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens 2 2010-10-03 Erik Claesson 880816-1692

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens 2 2010-10-03 Erik Claesson 880816-1692 Beräkning med ord -hur en dator hanterar perception 2010-10-03 Erik Claesson 880816-1692 Innehåll Inledning... 3 Syfte... 3 Kan datorer hantera perception?... 4 Naturligt språk... 4 Fuzzy Granulation...

Läs mer

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT 2007. Lars Larsson Algoritmer 1

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT 2007. Lars Larsson Algoritmer 1 Algoritmer Lars Larsson VT 2007 Lars Larsson Algoritmer 1 1 2 3 4 5 Lars Larsson Algoritmer 2 Ni som går denna kurs är framtidens projektledare inom mjukvaruutveckling. Som ledare måste ni göra svåra beslut

Läs mer

Nätkurs Design & konstruktion av användargränssnitt 1MD113 Sid 1 (5) Lektion 11 Användare, uppgifter och krav del

Nätkurs Design & konstruktion av användargränssnitt 1MD113 Sid 1 (5) Lektion 11 Användare, uppgifter och krav del Nätkurs Design & konstruktion av användargränssnitt 1MD113 Sid 1 (5) Del 3 Uppgiftsanalys Av Stefan Blomkvist Uppgiftsanalysen ska svara på frågor om vilka uppgifter användarna utför och hur dessa genomförs.

Läs mer

Handledning Det didaktiska kontraktet. 19 september 2012

Handledning Det didaktiska kontraktet. 19 september 2012 Handledning Det didaktiska kontraktet 19 september 2012 Dagens teman Begreppsföreställning och begreppskunskap igen Handledning Det didaktiska kontraktet Begreppsföreställning och begreppsdefinition Begreppsföreställning

Läs mer

ÖVERSÄTTNINGAR I detta kursmaterial har vi valt att översätta en del engelska beteckningar till svenska. Ex: Feature Egenskap

ÖVERSÄTTNINGAR I detta kursmaterial har vi valt att översätta en del engelska beteckningar till svenska. Ex: Feature Egenskap Introduktion Detta kursmaterial är framtaget av Kent Norling på CADCAM-it i Gävle. Synpunkter och eventuella önskemål om tillägg och förändringar mailas till kent.norling@cadcam-it.se CADCAM-it CADCAM-it

Läs mer

TDDC74 Lab 02 Listor, sammansatta strukturer

TDDC74 Lab 02 Listor, sammansatta strukturer TDDC74 Lab 02 Listor, sammansatta strukturer 1 Översikt I denna laboration kommer ni att lära er mer om: Mer komplexa rekursiva mönster, procedurer och processer. Hur man kan hantera listor och andra enklare

Läs mer

Objektorienterad programmering

Objektorienterad programmering Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad

Läs mer

0XVLNVNDSDQGHJHQRP *HQHWLVN 3URJUDPPHULQJ

0XVLNVNDSDQGHJHQRP *HQHWLVN 3URJUDPPHULQJ 0XVLNVNDSDQGHJHQRP *HQHWLVN 3URJUDPPHULQJ ) UGMXSQLQJVDUEHWHL$, 0XVLNVNDSDQGHRFK*HQHWLVN3URJUDPPHULQJ 6DPPDQIDWWQLQJ I detta arbete har jag valt att undersöka hur musik kan skapas genom ett system grundat

Läs mer

Fuzzy Logic: Den oskarpa skarpheten

Fuzzy Logic: Den oskarpa skarpheten Fuzzy Logic: Den oskarpa skarpheten Av: 1 Innehåll Inledning... 3 Vad är Fuzzy Logic?... 4 Fuzzy sets... 4 Medlemsskapsfunktion... 5 Operatorer... 7 Union... 7 Snitt... 8 Komplement... 8 Exempel med de

Läs mer

Steg 3. Grupp F5 2011-02-16

Steg 3. Grupp F5 2011-02-16 Steg 3 Grupp F5 2011-02-16 Innehållsförteckning 3.1 Användarens röst... 3 Kundkrav och kundkedja... 3 Konsumentundersökning... 4 3.2 Kanomodellen... 4 3.3 Vart är pionjärerna på väg?... 5 Bilaga 1... 8

Läs mer

Föreläsning 5: Grafer Del 1

Föreläsning 5: Grafer Del 1 2D1458, Problemlösning och programmering under press Föreläsning 5: Grafer Del 1 Datum: 2006-10-02 Skribent(er): Henrik Sjögren, Patrik Glas Föreläsare: Gunnar Kreitz Den här föreläsningen var den första

Läs mer

Hantering av hazards i pipelines

Hantering av hazards i pipelines Datorarkitektur med operativsystem Hantering av hazards i pipelines Lisa Arvidsson IDA2 Inlämningsdatum: 2018-12-05 Abstract En processor som använder pipelining kan exekvera ett flertal instruktioner

Läs mer

Laboration 1: Figurer i hierarki

Laboration 1: Figurer i hierarki Laboration 1: Figurer i hierarki Bakgrund Två grundläggande tekniker i objektorienterad konstruktion är arv och komposition. Mål Laborationen har flera avsikter: 1. Ge kunskaper i hur program kan organiseras

Läs mer

Tommy Färnqvist, IDA, Linköpings universitet

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

Läs mer

Att hitta projekt. Björn Victor. måndag 19 mars 12

Att hitta projekt. Björn Victor. måndag 19 mars 12 Att hitta projekt Björn Victor Övning: projektbeskrivning Till måndag: skriv en (1) sida som beskriver projektet på Distribuerade system med projekt Övning: inte obligatorisk, men nyttig! 1. vad var planen/avsikten/syftet/målet

Läs mer

HKGBB0, Artificiell intelligens

HKGBB0, Artificiell intelligens HKGBB0, Artificiell intelligens Kortfattade lösningsförslag till tentan 3 november 2005 Arne Jönsson 1. Vad karaktäriserar dagens AI-forskning jämfört med den AI-forskning som bedrevs perioden 1960-1985.

Läs mer

Programmering = modellering

Programmering = 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

Parameteröverföring. Exempel. Exempel. Metodkropp

Parameterö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 mer

Förra gången: Primitiva data

Förra gången: Primitiva data Förra gången: Primitiva data > 30 30 > 45.56 45.56 Variabler: > (define telnr 6000) > telnr 6000 DA2001 (Föreläsning 3) Datalogi 1 Hösten 2013 1 / 24 Förra gången: Procedurapplikation: > (+ 7900000 telnr)

Läs mer

Graärgning och kromatiska formler

Graärgning och kromatiska formler Graärgning och kromatiska formler Henrik Bäärnhielm, d98-hba 2 mars 2000 Sammanfattning I denna uppsats beskrivs, för en ickematematiker, färgning av grafer samt kromatiska formler för grafer. Det hela

Läs mer

Matcha rätt hjärta till rätt patient med AI. Dennis Medved

Matcha rätt hjärta till rätt patient med AI. Dennis Medved Matcha rätt hjärta till rätt patient med AI Dennis Medved Översikt Introduktion IHTSA LuDeLTA Sammanfattning Framtida arbete Introduktion Hjärttransplantation Livräddande operation för patienter med hjärtsvikt

Läs mer

TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 27 augusti 2016, kl 8 12

TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 27 augusti 2016, kl 8 12 TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 27 augusti 2016, kl 8 12 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.

Läs mer

Symboler och abstrakta system

Symboler och abstrakta system Symboler och abstrakta system Warwick Tucker Matematiska institutionen Uppsala universitet warwick@math.uu.se Warwick Tucker, Matematiska institutionen, Uppsala universitet 1 Vad är ett komplext system?

Läs mer

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

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

Läs mer

Föreläsning 9 Innehåll

Föreläsning 9 Innehåll Föreläsning 9 Innehåll Träd, speciellt binära träd egenskaper användningsområden implementering Datavetenskap (LTH) Föreläsning 9 HT 2017 1 / 31 Inlämningsuppgiften De föreläsningar som inlämningsuppgiften

Läs mer

A B C D E F A B C D E F (3) Svar: Tabellen ger grafen:

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.

Läs mer

Handledare: Mikael Goldmann

Handledare: Mikael Goldmann 2012-02- 23 Jacob Rydh Robert Hedin Sudoku Solver Projektspecifikation Handledare: Mikael Goldmann Introduktion Vi ska studera och utforma olika algoritmer för att lösa Sudoku puzzel. Vi kommer testa olika

Läs mer

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Informationsinfrastruktur 7.5 hp Mattias Nordlindh Inledning Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Dokumentet består av

Läs mer

BARNS SPRÅKUTVECKLING

BARNS SPRÅKUTVECKLING BARNS SPRÅKUTVECKLING BARNS SPRÅKUTVECKLING Hur lär sig barn sitt språk? Vad skiljer barns språkutveckling från vuxnas språkinlärning? Hur kan vi forska om barns språkutveckling? Vad säger språkutvecklingen

Läs mer

Business research methods, Bryman & Bell 2007

Business research methods, Bryman & Bell 2007 Business research methods, Bryman & Bell 2007 Introduktion Kapitlet behandlar analys av kvalitativ data och analysen beskrivs som komplex då kvalitativ data ofta består av en stor mängd ostrukturerad data

Läs mer

Introduktion till arv

Introduktion till arv Introduktion till arv 6 INTRODUKTION TILL ARV Arv Generell-Speciell Arv för att utnyttja det vi redan gjort Återanvändning Basklass Härledd klass Varför arv? Inför en subklass för att uttrycka specialisering

Läs mer

Probabilistisk logik 2

Probabilistisk logik 2 729G43 Artificiell intelligens / 2016 Probabilistisk logik 2 Marco Kuhlmann Institutionen för datavetenskap Översikt Probabilistiska modeller Probabilistisk inferens 1: Betingad sannolikhet Probabilistisk

Läs mer

Forskning och utveckling inom språkteknologi Uppgift 3: Projektförslag Parallelliserad dependensparsning i CUDA

Forskning och utveckling inom språkteknologi Uppgift 3: Projektförslag Parallelliserad dependensparsning i CUDA Forskning och utveckling inom språkteknologi Uppgift 3: Projektförslag Parallelliserad dependensparsning i CUDA Evelina Andersson 18 maj 2011 1 Introduktion Att träna mycket för att bli duktig på ett språk

Läs mer

Kognitionsvetenskap C, HT-04 Mental Rotation

Kognitionsvetenskap C, HT-04 Mental Rotation Umeå Universitet 041025 Kognitionsvetenskap C, HT-04 Mental Rotation Grupp 3: Christina Grahn, dit01cgn@cs.umu.se Dan Kindeborg, di01dkg@cs.umu.se David Linder, c01dlr@cs.umu.se Frida Bergman, dit01fbn@cs.umu.se

Läs mer

TEORINS TILLÄMPNING I PRAKTISKT UTVÄRDERINGSARBETE, NÅGRA REFLEKTIONER

TEORINS TILLÄMPNING I PRAKTISKT UTVÄRDERINGSARBETE, NÅGRA REFLEKTIONER TEORINS TILLÄMPNING I PRAKTISKT UTVÄRDERINGSARBETE, NÅGRA REFLEKTIONER Göteborg i november 2009 Claes Rossby Kursen Lärande utvärdering och följeforskning, Högskolan i Halmstad, ht 2009 TEORI VS PRAKTIK.

Läs mer

Komponenter med COM (och COM+/VC++ 7.0)

Komponenter med COM (och COM+/VC++ 7.0) MÄLARDALENS HÖGSKOLA Komponenter med COM (och COM+/VC++ 7.0) Med Visual C++ 7.0 COM-komponent EI0230 Komponentbaserad applikationsutveckling oktober 2003 Om denna sammanfattning Denna sammanfattning innehåller

Läs mer

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 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 mer

Vad behövs för att skapa en tillståndsrymd?

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

Läs mer

Introduktion till programmering SMD180. Föreläsning 9: Tupler

Introduktion till programmering SMD180. Föreläsning 9: Tupler Introduktion till programmering Föreläsning 9: Tupler 1 1 Sammansatta datatyper Strängar Sekvenser av tecken Icke muterbara Syntax: "abcde" Listor Sekvenser av vad som helst Muterbara Syntax: [1, 2, 3]

Läs mer

Logisk semantik I. 1 Lite om satslogik. 1.1 Konjunktioner i grammatisk bemärkelse. 1.2 Sant och falskt. 1.3 Satssymboler. 1.

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

Läs mer

Tentamen i. TDDC67 Funktionell programmering och Lisp

Tentamen i. TDDC67 Funktionell programmering och Lisp 1 Linköpings tekniska högskola Institutionen för datavetenskap Anders Haraldsson Tentamen i TDDC67 Funktionell programmering och Lisp och äldre kurser TDDC57 Programmering, Lisp och funktionell programmering

Läs mer

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 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.

Läs mer

Case-based resoning. och dess användning inom sjukvården. Linköpings universitet Artificiell intelligens II 729G11 HT 2011

Case-based resoning. och dess användning inom sjukvården. Linköpings universitet Artificiell intelligens II 729G11 HT 2011 Linköpings universitet Artificiell intelligens II HT 2011 Case-based resoning och dess användning inom sjukvården Sammanfattning Det här arbetet handlar om vad case-based resoning är, hur den funkar, vilka

Läs mer

Logik: sanning, konsekvens, bevis

Logik: sanning, konsekvens, bevis Logik: sanning, konsekvens, bevis ft1100 samt lc1510 HT 2016 Giltiga argument (Premiss 1) (Premiss 2) (Slutsats) Professorn är på kontoret eller i lunchrummet Hon är inte på kontoret Professorn är i lunchrummet

Läs mer

Programmering II (ID1019)

Programmering II (ID1019) ID1019 Johan Montelius Instruktioner Betyg Programmering II (ID1019) 2019-03-08 Svaren skall lämnas på dessa sidor, använd det utrymme som nns under varje uppgift för att skriva ner ditt svar (inte på

Läs mer

PMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning

PMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning PMM (Process Maturity Metrics) PMM är en metod för att mäta processmognad i utvecklingsprojekt. I korthet går metoden ut på att man utvärderar sin utvecklingsprocess med avseende på ett antal framgångsfaktorer

Läs mer

Data på individ/hushålls/företags/organisationsnivå. Idag större datamänger än tidigare

Data på individ/hushålls/företags/organisationsnivå. Idag större datamänger än tidigare MIKROEKONOMETRI Data på individ/hushålls/företags/organisationsnivå Tvärsnittsdata och/eller longitudinella data o paneldata Idag större datamänger än tidigare Tekniska framsteg erbjuder möjligheter till

Läs mer

Hur K3 och K2 förhåller sig till varandra. En guide för studenter

Hur K3 och K2 förhåller sig till varandra. En guide för studenter Hur K3 och K2 förhåller sig till varandra En guide för studenter Hur K3 och K2 förhåller sig till varandra en guide för studenter 1 Många studenter väljer att skriva uppsatser om K3 och K2 vilket ibland

Läs mer

TDDD92 Artificiell intelligens -- projekt

TDDD92 Artificiell intelligens -- projekt jonas.kvarnstrom@liu.se 2018 TDDD92 Artificiell intelligens -- projekt Kursinformation Outline Om oss Om kursen i allmänhet Om den individuella uppgiften Om det gemensamma projektet Diskussion och frågor

Läs mer

Datastrukturer och algoritmer. Innehåll. Tabell. Tabell - exempel. Gränsyta till Tabell. Tabell. Modell. Hashtabell Relation, lexikon.

Datastrukturer och algoritmer. Innehåll. Tabell. Tabell - exempel. Gränsyta till Tabell. Tabell. Modell. Hashtabell Relation, lexikon. Datastrukturer och algoritmer Föreläsning 7 Tabell, hashtabell Relation & lexikon Innehåll Tabell Tabell Hashtabell Relation, lexikon Modell Uppslagsbok Organisation Ändlig avbildning av argument på värden

Läs mer

Tentamen, Algoritmer och datastrukturer

Tentamen, Algoritmer och datastrukturer UNDS TEKNISKA ÖGSKOA (6) Institutionen för datavetenskap Tentamen, Algoritmer och datastrukturer 23 8 29, 8. 3. Anvisningar: Denna tentamen består av fem uppgifter. Totalt är skrivningen på 36 poäng och

Läs mer

Trädstrukturer och grafer

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

Läs mer

Win95/98 Nätverks Kompendium. av DRIFTGRUPPEN

Win95/98 Nätverks Kompendium. av DRIFTGRUPPEN Win95/98 Nätverks Kompendium av DRIFTGRUPPEN Sammanfattning Vad håller jag i handen? Detta är en lättförståelig guide till hur man lägger in och ställer in nätverket i Windows 95 och 98 Efter 6 (sex) enkla

Läs mer

Programmering. hh.se/db2004. SuperKarel, Nedbrytning & Styrsatser. Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering

Programmering. hh.se/db2004. SuperKarel, Nedbrytning & Styrsatser. Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Programmering hh.se/db2004 Föreläsning 2: SuperKarel, Nedbrytning & Styrsatser Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Center for Research on Embedded Systems IDE-sektionen

Läs mer

Sjukvårdens processer och styrning

Sjukvårdens processer och styrning Sjukvårdens processer och styrning Staffan Lindblad Sjukvårdens utmaningar Allt större krav på hälsa Ökande efterfrågan / behov av vård Allt fler nya metoder bättre resultat Ständigt ökande sjukvårdskostnader

Läs mer

I dag: Blockstruktur, omgivningar, problemlösning

I dag: Blockstruktur, omgivningar, problemlösning Förra gången Förra gången: Rekursiva procedurer I dag I dag: Blockstruktur, omgivningar, problemlösning (define add-1 (define add-2 (lambda (a b) (lambda (a b) (if (= a 0) (if (= a 0) b b (+ 1 (add-1 (add-2

Läs mer

AM ett självlärande upptäckarprogram i matematik

AM ett självlärande upptäckarprogram i matematik AM ett självlärande upptäckarprogram i matematik 8810090616 Jonoh927@student.liu.se Abstract Denna uppsats handlar om Douglas Lenats program AM Automated Mathematician ett av de första lyckade upptäckarprogrammen

Läs mer

Laboration 2. returnerar true om det är omöjligt för roboten att göra move() utan att. exekveringsfel erhålls, annars returnera false.

Laboration 2. returnerar true om det är omöjligt för roboten att göra move() utan att. exekveringsfel erhålls, annars returnera false. Laboration 2. I denna laboration skall ni programmera en robot som modelleras av den givna klassen Robot. En robot vistas i en enkel värld, som modelleras av klassen RobotWorld. Världen består av ett rutmönster

Läs mer

Abstrakta datatyper. Primitiva vektorer. Deklarera en vektor

Abstrakta datatyper. Primitiva vektorer. Deklarera en vektor Abstrakta datatyper 1 Primitiva vektorer Vektorer kan skapas av primitiva datatyper, objektreferenser eller andra vektorer. Vektorer indexeras liksom i C från 0. För att referera en vektor används hakparenteser.

Läs mer

Neurala nätverk och språkigenkänning. Henrik Linnarsson. Linköping University

Neurala nätverk och språkigenkänning. Henrik Linnarsson. Linköping University Neurala nätverk och språk Henli807!1 Neurala nätverk och språkigenkänning Henrik Linnarsson Linköping University Neurala nätverk och språk Henli807!2 RNN, LSTM och språkigenkänning Inledning Idag är språkigenkänning

Läs mer

Second handbook of research on mathematics teaching and learning (NCTM)

Second handbook of research on mathematics teaching and learning (NCTM) Second handbook of research on mathematics teaching and learning (NCTM) The effects of classroom mathematics teaching on students learning. (Hiebert & Grouws, 2007) Inledande observationer Undervisningens

Läs mer

UML 1(5) Introduktion till Unified Modeling Language. 1 Bakgrund och historik

UML 1(5) Introduktion till Unified Modeling Language. 1 Bakgrund och historik UML 1(5) Introduktion till Unified Modeling Language 1 Bakgrund och historik UML är ett objektorienterat modellspråk för att specificera och visualisera system. Det är framtaget i första hand för IT-orienterade

Läs mer

Programmering II (ID1019) :00-12:00

Programmering II (ID1019) :00-12:00 ID1019 Johan Montelius Programmering II (ID1019) 2015-03-13 09:00-12:00 Instruktioner Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten. Svaren

Läs mer

Ett spel skapat av Albin Wahlstrand

Ett spel skapat av Albin Wahlstrand Viking vs. Demons Ett spel skapat av Albin Wahlstrand 2012-06-03 1 Abstrakt Denna rapport kommer att handla om mina positiva och negativa erfarenheter inom projektet jag jobbat på de senaste 10 veckorna.

Läs mer

Precis som var fallet med förra artikeln, Geogebra för de yngre i Nämnaren

Precis som var fallet med förra artikeln, Geogebra för de yngre i Nämnaren Publicerad med tillstånd av Nämnaren Thomas Lingefjärd Geogebra i gymnasieskolan En tilltalande egenskap med Geogebra är att programmet kan användas tvärs över stora delar av utbildningssystemets matematikkurser.

Läs mer

Introduktion till programmering

Introduktion till programmering Introduktion till programmering Vad är programmering? Vad gör en dator? Vad är ett datorprogram? 1 (9) Vad är programmering? För att bestämma en cirkels area måste du: 1. Dividera diametern 5 med 2. 2.

Läs mer

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

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

Läs mer

William Hernebrink

William Hernebrink Fuzzy Logic @student.liu.se 1 Sammanfattning Följande arbete är ett individuellt kursmoment som omfattar 3hp i kursen Artificiell Intelligens II (729G11) vid Linköpings universitet. I denna litteraturstudie

Läs mer