Källkodning. Egenskaper hos koder. Några exempel

Storlek: px
Starta visningen från sidan:

Download "Källkodning. Egenskaper hos koder. Några exempel"

Transkript

1 Källkodning Källkodning innebär att vi avbildar sekvenser av symboler ur en källas alfabet på binära sekvenser (kallade kodord). Mängden av alla kodord kalls för en kod. (Man kan förstås tänka sig att ha icke-binära koder också, men i praktiken används bara binära koder.) Beroende på om vi avbildar ett fixt eller varierande antal symboler till varje kodord och om varje kodord har ett fixt eller varierande antal bitar, kan vi dela in koderna i fyra grupper: Fixt antal symboler, fixt antal bitar Exempel: ASCII, ISO Fixt antal symboler, varierande antal bitar Exempel: Huffmankodning, aritmetisk kodning Varierande antal symboler, fixt antal bitar Exempel: Tunstallkodning, Lempel-Ziv, Varierande antal symboler, varierande antal bitar Exempel: Lempel-Ziv Källkodning fö 3 p.1/23 Källkodning fö 3 p.2/23 Några exempel Egenskaper hos koder Antag att A = {a, b, c} fix fix fix variabel a 00 0 b c variabel fix variabel variabel aa aba abb abc ac b c Om man från en sekvens av kodord kan återskapa den ursprungliga källsekvensen kallas koden för unikt avkodbar. Om man kan känna igen kodorden direkt vid avkodning, kallas koden momentant avkodbar (instantaneous). Om inget kodord är prefix till något annat kodord kallas koden för en prefixkod (i viss litteratur kallas de för prefixfria koder). Dessa koder är trädkoder, dvs kodorden är löv i ett binärt träd. Alla prefixkoder är momentant avkodbara och alla momentant avkodbara koder är prefixkoder. Källkodning fö 3 p.3/23 Källkodning fö 3 p.4/23

2 Exempel Är en given kod unikt avkodbar eller ej? Exempel, A = {a, b, c, d} Symbol Kod 1 Kod 2 Kod 3 Kod 4 a b c d Kod 1 Ej unikt avkodbar Kod 2 Ej unikt avkodbar Kod 3 Unikt avkodbar, momentant avkodbar Kod 4 Unikt avkodbar, ej momentant avkodbar Gör en lista av alla kodord. Undersök alla par av element i listan för att se om något element är prefix till ett annat element. I sådana fall lägg till suffixet till listan, om det inte redan finns där. Repetera tills en av två saker händer: 1. Man hittar ett suffix som är ett kodord. 2. Man hittar inga nya suffix att lägga till listan. I fall 1 är koden inte unikt avkodbar, i fall 2 är koden unikt avkodbar. Källkodning fö 3 p.5/23 Källkodning fö 3 p.6/23 Krafts olikhet Krafts olikhet, forts. En momentant avkodbar kod (prefixkod) med kodordslängderna l 1,...,l N existerar om och endast om Bevis: Antag att vi har en trädkod. Låt l max =max{l 1,...,l N }. Utvidga trädet så att alla grenar har djupet l max. Ett kodord på djupet l i har 2 l max l i löv under sig på djupet l max. Mängderna av löv är disjunkta. Det totala antalet löv under kodord är mindre än eller lika med 2 l max. Vi har alltså 2 l max l i 2 l max Omvänt kan vi, givet kodordslängder l 1,...,l N som uppfyller Krafts olikhet, alltid konstruera en trädkod. Börja med ett fullständigt träd där alla grenar har djup l max. Antag, utan att förlora i generalitet, att kodordslängderna är sorterade i stigande ordning. Välj någon ledig nod på djup l 1 för det första kodordet och ta bort alla dess avkomlingar. Gör likadant för l 2 och kodord 2, o.s.v. tills vi har placerat ut alla kodorden. Källkodning fö 3 p.7/23 Källkodning fö 3 p.8/23

3 Krafts olikhet, forts. Kraft-McMillans olikhet Uppenbarligen kan vi placera ut ett kodord på djup l 1. För att algoritmen ska vara möjligt måste det i steg i finnas lediga löv på maxdjupet l max. Antalet kvarvarande löv är i 1 i 1 2 l max 2 l max l j =2 l max (1 2 l j ) > 2 l max (1 2 l j ) 0 j=1 j=1 där vi utnyttjat att Krafts olikhet är uppfylld. Det finns alltså lediga löv i varje steg, alltså kan vi konstruera en prefixkod med de givna kodordslängderna. j=1 Krafts olikhet kan visas gälla för alla unikt avkodbara koder, inte bara prefixkoder. Den benämns då Kraft-McMillans olikhet: En unikt avkodbar kod med kodordslängderna l 1,...,l N existerar om och endast om Betrakta ( N 2 l i ) n, där n är ett godtyckligt heltal. ( ) n = i 1 =1 i n =1 2 (l i l i n ) Kraft-McMillans olikhet, forts. Källkodning fö 3 p.9/23 Kraft-McMillans olikhet, forts. Källkodning fö 3 p.10/23 l i l in är längden av n stycken kodord från koden. Det minsta värde denna exponent kan ta är n, som skulle hända om alla kodord hade längden 1. Det största värdet exponenten kan ta är nl där l är den maximala kodordslängden.summationen kan då skrivas om som ( ) n = nl k=n A k 2 k där A k är antalet kombinationer av n kodord som har den kombinerade längden k. Det finns maximalt 2 k binära sekvenser av längden k. Eftersom koden är unikt avkodbar, måste det gälla att för att vi ska kunna avkoda. A k 2 k Vi har alltså Vilket ger oss nl ( ) n 2 k 2 k = nl n +1 k=n (n(l 1) + 1) 1/n Detta gäller för alla n, inklusive när vi låter n gå mot oändligheten, vilket alltså slutligen ger oss Omvändningen till olikheten har vi redan, genom att vi kan konstruera en prefixkod med givna kodordslängder om de uppfyller Krafts olikhet. Källkodning fö 3 p.11/23 Källkodning fö 3 p.12/23

