Övningsmästarprov 2 + några NP-reduktioner. Algoritmer, datastrukturer och komplexitet
|
|
- Anders Strömberg
- för 5 år sedan
- Visningar:
Transkript
1 Övningsmästarprov 2 + några NP-reduktioner Algoritmer, datastrukturer och komplexitet
2 Idag Första timmen: övningsmästarprov 2 Andra timmen: NP-reduktioner
3 Uppgiftsbeskrivning Låt oss ta bort kravet på att orden i den packade texten i övningsmästarprov 1 ska vara i samma ordning som i indata. Då kan det vara möjligt att packa texten på färre rader än den giriga algoritmen kan. Textpackningsproblemet har som indata ordlängderna w1,..., wn och radlängden len. Alla tal i indata är positiva heltal. Problemet är att ta reda på det minimala antalet rader av längd len som de n orden kan rymmas på om det är tillåtet att blanda om orden. Orden ska ha mellanslag mellan sig när dom placeras ut på raderna, precis som i övningsmästarprov 1. Formulera detta minimeringsproblem som ett beslutsproblem (genom att införa ett mål) och visa att beslutsproblemet är NP-fullständigt. När du ska visa att problemet är NP-svårt är det lämpligt att reducera problemet Mängdpartitionering (givet en multimängd positiva heltal, går det att partitionera talen i två delar som har samma summa?).
4 Vi inför ett mål K i indata i formuleringen av minimeringsproblemet som beslutsproblem: Indata: ordlängder w1,..., wn, radlängd len, mål K. Alla tal är positiva heltal och alla ordlängder är högst len. Fråga: Går det att pussla in alla n ord på K rader av längd len så att det finns ett mellanslag mellan varje par av närliggande ord på samma rad?
5 Först visar vi att textpackningsproblemet ligger i NP. För varje ja-instans ska en lösning kunna verifieras i polynomisk tid. Låt lösningen vara utplaceringen av orden på K rader, alltså vilka ord som ska placeras på vilken rad, till exempel representerad som en funktion f från [1..n] till [1..K]. När lösningen är formulerad som en funktion på detta sätt behöver verifieringsalgoritmen bara kolla att längden, inklusive mellanslag, inte blir större än len på någon rad. Om K n är det trivialt att det finns en lösning (med ett ord på varje rad).
6 Först visar vi att textpackningsproblemet ligger i NP. För varje jainstans ska en lösning kunna verifieras i polynomisk tid. Låt lösningen vara utplaceringen av orden på K rader, alltså vilka ord som ska placeras på vilken rad, till exempel representerad som en funktion f från [1..n] till [1..K]. När lösningen är formulerad som en funktion på detta sätt behöver verifieringsalgoritmen bara kolla att längden, inklusive mellanslag, inte blir större än len på någon rad. Om K n är det trivialt att det finns en lösning (med ett ord på varje rad). Tidskomplexiteten för verifieringsalgoritmen är O(n) med enhetskostnad. Om antalet bitar i talen i indata är högst m så tar en addition bitkostnaden O(m) och bitkomplexiteten för algoritmen blir O(nm) som är polynomiskt.
7 Vi visar nu att problemet är NP-svårt med en reduktion av mängdpartitionering. Idén är att varje tal i indata till mängdpartitioneringsproblemet ska motsvaras av ett ord med en viss längd i textpackningsproblemet, så att vi kan få in alla ord på två rader om och endast om det går att partitionera talen i två delar med samma summa. Mellan varje ord finns det ett mellanslag. För att ta hänsyn till det borde vi låta ordlängden vara ett mindre än talets storlek, men då kommer talet ett att motsvara ordlängden noll, och det är en otillåten ordlängd. För att undvika ordlängden noll tar vi och multiplicerar varje tal med samma heltalskonstant (till exempel 2, men större tal fungerar också) innan vi drar bort ett för att få ordlängden. Då motsvaras talet 1 av ordlängden = 1. Radlängden ska sättas till ett mindre än summan av alla tal, eftersom det inte är något mellanslag efter sista ordet på raden.
8 MÄNGDPARTITIONERING({s1, s2,..., sn}) = σ 0 for i 1 to n do wi 2si 1 σ σ + si len σ 1 K 2 return TEXTPACKING({w1, w2,..., wn}, len, K)
9 Indata: {s1, s2, s3, sn} = {1, 2, 3, 4} {w1, w2, w3, w4} = {1, 3, 5, 7} len: = 9 1 (1) 7 (4) 3 (2) 5 (3)
10 För att bevisa att detta är en Karpreduktion ska vi visa att varje ja-instans för mängdpartitioneringsproblemet transformeras till en ja-instans för textpackningsproblemet och att varje nej-instans för mängdpartitioneringsproblemet transformeras till en nej-instans för textpacknings- problemet. Den andra delen är ekvivalent med att visa att för varje jainstans för textpacknings- problemet som kan skapas av transformationen så är motsvarande mängdpartitioneringsinstans en ja-instans. I en uppgift på E-nivå krävs inte att dessa två bevis genomförs i detalj
11 Om det finns en partitionering av {s1, s2,..., sn} i A och B där summan av talen i A är lika med summan av talen i B så ska vi visa att det finns en textpackning på 2 rader av längd σ 1 där σ är summan av alla talen {s1, s2,..., sn}. Eftersom A och B har samma summa så måste σ/2 vara precis denna summa. Om vi placerar ut orden som motsvarar talen i A på första raden och orden som motsvarar talen i B på andra raden så blir båda radlängderna 2σ/2 1 = σ 1 eftersom varje ord, inräknat det efterföljande mellanslaget (dvs ordlängden plus 1), är dubbelt så långt som motsvarande tals värde och det sista ordet på raden inte har något mellanslag efter sig. Därför uppfyller textpackningen villkoret.
12 Anta nu istället att vi har en textpackning på två rader av längd σ 1 och visa att det finns en mängdpartitionering. Lägg till ett mellanslag efter sista ordet på varje rad. Summan av alla ordlängder på varje rad inklusive efterföljande mellanslag är nu högst σ och motsva- rande tal har då summan högst σ/2. Eftersom summan av alla tal är σ så blir det en jämn partitionering om vi låter A vara talen som motsvarar orden på första raden och B övriga.
13 Det är också nödvändigt att visa att Karpreduktionen tar polynomisk tid. Reduktionen ovan tar med bitkostnad tid O(nm), där m är antalet bitar i största talet i indata, vilket är polynomiskt. Alltså är textpackningsproblemet NPfullständigt.
14 Bedömningskriterier Kamraträttarens namn: Den bedömda elevens namn: Rättningsprotokoll för övningsmästarprov 2 i adk18 Bedömningskriterium NP-fullständighet och NP-tillhörighet Förklarar vilka steg som behöver ingå i NPfullständighetsbevis, och vad varje steg är bra till Formulerar problemet som ett beslutsproblem Förklarar vad en lösning består av Beskriver hur man verifierar en ja-lösning eller visar NP-tillhörighet på ett annat acceptabelt sätt Motiverar att verifikationsalgoritmen (motsv.) är polynomisk Reduktionsalgoritm Beskriver reduktionen övergripande i ord och eventuellt i bild Beskriver reduktionen tillräckligt tydligt (pseudokod inte nödvändigt) Reduktionen är korrekt Tidskomplexitet för reduktionen Anger komplexitet(-sklass) för reduktionen, eller vilken som krävs för NP-reduktioner i allmänhet Motiverar tidskomplexitet (överensstämmer med algoritmen och den angivna komplexiteten) Korrekthetsresonemang Förklarar vad man behöver visa i ett korrekthetsbevis för en NP-reduktion Genomför ett korrekt resonemang som omfattar alla nödvändiga delar Helt rätt Litet fel Fel/saknas M M M M M M Kan ej bedöma Förklaring till bedömningen
15 Bara den som har med sig en lösning på övningsmästarprovet kan delta i resten av övningen Om ni inte har en lösning med er kan ni gå nu (ni får ta med er bedömningsinstruktionsbladet). Ni är välkomna tillbaka andra timmen on ni vill :)
16 Dela in er i par! Om ni jobbat ihop med lösningen får ni inte vara i samma par. Om ni är ojämnt antal blir en grupp tre. Byt lösningar inom paren Genomför kamratbedömning enskilt enligt instruktionerna (prata inte med den ni rättar när ni gör detta, även om något i lösningen är oklart) Därefter: diskutera era bedömningar med varandra (inom varje par alltså). Jag kommer dela ut närvarolistor jag vill att ni skriver på. När ni är klara: lämna in era lösningar. Behåll bedömningsprotokollen. Ta rast/gå hem.
17 Reduktion 3-SAT till största oberoende mängd 3-SAT: (x y z) && (!x u!v) && (!y!z u)... Oberoende mängd: finns en delmängd av hörn i en graf sådan att delmängden har storlek k och inte ett enda par av hörn i delmängden har en kant mellan sig
18 Reduktion 3-SAT till oberoende mängd Skapa en komponent av varje klausul (k st) Tre hörn som sitter ihop i en triangel ett hörn per literal (x, y, z) Har nu lika många komponenter som klausuler (k st) För varje hörn som motsvarar x, dra en kant till alla hörn som motsvarar!x Om det finns en oberoende mängd av storlek k så är SATinstansen satistfierbar
19 Reduktion 3-SAT till oberoende mängd
20 Reduktion Partyproblemet Vi ska ha fest och vill bjuda så många personer som möjligt Tyvärr är vi karaktärer i tv-serien Gossip Girl, och på grund av detta är det mycket drama i våra liv Vissa av våra vänner skyr varandra som pest, och vägrar gå på samma fest Andra älskar varandra mer än allt, och kommer under inga omständigheter komma om inte hela deras grupp är bjuden Kommer vi lyckas ordna en stor fest eller borde vi ge upp?
21 Reduktion Partyproblemet Det går inte att lösa på polynomisk tid Dvs det är NP-fullständigt Kan reducera största oberoende mängd OM vi har en algoritm A som löser beslutsproblemet (kan vi ha en fest med k personer), hur kan vi avgöra vilka som ska bjudas?
22 Reduktion Partyproblemet OM vi har en algoritm A som löser beslutsproblemet (kan vi ha en fest med k personer), hur kan vi avgöra vilka som ska bjudas? En gadget: Gud, djävulen och Judas. Gud och djävulen har svårt för varandra Men båda älskar Judas Kan inte bjuda någon av dem Koppla denna gadget på en gäst i taget Judas kompis med gästen Går det fortfarande att bjuda k gäster? Ta bort Judas nya kompis, och alla hennes vänner från listan. Går det inte? Då måste nya kompisen komma. Gör henne till kompis med alla som är kvar på listan. G d J
23 Reduktion 3-SAT till delmängdsumma
Algoritmer, datastrukturer och komplexitet
Algoritmer, datastrukturer och komplexitet Övningsmästarprovsövning 2 Anton Grensjö grensjo@csc.kth.se 20 november 2017 1 Dagordning 1. Genomgång av uppgiftens lösning 2. Genomgång av bedömningskriterier
Läs merAlgoritmer, datastrukturer och komplexitet
Algoritmer, datastrukturer och komplexitet Övning 8 Anton Grensjö grensjo@csc.kth.se 12 november 2015 Anton Grensjö ADK Övning 8 12 november 2015 1 / 21 Översikt Kursplanering Ö8: Mästarprov 1, oavgörbarhet
Läs merAlgoritmer, datastrukturer och komplexitet
Algoritmer, datastrukturer och komplexitet Övning 9 Anton Grensjö grensjo@csc.kth.se 9 november 2017 1 Idag Bevis av NP-fullständighet Labbteoriredovisning inför labb 4 2 Teori Teori När vi talar om NP-fullständighet
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 merAlgoritmer, datastrukturer och komplexitet
Algoritmer, datastrukturer och komplexitet Övning 10 Anton Grensjö grensjo@csc.kth.se 18 november 2015 Anton Grensjö ADK Övning 10 18 november 2015 1 / 20 Översikt Kursplanering Ö9: NP-fullständighetsbevis
Läs merAlgoritmer, 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 merFöreläsning 12+13: Approximationsalgoritmer
Föreläsning 12+13: Approximationsalgoritmer Många av de NP-fullständiga problemen är från början optimeringsproblem: TSP, Graph Coloring, Vertex Cover etc. Man tror att P NP och att det alltså inte går
Läs merAlgoritmer, 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 merAlgoritmer, datastrukturer och komplexitet
Algoritmer, datastrukturer och komplexitet Övning 7 Anton Grensjö grensjo@csc.kth.se 14 oktober 2015 Anton Grensjö ADK Övning 7 14 oktober 2015 1 / 28 Översikt Kursplanering Ö6: Algoritmkonstruktion F19:
Läs merKomplexitetsklasser och repetition
Algoritmer, datastrukturer och komplexitet, hösten 2016 Uppgifter till övning 12 Komplexitetsklasser och repetition Uppgifter på komplexitetsklasser co-np-fullständighet Ett diskret tekniskt diagnosproblem
Läs merFöreläsning 7+8: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning?
Formalisering av rimlig tid Föreläsning 7+8: NP-problem En algoritm som har körtid O(n k ) för någon konstant k är rimligt snabb. En algoritm som har körtid Ω(c n ) för någon konstant c>1 är för långsam.
Läs merAlgoritmer, 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 merFöreläsning 8+9: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning?
Formalisering av rimlig tid Föreläsning 8+9: NP-problem En algoritm som har körtid O(n k ) för någon konstant k är rimligt snabb. En algoritm som har körtid Ω(c n ) för någon konstant c>1 är för långsam.
Läs merAlgoritmer, 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 merAlgoritmer, datastrukturer och komplexitet
Algoritmer, datastrukturer och komplexitet Övning 1 Anton Grensjö grensjo@csc.kth.se 14 september 2015 Anton Grensjö ADK Övning 1 14 september 2015 1 / 22 Översikt Kursplanering F1: Introduktion, algoritmanalys
Läs merFöreläsning 8: Intro till Komplexitetsteori
Föreläsning 8: Intro till Komplexitetsteori Formalisering av rimlig tid En algoritm som har körtid O(n k ) för någon konstant k är rimligt snabb. En algoritm som har körtid Ω(c n ) för någon konstant c>1
Läs mern (log n) Division Analysera skolboksalgoritmen för division (trappdivision). Använd bitkostnad.
Algoritmer och Komplexitet ht 08. Övning 1 Algoritmanalys Ordo Jämför följande par av funktioner med avseende på hur dom växer då n växer. Tala i varje fall om ifall f(n) Θ(g(n)), f(n) O(g(n)) eller f(n)
Läs merFö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
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 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 merAlgoritmer, datastrukturer och komplexitet
Algoritmer, datastrukturer och komplexitet Övning 8 Anton Grensjö grensjo@csc.kth.se 10 november 2015 Anton Grensjö ADK Övning 8 10 november 2015 1 / 34 Översikt Kursplanering F21: Introduktion till komplexitet
Läs merAlgoritmer, datastrukturer och komplexitet
Algoritmer, datastrukturer och komplexitet Övning 4 Anton Grensjö grensjo@csc.kth.se 25 september 215 Anton Grensjö ADK Övning 4 25 september 215 1 / 28 Översikt Kursplanering F9: Dynamisk programmering
Läs merFö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 merFrågan om P=NP? Är P=NP? Bakgrund. "Snabb lösning"?!
Frågan om P=NP? Är P=NP? Institutionen för system- och rymdteknik Luleå tekniska universitet Luleå, Sverige Kan varje [beräknings-] problem vars lösning kan verifieras snabbt av en dator även lösas snabbt
Läs merFö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 merFö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 merLö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 merFöreläsning 1. Introduktion och sökning i graf. Vad är en algoritm?
Föreläsning 1. Introduktion och sökning i graf Vad är en algoritm? Först: Vad är ett problem? Består av indata och ett mål. Indata: [En beskrivning av en struktur.] Mål: [Kan vara Ja/Nej, ett tal eller
Läs merAlgoritmer, datastrukturer och komplexitet
Föreläsningsanteckningar i Algoritmer, datastrukturer och komplexitet hösten 2015 Viggo Kann Algoritmer, datastrukturer och komplexitet, föreläsning 1 Första timmen: kursöversikt Andra timmen: algoritmanalys,
Läs merÖvningshäfte 2: Induktion och rekursion
GÖTEBORGS UNIVERSITET MATEMATIK 1, MMG200, HT2017 INLEDANDE ALGEBRA Övningshäfte 2: Induktion och rekursion Övning D Syftet är att öva förmågan att utgående från enkla samband, aritmetiska och geometriska,
Läs merLö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 merI 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 merFö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 merIntroduktion 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 merProgramkonstruktion och Datastrukturer
Programkonstruktion och Datastrukturer VT 2012 Tidskomplexitet Elias Castegren elias.castegren.7381@student.uu.se Problem och algoritmer Ett problem är en uppgift som ska lösas. Beräkna n! givet n>0 Räkna
Läs merFöreläsning 5: Dynamisk programmering
Föreläsning 5: Dynamisk programmering Vi betraktar en typ av problem vi tidigare sett: Indata: En uppsättning intervall [s i,f i ] med vikt w i. Mål: Att hitta en uppsättning icke överlappande intervall
Läs merProv 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 merTentamen Datastrukturer (DAT037)
Tentamen Datastrukturer (DAT07) Datum och tid för tentamen: 2016-01-09, 14:00 18:00. Ansvarig: Nils Anders Danielsson. Nås på 0700 620 602 eller anknytning 1680. Besöker tentamenssalarna ca 15:00 och ca
Läs merI den här uppgiften ska du undersöka förhållandet mellan parabelarean och rektangelarean.
17. Figuren visar en parabel och en rektangel i ett koordinatsystem. Det skuggade området är begränsat av parabeln och x-axeln. Arean av det skuggade området kallas i fortsättningen parabelarean. Vid bedömning
Läs merDatastrukturer och algoritmer. Föreläsning 15 Inför tentamen
Datastrukturer och algoritmer Föreläsning 15 Inför tentamen 1 Innehåll Kursvärdering Vi behöver granskare! Repetition Genomgång av gammal tenta 2 Första föreläsningen: målsättningar Alla ska höja sig ett
Läs merDekomposition och dynamisk programmering
Algoritmer, datastrukturer och komplexitet, hösten 2016 Uppgifter till övning 3 Dekomposition och dynamisk programmering Max och min med dekomposition I vektorn v[1..n] ligger n tal. Konstruera en dekompositionsalgoritm
Läs meri=1 c i = B och c i = a i eller c i = b i för 1 i n. Beskriv och analysera en algoritm som löser detta problem med hjälp av dynamisk programmering.
Algoritmer och Komplexitet ht 8 Övning 3+4 Giriga algoritmer och Dynamisk programmering Längsta gemensamma delsträng Strängarna ALGORITM och PLÅGORIS har den gemensamma delsträngen GORI Denlängsta gemensamma
Läs merMA2047 Algebra och diskret matematik
MA2047 Algebra och diskret matematik Något om kombinatorik Mikael Hindgren 24 september 2018 Vad är kombinatorik? Huvudfråga: På hur många sätt kan en viss operation utföras? Några exempel: Hur många gånger
Läs merDEL I. Matematiska Institutionen KTH
1 Matematiska Institutionen KTH Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, tisdagen den 21 oktober 2008, kl 08.00-13.00. Examinator: Olof Heden.
Läs merLösningsförslag för tentamen i Datastrukturer (DAT037) från
Lösningsförslag för tentamen i Datastrukturer (DAT7) från --9 Nils Anders Danielsson. Träd- och köoperationerna har alla tidskomplexiteten O(log s), där s är antalet element i trädet/kön (notera att jämförelser
Läs merPCP-satsen på kombinatoriskt manér
austrin@kth.se Teorigruppen Skolan för Datavetenskap och Kommunikation 2005-10-24 Agenda 1 Vad är ett bevis? Vad är ett PCP? PCP-satsen 2 Vad, hur och varför? Lite definitioner Huvudresultatet 3 Ännu mer
Läs merFöreläsning 2. Kortaste vägar i grafer.
Föreläsning 2. Kortaste vägar i grafer. Problem: KORTASTE VÄGAR Den enklaste varianten är om vi inte har kantvikter och kortaste väg är en väg med såfåkanter som möjligt. Indata: En riktad graf G och en
Läs merSvar till S-uppgifter Endimensionell Analys för I och L
Svar till S-uppgifter Endimensionell Anals för I och L - 00 S 600 = 3 3 5 3850 = 5 7 847 = 7 största gemensamma delare till 600 och 3850: 5 minsta gemensamma multipel till 3850 och 847: 5 7 S a) +6+9 b)
Läs merLösningar till utvalda uppgifter i kapitel 5
Lösningar till utvalda uppgifter i kapitel 5 5.3. Vi använder Euklides algoritm och får 4485 = 1 3042 + 1443 3042 = 2 1443 + 156 1443 = 9 156 + 39 156 = 4 39. Alltså är sgd(3042, 4485) = 39. Om vi startar
Läs merProblemlösning Fk- åk 3 19/ Pia Eriksson
Problemlösning Fk- åk 3 19/12 2013 Pia Eriksson Fyra glaskulor och tre pappersstjärnor väger 63 gram. Tre glaskulor och två pappersstjärnor väger 46 gram. Alla glaskulor väger lika mycket och alla pappersstjärnor
Läs merSF2715 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 merTräd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition
Grafdefinitioner Träd N = {i}: noder (hörn) = {(i, j)}, i N, j N: bågar (kanter) Graf: G = (N, ) efinitioner Väg: Sekvens av angränsande bågar. ykel: Väg som startar och slutar i samma nod. En enkel väg
Läs merTDDI16 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
Läs merN = {i}: noder (hörn) Graf: G = (N, B) Definitioner. Väg: Sekvens av angränsande bågar. Cykel: Väg som startar och slutar i samma nod.
Polyeder 0 x, 0 x, 0 x, x + x + x, x + x + x Grafdefinitioner N = {i}: noder (hörn) = {(i, j)}, i N, j N: bågar (kanter) Graf: G = (N, ) efinitioner Väg: Sekvens av angränsande bågar. ykel: Väg som startar
Läs merOptimering med bivillkor
Optimering med bivillkor Vi ska nu titta på problemet att hitta max och min av en funktionen f(x, y), men inte över alla möjliga (x, y) utan bara för de par som uppfyller ett visst bivillkor g(x, y) =
Läs merNP-fullständighetsbevis
Algoritmer, datastrukturer och komplexitet, hösten 2016 Uppgifter till övning 9 NP-fullständighetsbevis På denna övning är det också inlämning av skriftliga lösningar av teoriuppgifterna till labb 4 och
Läs merTräd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition
Grafdefinitioner Träd N = {i}: noder (hörn) = {(i, j)}, i N, j N: bågar (kanter) Graf: G = (N, ) efinitioner Väg: Sekvens av angränsande bågar. ykel: Väg som startar och slutar i samma nod. En enkel väg
Läs merTillä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 merFöreläsning Datastrukturer (DAT037)
Föreläsning Datastrukturer (DAT037) Nils Anders Danielsson 2015-11-16 Idag Mängder, avbildningar. Hashtabeller. Sortering. Pseudokod Blandning av programmeringsspråk, matematisk notation och naturligt
Läs merOm existens och entydighet av lösningar till ordinära differentialekvationer
Om existens och entydighet av lösningar till ordinära differentialekvationer Anders Källén 11 maj 2016 1 Introduktion I det här kapitlet ska vi diskutera vad vi allmänt kan säga om lösningar till ett system
Läs merDatastrukturer 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,
Läs merDiskret Matematik A för CVI 4p (svenska)
MITTHÖGSKOLAN TFM Tentamen 2004 MAAA98 Diskret Matematik A för CVI 4p (svenska) Skrivtid: 5 timmar Datum: 3 juni 2004 Denna tentamen omfattar 10 frågor, där varje fråga kan ge 12 poäng. Delfrågornas poäng
Läs merUppsala Universitet Matematiska Institutionen Thomas Erlandsson
Uppsala Universitet Matematiska Institutionen Thomas Erlandsson LÄSANVISNINGAR VECKA 36 VERSION 1. ARITMETIK FÖR RATIONELLA OCH REELLA TAL, OLIKHETER, ABSOLUTBELOPP ADAMS P.1 Real Numbers and the Real
Läs merKaliningrad) låg vid bägge sidor av floden Pregel samt på
Grunder i matematik och logik (2018) Grafteori Marco Kuhlmann Grafteori är det område inom matematiken som undersöker egenskaper hos grafer. Inom grafteorin har begreppet graf en annan betydelse än graf
Läs merBlock 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 merFöreläsning 11. Giriga algoritmer
Föreläsning 11 Giriga algoritmer Föreläsning 11 Giriga algoritmer Användning Växelproblemet Kappsäcksproblemet Schemaläggning Färgläggning Handelsresandeproblemet Uppgifter Giriga algoritmer (Greedy algorithms)
Läs merTentamen Datastrukturer för D2 DAT 035
Tentamen Datastrukturer för D2 DAT 035 17 december 2005 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 merGrundläggande logik och modellteori
Grundläggande logik och modellteori Kapitel 7: SAT-lösare Henrik Björklund Umeå universitet 29. september, 2014 SAT En instans av SAT är en mängd av mängder av literaler. Exempel: {{p, q, r}, {p, q, s},
Läs merTentamen Datastrukturer, DAT037 (DAT036)
Tentamen Datastrukturer, DAT037 (DAT036) Datum och tid för tentamen: 2017-01-11, 14:00 18:00. Ansvarig: Fredrik Lindblad. Nås på tel nr. 031-772 2038. Besöker tentamenssalarna ca 15:00 och ca 17:00. Godkända
Läs merTräd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition
Grafdefinitioner Träd N = {i}: noder (hörn) = {(i, )}, i N, N: bågar (kanter) Graf: G = (N, ) efinitioner Väg: Sekvens av angränsande bågar. ykel: Väg som startar och slutar i samma nod. En enkel väg innehåller
Läs merTentamensskrivning 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 merMagnus Nielsen, IDA, Linköpings universitet
Föreläsning 7 Introduktion till sortering TDDC91,TDDE22,725G97: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 24 september 2018 Magnus Nielsen, IDA, Linköpings universitet 7.1 1
Läs merFEMSTEGSMODELLEN: ÖVNING & CHECKLISTA FÖR EN ÖPPEN OCH TILLGÄNGLIG VERKSAMHET
FEMSTEGSMODELLEN: ÖVNING & CHECKLISTA FÖR EN ÖPPEN OCH TILLGÄNGLIG VERKSAMHET FEMSTEGSMODELLEN: FEM STEG FÖR EN TILLGÄNGLIG VERKSAMHET STEG1 VEM NÅS? STEG 2 VEM TESTAR? STEG 3 VEM GÖR? STEG 4 VEM PÅVERKAR?
Läs merFöreläsning 11: Beräkningsgeometri
DD2458, Problemlösning och programmering under press Föreläsning 11: Beräkningsgeometri Datum: 2009-11-24 Skribenter: David Björklund, Christoer Lundell Johansson och Mårten Selin Föreläsare: Fredrik Niemelä
Läs mer1. (3p) Ett RSA-krypto har parametrarna n = 77 och e = 37. Dekryptera meddelandet 3, dvs bestäm D(3). 60 = = =
Matematiska Institutionen KTH Lösningar till tentamensskrivning på kursen Diskret Matematik, moment B, för D2 och F, SF63 och SF630, den 20 maj 2009 kl 08.00-3.00. Hjälpmedel: Inga hjälpmedel är tillåtna
Läs merLösning av tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, tisdagen den 27 maj 2014, kl
1 Matematiska Institutionen KTH Lösning av tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, tisdagen den 27 maj 2014, kl 14.00-19.00. Examinator: Olof Heden Hjälpmedel: Inga hjälpmedel
Läs merAlgebra och Diskret Matematik A (svenska)
MITTUNIVERSITETET TFM Tentamen 2005 MAAA99 Algebra och Diskret Matematik A (svenska) Skrivtid: 5 timmar Datum: 2 november 2005 Denna tenta omfattar 8 frågor, där varje fråga kan ge 3 poäng. Maximalt poängantal
Läs merFö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 merTräd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition
Grafdefinitioner Träd N = {i}: noder (hörn) = {(i, j)}, i N, j N: bågar (kanter) Graf: G = (N, ) efinitioner Väg: Sekvens av angränsande bågar. ykel: Väg som startar och slutar i samma nod. En enkel väg
Läs merTommy Färnqvist, IDA, Linköpings universitet
Föreläsning 8 Sortering och urval TDDC70/91: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 1 oktober 2013 Tommy Färnqvist, IDA, Linköpings universitet 8.1 Innehåll Innehåll 1 Sortering
Läs mer1 Duala problem vid linjär optimering
Krister Svanberg, april 2012 1 Duala problem vid linjär optimering Detta kapitel handlar om två centrala teoretiska resultat för LP, nämligen dualitetssatsen och komplementaritetssatsen. Först måste vi
Läs merTentamen i EDAF05 Algoritmer, datastrukturer och komplexitet
Tentamen i EDAF05 Algoritmer, datastrukturer och komplexitet 7 juni 2019, 8-13 Du får svara på engelska, på svenska, auf Deutsch, или по-русски. Examinator: Jonas Skeppstedt 30 av 60p behövs för betyg
Läs merLektionsanteckningar 11-12: Normalfördelningen
Lektionsanteckningar 11-12: Normalfördelningen När utfallsrummet för en slumpvariabel kan anta vilket värde som helst i ett givet intervall är variabeln kontinuerlig. Det är väsentligt att utfallsrummet
Läs merFaktorisering med hjälp av kvantberäkningar. Lars Engebretsen
Faktorisering med hjälp av kvantberäkningar Lars Engebretsen 00-1-03 Lars Engebretsen 00-1-03 Bakgrund Vanliga datorer styrs av klassiska fysikens lagar. Vanliga datorer kan simuleras av turingmaskiner
Läs merNp MaB vt Låt k = 0 och rita upp de båda linjerna. Bestäm skärningspunkten mellan linjerna.
Vid bedömning av ditt arbete med uppgift nummer 17 kommer läraren att ta hänsyn till: Hur väl du beräknar och jämför trianglarnas areor Hur väl du motiverar dina slutsatser Hur väl du beskriver hur arean
Läs merKombinatorik. 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 merDD1320 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 merFöreläsning 12. Söndra och härska
Föreläsning 12 Söndra och härska Föreläsning 12 Söndra och härska Maximal delsekvens Skyline Closest pair Växel Söndra och härska (Divide and conquer) Vi stötte på dessa algoritmer när vi tittade på sortering.
Läs merFöreläsning 12. Söndra och härska
Föreläsning 12 Söndra och härska Föreläsning 12 Söndra och härska Maximal delsekvens Skyline Closest pair Växel Uppgifter Söndra och härska (Divide and conquer) Vi stötte på dessa algoritmer när vi tittade
Läs merInstruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2
Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2 Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok,
Läs merHärledning av Black-Littermans formel mha allmänna linjära modellen
Härledning av Black-Littermans formel mha allmänna linjära modellen Ett sätt att få fram Black-Littermans formel är att formulera problemet att hitta lämpliga justerade avkastningar som ett skattningsproblem
Läs merTekniker för storskalig parsning: Grundbegrepp
Tekniker för storskalig parsning: Grundbegrepp Joakim Nivre Uppsala Universitet Institutionen för lingvistik och filologi joakim.nivre@lingfil.uu.se Tekniker för storskalig parsning: Grundbegrepp 1(17)
Läs merRepetera snabbt vad du lärde dig förra veckan. Du är nu redo att kasta dig in i nästa fas, teorin om villkor.
Lektion C2 Villkor Repetera snabbt vad du lärde dig förra veckan. Du är nu redo att kasta dig in i nästa fas, teorin om villkor. Du gör ofta val i livet, och valet du gör får olika konsekvenser och följder.
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 merGrundläggande logik och modellteori
Grundläggande logik och modellteori Kapitel 4: Konjunktiv och disjunktiv normalform Henrik Björklund Umeå universitet 15. september, 2014 CNF och DNF Konjunktiv normalform (CNF) Omskrivning av en formel
Läs merTentamen TMV210 Inledande Diskret Matematik, D1/DI2
Tentamen TMV20 Inledande Diskret Matematik, D/DI2 208-0-27 kl. 4.00 8.00 Examinator: Peter Hegarty, Matematiska vetenskaper, Chalmers Telefonvakt: Anton Johansson, telefon: 5325 (alt. Peter Hegarty 070-5705475)
Läs merLösningar till KATT 2014
Lösningar till KATT 2014 Av problemkommittén. Strumpmatchning 2 Naiv lösning (40p) Otillräcklig lösning (70p) Binärsökning (full poäng) Brädspelet Dynamisk programmering Matematisk lösning Förklaring 1
Läs merIntroduktion till programmering SMD180. Föreläsning 9: Tupler
Introduktion till programmering Föreläsning 9: Tupler 1 1 Sammansatta datatyper Strängar Sekvenser av tecken Icke muterbara Syntax: "abcde" Listor Sekvenser av vad som helst Muterbara Syntax: [1, 2, 3]
Läs mer