Linköpings universitet
|
|
- Ann-Marie Karlsson
- för 8 år sedan
- Visningar:
Transkript
1 Översikt Kognitionsvetenskaplig introduktionskurs Föreläsning lgoritmer, Turingmaskiner, Programmering, rtificiell Intelligens mm lgoritmer Beräkningsbarhet Turingmaskiner Komplexitet atorer och program Symbolmaskin nnika Silvervarg Beskriva och orsaka beteende CiltLab/HCS/I (Programmeringsspråk) rtificiell Intelligens Intelligenta agenter Sökning som problemlösning Shakey ett exempel på planering En algoritm Beskriver en process Löser ett (en typ av) problem Implementeras vanligtvis i datorprogram Fungerar för en begränsad typ av indata En algoritm - onald Knuth Ett algoritmiskt problem består av en beskrivning av alla möjliga indata och önskad utdata för dessa Kan ses som en funktion: lgoritm(indata) = utdata Flödesdiagram En ändlig uppsättning regler som bestämmer en följd av operationer som löser en specifik typ av uppgift Kännetecken: Ändlighet Bestämdhet Indata Utdata Effektivitet The Friendship lgorithm Start Instruktion loop Instruktion J Villkor NEJ Instruktion Stop 7 Linköpings universitet 1
2 The Friendship lgorithm Multiplikation som addition 0 * 3 = 0 1 * 3 = 3 2 * 3 = * 3 = * 3 = En (rekursiv) algortim för multiplikation En (rekursiv) funktion för multiplikation In: Två positiva tal, a och b Ut: Produkten av talen, c lgoritm: Om a = 0 så är c = 0 Om a = 1 så är c = b I annat fall är c = b + produkten av (a 1) och b I python def multiply(a, b): if (a == 1): return b elif (a == 0): return 0 else: return b + multiply(a - 1, b) Beräkningsbarhet Turingmaskin 1936 beskrev lan Turing en enkel abstrakt maskin som kan beräkna alla rekursuva funktioner 1936 visade lonso Church att allt som kan beräknas kan beräknas med rekursiva funktioner Church-Turings tes: llt som kan beräknas kan beräknas av en Turingmaskin Ett oändligt långt band med celler (fungerar som minne, indata och utdata) I varje cell en symbol En cell kan läsas En cell kan ändra innehåll Ett tillstånd Instruktioner/program <Tillstånd, In, NyttTillstånd, Ut, Förflyttning> <S1, ä, S2, ae, 1R> Linköpings universitet 2
3 Turingmaskin Turingmaskin instruktion 5 elements current state current symbol new symbol move new state move right 1 1 1R # # # # # # # Turingmaskin - additionsprogram current current new move state symbol symbol new state Universella Turingmaskiner = En dator Skip first number 1 1 1R En turingmaskin som har instruktionerna för en turingmaskin på ett eller samma band som används för indata/utdata Kräver ca 20 instruktioner Change middle + 1 1R Reached end # # 1L B elete last B 1 # halt B B B # # # # # # # # Beräkningsbarhet lgoritmer Komplexitet lla algortimer terminerar inte et finns ingen algortim för att avgöra om en algoritm terminerar eller ej (The halting problem) lla algoritmer kan inte beräknas med rimliga resurser Minnes- och tidsåtgång ntal variabler, storlek på och antal datastrukturer etc ntal ( enkla ) operationer Programmeringsspråkberoende Ordo-notation Ett problem flera algoritmer Vilken algoritm som väljs beror på resursförbrukning Tid Minne Snabba algoritmer kräver ofta mer minne och minnessnåla algoritmer tar ofta längre tid Linköpings universitet 3
4 Effektivitetsklasser O(logN) logaritmisk O(N) linjär O(N logn) O(n 2 ) polynomisk O(2 n ) exponentiell (kombinatorisk explosion) N O(log N) O(N) O(N log N) O(N²) O(2N) N O(log N) O(N) O(N log N) O(N²) O(2N) 24 Effektivitetsklasser Vad är program och programmering Indata = n O(log n) O(n) O(n 2 ) O(2 n ) Overflow atorn är en symbolmaskin, en processor av symbolisk information atorn har gränssnitt till omgivningen Symboliska (tangentbord och datorskärm), eller Fysiska (sensorer och motorer) Indata (tangentbord, mus, mikrofon, pekplatta, scanner ), och Utdata (dataskärm, högtalare, skrivare ) Vad är program och programmering Ett program efinierar och representerar ett avsett beteende Orsakar beteendet e händelser som leder från representationen till beteendet är instrumentella, de är ej bestämda av programmet ndra effekter som orsakas av programmet men varken är representerade eller instrumentella kallas sidoeffekter Vad är program och programmering Programmering är att Utforma ett beteende Representera beteendet i ett lämpligt programmeringsspråk etta ställer krav på: Fullständighet Exakthet dvs att program måste vara tydliga och precisa, utan utrymme för tolkning eller oklarheter Linköpings universitet 4
5 Naturliga kontra Formella språk Programmeringsspråk (nivåer) Naturliga språk Växt fram Oändliga Flertydiga, vaga Föränderliga Svåra att fomalisera Formella språk Konstruerade för visst syfte Relativt små Precisa, explicita, entydiga Oföränderliga Kontrollerbara (Formaliserbara) Programmeringsspråk (nivåer) Programmeringsspråk (paradigm) Maskinspråk atorns språk Binärkod med 1 och 0 ssemblerspråk Mnemoniskt maskinspråk t ex MOV.#0FFH Högnivåspråk Programmerarens språk Ett formellt språk besläktat med naturligt språk Manipulativa/imperativa Kronologiskt ordnade kommandon T ex Fortran (54), Cobol (59), Basic (64), Pascal (71), C (72) Funktionella och relationella Utgår ifrån matematiska funktioner och relationer t ex LISP (58), ML (72), Prolog (72) Objektorienterade Objekt med egenskaper och beteenden t ex Simula (67), Smalltalk (76), C++ (83), Java (95) Programmering i kognitionsvetenskap Vad är I? studiet av kognition hos naturliga och artificiella system verktyg för undersökning av modeller I Kognitiv modellering Språkteknologi Verktyg för protoyper och systemutveckling Interaktionsprogrammering Webbprogrammering och databaser Verktyg för analys och empiriska undersökning Kognitionspsykologiska laborationer Språkvetenskaplig databehandling Empiriska undersökningar enkäter, statistik etc rtificial Intelligence is the art of making computers work the way they do in the movies rtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better. (Elaine Rich) rtificial Intelligence is the study of mental faculties through the use of computational models. (Eugene Charniak & rew Mcermott) Understand and build intelligent entities (Russel & Norvig) 37 Linköpings universitet 5
6 Mål med I Stark vs Svag I System som kan: Tänka som en människa Tänka rationellt Stark I Maskiner kan tänka, dvs vara intelligenta Svag I Maskiner kan bete sig intelligent, dvs simulera intelligens Handla som en människa Handla rationellt Intelligenta agenter Intelligent agent Vad är en intelligent agent? ar för intelligenta agenter Typer av intelligenta agenter Enkel reflexstyrd Modellbaserad Målstyrd Nyttostyrd (Sjäv)lärande Rationell Handla så bra som möjligt Mäta agentens utförande Mappa från varseblivningssekvenser till handlingar Vad agenten vet om omgivningen Varseblivningshistoria Handlingar utonom gentens handlingar beror bara på agentens kunskap samt vad den varseblir Rationell agent Ex. ammsugaragent gent Percept genttyp Utförandemått Handlingar gentprogram ammsugaragent Städa rent och gå hem, effektivt Rum, damm, hinder Suga, framåt, vänster, höger, stäng av Väggsensor, dammsensor, hemmasensor Handlingar Linköpings universitet 6
7 ndra exempel på agenter genttyp Utförandemått Enkel reflexstyrd agent Medicinsk diagnos Frisk patient min. kostnad Satellit bildanalys Riktig kategorisering Plockrobot Interaktiv lärare ntal delar i rätt låda Maximal renhet, avkastning, säkerhet Maximera studentens poäng Patient, sjukhus, personal Bilder från satellit Rullband med delar, lådor Raffinaderi, operatörer Studenter Ställa frågor, Symptom, tester, diagnoser, patientsvar, behandlingar datainmatning Visa kategorisering Robotarm Ventiler, pumpar, displayer, värmare Visa övningar, föreslå, rätta Bildpunkter Kamera, robotsensorer Temperatur, tryck, kemiska sensorer Tangentbord Raffinaderikontroll Villkorshandlingsregler gent Hur världen ser ut nu Vad jag skall göra nu Enkel reflexstyrd agent Problem rules = { dirt : suck, bump : turn-left, } genten kan inte gå systematiskt Intelligent dammsugaragent Modellbaserad reflexstyrd agent Hur undviker vi att agenten blir stående i ett hörn eller vid ett hinder? Tillstånd För att kunna göra en sväng krävs en sekvens av handlingar därmed behövs ett minne (internt tillstånd) som beskriver vad agenten har gjort och eventuellt planerar att göra Hur världen utvecklas Vad mina handlingar medför Hur världen ser ut nu Villkors-handlingsregler Vad jag skall göra nu gent Linköpings universitet 7
8 Målstyrd dammsugaragent Målstyrd agent Målet är att suga upp all smuts och stänga av sig på hemmarutan Tillstånd Konsekvensen av hypotetiska handlingar (eller sekvenser) prövas Sökning och Planering Helt observerbar omgivning Hur världen utvecklas Vad mina handlingar medför Hur världen ser ut nu Hur den blir om jag gör Mål Vad jag skall göra nu gent Nyttobaserad agent Nyttobaserad agent Hur ska agenten välja om det finns flera handlingsekvenser som uppfyller målet? Utgå ifrån nyttan och värdera handlingsaleternativ nvändbart vid Målkonflikt, nyttofunktionen ger ett mått som bas för valet Osäkerhet av utfall, nyttofunktionen kan vägas mot sannolikheten för att målet nås Tillstånd Hur världen utvecklas Vad mina handlingar medför Nytta Hur världen ser ut nu Hur den blir om jag gör Hur glad jag blir i det tillståndet Vad jag skall göra nu gent Yttre standard Kritiserare Inlärningselement Återkoppling Utförandeelement Mål gent som lär sig Förändringar Kunskap Sökning som problemlösning Tillståndsrymd med: Initialtillstånd Operationer som beskriver effekten av en handling som en funktion av tillståndsförändringar Måltest Vägkostnad Sökstrategi som genererar en lösning på problemet Problemgenerator gent 62 Linköpings universitet 8
9 Exempel - Problemformulering Exempel Sökträd 3 missionärer och 3 kannibaler skall korsa en flod i en båt som rymmer 2 personer. et får aldrig finnas fler kannibaler än missionärer för då äter kannibalerna upp missionärerna Exempel på tillståndsformulering Starttillstånd (3, 3, 0, 0, 1) eller hellre (3, 3, 1) Måltillstånd (0, 0, 0) Vägkostnad = Sökstrategier Kunskapsrepresentation Blind sökning Utan kunskap om målet Heuristisk sökning Utnyttjar en gissning (heuristik) om hur långt från målet en nod är Sökning i spelförande program Minimax lfa-beta cutoff Mänsklig kunskap Representerad i en form som passar datorer Måste kunna representera Fakta Relationer mellan fakta Procedurell kunskap Satslogik Predikatlogik Enkel representation Varje symbol står för en sats som svarar mot ett tillstånd i världen Logiska konnektiv,, Inga variabler Exempel: Kogvetare är glada typer: KogvetareÄrGladaTyper et finns inte sura kogvetare: etfinnssurakogvetare Kraftfullare Beskriver objekt, egenskaper hos objekt samt relationer mellan objekt nvänder variabler Kvantifierare,, Ger mer kompakta representationer än satslogik Exempel Kogvetare är glada typer: x Kogvetare(x) Glad(x) Typ(x) et finns inte sura kogvetare: x (Kogvetare(x) Sur(x)) Linköpings universitet 9
10 Områden inom I Planering Shakey Sökning Planering Kunskapsrepresentation Maskininlärning Tillämpning: Språkteknologi Bildigenkänning Expersystem Spel atutvinning Linköpings universitet 10
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)
729G43 Artificiell intelligens. Introduktion. Introduktion. Kursöversikt. Kursens organisation. Arne Jönsson HCS/IDA
Introduktion 729G43 Artificiell intelligens Introduktion Kursöversikt Mål med AI Historia Intelligenta agenter Arne Jönsson HCS/IA Kursöversikt Intelligenta agenter 1 Fö, 2+3 Lab Problemlösning och sökning
729G43 Artificiell intelligens Introduktion. Arne Jönsson HCS/IDA
729G43 Artificiell intelligens Introduktion Arne Jönsson HCS/IDA Introduktion Kursöversikt Mål med AI Historia Intelligenta agenter Kursöversikt Intelligenta agenter 1 Fö, 4 Lab Problemlösning och sökning
Imperativ programmering
Imperativ programmering 1DL126 3p Imperativ programmering Jesper Wilhelmsson ICQ: 20328079 Yahoo: amigajoppe MSN / epost: jesperw@it.uu.se Rum: 1335 Tel: 471 1046 Imperativ programmering Vilka programmeringsspråk
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
Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.
Turingmaskiner och oavgörbarhet Turingmaskinen Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen. Data är ett oändligt långt band där nollor och ettor står skrivna: Oändligt
Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.
Föreläsning 9: Turingmaskiner och oavgörbarhet Turingmaskinen Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen. Data är ett oändligt långt band där nollor och ettor står
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
Program & programmering
Program & programmering Vad är program? Satser och instruktioner, toggla igenom exempel Program på olika nivåer, för olika maskiner, för olika saker Tolka program; kompilator, intepretator, binärbytekod,
TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 5 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 5 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Algoritmanalys Tidskomplexitet, Rumskomplexitet
Datastrukturer och algoritmer
Datastrukturer och algoritmer Föreläsning 5 Algoritmer & Analys av Algoritmer Algoritmer Vad är det? Innehåll Mer formellt om algoritmer beräkningsbarhet Att beskriva algoritmer Analysera algoritmer Exekveringstid,
Linköpings universitet
2016-08-24 Vad är kognition? tt ta in, lagra och bearbeta information: Kognitionsvetenskaplig introduktionskurs Perception Information tas in och flödar genom begränsade informationskanaler Föreläsning
Ö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
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
IT OCH PROGRAMMERING I SKOLAN. Jan Erik Moström Peter Vinnervik
IT OCH PROGRAMMERING I SKOLAN Jan Erik Moström Peter Vinnervik VILKA ÄR VI OCH VAD KOMMER VI ATT PRATA OM? Jan Erik Moström - undervisar på institutionen för datavetenskap Peter Vinnervik - doktorand vid
Introduktion till programmering D0009E. Föreläsning 1: Programmets väg
Introduktion till programmering D0009E Föreläsning 1: Programmets väg 1 Vad är en dator? En maskin vars beteende styrs av de innehållet (bitmönster) som finns lagrade i datorns minne (inte helt olikt förra
Kognitionsvetenskap Kandidatprogrammet
Kognitionsvetenskap Kandidatprogrammet Mattias Arvola Programansvarig 1 2 3 4 5 6 HUR TÄNKER FOLK EGENTLIGEN? 7 HUR TÄNKER FOLK EGENTLIGEN? VAD ÄR EN TANKE? HUR ÄR SPRÅK UPPBYGGT? VAD BETYDER BILDER? VAD
Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator
Viktiga begrepp Den här ordlistan är till för dig som går kursen Om Programmering. Eftersom detta är en grundläggande kurs har vi i vissa fall gjort en del förenklingar. En del begrepp är svåra att förenkla,
Introduktion till Datalogi DD1339. Föreläsning 1 8 sept 2014
Introduktion till Datalogi DD1339 Föreläsning 1 8 sept 2014 Kontaktuppgifter & Info: Kurskod: DD1339, 19hp Kursomgång: inda14 Kursansvarig: Christian Smith, ccs@kth.se Michael Minock, minock@kth.se Dilian
Datastrukturer och algoritmer
Innehåll Föreläsning 5 Algoritmer Experimentell komplexitetsanalys Kapitel 2.1-2.2, Kapitel 12.1-12.4 Algoritmer Algoritm Definition: Algoritm är en noggrann plan, en metod för att stegvis utföra något
Asymptotisk komplexitetsanalys
1 Asymptotisk komplexitetsanalys 2 Lars Larsson 3 4 VT 2007 5 Lars Larsson Asymptotisk komplexitetsanalys 1 Lars Larsson Asymptotisk komplexitetsanalys 2 et med denna föreläsning är att studenterna skall:
729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo
729G75: Programmering och algoritmiskt tänkande Tema 1, föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt
Genicore AB. Modellbaserad ansats. En liten firma i Göteborg som gör stora datasystem. Systemspråk - När modellen är systemet. torsdag 10 maj 2012
Genicore AB En liten firma i Göteborg som gör stora datasystem Modellbaserad ansats Systemspråk - När modellen är systemet 1 Core Modellbaserad ansats i 3 delar Metodik Språk System Datateknik 3:e generationen
Datastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6
Datastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6? DAGENS AGENDA Komplexitet Ordobegreppet Komplexitetsklasser Loopar Datastrukturer Några nyttiga regler OBS! Idag jobbar
Imperativ 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.
Objektorienterad modellering och diskreta strukturer. 13. Problem. Sven Gestegård Robertz. Datavetenskap, LTH
Objektorienterad modellering och diskreta strukturer 13. Problem Sven Gestegård Robertz Datavetenskap, LTH 2014 Rekaputilation Vi har talat om satslogik och härledning predikatlogik och substitution mängder
729G74 IT och programmering, grundkurs. Tema 1, Föreläsning 2 Jody Foo,
729G74 IT och programmering, grundkurs Tema 1, Föreläsning 2 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Kommande moment Vad är ett program? Vad händer när man kör ett program? Programmeringsspråk Python
Föreläsning 1. Introduktion. Vad är en algoritm?
Några exempel på algoritmer. Föreläsning 1. Introduktion Vad är en algoritm? 1. Häll 1 dl havregryn och ett kryddmått salt i 2 1 2 dl kallt vatten. Koka upp och kocka gröten ca 3minuter. Rör om då och
TENTAMEN: Algoritmer och datastrukturer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.
1 (8) TENTMEN: lgoritmer och datastrukturer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. örja varje uppgift på ett nytt blad. Skriv inga lösningar i tesen. Skriv ditt idnummer
Kunskapsrepresentation
Kunskapsrepresentation Hur representeras information? Representationer som bevarar strukturen perceptionsbaserad kunskapsrepresentation Representationer som bevarar innebörden meningsbaserad kunskapsrepresentation
Algoritmanalys. Inledning. Informationsteknologi Malin Källén, Tom Smedsaas 1 september 2016
Informationsteknologi Malin Källén, Tom Smedsaas 1 september 2016 Algoritmanalys Inledning Exempel 1: x n När vi talade om rekursion presenterade vi två olika sätt att beräkna x n, ett iterativt: x n =
Algoritmer, datastrukturer och komplexitet
Algoritmer, datastrukturer och komplexitet Övning 10 Anton Grensjö grensjo@csc.kth.se 9 november 2017 1 Idag En konstruktionsreduktion Fler bevis av NP-fullständighet 2 Teori Repetition Ett problem tillhör
Kognitionsvetenskapligt kandidatprogram
Utbildningsplan för Kognitionsvetenskapligt kandidatprogram Bachelor Programme in Cognitive Science 180 Högskolepoäng Kognitionsvetenskap är ett tvärvetenskapligt kunskaps- och forskningsområde som studerar
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
729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo
729G75: Programmering och algoritmiskt tänkande Tema 1. Föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt
CS - 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
Kognitionsvetenskapligt kandidatprogram Bachelor Programme in Cognitive Science 180 Högskolepoäng
Utbildningsplan för Kognitionsvetenskapligt kandidatprogram Bachelor Programme in Cognitive Science 180 Högskolepoäng Kognitionsvetenskap är ett tvärvetenskapligt kunskaps- och forskningsområde som studerar
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
729G74 IT och programmering, grundkurs. Tema 1, Föreläsning 2 Jody Foo,
729G74 IT och programmering, grundkurs Tema 1, Föreläsning 2 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Kurslogistik Begreppspresentationer Uppgifter i diskret matematik Uppgifter i Python Tema 1:
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
729G74 IT och programmering, grundkurs. Tema 1, Föreläsning 3 Jody Foo,
729G74 IT och programmering, grundkurs Tema 1, Föreläsning 3 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Kurslogistik Diskret matematik & Uppgifter i Python Kompletteringar Tema 1: Olika perspektiv
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
PROGRAMMERINGSMETODIK
PROGRAMMERINGSMETODIK 1 Metaforer för programmering Hierarki, modularitet, överblick Programbyggnadskunskap Utvecklingsprocessen Kategorier av programspråk Programmering som allmän konst Metaforer för
Sökning och sortering
Sökning och sortering Programmering för språkteknologer 2 Sara Stymne 2013-09-16 Idag Sökning Analys av algoritmer komplexitet Sortering Vad är sökning? Sökning innebär att hitta ett värde i en samling
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
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
el o;; Utbildningsplan för Kognitionsvetenskapligt kandidatprogram Bachefor Programmein Cognitive Science 180 Högskolepoäng
el o;; Utbildningsplan för Kognitionsvetenskapligt kandidatprogram Bachefor Programmein Cognitive Science 180 Högskolepoäng Kognitionsvetenskap är ett tvärvetenskapligt kunskaps- och forskningsområde som
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?
TDDI16 Datastrukturer och algoritmer. Algoritmanalys
TDDI16 Datastrukturer och algoritmer Algoritmanalys 2017-08-28 2 Översikt Skäl för att analysera algoritmer Olika fall att tänka på Medelfall Bästa Värsta Metoder för analys 2017-08-28 3 Skäl till att
Grundkurs i programmering - intro
Grundkurs i programmering - intro Linda Mannila 4.9.2007 Dagens föreläsning Allmän kursinformation: mål, syfte, upplägg, examination, litteratur, etc. Hur arbetar en dator? Hur vi får datorn att förstå
DATORER OCH PROGRAM. Datorn är en symbolmaskin
DATORER OCH PROGRAM Datorn är en symbolmaskin men kan ha såväl symboliska som fysiska gränssnitt till omvärlden Program beteendeplan och beteendegenerator Programmerade maskiner Generalitet och portabilitet
Linköpings universitet
2014-09-08 Översikt Kognitionsvetenskaplig introduktionskurs Föreläsning 5 Integrationsutmaningen Vad är kognitionsvetenskap? Kort bakgrund/historik Representation och bearbetning av information Vetenskapliga
DATORER OCH PROGRAM. Programmerade maskiner Program beteendeplan och beteendegenerator Generalitet och portabilitet Datorn är en symbolmaskin
DATORER OCH PROGRAM Programmerade maskiner Program beteendeplan och beteendegenerator Generalitet och portabilitet Datorn är en symbolmaskin men kan ha såväl symboliska som fysiska gränssnitt till omvärlden
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.
Funktionell programmering
Funktionell programmering TDDD73 Funktionell och imperativ programmering i Python Föreläsning 8 Peter Dalenius Institutionen för datavetenskap 2013-10-09 Översikt Vad är ett programmeringsparadigm? Vad
Föreläsning 5 Innehåll
Föreläsning 5 Innehåll Algoritmer och effektivitet Att bedöma och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Datavetenskap (LTH) Föreläsning 5 VT 2019 1 / 39 Val av algoritm och datastruktur
Problemlösning. Planering av program. Konstruktion. Programmeringsmetaforer. Problemlösning. Programmering = Problemlösning
Problemlösning Problemlösning Vad är problemlösning Hur ser ett problem ut? Programmering = Problemlösning Omformulering av ett problem kan i slutändan omsättas i ett program. Ett program består av en,
Algoritmer, datastrukturer och komplexitet
Algoritmer, datastrukturer och komplexitet Övning 12 Anton Grensjö grensjo@csc.kth.se 10 december 2015 Anton Grensjö ADK Övning 12 10 december 2015 1 / 19 Idag Idag Komplexitetsklasser Blandade uppgifter
TDP002 Imperativ programmering
TDP002 Imperativ programmering Introduktion till kursen och python Eric Elfving Institutionen för datavetenskap (IDA) Översikt Programmering En introduktion Python Köra och skriva program Python grunderna
TDP002 - Imperativ programmering
TDP002 - Imperativ programmering Introduktion till kursen och Python Eric Elfving Institutionen för datavetenskap 1 Programmering - en översikt 2 Python Inbyggda typer Satser och uttryck 1 Programmering
Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige
Är varje påstående som kan formuleras matematiskt*) alltid antingen sant eller falskt? *) Inom Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige Exempel: 12 = 13 nej, falskt n! >
Språkteknologi (SV2122) Föreläsning 3: Programmering i Python
Språkteknologi (SV2122) Föreläsning 3: Programmering i Python Richard Johansson richard.johansson@svenska.gu.se 29 januari 2014 översikt inledning första stegen grundläggande begrepp större byggstenar
Föreläsning 13. Träd
Föreläsning 13 Träd Träd Ett träd är en datastruktur som tillåter oss att modellera sådant som vi inte kan modellera med linjära datastrukturer. Ett datavetenskapligt träd består av noder med pilar emellan.
Imperativ programmering. Föreläsning 4
Imperativ programmering 1DL126 3p Föreläsning 4 Imperativa paradigmer Ostrukturerad programmering Strukturerad programmering Procedurell programmering Objektorienterad programmering Klassbaserad programmering
Turingmaskinen - en abstrakt datormodell
Turingmaskinen - en abstrakt datormodell Modeller är viktiga hjälpmedel vid studiet av många fenomen. En bra modell fyller oftast följande krav: Den fångar upp det centrala i sin fysiska motsvarighet Den
PROGRAMMERINGSMETODIK
PROGRAMMERINGSMETODIK 1 Metaforer för programmering Hierarki, modularitet, överblick Programbyggnadskunskap Utvecklingsprocessen Kategorier av programspråk Programmering som allmän konst Metaforer för
TDP002 - Imperativ programmering
. TDP002 - Imperativ programmering Introduktion till kursen och Python Eric Elfving Institutionen för datavetenskap 14 augusti 2015 Översikt 2/29 Programmering - en översikt Python - Köra och skriva program
COMPUTABILITY BERÄKNINGSBARHET. Källa: Goldschlager, Lister: Computer Science A Modern Introduction 2. upplaga 1988, Prentice Hall
COMPUTABILITY BERÄKNINGSBARHET Källa: Goldschlager, Lister: Computer Science A Modern Introduction 2. upplaga 1988, Prentice Hall Den centrala frågan: givet ett problem, kan det ha en algoritmisk lösning?
729G06 Föreläsning 1 Objektorienterad programmering
Översikt Formalia Vad är objektorienterad programmering 729G06 Föreläsning 1 Objektorienterad programmering Definieria klasser Skapa och använda objekt Annika Silvervarg Ciltab, IDA, Linköpings universitet
Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock
Inledning Vad är ett datorprogram, egentligen? Olika språk Problemlösning och algoritmer 1 (14) Varför använda en dator? Genom att variera de program som styr datorn kan den användas för olika uppgifter.
Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp
Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp Dag Wedelin, bitr professor, och K V S Prasad, docent Institutionen för data- och
Föreläsning 8: Aritmetik och stora heltal
2D1458, Problemlösning och programmering under press Föreläsning 8: Aritmetik och stora heltal Datum: 2006-11-06 Skribent(er): Elias Freider och Ulf Lundström Föreläsare: Per Austrin Den här föreläsningen
Introduktion till formella metoder Programmeringsmetodik 1. Inledning
Introduktion till formella metoder Programmeringsmetodik 1. Inledning Fokus på imperativa program (ex. C, Java) program betyder härefter ett imperativt program Program bestäms i en abstrakt mening av hur
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
TDIU01 (725G67) - Programmering i C++, grundkurs
TDIU01 (725G67) - Programmering i C++, grundkurs Introduktion till kursen och programmering Eric Elfving Institutionen för datavetenskap 2 september 2014 Översikt Kursinformation Personal Kursmål Upplägg
Algoritmer, datastrukturer och komplexitet
Algoritmer, datastrukturer och komplexitet Övning 6 Anton Grensjö grensjo@csc.kth.se 4 oktober 2017 1 Idag Algoritmkonstruktion (lite blandat) Redovisning och inlämning av labbteori 3 2 Uppgifter Uppgift
Algoritmer, datastrukturer och komplexitet
Algoritmer, datastrukturer och komplexitet Övning 6 Anton Grensjö grensjo@csc.kth.se 9 oktober 2015 Anton Grensjö ADK Övning 6 9 oktober 2015 1 / 23 Översikt Kursplanering Ö5: Grafalgoritmer och undre
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
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:
PROGRAMMERING ÅK 9 INTRODUKTION
PROGRAMMERING ÅK 9 INTRODUKTION VARFÖR PROGRAMMERING? Med programmering kan man: Skapa nästan vad som helst som är digitalt. Allt som är digitalt är uppbyggt av kod som människor har skrivit, finns i både
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!
Objektorienterad programmering
Objektorienterad programmering Aletta Nylén http://user.it.uu.se/~aletta Epost: aletta.nylen@it.uu.se Rum: 1216 Kursinfo Lärare: Aletta Nylén Jesper Wilhelmsson Litteratur: Object-Oriented Software Development
Föreläsning 2 Datastrukturer (DAT037)
Föreläsning 2 Datastrukturer (DAT037) Fredrik Lindblad 1 2016-11-02 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt. Se http://www.cse.chalmers.se/edu/year/2015/course/dat037 Tidskomplexitet
Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design
RE SD PD I UT IT ST AT Mjukvarudesign System Requirement Specification Inkrementell och iterativ! Konceptuell design (VAD) Systemdesign (OOA) Arkitekturell (grovkornig, UML) Teknisk design (HUR) Programdesign
PROBLEMLÖSNING. ! GPS! Mål medel analys! Problemlösning i programmering. Lars-Erik Janlert 2007
PROBLEMLÖSNING! Problem & lösning! Sökträd, sökgraf! Automatisk problemlösning! Heuristik! Heuristisk sökning! GPS! Mål medel analys! Problemlösning i programmering 1 Problem (snäv mening)! Ett problem
Föreläsning 9 Datastrukturer (DAT037)
Föreläsning Datastrukturer (DAT07) Fredrik Lindblad 27 november 207 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt Se http://wwwcsechalmersse/edu/year/20/course/dat07 Innehåll 2
TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 9 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 9 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Prioritetskö Heap Representation som
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
PROGRAMMERING. Ämnets syfte. Kurser i ämnet
PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration
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?
Algoritmer och effektivitet. Föreläsning 5 Innehåll. Analys av algoritmer. Analys av algoritmer Tidskomplexitet. Algoritmer och effektivitet
Föreläsning 5 Innehåll Algoritmer och effektivitet Algoritmer och effektivitet Att bedöma, mäta och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Undervisningsmoment: föreläsning 5, övningsuppgifter
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
Problemlösning och algoritmer
Problemlösning och algoritmer Human Centered Systems Inst. för datavetenskap Linköpings universitet Översikt Stegvis förfining Pseudokod Flödesdiagram Dekomposition KISS regeln Procedurell dekomposition
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
Programmering för språkteknologer II, HT2014. Rum
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 - Sökalgoritmer
Kandidatprogrammet i kognitionsvetenskap
DNR LIU-2013-00294 1(9) Kandidatprogrammet i kognitionsvetenskap 180 hp Bachelor s Programme in Cognitive Science F7KK Gäller från: 2016 HT Fastställd av Fakultetsstyrelsen för filosofiska fakulteten Fastställandedatum
TDDC74 Programmering, abstraktion och modellering. Tentamen
AID-nummer: Datum: 2011-06-10 1 Tekniska högskolan vid Linköpings universitet Institutionen för datavetenskap Anders Haraldsson TDDC74 Programmering, abstraktion och modellering Tentamen Fredag 10 juni
Probabilistisk logik 1
729G43 Artificiell intelligens / 2016 Probabilistisk logik 1 Marco Kuhlmann Institutionen för datavetenskap Osäkerhet 1.01 Osäkerhet Agenter måste kunna hantera osäkerhet. Agentens miljö är ofta endast
6. Ge korta beskrivningar av följande begrepp a) texteditor b) kompilator c) länkare d) interpretator e) korskompilator f) formatterare ( pretty-print
Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Exempel på tentafrågor på boken Lunell: Datalogi-begreppen och tekniken Obs! Andra frågor än dessa kan komma på tentan! 1. Konvertera talet 186 till