4 Godhetsmått Entropin som nedre gräns Det godhetsmått vi har för att mäta hur bra en kod är är (data)takten R R = E{# bitar i kodordet} E{# symboler per kodord} [bitar/symbol] Eftersom det är datakomprimering vi sysslar med, så vill vi att våra koder ska ha så låg takt som möjligt. Om vi till att börja med antar att vi har en minnesfri källa X j och kodar en symbol i taget med en prefixkod, så ges R av R = l = p i l i [bitar/symbol] där L är storleken på alfabetet och p i sannolikheten för symbol i. l är kodens kodordsmedellängd [bitar/kodord]. Entropin är en lägre gräns för l l H(Xj ) Betrakta skillnaden mellan entropin och kodordsmedellängden H(X j ) l = = p i log p i p i l i = p i (log 1 log 2 l i )= p i 1 ln 2 p i (log 1 l i ) p i p i log 2 l i p i p i ( 2 l i 1) = 1 L p i ln 2 ( där vi utnyttjat ln x x 1 samt Krafts olikhet p i ) (1 1) = 0 ln 2 Källkodning fö 3 p.13/23 Källkodning fö 3 p.14/23 Optimala koder Övre gräns för optimala koder En prefixkod kallas optimal om det inte existerar någon annan kod (för samma alfabet och sannolikhetsfördelning) som har lägre kodordsmedellängd. Den optimala koden uppfyller l <H(X j )+1 Låt l i = log p i = log p i + s i där 0 s i < 1 Det existerar förstås flera koder som har samma kodordsmedellängd. Enklaste fallet är att bara byta 0:or mot 1:or. = = 2 log p i s i p i 2 s i p i = 1 Krafts olikhet är uppfylld, alltså existerar en unikt avkodbar kod med de givna kodordslängderna Källkodning fö 3 p.15/23 Källkodning fö 3 p.16/23

5 Övre gräns för optimala koder, forts. Gränser Vad har denna kod för kodordsmedellängd? L l = p i l i = = < p i ( log p i + s i ) p i log p i + p i log p i + p i s i p i = H(X j )+1 Den optimala koden kan ju inte vara sämre än denna kod, då vore det ingen optimal kod. Alltså gäller även för en optimal kod att l <H(X j )+1. OBS: Om p i l = H(Xj ). = 2 k i, i för heltal k i, så kan vi konstruera en kod med Vi har alltså visat att för en minnesfri källa där vi kodar en symbol i taget existerar det prefixkoder som uppfyller H(X j ) R = l <H(X j )+1 Resultatet kan enkelt generaliseras till källor med minne där vi kodar n symboler i taget. Datatakten uppfyller då R = l n 1 n H(X jx j+1...x j+n 1 ) R< 1 n H(X jx j+1...x j+n 1 )+ 1 n Genom att koda många symboler med varje kodord kan vi alltså komma godtyckligt nära entropigränsen, både då källan har minne och då den är minnesfri. Krav på optimala koder Källkodning fö 3 p.17/23 Krav på optimala koder, forts. Källkodning fö 3 p.18/23 Antag att vi kodar en symbol från alfabetet A = {a 1,...,a L } med varje kodord, och att kodordslängderna är l 1,...,l L. Nödvändiga villkor för att koden ska vara optimal är 1. Om p(a i ) p(a j ) så måste l i l j. 2. De två minst sannolika symbolerna har kodord med samma längd. 3. I kodträdet för en optimal kod måste det gå ut två grenar från varje inre nod. 4. Antag att vi ändrar en inre nod i trädet till ett löv genom att slå ihop all löv som utgår ifrån det till en enda symbol i ett reducerat alfabet. Om originalträdet var optimalt för originalalfabetet så är det reducerade trädet optimalt för det reducerade alfabetet. Källkodning fö 3 p.19/23 1. Om inte kunde vi bara byta kodord mellan de två symbolerna och få en kod med lägre kodordsmedellängd. 2. Antag att vi har en prefixkod där de två minst sannolika symbolerna har olika kodordslängd. Vi kan skapa en ny kod genom att ta bort de sista bitarna i det längre kodordet så att de två kodorden är lika långa. Den nya kodorden är fortfarande en prefixkod, eftersom det enligt 1 inte finns några kodord som är längre. Den nya koden har en lägre kodordsmedellängd, alltså är den ursprungliga koden inte optimal. 3. Antag att en prefixkod har en inre nod med bara en gren. Vi kan då ta bort den grenen och flytta upp delträdet därunder ett steg. Denna nya kod är fortfarande en prefixkod, och den har en lägre kodordsmedellängd. Alltså kan den ursprungliga koden inte vara optimal. 4. Om den reducerade koden inte var optimal skulle vi kunna konstruera en ny kod för det reducerade alfabetet och sen expandera den reducerade symbolen igen så att vi får en ny kod med lägre kodordsmedellängd än originalkoden. Källkodning fö 3 p.20/23

6 Huffmankodning Huffmankoder, forts. Enkel metod för att konstruera optimala trädkoder. Börja med enstaka symboler som löv. Slå i varje steg ihop de två minst sannolika noderna till en inre nod. Sannolikheten för den nya noden är summan av de två ursprungliga noderna. Om det finns fler noder med samma sannolikhet att välja mellan spelar det ingen roll vilken vi väljer. När vi konstruerat hela kodträdet, skapar vi kodorden genom att sätta 0 resp. 1 på de utgående grenarna i varje nod. Vilken gren som sätts till 0 resp. 1 spelar ingen roll. Antag att den mest sannolika symbolen för en källa X k har sannolikheten p max. Man kan visa att kodordsmedellängden för en en huffmankod uppfyller { H(X k )+p max ; p max 0.5 l < H(X k )+p max ; p max < 0.5 Jämför med vår tidigare övre gräns l <H(Xk )+1 Källkodning fö 3 p.21/23 Källkodning fö 3 p.22/23 Utvidgade huffmankoder För små alfabet med skeva fördelningar, eller för källor med minne, kan en huffmankod vara ganska långt från entropigränsen. Detta kan ofta förbättras om man utvidgar källan, dvs man kodar fler symboler i taget med varje kodord. Den maximala redundansen (skillnanden mellan datatakten och entropin) minskar då som 1 n när vi kodar n symboler i taget. Notera att utvidgning inte garanterar att datatakten minskar, bara att den övre gränsen kommer närmare den undre gränsen. Källkodning fö 3 p.23/23

Krafts olikhet. En momentant avkodbar kod (prefixkod) med kodordslängderna l 1,...,l N existerar om och endast om. 2 l i. 1 i=1

Krafts olikhet. En momentant avkodbar kod (prefixkod) med kodordslängderna l 1,...,l N existerar om och endast om. 2 l i. 1 i=1 Datakompression fö 2 p.1 Krafts olikhet En momentant avkodbar kod (prefixkod) med kodordslängderna l 1,...,l N existerar om och endast om N 2 l i 1 Bevis: Antag att vi har en trädkod. Låt l max =max{l

Läs mer

Optimala koder. Övre gräns för optimala koder. Gränser. Övre gräns för optimala koder, forts.

Optimala koder. Övre gräns för optimala koder. Gränser. Övre gräns för optimala koder, forts. Datakompression fö 3 p.3 Datakompression fö 3 p.4 Optimala koder Övre gräns för optimala koder En prefixkod kallas optimal om det inte existerar någon annan kod (för samma alfabet och sannolikhetsfördelning)

Läs mer

Optimala koder. Det existerar förstås flera koder som har samma kodordsmedellängd. Enklaste fallet är att bara byta 0:or mot 1:or.

Optimala koder. Det existerar förstås flera koder som har samma kodordsmedellängd. Enklaste fallet är att bara byta 0:or mot 1:or. Datakompression fö 3 p.1 Optimala koder En prefixkod kallas optimal om det inte existerar någon annan kod (för samma alfabet och sannolikhetsfördelning) som har lägre kodordsmedellängd. Det existerar förstås

Läs mer

Aritmetisk kodning. F (0) = 0 Exempel: A = {1, 2, 3} k=1. Källkodning fö 5 p.1/12

Aritmetisk kodning. F (0) = 0 Exempel: A = {1, 2, 3} k=1. Källkodning fö 5 p.1/12 Aritmetisk kodning Vi identifierar varje sekvens av källsymboler med ett tal i intervallet [0, 1). Vi gör det med hjälp av fördelningsfunktionen (cumulative distribution function) F. För enkelhets skull

Läs mer

Shannon-Fano-Elias-kodning

Shannon-Fano-Elias-kodning Datakompression fö 5 p.1 Shannon-Fano-Elias-kodning Antag att vi har en minnesfri källa X i som tar värden i {1, 2,...,L}. Antag att sannolikheterna för alla symboler är strikt positiva: p(i) > 0, i. Fördelningsfunktionen

Läs mer

Datakompression. Harald Nautsch ISY Bildkodning, Linköpings universitet.

Datakompression. Harald Nautsch ISY Bildkodning, Linköpings universitet. Datakompression fö 1 p.1 Datakompression Harald Nautsch harna@isy.liu.se http://www.icg.isy.liu.se/courses/tsbk04/ ISY Bildkodning, Linköpings universitet Datakompression fö 1 p.2 Kursinnehåll Källmodellering:

Läs mer

Kursinnehåll. Datakompression. Föreläsningar, preliminärt program. Examination

Kursinnehåll. Datakompression. Föreläsningar, preliminärt program. Examination Datakompression fö 1 p.3 Datakompression fö 1 p.4 Kursinnehåll Datakompression Harald Nautsch harna@isy.liu.se http://www.icg.isy.liu.se/courses/tsbk04/ ISY Bildkodning, Linköpings universitet Källmodellering:

Läs mer

Skurlängdskodning. aaaabbbbbbbccbbbbaaaa. Man beskriver alltså sekvensen med ett annat alfabet än det ursprungliga.

Skurlängdskodning. aaaabbbbbbbccbbbbaaaa. Man beskriver alltså sekvensen med ett annat alfabet än det ursprungliga. Datakompression fö 4 p1 Skurlängdskodning Ibland har man källor som producerar långa delsekvenser av samma symbol Det kan då vara praktiskt att istället för att beskriva sekvensen som en följd av enstaka

Läs mer

FLAC (Free Lossless Audio Coding)

FLAC (Free Lossless Audio Coding) Datakompression fö 9 p.1 FLAC (Free Lossless Audio Coding) Distorsionsfri kodning av ljud Ljudsignalen delas in i block (typiskt några tusen sampel). Koda summa/skillnad av de två stereokanalerna om det

Läs mer

Kurslitteratur. Kompression av ljud och bild. Föreläsningar, preliminärt program. Laborationer. Khalid Sayood, Introduction to Data Compression

Kurslitteratur. Kompression av ljud och bild. Föreläsningar, preliminärt program. Laborationer. Khalid Sayood, Introduction to Data Compression TSBK35 fö 1 p.3 TSBK35 fö 1 p.4 Kurslitteratur Kompression av ljud och bild Harald Nautsch harna@isy.liu.se http://www.icg.isy.liu.se/courses/tsbk35/ ISY Bildkodning, Linköpings universitet Khalid Sayood,

Läs mer

TSBK04 Datakompression. Övningsuppgifter

TSBK04 Datakompression. Övningsuppgifter TSBK04 Datakompression Övningsuppgifter Innehåll 1 Informationsteoretiska begrepp........................ 1 2 Källkodning................................... 4 Copyright c 2004 Bildkodningsgruppen, Linköpings

Läs mer

TSBK04 Datakompression Övningsuppgifter

TSBK04 Datakompression Övningsuppgifter TSBK04 Datakompression Övningsuppgifter Innehåll 1 Informationsteoretiska begrepp........................ 1 2 Källkodning................................... 4 Copyright c 2004 Bildkodningsgruppen, Linköpings

Läs mer

Ordbokskodning. Enkel variant av kodning med variabelt antal insymboler och fixlängds kodord. (Jfr tunstallkodning)

Ordbokskodning. Enkel variant av kodning med variabelt antal insymboler och fixlängds kodord. (Jfr tunstallkodning) Datakompression fö 6 p.1 Ordbokskodning Enkel variant av kodning med variabelt antal insymboler och fixlängds kodord. (Jfr tunstallkodning) Man skapar en ordbok som innehåller 2 b olika sekvenser av symboler

Läs mer

Exempel, minnesfri binär källa. Ordbokskodning. Lempel-Zivkodning. Lempel-Zivkodning, forts.

Exempel, minnesfri binär källa. Ordbokskodning. Lempel-Zivkodning. Lempel-Zivkodning, forts. Datakompression fö 6 p.3 Datakompression fö 6 p.4 Ordbokskodning Exempel, minnesfri binär källa Enkel variant av kodning med variabelt antal insymboler och fixlängds kodord. (Jfr tunstallkodning) Man skapar

Läs mer

Adaptiv aritmetisk kodning

Adaptiv aritmetisk kodning Datakompression fö 8 p.1 Adaptiv aritmetisk kodning Aritmetisk kodning är väldigt enkel att göra adaptiv, eftersom vi bara behöver göra en adaptiv sannolikhetsmodell, medan själva kodaren är fix. Till

Läs mer

Kompression av ljud och bild

Kompression av ljud och bild Kompression av ljud och bild Harald Nautsch harna@isy.liu.se ISY Informationskodning, Linköpings universitet http://www.icg.isy.liu.se/courses/tsbk35/ Kurslitteratur Rekommenderad bok: Khalid Sayood, Introduction

Läs mer

Kurslitteratur. Kompression av ljud och bild. Föreläsningar, preliminärt program. Laborationer

Kurslitteratur. Kompression av ljud och bild. Föreläsningar, preliminärt program. Laborationer TSBK35 källkodning p.3/89 TSBK35 källkodning p.4/89 Kurslitteratur Kompression av ljud och bild Harald Nautsch harna@isy.liu.se http://www.icg.isy.liu.se/courses/tsbk35/ ISY Informationskodning, Linköpings

Läs mer

Burrows-Wheelers transform

Burrows-Wheelers transform Datakompression fö 7 p.1 Burrows-Wheelers transform Transformen själv ger ingen kompression, men gör det lättare att koda signalen med en enkel kodare. Antag att vi vill koda en sekvens av längd n. Skapa

Läs mer

Träd och koder. Anders Björner KTH

Träd och koder. Anders Björner KTH 27 Träd och koder Anders Björner KTH 1. Inledning. Det är i flera sammanhang viktigt att representera information digitalt (d.v.s omvandla till sviter av nollor och ettor). Beroende på vilka villkor som

Läs mer

Lab 3 Kodningsmetoder

Lab 3 Kodningsmetoder Lab 3. Kodningsmetoder 15 Lab 3 Kodningsmetoder Starta Matlab och ladda ner följande filer från kurswebben till er lab-katalog: lab3blocks.mdl okodat.mdl repetitionskod.mdl hammingkod.mdl planet.mat Denna

Läs mer

Informationsteori. Repetition Kanalkapaciteten C. Repetition Källkodhastigheten R 2. Repetition Kanalkodhastigheten R 1. Huffmans algoritm: D-när kod

Informationsteori. Repetition Kanalkapaciteten C. Repetition Källkodhastigheten R 2. Repetition Kanalkodhastigheten R 1. Huffmans algoritm: D-när kod Informationsteori Repetition Kanalkapaciteten C Källkodare Kanalkodare X Kanal Mats Cedervall Mottagare vkodare Kanalavkodare Y Kanalkodningssatsen C =supi(x; Y ) p(x) Informationsteori, fl#7 1 Informationsteori,

Läs mer

Föreläsning 7. Felrättande koder

Föreläsning 7. Felrättande koder Föreläsning 7 Felrättande koder Antag att vi vill skicka ett meddelande som består av bokstäver a,b,c,d. Vi kan koda a,b,c,d. Antag att det finns en viss sannolikhet att en bit i ett meddelande som skickas

Läs mer

Övning 6 - Tillämpad datalogi 2012

Övning 6 - Tillämpad datalogi 2012 /home/lindahlm/activity-phd/teaching/12dd1320/exercise6/exercise6.py October 2, 20121 0 # coding : latin Övning 6 - Tillämpad datalogi 2012 Sammanfattning Idag gick vi igenom komprimering, kryptering och

Läs mer

TSBK35 Kompression av ljud och bild

TSBK35 Kompression av ljud och bild TSBK35 Kompression av ljud och bild Övningshäfte 0 februari 013 Innehåll I Problem 1 1 Informationsteori................................ 1 Källkodning................................... 3 3 Kvantisering...................................

Läs mer

Detta ger oss att kanalkapaciteten för den ursprungliga kanalen är C = q 1 C 1 + q 2 C C =1 h ( ) 0.30.

Detta ger oss att kanalkapaciteten för den ursprungliga kanalen är C = q 1 C 1 + q 2 C C =1 h ( ) 0.30. Lösning på problem a) Kanalen är symmetrisk och vi gör nedanstående uppdelning av den. Vi får två starkt symmetriska kanaler vilkas kanalkapacitet ges av C och C 2. Kanalerna väljes med sannolikheterna

Läs mer

Föreläsninsanteckningar till föreläsning 3: Entropi

Föreläsninsanteckningar till föreläsning 3: Entropi Föreläsninsanteckningar till föreläsning 3: Entropi Johan Håstad, transkriberat av Pehr Söderman 2006-01-20 1 Entropi Entropi är, inom kryptografin, ett mått på informationsinnehållet i en slumpvariabel.

Läs mer

En generell prediktiv kodare utnyttjar signalens utseende N steg tillbaka i tiden för kodningen, dvs vi kodar efter den betingade fördelningen

En generell prediktiv kodare utnyttjar signalens utseende N steg tillbaka i tiden för kodningen, dvs vi kodar efter den betingade fördelningen Prediktiv kodning Närliggande sampel i en signal är oftast starkt korrelerade med varandra, det kan därför vara en bra ide att försöka utnyttja denna korrelation (minnet) innan kvantiseringen för att få

Läs mer

Linjär prediktion. Prediktiv kodning. Linjär prediktion. Prediktiv kodare och avkodare

Linjär prediktion. Prediktiv kodning. Linjär prediktion. Prediktiv kodare och avkodare Prediktiv kodning Linjär prediktion Närliggande sampel i en signal är oftast starkt korrelerade med varandra, det kan därför vara en bra ide att försöka utnyttja denna korrelation (minnet) innan kvantiseringen

Läs mer

F3 Datarepresentation teckenkodning och datakompression EDAA05 Datorer i system! Roger Henriksson!

F3 Datarepresentation teckenkodning och datakompression EDAA05 Datorer i system! Roger Henriksson! Teckenkodning historik F3 Datarepresentation teckenkodning och datakompression EDAA05 Roger Henriksson Baudotkod 5-bitars kod för fjärrskrivare (teletype tty). Baudot 1874, Murray 1901 2 EBCDIC ASCII Extended

Läs mer

F3 Datarepresentation teckenkodning och datakompression

F3 Datarepresentation teckenkodning och datakompression Teckenkodning historik F3 Datarepresentation teckenkodning och datakompression Baudotkod 5-bitars kod för fjärrskrivare (teletype tty). EDAA05 Roger Henriksson Jonas Wisbrant Baudot 1874, Murray 1901 2

Läs mer

Giriga algoritmer och dynamisk programmering

Giriga algoritmer och dynamisk programmering Föreläsning 1 Giriga algoritmer och dynamisk programmering Douglas Wikström KTH Stockholm popup-help@csc.kth.se Dagens citat Using the wrong algorithm to solve a problem is like trying to cut a steak with

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #7 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Aritmetik i digitala system Speciella egenskaper: Systemet

Läs mer

Algoritmer, datastrukturer och komplexitet

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

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #7 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Speciella egenskaper: Systemet arbetar med kodord (s k

Läs mer

Kodning med distorsion

Kodning med distorsion Kodning med distorsion Vi har en signal x n, n = 1... N som ska kodas. Alfabetet är en delmängd av de reella talen A R. Alfabetet kan vara kontinuerligt. Om vi inte har kravet att den avkodade signalen

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

Innehåll. Föreläsning 11. Organisation av Trie. Trie Ytterligare en variant av träd. Vi har tidigare sett: Informell specifikation

Innehåll. Föreläsning 11. Organisation av Trie. Trie Ytterligare en variant av träd. Vi har tidigare sett: Informell specifikation Innehåll Föreläsning 11 Trie Sökträd Trie och Sökträd 356 357 Trie Ytterligare en variant av träd. Vi har tidigare sett: Oordnat träd där barnen till en nod bildar en mängd Ordnat träd där barnen till

Läs mer

Föreläsningsanteckningar F6

Föreläsningsanteckningar F6 Föreläsningsanteckningar F6 Martin Andersson & Patrik Falkman Kortaste vägen mellan en nod och alla andra noder Detta problem innebär att givet en graf G = (E,V) hitta den kortaste vägen över E från en

Läs mer

Tildatenta Lösningsskiss

Tildatenta Lösningsskiss Tildatenta 2017-10-20 Lösningsskiss E-delen 1. KMP PAPPAPARTY next[i] = 0 1 0 2 1 0 4 3 1 1 2. Parent-pekare Utskriftfunktionen fungerar så här: 1. Om noden inte är None a. gör vi först ett rekursivt anrop

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

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok, t.ex. den rekommenderade kursboken. Boken får ha anteckningar,

Läs mer

Datastrukturer och algoritmer. Innehåll. Trie. Informell specifikation. Organisation av Trie. Föreläsning 13 Trie och Sökträd.

Datastrukturer och algoritmer. Innehåll. Trie. Informell specifikation. Organisation av Trie. Föreläsning 13 Trie och Sökträd. Datastrukturer och algoritmer Föreläsning 13 rie och ökträd Innehåll rie rådar rie ökträd tterligare en variant av träd. Vi har tidigare sett: Oordnat träd där barnen till en nod bildar en mängd Ordnat

Läs mer

Speciell användning av heltalsvariabler. Heltalsprogrammering. Antingen-eller-villkor: Exempel. Speciell användning av heltalsvariabler

Speciell användning av heltalsvariabler. Heltalsprogrammering. Antingen-eller-villkor: Exempel. Speciell användning av heltalsvariabler Heltalsprogrammering Speciell användning av heltalsvariabler max z = då c j x j j= a ij x j b i j= x j 0 x j heltal i =,..., m j =,..., n j =,..., n ofta x j u j j =,..., n Oftast c, A, b heltal. Ibland

Läs mer

Algoritmer, datastrukturer och komplexitet

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

Läs mer

Föreläsning 4: Giriga algoritmer. Giriga algoritmer

Föreläsning 4: Giriga algoritmer. Giriga algoritmer Föreläsning 4: Giriga algoritmer Giriga algoritmer Denna typ av algoritmer arbetar efter följande princip: Gör i varje situation det som är lokalt optimalt, d.v.s. bäst för stunden. Några exempel vi redan

Läs mer

Teoretisk del. Facit Tentamen TDDC (6)

Teoretisk del. Facit Tentamen TDDC (6) Facit Tentamen TDDC30 2014-08-29 1 (6) Teoretisk del 1. (6p) "Snabba frågor" Alla svar motiveras väl. a) Vad är skillnaden mellan synligheterna public, private och protected? (1p) Svar:public: Nåbar för

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

Föreläsning 4 Datastrukturer (DAT037)

Föreläsning 4 Datastrukturer (DAT037) Föreläsning 4 Datastrukturer (DAT07) Fredrik Lindblad 1 november 2017 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt Se http://wwwcsechalmersse/edu/year/2015/course/dat07 1 Innehåll

Läs mer

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4 Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 014-015 Denna lektion ska vi studera rekursion. Lektion 4 Principen om induktion Principen om induktion är ett vanligt sätt att bevisa

Läs mer

Tommy Färnqvist, IDA, Linköpings universitet

Tommy Färnqvist, IDA, Linköpings universitet Föreläsning 1 Algoritmiska paradigm TDDC70/91: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 15 oktober 013 Tommy Färnqvist, IDA, Linköpings universitet 1.1 Innehåll Innehåll 1 Dekomposition

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #2 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Talomvandling Principer för omvandling mellan olika talsystem:

Läs mer

Facit Tentamen TDDC (7)

Facit Tentamen TDDC (7) Facit Tentamen TDDC30 2014-03-18 1 (7) Teoretisk del 1. (3p) "Snabba frågor" a) Varför kan man tänkas vilja dölja metoder och variabler med private? (0.5p) Svar:För att skydda interna variabler från ändringar

