Trolleri med villkorsprogrammering. Mats Carlsson
|
|
- Lisa Pettersson
- för 8 år sedan
- Visningar:
Transkript
1 Trolleri med villkorsprogrammering Mats Carlsson
2 I ett nötskal Programmera vad, inte hur Effektiva algoritmer paketerade som återanvändbara mjukvarukomponenter Komponenterna kommunicerar via delade variabler - propagering Variablerna tar diskreta värden
3 Problemklasser Hårdvarudesign Kompilering Layout och placering Tillklippning Platsallokering Frekvensplanering Konfigurering Schemaläggning: Industriella processer Underhåll I skolan Sportturneringar Skift och personal Dyr utrustning (teleskop, satelliter, )
4 Villkorsteknik Villkor Ett logiskt samband mellan obekanta (variabler) Villkorsprogramming (CP) Beräkningssystem som baseras på villkor CP över ändliga domäner (CP(FD)) Varje obekant har en ändlig, diskret domän
5 Vad är ett villkor? Några exempel. Kodningen börjar när specifikationen är klar Möten får inte överlappa i tiden Efter två nattskift krävs ett dygns vila
6 Exempel på villkorsprogram top :- [X1,X2,X3] in 1..4, X1+X2 #< X3, labeling([x1,x2,x3]).
7 Exempel på villkorsprogram top :- [X1,X2,X3] in 1..4, domändeklaration X1+X2 #< X3, labeling([x1,x2,x3]).
8 Exempel på villkorsprogram top :- [X1,X2,X3] in 1..4, domändeklaration X1+X2 #< X3, labeling([x1,x2,x3]). X1:1..4 X2:1..4 X3:1..4
9 Exempel på villkorsprogram top :- [X1,X2,X3] in 1..4, X1+X2 #< X3, ställa ett villkor labeling([x1,x2,x3]).
10 Exempel på villkorsprogram top :- [X1,X2,X3] in 1..4, X1+X2 #< X3, labeling([x1,x2,x3]). ställa ett villkor X1:1..2 X2:1..2 X3:3..4
11 Exempel på villkorsprogram top :- [X1,X2,X3] in 1..4, X1+X2 #< X3, labeling([x1,x2,x3]). sökning
12 Exempel på villkorsprogram top :- [X1,X2,X3] in 1..4, X1+X2 #< X3, labeling([x1,x2,x3]). sökning [1,1,3] [1,1,4] [1,2,4] [2,1,4]
13 Domändeklaration [X1,X2,X3] in 1..4 X1 in 1..4 Normalt innan några villkor ställs på X1, X2, X3 Designbeslut: Vilka är variablerna i mitt problem? Vilka är värdena i mitt problem?
14 Att ställa ett villkor X1+X2 #< X3 Som ett proceduranrop Designbeslut: Hur ska villkoret bäst uttryckas? Logiskt ekvivalenta varianter kan bete sig operationellt olika.
15 Exempel på propagering mellan villkor
16 Exempel på propagering mellan villkor
17 Exempel på propagering mellan villkor
18 Exempel på propagering mellan villkor
19 Exempel på propagering mellan villkor
20 Exempel på propagering mellan villkor
21 Exempel på propagering mellan villkor
22 Villkor från operationellt perspektiv Programkod använd som korutin for att: (1) Testa om villkoret är definitivt falskt backtracking (2) Testa om villkoret är definitivt sant deaktivering (3) Ta bort variablers värden som skulle göra villkoret definitivt falskt suspendering man måste söka Vanligen polynomiella men inkompletta algoritmer
23 Testa om villkoret är definitivt falskt [X1,X2,X3] in 1..4, X1+X2 #< X3 (1) Beräkna minimum av X1+X2 min(x1+x2)=min(x1)+min(x2)=1+1=2 (2) Beräkna maximum av X3 max(x3)=4 (3) Jämför: eftersom minimum av X1+X2 inte är större än maximum av X3 så är X1+X2 #< X3 inte definitivt falskt
24 Testa om villkoret är definitivt sant [X1,X2,X3] in 1..4, X1+X2 #< X3 (1) Beräkna maximum av X1+X2 max(x1+x2)=max(x1)+max(x2)=4+4=8 (2) Beräkna minimum av X3 min(x3)=1 (3) Jämför: eftersom maximum av X1+X2 inte är mindre än minimum av X3 så är X1+X2 #< X3 inte definitivt sant
25 Ta bort värden [X1,X2,X3] in 1..4, X1+X2 #< X3 (1) Beräkna nytt maximum av X1,X2 max(x1) max(x3)-min(x2)=4-1-1=2 max(x2) max(x3)-min(x1)=4-1-1=2 (2) Beräkna nytt minimum av X3 min(x3) min(x1)+min(x2)=1+1+1=3 X1:1..2 X2:1..2 X3:3..4
26 Sökning Så länge inte alla villkor är deaktiverade kan man inte veta säkert om det finns någon lösning alltså Man måste söka värden för alla variabler
27 Optimering En sökning som fixerar alla variabler (också CostVar) minimize(goal, CostVar) Börja om varje gång en bättre lösning hittas
28 Globala villkor Verkar på en variabel-mängd i motsats till villkor mellan några få variabler Starka nödvändiga villkor OR, geometri, grafteori, flödesteori Komponenter generiska, multiple purpose, stark propagering
29 Villkoret alldifferent all_different(vars) List of dvar Alla Vars har olika värden. V1 in 1..3, V2 in 2..4, V3 in 1..2, all_different([v1,v2,v3]), labeling([v1,v2,v3]) [1,3,2] [1,4,2] [2,3,1] [2,4,1] [3,2,1] [3,4,1] [3,4,2]
30 Villkoret element element(index, Table, Value) dvar List of dvar dvar Table[Index] = Value. X in 1..5, Y in 1..6, element(x,[4,8,1,4,2,0],y), labeling([x,y]) [1,4] [3,1] [4,4] [5,2]
31 Villkoret cumulative cumulative(origins,durations,heights,limit) ListDvars ListDvars ListDvars Int quantity of resource duration Limit height task origin time
32 Exempel: cumulative O1 in 1..2, O2 in 3..3, D1 in 2..3, D2 in 2..2, H1 in 1..4, H2 in 2..3 cumulative([o1,o2],[d1,d2],[h1,h2],4), labeling([o1,d1,h1,o2,d2,h2]). [1,2,1,3,2,2] [1,3,1,3,2,3] [1,2,1,3,2,3] [1,3,2,3,2,2] [1,2,2,3,2,2] [2,2,1,3,2,2] [1,2,2,3,2,3] [2,2,1,3,2,3] [1,2,3,3,2,2] [2,2,2,3,2,2] [1,2,3,3,2,3] [2,3,1,3,2,2] [1,2,4,3,2,2] [2,3,1,3,2,3] [1,2,4,3,2,3] [2,3,2,3,2,2] [1,3,1,3,2,2]
33 Tillämpningar av cumulative Förnybar resurs disjunktiv schemaläggning 1 kumulativ schemaläggning Ej förnybar resurs producent-konsument Bin-packing Placering
34 Producent-Konsument Produced Quantity P Producer task Stock Consumer task Final Stock Consumed Quantity C Initial Stock
35 Områden som bidragit Artificiell Intelligens villkorsnät, datadriven beräkning Logikprogrammering Prolog, icke-determinism Diskret Matematik grafteori, kombinatorik, gruppteori Optimeringslära flödesanalys, modelleringsspråk Algoritmer och datastrukturer datastrukturer, inkrementalitet
36 Historia ALICE (J.L.Laurière) 1976 CHIP (ECRC) Industri (Bull, Cosytec, Ilog) Bibliotek Inbäddat i C++ Ilog, CHIP, Figaro Inbäddat i Java Koalog, JCL, MINERVA Inbäddat i Prolog SICStus, ECLiPSe, GNU, IF Inbäddat i CLAIRE ÉCLAIR, CHOCO Inbäddat i Oz Mozart Inbäddat i OCaml FaCiLe Inbäddat i Mercury HAL Inbäddat i Lisp, Python,
37 Villkorsteknik på SICS - tillämpningar Schemaläggning och resursallokering för järnvägar (SJ, Green Cargo) Optimering av IP-trafik (Telia) Automatisk handel (Trading Agents) DNA-sekvensanalys (Pyrosequencing) Analys av globalt genuttryck (Global Genomics) Styrprogram för bläckstråleskrivare (HP) Schemaläggning av valsverk (Ovako Steel) Frekvensplanering for basstationer (Ericsson)
38 Villkorsteknik på SICS - forskning Globala villkor Bra abstraktioner/komponenter Klassificering Fundamentala principer Algoritmer Debugging Modellering och metoder Beslutstödsystem för schemaläggning och planering Plattform:
Föreläsning 1 & 2 INTRODUKTION
Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga
Läs merGrundlä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
Läs merKandidatprogram, informations- och kommunikationsteknik Bachelor's Programme in Information and Communication Technology 180,0 högskolepoäng
Utbildningsplan Kandidatprogram, informations- och kommunikationsteknik Bachelor's Programme in Information and Communication Technology 180,0 högskolepoäng Gäller för antagna till utbildningen fr o m
Läs mer13 1MA302 Automatateori DV1 4 A D, M 1TD442 Algoritmer och datastrukturer DV1 6 A D
4.2 Årskurs 1 Studierna inleds med en frivillig introduktion till utbildningen omfattande två veckor. Därefter enligt nedanstående lista. Period Kurskod Kursnamn Poäng Nivå Ämne 11 1MA316 Introduktionskurs
Läs merBig Data för Fordon och Transport! Vår Digitala Framtid, Trafikverket!! Björn Bjurling, SICS Swedish ICT, 20150421!
Big Data för Fordon och Transport! Vår Digitala Framtid, Trafikverket!! Björn Bjurling, SICS Swedish ICT, 20150421! Sammanfattning! Big Data är överallt! Big Data Analytics används för att utvinna information
Läs merKandidatprogrammet i matematik
Kandidatprogrammet i matematik Pågående utvecklingsarbete EF-nämndens möte 2011-09-09 Innehåll 1. Förstahandssökande till kandidatprogram i matematik a) Ansökningstal b) Orsaker till minskning vid LiU
Läs merFöreläsning 1 & 2 INTRODUKTION
Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga
Läs merIT 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
Läs merCombinare necesse est
Combinare necesse est Tomas Nilson Dubbelkvarten 4 nov. 2010 Institutionen för naturvetenskap, teknik och 2010-11-04 Möjligheternas När amerikanen Vernon Smith tar emot Nobelpriset i ekonomi på tisdag
Läs merProgrammering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
Läs merJavaScript del 3 If, Operatorer och Confirm
JavaScript del 3 If, Operatorer och Confirm Under förra uppgiften så kollade vi på hur användaren kan ge oss information via promt(), vi använde den informationen både för att skriva ut den och för att
Läs merImperativ 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
Läs merTentamen 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 merProgram & 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,
Läs merDatastrukturer och algoritmer. Föreläsning 4 Test, Stack och Kö
Datastrukturer och algoritmer Föreläsning 4 Test, Stack och Kö 1 Innehåll Test Datatyperna Stack och kö Specifikation och Gränssnitt Konstruktion Tillämpning 2 Testa VIKTIGT! Test går att göra under många
Läs merOperativsystem ID2200 Tentamen TEN1 3.8 hp :00-18:00
Operativsystem ID2200 Tentamen TEN1 3.8 hp 2018-04-03 14:00-18:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Svaren skall lämnas på dessa
Läs merPROGRAMMERING. Ä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
Läs merOperativsystem ID2206 Tentamen TEN1 4.5 hp :00-18:00
Operativsystem ID2206 Tentamen TEN1 4.5 hp 2018-04-03 14:00-18:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Svaren skall lämnas på dessa
Läs merViktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha?
Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 mars 2005 1. Korrekthet 2. Robusthet 3. Utökbarhet 4. Återanvändbarhet 5. Kompatibilitet
Läs merObjektorienterad programmering, allmänt
Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 juni 2005 1 Vilka egenskaper vill vi att program ska ha? Förslag (en partiell lista): De ska... gå snabbt att skriva vara
Läs merTDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017
FÖRELÄSNING 1 TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017 Introduktion till kursen Schemespråkets grunder Enkla exempel Jalal Maleki Institutionen för datavetenskap Linköpings universitet
Läs merIT för personligt arbete F6
IT för personligt arbete F6 Datalogi del 2 DSV Peter Mozelius Datarepresentation Det som lagras i en dator representeras i grunden som 1:or och 0:or Dessa binära värden kan sedan tolkas på olika sätt i
Läs mer7, Diskreta strukturer
Objektorienterad modellering och diskreta strukturer 7, Diskreta strukturer Sven Gestegård Robertz Datavetenskap, LTH 2015 Modeller Matematiska modeller Kontinuerliga modeller Kontinuerliga funktioner
Läs merITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet
ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,
Läs merDD1361 Programmeringsparadigm HT15
DD1361 Programmeringsparadigm HT15 Logikprogrammering 3 Dilian Gurov, TCS Idag Induktiva datatyper: Träd (inte inbyggd) Binära träd utan data Binära träd med data Prolog-specifika konstruktioner Negation,
Läs merFuzzy 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 merFörutom högskoleförordningens krav på kandidatexamen gäller följande: För kandidatexamen i informations- och kommunikationsteknik skall studenten:
Utbildningsplan Kandidatprogram, informations- och kommunikationsteknik Bachelor's Programme in Information and Communication Technology 180,0 högskolepoäng Gäller för antagna till utbildningen fr o m
Läs merSamråd har skett med utbildningsledare vid akademin för innovation, design och teknik för de kurser de ansvarar för.
Programschema för Kandidatprogram i teknisk, 180 hp Programkod: Gäller för läsåret 2018/2019 Programschemat är granskat och godkänt av utbildningsledare vid akademin för utbildning, kultur och kommunikation,
Läs merPROGRAMMERING. Ä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
Läs mer729G75: 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
Läs merTuringmaskiner 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
Läs merSKOLFS. beslutade den -- maj 2015.
SKOLFS Föreskrifter om ändring i Skolverkets föreskrifter (SKOLFS 2010:247) om ämnesplan för ämnet programmering i gymnasieskolan och inom kommunal vuxenutbildning på gymnasial nivå; beslutade den -- maj
Läs merKurser inom profilen Teknisk matematik (Y)
Kurser inom profilen Teknisk matematik (Y) Kurser i Optimeringslära Obligatorisk TAOP24 Optimeringslära fortsättningskurs Y Valbara TAOP04 Matematisk optimering TAOP34 Optimering av stora system TAOP87
Läs merKomponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska
Matlab-föreläsning 3 (4), 17 september, 2015 Innehåll Sekvenser (från förra föreläsningen) Upprepning med for-slingor och while-slingor Villkorssatser med if - then -else - Logik Sekvenser - repetion från
Läs merT1-modulen Lektionerna 10-12. Radioamatörkurs OH6AG - 2011 OH6AG. Bearbetning och översättning: Thomas Anderssén, OH6NT Heikki Lahtivirta, OH2LH
T1-modulen Lektionerna 10-12 Radioamatörkurs OH6AG - 2011 Bearbetning och översättning: Thomas Anderssén, OH6NT Original: Heikki Lahtivirta, OH2LH 1 Logikkretsar Logikkretsarna är digitala mikrokretsar.
Läs merFö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
Läs merProbabilistisk 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 merKlassdeklaration. Metoddeklaration. Parameteröverföring
Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar
Läs merKursval! Programinfo (här, nu) Info om masterprogram. Om valet Programmets innehåll Några goda råd. Det finns länkar på valinformationssidan
Kursval! Programinfo (här, nu) Om valet Programmets innehåll Några goda råd Info om masterprogram Det finns länkar på valinformationssidan Kursvalsinformation Sista ansökningsdag, 15 april ansökan (till
Läs merPROGRAMMERING. Ä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
Läs merDD1361 Programmeringsparadigm HT15
DD1361 Programmeringsparadigm HT15 Logikprogrammering 3 Dilian Gurov, TCS Idag Induktiva datatyper: Träd (inte inbyggd) Binära träd utan data Binära träd med data Prolog-specifika konstruktioner Negation,
Läs mer729G74 IT och programmering, grundkurs. Tema 2. Föreläsning 3 Jody Foo,
729G74 IT och programmering, grundkurs Tema 2. Föreläsning 3 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Information i grafstrukturer Diskret matematik Relationer: kopplingar mellan mängder Funktioner
Läs merOptimeringslara = matematik som syftar till att analysera och. Optimeringslara ar en gren av den tillampade matematiken.
Optimal = basta mojliga. Optimeringslara = matematik som syftar till att analysera och nna det basta mojliga. Anvands oftast till att nna ett basta handlingsalternativ i tekniska och ekonomiska beslutsproblem.
Läs merBakgrund. 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! >
Läs merVisuell GUI Testning
Visuell GUI Testning Vad är ett Graphical User Interface (GUI)? Icke-animerat GUI Animerat GUI Nuläget System- och acceptanstestning är dyrt! Manuellt Långsamt Enformigt Svårt att replikera exakt Nödvändigt
Läs merTentamen ID1004 Objektorienterad programmering October 29, 2013
Tentamen för ID1004 Objektorienterad programmering (vilande kurs), 29 oktober 2013, 9-13 Denna tentamen examinerar 3.5 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av tre sektioner.
Läs merVarför är logik viktig för datavetare?
Varför är logik viktig för datavetare? 1. Datavetenskap handlar ofta om att automatisera processer som tidigare styrts av människor. Intuition, intelligens och mänskliga resonemang ersätts av beräkningar.
Läs merFÖRELÄSNING 1 PERSONAL TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017 SYFTE EXAMINATION ORGANISATION
TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017 Jalal Maleki Institutionen för datavetenskap Linköpings universitet jalal.maleki@liu.se FÖRELÄSNING 1 Introduktion till kursen Schemespråkets grunder
Läs merHitta k största bland n element. Föreläsning 13 Innehåll. Histogramproblemet
Föreläsning 13 Innehåll Algoritm 1: Sortera Exempel på problem där materialet i kursen används Histogramproblemet Schemaläggning Abstrakta datatyper Datastrukturer Att jämföra objekt Om tentamen Skriftlig
Läs merFöreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod
Föreläsning 3-4 Innehåll Diskutera Vad gör programmet programmet? Föreslå vilka satser vi kan bryta ut till en egen metod. Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer
Läs mer729G75: 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
Läs merPythons standardbibliotek
Pythons standardbibliotek Python 3 skall, enligt standarddokumenten http://docs.python.org/py3k/library/index.html ha stöd för vissa funktioner, typer och datastrukturer Så länge man håller sig till detta
Läs merSätt att skriva ut binärträd
Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer
Läs merLogik. Boolesk algebra. Logik. Operationer. Boolesk algebra
Logik F4 Logik Boolesk algebra EDAA05 Roger Henriksson Jonas Wisbrant Konsten att, och vetenskapen om, att resonera och dra slutsatser. Vad behövs för att man ska kunna dra en slutsats? Hur kan man dra
Läs merDeklarativt programmeringsparadigm
Deklarativt programmeringsparadigm Det vi introducerade på förra föreläsningen var ett exempel på deklarativ programmering. Vi specificerade en fallanalys som innehöll fakta och regler för hur man skulle
Läs merProgramschema för Kandidatprogram i teknisk matematik, 180 hp Gäller för läsåret 2019/2020 Om programschemat
Programschema för Kandidatprogram i teknisk, 180 hp Programkod: Gäller för läsåret 2019/2020 Om programschemat Varje utbildningsprogram har en fastställd utbildningsplan där det bl.a. framgår alla i programmet
Läs mer729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer
729G04 Programmering och diskret matematik Python 2: Villkorssatser, sanningsvärden och logiska operatorer Föreläsningsöversikt Vad händer när vi kör vår pythonkod? Programmerare Villkorssatser Jämförelser
Läs merKandidatprogram, informations- och kommunikationsteknik Bachelor's Programme in Information and Communication Technology 180,0 högskolepoäng
Utbildningsplan Kandidatprogram, informations- och kommunikationsteknik Bachelor's Programme in Information and Communication Technology 180,0 högskolepoäng Gäller för antagna till utbildningen fr o m
Läs merFöreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad
1 Datatyper Tobias Wrigstad Det finns flera olika typer av (slags) data Olika datatyper har olika egenskaper. T.ex. är ett personnummer inte ett tal. (Den sista siffran skall stämma enligt den s.k. Luhnalgoritmen
Läs merComputer Science, masterprogram
DNR LIU-2016-01391 1(11) Computer Science, masterprogram 120 hp Computer Science, Master's Programme 6MICS Gäller från: 2017 VT Fastställd av Fakultetsstyrelsen för tekniska fakulteten Fastställandedatum
Läs merFöreläsning 3-4 Innehåll
Föreläsning 3-4 Innehåll Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer Datavetenskap (LTH) Föreläsning 3-4 HT 2017 1 / 36 Diskutera Vad gör programmet programmet? Föreslå
Läs merIntroduktionsmöte Innehåll
Introduktionsmöte Innehåll Introduktion till kursen Kursens mål och innehåll Undervisning Datavetenskap (LTH) Introduktionsmöte ST 2019 1 / 14 EDAA01 Programmeringsteknik - fördjupningskurs Ingen sommarkurs
Läs merEfternamn förnamn pnr årskurs
KTH Matematik Olof Heden Σ p G/U bonus Efternamn förnamn pnr årskurs Lösning till kontrollskrivning 4B, 2 oktober 2012, 08.45 09.45, i SF1610 Diskret matematik för CINTE och CMETE. Inga hjälpmedel tillåtna.
Läs merde var svåra att implementera och var väldigt ineffektiva.
OBS! För flervalsfrågorna gäller att flera alternativ eller inget alternativ kan vara korrekt. På flervalsfrågorna kan man bara ha rätt eller fel, dvs frågan måste vara helt korrekt besvarad. Totalt kan
Läs merMatematisk statistik 9hp Föreläsning 5: Summor och väntevärden
Matematisk statistik 9hp Föreläsning 5: Summor och väntevärden Anna Lindgren 20+21 september 2016 Anna Lindgren anna@maths.lth.se FMS012/MASB03 F5: väntevärden 1/18 2D stokastisk variabel Tvådim. stokastisk
Läs merUniversitetet i Linköping Institutionen för datavetenskap Anders Haraldsson
1 2 TDDC66 Datorsystem och programmering TDDC67 Funktionell programmering Programmering i Lisp, examinator TDDC67 föreläsare i Lisp Peter Dalenius examinator TDDC66 kursassistent i Lisp + ett stort antal
Läs merIntroduktion till programmering. Programspråk och paradigmer
Introduktion till programmering Programspråk och paradigmer Vad är ett programspråk? Aprogramming languageis a formal constructedlanguagedesigned to communicate instructions to a machine, particularly
Läs merTill detta finns specifika tillägg för de olika inriktningarna, se bilaga 2.
Utbildningsplan Högskoleingenjörsutbildning i datateknik, Kista Degree Programme in Computer Engineering 180,0 högskolepoäng Gäller för antagna till utbildningen fr o m HT19. Utbildningens mål Syftet med
Läs merPlanering i matematik 5 för NA11 och ITT11. V Datum Kapitel Moment Anmärkning. Tis Övning 11:30-12: 40
1.1 Diskret Matematik s. 8 1.1 Delbarhetsregler och division med rest s. 12 3 11:30-12: 40 4 1.1 Kongruens s. 16 1.1 Beräkningar med kongruenser s. 19 11:30-12: 40 1 Talteori 1.2 Talföljder och summor
Läs mer7, Diskreta strukturer
Objektorienterad modellering och diskreta strukturer 7, Diskreta strukturer Sven Gestegård Robertz Datavetenskap, LTH 2013 1 Inledning 2 Satslogik Inledning Satslogiska uttryck Resonemang och härledningar
Läs merProgramschema för Datavetenskapliga programmet, 180 hp. Gäller för läsåret 2018/2019. Programschema för 2018/2019.
Programschema för liga programmet, 180 hp Programkod: Gäller för läsåret 2018/2019 Om programschemat Varje utbildningsprogram har en fastställd utbildningsplan där det bl.a. framgår alla i programmet ingående
Läs merFöreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt
Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling
Läs merDagens 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
Läs merUniverse Engine Rapport
1 Universe Engine Rapport Alexander Mennborg 2017-05-08 2 Inledning I denna rapport diskuteras utvecklingsprocessen till projektet Universe Engine. Denna diskussion omfattar hela utveckling från starten
Läs merFöreläsning 9: NP-fullständighet
Föreläsning 9: NP-fullständighet Olika typer av problem: 1. Beslutsproblem: A(x) =Ja. 2. Optimeringsproblem: A(x) =m Vanligen max/min. 3. Konstruktionsproblem: A(x) =En struktur. Vanligen lösningen till
Läs merMATLAB. 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»
Läs merTNK049 Optimeringslära
TNK049 Optimeringslära Clas Rydergren, ITN Föreläsning 1 Kursintroduktion Ämnesintroduktion Terminologi Tillämpningar Agenda Vilka personer medverkar i kursen? Kursupplägg Lärobok Laborationer Återkoppling
Läs merProgramdesign. Dokumentera. Dokumentera
Programdesign Dokumentera Välj datastruktur så programmet blir så enkelt som möjligt. Välj algoritm så programmet blir lättläst, robust och effektivt. Analysera programmet för att få en bra metod. Överväganden
Läs merObjektorienterad 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
Läs merFunktionell 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
Läs merProgramdesign. minnesutrymme storlek på indata. DA2001 (Föreläsning 15) Datalogi 1 Hösten / 20
Programdesign Välj datastruktur så programmet blir så enkelt som möjligt. Välj algoritm så programmet blir lättläst, robust och effektivt. Analysera programmet för att få en bra metod. Överväganden vid
Läs merDugga Datastrukturer (DAT036)
Dugga Datastrukturer (DAT036) Duggans datum: 2012-11-21. Författare: Nils Anders Danielsson. För att en uppgift ska räknas som löst så måste en i princip helt korrekt lösning lämnas in. Enstaka mindre
Läs merVariabler, värden och typer
Variabler, värden och typer Viktigt att förstå på djupet: För programmering i många språk, t.ex. Java För kommande objektorientering! jonas.kvarnstrom@liu.se 2017 Fråga kommentera avbryt! Intro till variabler
Läs merCivilingenjörsprogrammet i industriell ekonomi
Civilingenjörsprogrammet i industriell ekonomi Introduktion till industriell ekonomi Programmeringsteknik med Python och Matlab Envariabelanalys 1 Envariabelanalys 2 År 1 Marknadsföring Ekonomisk teori
Läs merMatematikerprogrammet, 180 högskolepoäng Applied Mathematics Programme, 180 credits
Dnr: 2014/2308 3.1.1 Utbildningsplan Fakulteten för teknik Matematikerprogrammet, 180 högskolepoäng Applied Mathematics Programme, 180 credits Nivå Grundnivå Fastställande av utbildningsplan Fastställd
Läs merMajor Release 3.1. Vad innebär Major Release 3.1 för svenska användare?
Major Release 3.1 Vad innebär Major Release 3.1 för svenska användare? Agenda Vad förändras och vad innebär det? Förändringarna i detalj Dokumentation Sammanfattning Vad förändras och vad innebär det?
Läs merProgrammering I Tobias Wrigstad fredag, 2009 augusti 28
Programmering I Tobias Wrigstad tobias@dsv.su.se Vad är programmering? Lågnivåspråk och högnivåspråk Kompilering och interpretering Variabler Notation för flödesschema (flow chart) Kontrollstrukturer (conditionals,
Läs merKursinformation Grundkurs i programmering med Python
Hösten 2009 Två kurser i en 5DV105 - Programmeringsteknik med Python och MATLAB Programmeringsteori Föreläsningar om Python Färdighetsövning Laborationer i Python 5DV106 - Programmering i Python Praktisk
Läs merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Designmönster Adapter, Factory, Iterator,
Läs mer12. Relationer och funktioner
Objektorienterad modellering och diskreta strukturer 12. Relationer och funktioner Sven Gestegård Robertz Institutionen för datavetenskap, LTH 2013 Laboration 4 Syntaxanalys Grammatik för (vår delmängd
Läs merBilaga 1: GPS-teknik, en liten ordlista
Bilaga 1: GPS-teknik, en liten ordlista SATELLITSYSTEM GPS Global Positioning System. Amerikanskt satellitbaserat navigationssystem uppbyggt av USA:s försvarsmakt. Systemet är globalt täckande och används
Läs merInnehåll. Mina målsättningar. Vad krävs för att nå dit? Obligatoriska uppgifter. Websajten. Datastrukturer och algoritmer
Innehåll Datastrukturer och algoritmer Föreläsning 1! Introduktion och begrepp Kurspresentation! - Målsättning! - Kursutvärdering! - Upplägg! - Översikt! Viktiga begrepp "1 "2 Mina målsättningar Alla ska
Läs merProgramvaruteknik, hp
1 (6) Utbildningsplan för: Programvaruteknik, 120-180 hp Software Engineering, 120-180 Credits Allmänna data om programmet Programkod Tillträdesnivå Diarienummer TPVAG Grundnivå MIUN 2010/1734 Högskolepoäng
Läs merDagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i
Läs merObjekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur
Objekt-orienterad utveckling Saker man vill uppnå: Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet 16 mars 2005 en systematisk metod för att gå från problembeskrivning till färdigt
Läs merSKOLFS. beslutade den XXX 2017.
1 (11) Föreskrifter om ändring i Skolverkets föreskrifter (SKOLFS 2010:247) om ämnesplan för ämnet programmering i gymnasieskolan, inom kommunal vuxenutbildning på gymnasial nivå och inom vidareutbildning
Läs merFöreläsning 9 i programmeringsparadigm. Paradigmöversikt, paradigmhistoria, paradigmgeografi. Se även föreläsning 1.
Föreläsning 9 i programmeringsparadigm. Paradigmöversikt, paradigmhistoria, paradigmgeografi. Se även föreläsning 1. Användning av Prolog. Prolog har framför allt används inom AI ( Articifial Intellegence),
Läs merOm matematikämnet på CLGYM. Obligatoriska kurser och förslag på valbara kurser. Inför 2015-16.
Hans Thunberg april 2015 KTH Matematik Om matematikämnet på CLGYM. Obligatoriska kurser och förslag på valbara kurser. Inför 2015-16. Allmänt om matematikkurserna på CL CL är ett av de mest matematikintensiva
Läs merBearbetning och Presentation
Bearbetning och Presentation Vid en bottenfaunaundersökning i Nydalasjön räknade man antalet ringmaskar i 5 vattenprover. Följande värden erhölls:,,,4,,,5,,8,4,,,0,3, Det verkar vara diskreta observationer.
Läs merSyntaktisk parsning (Jurafsky & Martin kapitel 13)
Syntaktisk parsning (Jurafsky & Martin kapitel 13) Mats Wirén Institutionen för lingvistik Stockholms universitet mats.wiren@ling.su.se DH2418 Språkteknologi DA3010 Språkteknologi för datorlingvister Föreläsning
Läs mer