Läs mer

Tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, onsdagen den 20 augusti 2014, kl

Tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, onsdagen den 20 augusti 2014, kl 1 Matematiska Institutionen KTH Tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, onsdagen den 20 augusti 2014, kl 14.00-19.00. Examinator: Olof Heden Hjälpmedel: Inga hjälpmedel är tillåtna

Läs mer

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl Matematiska Institutionen KTH Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL och Media, SF60 och 5B8, onsdagen den 7 augusti 0, kl 4.00-9.00. Examinator: Olof Heden Hjälpmedel: Inga

Läs mer

Innehåll. Föreläsning 12. Binärt sökträd. Binära sökträd. Flervägs sökträd. Balanserade binära sökträd. Sökträd Sökning. Sökning och Sökträd

Innehåll. Föreläsning 12. Binärt sökträd. Binära sökträd. Flervägs sökträd. Balanserade binära sökträd. Sökträd Sökning. Sökning och Sökträd Innehåll Föreläsning 12 Sökträd Sökning Sökning och Sökträd 383 384 Binärt sökträd Används för sökning i linjära samlingar av dataobjekt, specifikt för att konstruera tabeller och lexikon. Organisation:

Läs mer

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 8 Erik Nilsson, Institutionen för Datavetenskap, LiU

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 8 Erik Nilsson, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 8 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Träd Traversering Insättning, borttagning

Läs mer

I en matchning ligger varje hörn i högst en kant. I en stig ligger varje hörn i högst två kanter.

I en matchning ligger varje hörn i högst en kant. I en stig ligger varje hörn i högst två kanter. 26.2-9 Antag att rätt lösning är att dela upp V i V 1 och V 2 (V 1 V 2 =, V 1 V 2 = V ). Antal kanter vi måste skära är då det minsta snittet mellan v 1 och v 2, där v 1 är ett godtyckligt hörn i V 1 och

Läs mer

Kombinatorik. Kapitel 2. Allmänt kan sägas att inom kombinatoriken sysslar man huvudsakligen med beräkningar av

Kombinatorik. Kapitel 2. Allmänt kan sägas att inom kombinatoriken sysslar man huvudsakligen med beräkningar av Kapitel 2 Kombinatorik Allmänt kan sägas att inom kombinatoriken sysslar man huvudsakligen med beräkningar av det antal sätt, på vilket elementen i en given mängd kan arrangeras i delmängder på något sätt.

Läs mer

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 14 augusti, 2002

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 14 augusti, 2002 Institutionen för matematik, KTH Mats Boij och Niklas Eriksen Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 14 augusti, 2002 1. Använd induktion för att visa att 8 delar (2n + 1 2 1 för alla

Läs mer

Tentamen Datastrukturer D DAT 035/INN960

Tentamen Datastrukturer D DAT 035/INN960 Tentamen Datastrukturer D DAT 035/INN960 22 december 2006 Tid: 8.30-12.30 Ansvarig: Peter Dybjer, tel 7721035 eller 405836 Max poäng på tentamen: 60. (Bonuspoäng från övningarna tillkommer.) Betygsgränser,

Läs mer

Föreläsning 5: Kardinalitet. Funktioners tillväxt

Föreläsning 5: Kardinalitet. Funktioners tillväxt Föreläsning 5: Kardinalitet. Funktioners tillväxt A = B om det finns en bijektion från A till B. Om A har samma kardinalitet som en delmängd av naturliga talen, N, så är A uppräknelig. Om A = N så är A

Läs mer

SF2715 Tillämpad kombinatorik, 6hp

SF2715 Tillämpad kombinatorik, 6hp SF75 Tillämpad kombinatorik, 6hp Fortsättningskurs i matematik 7 mars 7 maj 009 Kursledare: Jakob Jonsson Upplägg 6 hp = p enligt gamla systemet 8 dubbeltimmar med teori och problemlösning Kursbok och

Läs mer

Tillämpad Programmering (ID1218) :00-13:00

Tillämpad Programmering (ID1218) :00-13:00 ID1218 Johan Montelius Tillämpad Programmering (ID1218) 2014-03-13 09:00-13:00 Förnamn: Efternamn: Regler Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten.

Läs mer

DD1320 Tillämpad datalogi. Lösning (skiss) till tenta 20 okt 2011

DD1320 Tillämpad datalogi. Lösning (skiss) till tenta 20 okt 2011 DD1320 Tillämpad datalogi Lösning (skiss) till tenta 20 okt 2011 1 KMP P I P P I N i 1 2 3 4 5 6 Next[i] 0 1 0 2 1 3 2 Huffmankodning: Algoritmen 1. Sortera tecknen som ska kodas i stigande förekomstordning.

Läs mer

Prov i DAT 312: Algoritmer och datastrukturer för systemvetare

Prov i DAT 312: Algoritmer och datastrukturer för systemvetare Prov i DAT 312: Algoritmer och datastrukturer för systemvetare Jacek Malec Datavetenskap, LU 11 april 2003 Datum 11 april 2003 Tid 14 19 Ansvarig lärare Jacek Malec (tel. 03 9890431) Hjälpmedel inga Antal

Läs mer

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg Tekniska Högskolan i Linköping TAOP88 Matematiska Institutionen Lösning till tentamen Optimeringslära 28--24 Kaj Holmberg Uppgift Lösningar a: Målfunktionen är summan av konvexa funktioner (kvadrater och

Läs mer

Datastrukturer. föreläsning 10. Maps 1

Datastrukturer. föreläsning 10. Maps 1 Datastrukturer föreläsning 10 Maps 1 Minsta uppspännande träd Maps 2 Minsta uppspännande träd Uppspännande träd till graf fritt delträd innehåller alla noderna Minsta uppspännande träd (MST) är det uppspännande

Läs mer

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

Symbolisk data. quote. (define a 1) (define b 2) (jacek johan david) (list a b)

Symbolisk data. quote. (define a 1) (define b 2) (jacek johan david) (list a b) Symbolisk data (1 2 3 4) (a b c d) (jacek johan david) ((jacek "jacek@cs.lth.se") (johan "johang@cs.lth.se") (david "dat99dpe@ludat.lth.se")) ((anna 13) (per 11) (klas 9) (eva 4)) (+ (* 23 4) (/ y x))

Läs mer

18 juni 2007, 240 minuter Inga hjälpmedel, förutom skrivmateriel. Betygsgränser: 15p. för Godkänd, 24p. för Väl Godkänd (av maximalt 36p.

18 juni 2007, 240 minuter Inga hjälpmedel, förutom skrivmateriel. Betygsgränser: 15p. för Godkänd, 24p. för Väl Godkänd (av maximalt 36p. HH / Georgi Tchilikov DISKRET MATEMATIK,5p. 8 juni 007, 40 minuter Inga hjälpmedel, förutom skrivmateriel. Betygsgränser: 5p. för Godkänd, 4p. för Väl Godkänd (av maximalt 36p.). Förenkla (så mycket som

Läs mer

TDDI16 Datastrukturer och algoritmer. Prioritetsköer, heapar, Union/Find

TDDI16 Datastrukturer och algoritmer. Prioritetsköer, heapar, Union/Find TDDI16 Datastrukturer och algoritmer Prioritetsköer, heapar, Union/Find Prioritetsköer En vanligt förekommande situation: Väntelista (jobbhantering på skrivare, simulering av händelser) Om en resurs blir

Läs mer

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 11 april, 2002

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 11 april, 2002 Institutionen för matematik, KTH Mats Boij och Niklas Eriksen Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 11 april, 2002 1. Bestäm det minsta positiva heltal n sådant att 31n + 13 är delbart

Läs mer

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg Tekniska Högskolan i Linköping TAOP88 Matematiska Institutionen Lösning till tentamen Optimeringslära 9--7 Kaj Holmberg Lösningar Uppgift a: Inför slackvariabler x 5, x 6 och x 7 Starta med slackvariablerna

Läs mer

Algoritmer, datastrukturer och komplexitet

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

Läs mer

Datastrukturer, algoritmer och programkonstruktion (DVA104, HT 2014) Föreläsning 5

Datastrukturer, algoritmer och programkonstruktion (DVA104, HT 2014) Föreläsning 5 Datastrukturer, algoritmer och programkonstruktion (DVA104, HT 2014) Föreläsning 5? FORTSÄTTNING TRÄD RECAP (förra föreläsningen) RECAP (förra föreläsningen) Träd är icke-linjära datastrukturer som ofta

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

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

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg Tekniska Högskolan i Linköping Optimering för ingenjörer Matematiska Institutionen Lösning till tentamen Optimeringslära 28-5-3 Kaj Holmberg Lösningar Uppgift a: P: Grafisk lösning ger x = 2/7 = 2 6/7,

Läs mer

Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder

Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder Block 2 Algebra och Diskret Matematik A BLOCK INNEHÅLL Referenser Inledning 1. Följder 2. Rekursiva definitioner 3. Sigmanotation för summor 4. Strängar 5. Tal 6. Övningsuppgifter Referenser Följder, strängar

Läs mer

Föreläsning 5: Giriga algoritmer. Kruskals och Prims algoritmer

Föreläsning 5: Giriga algoritmer. Kruskals och Prims algoritmer Föreläsning 5: Giriga algoritmer Kruskals och Prims algoritmer Spännande träd: Om G är en sammanhängande graf så är ett spännande träd ett träd som innehåller alla noder i V (G). Viantarattviharkantvikterw(e)

Läs mer

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg Tekniska Högskolan i Linköping Optimering för ingenjörer Matematiska Institutionen Lösning till tentamen Optimeringslära 2018-08-31 Kaj Holmberg Lösningar Uppgift 1 1a: Inför slackvariabler x 5, x 6 och

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2008-03-12.kl.14-19 Uppgift 1 ( Betyg 3 uppgift ) Du skall skriva ett program som läser igenom en textfil som heter FIL.TXT och skriver ut alla rader där det står ett decimaltal först på raden. Decimaltal

Läs mer

Lösningsförslag till övningsuppgifter, del V

Lösningsförslag till övningsuppgifter, del V Lösningsförslag till övningsuppgifter, del V Obs! Preliminär version! Ö.1. (a) Vi kan lösa uppgiften genom att helt enkelt räkna ut avståndet mellan vart och ett av de ( 7 ) = 1 paren. Först noterar vi

Läs mer

TNSL05 Optimering, Modellering och Planering. Föreläsning 10

TNSL05 Optimering, Modellering och Planering. Föreläsning 10 TNSL05 Optimering, Modellering och Planering Föreläsning 10 Agenda Kursens status Repetition Flödesnätverk Optimalitetsvillkor LP och Minkostandsflöde (MKF) Nätverkssimplex Känslighetsanalys Exempel: MKF

Läs mer

Föreläsning 4 Datastrukturer (DAT037)

Föreläsning 4 Datastrukturer (DAT037) Föreläsning 4 Datastrukturer (DAT037) Fredrik Lindblad 1 2016-11-10 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt Se http://wwwcsechalmersse/edu/year/2015/course/dat037 Förra

Läs mer

x 23 + y 160 = 1, 2 23 = ,

x 23 + y 160 = 1, 2 23 = , Matematiska Institutionen KTH Lösningar till några övningar, inför tentan moment B, på de avsnitt som inte omfattats av lappskrivningarna, Diskret matematik för D2 och F, vt08.. Ett RSA-krypto har n =

Läs mer

Kontinuitet och gränsvärden

Kontinuitet och gränsvärden Kapitel Kontinuitet och gränsvärden.1 Introduktion till kontinuerliga funktioner Kapitlet börjar med allmänna definitioner. Därefter utvidgar vi successivt familjen av kontinuerliga funktioner, genom specifika

Läs mer

Rekursiva algoritmer sortering sökning mönstermatchning

Rekursiva algoritmer sortering sökning mönstermatchning Anders Haraldsson 1 Anders Haraldsson 2 Dagens föreläsning Programmering i Lisp Fö 6-7 Rekursiva strukturer rekursiva definitioner rekursiva funktioner rekursiva bevis: induktion - rekursion strukturell

Läs mer

Algoritmer, datastrukturer och komplexitet

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

Läs mer

Sats 2.1 (Kinesiska restsatsen) Låt n och m vara relativt prima heltal samt a och b två godtyckliga heltal. Då har ekvationssystemet

Sats 2.1 (Kinesiska restsatsen) Låt n och m vara relativt prima heltal samt a och b två godtyckliga heltal. Då har ekvationssystemet Avsnitt 2 Tillägg om kongruensräkning Detta avsnitt handlar om två klassiska satser som används för att förenkla kongruensräkning: Kinesiska restsatsen och Fermats lilla sats. Den första satsen används

Läs mer

Programmering II (ID1019) :00-11:00

Programmering II (ID1019) :00-11:00 ID1019 Johan Montelius Programmering II (ID1019) 2015-06-11 08:00-11: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

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

Teoretisk del. Facit Tentamen TDDC kl (6) 1. (6p) "Snabba frågor" Alla svar motiveras väl.

Teoretisk del. Facit Tentamen TDDC kl (6) 1. (6p) Snabba frågor Alla svar motiveras väl. Facit Tentamen TDDC30 2015-08-28 kl 08-12 1 (6) Teoretisk del 1. (6p) "Snabba frågor" Alla svar motiveras väl. a) Vad är syftet med ett interface? (1p) Svar:Att ange vilka metoder som ska finnas, utan

Läs mer

Föreläsning 5: Giriga algoritmer. Kruskals och Prims algoritmer

Föreläsning 5: Giriga algoritmer. Kruskals och Prims algoritmer Föreläsning 5: Giriga algoritmer Kruskals och Prims algoritmer Spännande träd: Om G är en sammanhängande graf så är ett spännande träd ett träd som innehåller alla noder i V (G). Viantarattviharkantvikterw(e)

Läs mer

Flöde i nätverk. Flöde i nätverk. Specialfall av minkostnadsflödesproblemet

Flöde i nätverk. Flöde i nätverk. Specialfall av minkostnadsflödesproblemet Flöde i nätverk Graf: G = (N, B) Variabeldefinition: x ij = flöde i båge (i, j). Bågdata för båge (i, j): c ij : flödeskostnad per enhet. u ij : övre gräns för flödet. l ij : undre gräns för flödet. Bivillkor:

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

PROV I MATEMATIK Algoritmik 26 mars 2008

PROV I MATEMATIK Algoritmik 26 mars 2008 UPPSALA UNIVERSITET Matematiska institutionen Salling, Wilander PROV I MATEMATIK Algoritmik 26 mars 2008 SKRIVTID: 8-12. HJÄLPMEDEL: Inga. Lösningarna skall åtföljas av förklarande text. För godkänt prov

Läs mer

Fredag 10 juni 2016 kl 8 12

Fredag 10 juni 2016 kl 8 12 KTH CSC, Alexander Baltatzis DD1320/1321 Lösningsförslag Fredag 10 juni 2016 kl 8 12 Hjälpmedel: En algoritmbok (ej pythonkramaren) och ditt eget formelblad. För betyg E krävs att alla E-uppgifter är godkända,

Läs mer

Tentamen i TDDC75 Diskreta strukturer , lösningsförslag

Tentamen i TDDC75 Diskreta strukturer , lösningsförslag Tentamen i TDDC75 Diskreta strukturer 2018-10-23, lösningsförslag 1 1. (a) Sanningstabell för uttrycken p q r p q p r r q r p q 0 0 0 1 0 1 1 1 0 0 1 1 1 0 1 1 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 0 1

Läs mer