Branch-and-bound. David Pisinger. Videregående algoritmik, DIKU ( ) 1 Introduktion Gennemgående eksempler Brute-force metoder 10

Størrelse: px
Starte visningen fra side:

Download "Branch-and-bound. David Pisinger. Videregående algoritmik, DIKU (2007-08) 1 Introduktion 5 1.1 Gennemgående eksempler... 7. 2 Brute-force metoder 10"

Transkript

1 Branch-and-bound David Pisinger Videregående algoritmik, DIKU ( ) Indhold 1 Introduktion Gennemgående eksempler Brute-force metoder 10 3 Divide and Conquer 11 4 Grænseværdier Eksempler på grænseværdier Grænseværditest Monotonitet af grænseværdier Branch-and-bound Øvre grænseværdifunktion Nedre grænseværdi Søgestrategi Forgreningsregel Eksempler på branch-and-bound algoritmer

2 6 Kvalitet af grænseværdifunktionen Eksempler på dominans Kritiske og Semikritiske delproblemer 34 8 Kunsten at designe en god branch-and-bound algoritme 36 9 Opgaver 38 Index 42 2

3 Forord Disse noter er skrevet til kurset Videregående algoritmik på Datalogisk Institut, Københavns Universitet. Formålet med noterne er at give en samlet indføring til branch-and-bound paradigmet. I modsætning til majoriteten af tilsvarende tekster forudsætter noterne ikke kendskab til lineær programmering. Til gengæld bygger de videre på terminologi og principper fra Cormen m.fl. [7]. Da noterne er tiltænkt algoritmik-undervisning på studieår er noterne skrevet på dansk. Dette giver samtidig mulighed for at indføre en dansk terminologi på kurset. Nogle begreber har det dog ikke været muligt (eller hensigtsmæssigt) at oversætte til dansk, hvorfor de engelske betegnelser er bibeholdt. Som inspiration er benyttet noterne Branch-and-bound algorithms, af Clausen [6], samt bøgerne Integer Programming af Wolsey [24] og Elements of the Theory of Computation af Lewis og Papadimitriou [16]. For at noterne også kan bruges som mini-opslagsbog, er der udarbejdet et stikordsregister sidst i noterne. En stor tak til alle som har læst første version af disse noter, og som har bidraget til at forbedre dem. Kommentarer til 2. udgave En række fejl, heriblandt figur 3 er blevet rettet. Kapitel 8 er blevet opdateret med nyeste litteratur omkring branch-and-bound paradigmet. 9. oktober 2005, DP. 3

4 4

5 1 Introduktion Teorien om N P -fuldstændighed giver os en velbegrundet formodning om, at der er en lang række problemer, som vi ikke kan forvente at løse i polynomiel tid. Da problemerne dog kan være vigtige at løse for industri eller samfund, er det essentielt at finde løsningsmetoder til sådanne problemer. Selv om vi ikke kan garantere polynomiel køretid af sådanne algoritmer, kan man håbe på at køretiden er rimelig for de fleste instanser, som forekommer i praksis. Teorien om N P - fuldstændighed udtaler sig kun om, at der eksisterer instanser med ubehagelig køretid, men den udelukker ikke at mange instanser kan løses i polynomiel tid. Hvor vi i teorien om N P -fuldstændighed fandt det hensigtsmæssigt at betragte afgørlighedsproblemer, vil man i praktiske anvendelser snarere betragte det tilhørende optimeringsproblem. F.eks. vil man for traveling salesman-problemet næppe være tilfreds med at få et ja-nej svar på, om der findes en Hamilton-kreds af længde højst k i grafen. Man vil snarere spørge efter den korteste Hamilton-kreds. Formelt set kan et optimeringsproblem i maksimeringsform defineres som: z max f x x S (1) Her angiver f x objektfunktionen, mens S er løsningsrummet og z er den optimale løsningsværdi. Ofte vil man også være interesseret i den optimale løsning, dvs. det x hvor z f x. En række optimeringsproblemer som f.eks. traveling salesmanproblemet er defineret i minimeringsform z min f x x S (2) Man kan omforme et minimeringsproblem på formen (2) til et maksimeringsproblem ved at maksimere f x. Vi vil i disse noter indføre alle definitioner for et maksimeringsproblem. Det overlades til læseren at definere de tilsvarende begreber for minimeringsproblemer. Da klassen N P kun er defineret for afgørlighedsproblemer, giver det ikke mening at snakke om N P -fuldstændighed af optimeringsproblemer. Vi definerer derfor, at et optimeringsproblem er N P -hårdt, hvis det tilhørende afgørlighedsproblem er N P -fuldstændigt. Bemærk, at selv om man får forelagt den optimale løsning x for et N P -hårdt optimeringsproblem, kender vi ikke en effektiv metode til at verificere at den givne løsning er optimal. Rent faktisk kan det kun bevises at en løsning er optimal ved at gennemløbe hele løsningsrummet. 5

6 Hvor polynomielle problemer typisk kan løses ved hjælp af en konstruktiv algoritme, der gradvist opbygger en løsning, må vi for N P -hårde problemer ty til søgebaserede algoritmer, dvs. algoritmer som gennemløber hele eller dele af løsningsrummet for at finde den optimale løsning. I disse noter vil vi betragte branch-and-bound paradigmet, som netop er en søgebaseret algoritme. Der findes en række danske betegnelser for branch-and-bound, f.eks. del-og-hersk, forgren-og-begræns. Ingen af disse betegnelser er dog slået igennem i stort omfang, hvorfor man typisk blot fastholder den engelske betegnelse. Branch-and-bound er nok det mest benyttede værktøj til løsning af N P -hårde kombinatoriske optimeringsproblemer. Branch-and-bound er dog et paradigme (dvs. en slags skabelon) hvor en række konkrete valg skal træffes for hvert enkelt optimeringsproblem. Som disse noter vil vise, er der en bred vifte af muligheder for hver komponent af branch-and-bound paradigmet, og det er en kunstart at kombinere de rette komponenter til en vellykket algoritme. Princippet i branch-and-bound er en total gennemsøgning af løsningsrummet, hvor man bruger nogle matematiske overvejelser til at udelukke dele af løsningsrummet. En vel-designet branch-and-bound algoritme bør udelukke store dele af løsningsrummet, således at den for de fleste praktisk forekommende instanser kun skal gennemsøge en lille del af løsningsrummet. I afsnit 2 vil vi først designe en simpel algoritme til løsning af kombinatoriske optimeringsproblemer baseret på total gennemsøgning af løsningsrummet. I det følgende afsnit 3 benytter vi divideand-conquer paradigmet til at gennemsøge løsningsrummet, ved fortløbende at dele problemet op i mindre delproblemer og samle løsningerne op fra disse. For at undgå en gennemsøgning af alle delløsningsrum benytter vi grænseværdier, som defineres i afsnit 4. En grænseværdi er et tal knyttet til et delløsningsrum, som siger noget om, hvor gode løsninger vi kan forvente at finde i det givne delløsningsrum. Hvis vi ved hjælp af grænseværdien for et delløsningsrum kan se, at vi ikke vil være i stand til at forbedre den nuværende løsning, kan vi forkaste delløsningsrummet. Dette er ideen i grænseværditesten, som beskrives i afsnit 4.2. Sætter vi disse grundelementer sammen, har vi branch-and-bound paradigmet, som beskrives i afsnit 5. Vi vil gerne have så stramme grænseværdier som muligt, idet disse vil gøre det muligt at bortskære større dele af løsningsrummet. I afsnit 6 opstiller vi en formel ramme for at sammenligne kvaliteten af grænseværdier. Afsnit 7 ser på, hvilke delproblemer vi altid vil skulle behandle uanset søgestrategi og initiel løsning. Noterne afsluttes i afsnit 8 med forskellige tips til at designe vellykkede branch-and-bound algoritmer i praksis. 6

7 I disse noter vil vi benytte tre gennemgående optimeringsproblemer til at illustrere principperne. De første to er maksimeringsproblemerne knapsack-problemet og dense subgraph-problemet, mens det sidste problem er minimeringsproblemet traveling salesman-problemet. Vær opmærksom på, at alle definitioner skal vendes om når vi betragter et minimeringsproblem. Traveling salesman-problemet er med vilje medtaget for at træne læseren i denne proces. Alle eksempler med traveling salesman-problemet vil dog tydeligt være mærket med en overskrift som minder om, at det er et minimeringsproblem. 1.1 Gennemgående eksempler Eksempel 1 Knapsack-problemet Knapsack-problemet kan defineres på følgende vis: Lad der være givet n genstande, som hver har en tilknyttet profit p j og vægt w j. Udvælg en delmængde af genstandene således, at den samlede profitsum bliver maksimeret uden, at den tilhørende vægtsum overstiger en given grænse c, kaldet kapaciteten. Trods den simple struktur har knapsack-problemet utallige anvendelser. Det opstår i adskillige transportproblemer (f.eks. ladning af genstande i containere med vægtbegrænsning c), udskæringsproblemer (f.eks. udskæring af tømmer som har længde c i mindre stykker w j med forskellig salgspris p j ), investering (der er en mængde kapital c til rådighed, som kan investeres i et antal projekter med profit p j og pris w j ) eller budgetlægning (afdelingens budget er c, og der skal udvælges et antal projekter, som har størst mulig samlet nytteværdi). For en komplet oversigt over eksakte algoritmer og approximationsalgoritmer for knapsack-problemet, se [13]. En samling af testinstanser for knapsack-problemet findes i [19]. Hvis vi bruger den binære variabel x j til at angive om genstand j vælges eller ej, får vi følgende matematiske definition af problemet: 0 1 c x j (3) n n j z max p j x j j x j 1 j 1w Bemærk, at hvis genstand j vælges, dvs. x j 1, så tælles p j og w j med i henholdsvis profitsummen og vægtsummen, mens hvis x j 0 bidrager genstand j ikke til nogen af summerne. Det antages normalt, at alle koefficienter p j, w j og c er positive heltal. Se evt. Cormen m.fl. [7] s. 382 for yderligere beskrivelse af problemet. 7

8 I det følgende eksempel er c 9, og der er givet n 7 genstande med følgende profitter og vægte: j p j w j Den optimale løsning er at vælge genstandene 1 og 4, hvilket giver en optimal løsning på z 15. Eksempel 2 Dense subgraph-problemet Givet en komplet vægtet graf G V E c og et heltal k. Dense subgraph-problemet beder os udvælge en delmængde U V af størrelse U k, således at summen af kantvægte mellem knuder i U bliver maksimeret. Vi vil tænke på grafen som orienteret, dvs. mellem hvert par af knuder i og j findes to kanter, som har vægt c i j henholdsvist c ji. Selv om vi tillader, at c i j c ji så kan man altid opnå en symmetrisk form c i j c ji ved at dele summen c i j c ji ligeligt på de to kanter (overvej!). Uden tab af generalitet kan vi antage, at alle kantvægte er ikke-negative, dvs. c i j 0, idet vi ellers kan lægge en konstant M til alle kantvægte for at opnå dette (se også opgave 4 side 39). I de fleste praktiske anvendelser vil c ii 0, men i det følgende kan c ii også antage positive værdier. Dense subgraph-problemet er en umiddelbar generalisering af klike-problemet, hvorfor det dukker op i mange sammenhænge indenfor grafteori. Praktiske anvendelser omfatter bl.a. lokalisering af sendemaster, således at trafik mellem masterne maksimeres, samt lokalisering af tankstationer, supermarkeder, brandstationer, eller hospitaler, således at de spredes mest muligt geografisk. 8

9 Kun få eksakte algoritmer er præsenteret for dense subgraph-problemet [8, 20], mens der er udviklet adskillige approximationsalgoritmer [4, 10, 11, 14, 21, 22]. Formelt kan problemet defineres som følgende maksimeringsproblem: z max k c i j U V U i U j U (4) Den følgende tabel angiver kantvægtene for en graf med 7 knuder, hvori der skal udvælges en delgraf U af størrelse k 3. j i Den optimale løsning er at vælge knuderne U 2 4 6, hvilket giver en løsningsværdi på 48. Eksempel 3 Traveling salesman-problemet (minimeringsproblem) Traveling salesman-problemet har utallige anvendelser, og er blevet studeret indgående i litteraturen, se f.eks. den omfattende bog [15]. Den p.t. bedste algoritme til løsning af Traveling salesman-problemet er Concorde-løseren [2] designet af Applegate, Bixby, Chvátal og Cook [3]. Vi vil betragte den symmetriske version af traveling salesman-problemet, der formelt kan defineres som følgende optimeringsproblem: Lad V E d være en vægtet graf, hvor d i j for i j E angiver afstanden mellem knuderne i og j. Da vi betragter den symmetriske variant gælder at d i j d ji. Problemet er da at finde en Hamilton-kreds H i grafen, som har en minimal længde med hensyn til d. Hamilton-kredsen H er en delmængde af kanterne i E, hvorfor vi kan formulere problemet som: z min i j H d i j H E Her en Hamilton-kreds (5) På det følgende kort er der markeret otte byer på Bornholm. 9

10 Afstanden mellem de otte byer er givet ved følgende tabel, og vi ønsker at finde den korteste Hamilton-kreds gennem byerne. i j Den optimale løsning er at besøge byerne (knuderne) i rækkefølgen: , hvilket giver en samlet længde af Hamilton-kredsen på z Brute-force metoder Som tidligere nævnt er branch-and-bound paradigmet en søgebaseret algoritme, som i værste fald gennemsøger alle lovlige løsninger. Vi vil i dette afsnit skitsere 10

11 2 en første søgebaseret algoritme samt vurdere dens køretid. Algoritmen udnytter, at ethvert N P -problem har et kort (dvs. polynomielt) certifikat, samt at ethvert certifikat kan verificeres i polynomiel tid. Vi kan derfor gennemløbe alle kombinationsmuligheder af certifikatet, og hver gang kontrollere om verifikationsalgoritmen returnerer ja. Den samlede køretid bliver eksponentiel. Definition 1 Klassen EX P er mængden af afgørlighedsproblemer, som kan løses i eksponentiel tid på en deterministisk Turing-maskine. Formelt sagt siger vi, at et afgørlighedsproblem L EX P, hvis der findes et polynomium p n, således at enhver streng x af længde n kan afgøres i tiden 2 p n. Sætning 1 Hvis L N P, så gælder også at L EX P. Bevis: Antag at L N P, så findes en verifikationsalgoritme A x y, som kører i polynomiel tid p x y. Længden af certifikatet y skal overholde at y p 2 x for et polynomium p 2, så køretiden af A x y må også være polynomiel i x, dvs. begrænset af et polynomium p 1 x. Vi konstruerer nu en algoritme, 2 som afgør L i eksponentiel tid. Uden tab af generalitet kan vi antage, at certifikatet y er en binær streng. Vi opremser nu samtlige værdier af y i tiden 2 y p x. For hver værdi af y anvender vi verfikationsalgoritmen A x y. Hvis A x y 1 for et givet y returnerer vores algoritme værdien O 1. Hvis A x y 0 for alle y returnerer 2 algoritmen værdien 0. Køretiden af algoritmen bliver 2 p x p 1 x, hvilket viser at algoritmen afgør L i eksponentiel tid. Løsningsmetoden i ovenstående bevis kaldes brute-force opremsning og trods dens dårlige køretid, er den grundlaget for de følgende algoritmer. Fra beviset bemærker vi også, at løsningsrummet for et N P -hårdt optimeringsproblem må være begrænset. Faktisk er det begrænset af 2 y, hvor y er den binære længde af en løsning. 3 Divide and Conquer Brute-force paradigmet fra forrige afsnit fungerede kun for N P -fuldstændige afgørlighedsproblemer. Når vi skal løse et N P -hårdt optimeringsproblem på formen z max f x x S 11

12 har vi ikke en verifikationsalgoritme til rådighed. I stedet kan vi anvende divideand-conquer paradigmet fra Cormen m.fl. [7]. Vi ønsker at opdele problemet i en række mindre problemer, løse de mindre problemer, og samle informationen sammen til en optimal løsning. Der gælder Sætning 2 Lad S S 1 S k være en opdeling af S i mindre mængder, og lad z i max f x x S i være løsningsværdien svarende til den i te delmængde. Da gælder z max i 1 k z i. Bevis: z max f x x S 1 S k max i 1 k max f x x S i max i 1 z i. k Vi vil bruge betegnelsen delproblem til at betegne vores optimeringsproblem begrænset til delmængde S i. I det følgende vil vi sprogligt ikke skelne mellem en delmængde og det tilhørende delproblem. Eksempel 4 Knapsack-problemet Af pladshensyn vil vi betragte en reduceret udgave af knapsack-problemet fra eksempel 1, hvor der kun er n 3 genstande, og kapaciteten er c 6. j p j w j j Løsningsrummet er S x 1 x n n j 1 w jx c x j 0 1. På figur 1 ses en opdeling af løsningsrummet S svarende til, om en given beslutningsvariabel x i sættes til 0 eller 1. I den første opdeling får vi to delproblemer: S 1 S 2 x 1 x n S x 1 0 x 1 x n S x 1 1 (6) Tilsvarende får vi ved opdeling af S 1 de to mængder S 3 og S 4 givet ved S 3 S 4 x 1 x n S 1 x 1 0 x 2 0 x 1 x n S 1 x 1 0 x 2 1 (7) Og så fremdeles. 12

13 S S 1 S S 3 S 4 S 5 S S 7 S 9 S 11 S S 8 S 10 S 12 S 14 Figur 1: Opdeling af løsningsrum. De understregede tal svarer til ulovlige løsninger, dvs. løsningsvektorer x hvor n j 1 w jx j c. 13

14 S x 1 0 x 1 1 S 1 S 2 x 2 0 x 2 1 x 2 0 x 2 1 S 3 S 4 S 5 S 6 x 3 0 x 3 1 x 3 0 x 3 1 x 3 0 x 3 1 x 3 0 x 3 1 S 7 S 8 S 9 S 10 S 11 S 12 S 13 S 14 x f x ulovlig 6 9 ulovlig ulovlig Figur 2: Søgetræ for knapsack-problemet. De understregede mængder angiver ulovlige løsninger, dvs. løsningsvektorer x hvor n j 1 w jx j c. 14

15 z Sætning 2 viser, at vi kan finde en optimal løsning til f.eks. S 5 som max z 11 z 12 max 6 9 9, hvor z 11 er den optimale løsning til S 11, og z 12 er løsningen til S 12. Man kan illustrere opdelingen af S med et søgetræ, som vist i figur 2. Hver knude i søgetræet svarer til et delproblem S i. Hvis vi betragter to knuder i og j i søgetræet, hvor j ligger under i, så kalder vi j for et underproblem til i. 4 Grænseværdier Vi betragter igen et optimeringsproblem P på formen z max f x x S. S behøver ikke at være det originale løsningsrum for et problem, L men kan godt være et delproblem S i fremkommet ved brug af divide-and-conquer paradigmet. En nedre grænseværdi L er et reelt tal, som overholder at z. På samme måde kan vi definere en øvre grænseværdi U som et reelt tal, der overholder at U z. Enhver lovlig løsning x S til problemet P er en nedre grænseværdi, idet der oplagt gælder at f x max f x x S. Det er anderledes udfordrende at finde en øvre grænseværdi. Til dette formål har vi brug for at betragte en relaksering: Definition 2 Givet et problem P defineret som z max f x x S. Problemet R givet ved z R max g x x T er en relaksering af P, hvis der gælder: (i) S T, (ii) g x f x for alle x S. Følgende figur illustrerer princippet i en relaksering. Vi maksimerer funktionen f over mængden S. Funktionen g må ikke ligge under f i hele definitionsmængden S, men der stilles ingen krav til g udenfor S. g x f x S T 15

16 Sætning 3 Hvis R er en relaksering af P, så gælder der at z R z. Bevis: Antag, at den optimale løsning for P er x, dvs. der gælder f x z. Da x S har vi fra (ii) at g x f x. Fra (i) ved vi endvidere at x T. Dermed må gælde at z R max g x x T g x f x z. Ovenstående sætning giver os en opskrift til at bestemme øvre grænseværdier, idet vi for et problem P kan løse en tilhørende relaksering R og bestemme z R. Da gælder at U : z R er en øvre grænseværdi, idet vi har z R z max f x x S f x for ethvert x S. Man kan altid finde en triviel relaksering ved at vælge g x f x og T S. Denne relaksering vil returnere den bedst tænkelige grænseværdi U z, men den er lige så dyr at beregne, som at løse det originale problem. Man vil derfor normalt kræve, at en relaksering kan løses i polynomiel tid. Det er måske ikke videre intuitivt, at et problem kan bliver lettere at løse ved at udvide løsningsrummet S til en større mængde T, men nedenstående eksempler vil vise, at dette rent faktisk ofte er tilfældet. Tilsvarende kan nogle problemer blive lettere at løse ved at modificere objektfunktionen. For ethvert problem P vil der kunne defineres mange relakseringer, som vil resultere i et antal forskellige grænseværdier. Det er en kunstart at finde en relaksering, som giver gode grænseværdier, og som kan beregnes effektivt. Divide-and-conquer paradigmet fra afsnit 3 kan også anvendes til at bestemme grænseværdier ved opdeling af problemet i mindre delproblemer. Idet vi definerer z i max f x x S i, gælder følgende to sætninger: Sætning 4 Lad S S 1 S k være en opdeling af S i mindre mængder, og lad L i være en nedre grænseværdi for delmængde S i. Da gælder at L max i 1 k L i er en nedre grænseværdi i for S. Bevis: Da L z i har vi L i max i 1 L k max i 1 k z i z. Sætning 5 Lad S S 1 S k være en opdeling af S i mindre mængder, og lad U i være en øvre grænseværdi for delmængde S i. Da gælder at U max i 1 k U i er en øvre grænseværdi for S. 16

17 U S T i Bevis: Da z U i har vi U Endelig har vi sætningen: max i 1 U i k max i 1 z i z. k Sætning 6 Betragt et maksimeringsproblem z max f x x S, hvor f x returnerer en heltallig løsningsværdi for ethvert x S. Antag at U er en øvre grænseværdi. Da er også U en øvre grænseværdi. z z Bevis: Da f x er heltallig, må z, og følgelig z z. Da U gælder z, og dermed U. 4.1 Eksempler på grænseværdier Eksempel 5 Knapsack-problemet For at finde øvre grænseværdier for knapsack-problemet betragter vi en simpel relaksering, hvor det er tilladt at medtage brøkdele af genstandene. Dette problem kaldes det fraktionelle knapsack-problem i Cormen c 0 m.fl. [7], j givet 1 ved x (8) U 1 n n j max KP p j x j j x j 1 j 1w For at se, at der er tale om en relaksering, bemærker vi først at knapsack-problemet er defineret på formen (1) med j f x n j 1 p jx j x 1 x n n j 1 w jx c x j 0 1 Det fraktionelle knapsack-problem er defineret på samme j form c 0 med j g x n j 1 p jx j x 1 x n n j 1 w jx x 1 Da f x g x er kriterium (ii) i definition 2 overholdt. Endvidere er S T, hvorfor kriterium (i) også er opfyldt. Det fraktionelle knapsack-problem kan løses i polynomiel tid ved brug af den grådige algoritme, som beskrevet i Cormen m.fl. [7] s Først sorteres genstandene efter aftagende effektivitet p j w j, således at p 1 p w 1 2 p w 2 3 w 3 (9) 17 p n w n

18 hvorpå rygsækken fyldes som følger: Genstandene lægges i rygsækken, indtil man støder på den første genstand b, som der ikke er plads til. Den optimale løsning er da at medtage de første b 1 genstande (dvs. x j 1 for j 1 b 1), mens en brøkdel af genstand b medtages, således at hele kapaciteten udnyttes: c b j 1 1 x w j b w b Ingen af genstandene efter b medtages (dvs. x j 0 for j b 1 n). Dette giver os følgende direkte formel til at bestemme den øvre grænseværdi U 1 KP b 1 j 1 p j p b c b 1 j 1 w j w b (10) tid, hvor den tungeste beregning er sorte- Grænseværdien kan findes i O n log n ringen (9). Den grådige algoritme kan også bruges til at finde en nedre grænseværdi L. Antag, at genstandene er sorteret efter (9) og betragt genstandene i rækkefølgen Hvis der stadig er plads til en given genstand i medtages den i rygsækken, ellers fortsættes med genstand i 1. For knapsack-problemet fra eksempel 1 bemærker vi, at genstandene allerede er sorteret efter aftagende profit-vægt forhold. j p j w j Da rygsækken har kapacitet c 9 fylder vi genstande 1 2 i rygsækken og medtager en fraktionel del af genstand b 3. Beslutningsvariablene bliver x 1 x 2 1, og x Den øvre grænseværdi bliver 3 U 1 2 KP som ifølge sætning 6 kan rundes ned til U 1 KP 16. En nedre grænseværdi findes ved at vælge genstande 1 2 7, der giver værdien L

19 T Eksempel 6 Dense subgraph-problemet Ved at sætte en parentes i objektfunktionen kan problemet k skrives som z max U V U (11) i U j c i j U Lad c i være en øvre grænse på enhver kantvægt-sum, der kan udgå fra knude i. Formelt kan dette defineres som c i max k c i j U V U j U (12) Da kan udtrykket inde i parentesen af (11) begrænses i opadtil ved c (13) j c i j U og vi får følgende øvre grænseværdi for dense subgraph-problemet U 1 DSP max k c i U V U i U (14) For at indse, at der er tale om en relaksering af det originale problem, bemærker vi, at det originale problem havde objektfunktion og løsningsrum S U V U k Det nye problem har objektfunktion og løsningsrum f x i U j U c i j g x i U c i U V U Da S T er kriterium (i) i definition 2 opfyldt. Tilsvarende har vi kriterie (ii) opfyldt, da g x f x for alle x S på grund af (13). Det relakserede problem (14) kan løses i O V 2 tid. Først finder vi for hver knude i V værdien c i givet ved (12). Dette problem består i at vælge de k største kantvægte, som udgår fra knude i. Dette kan gøres i O V tid for hver knude i, jf. Problem 9-1 side 194 i Cormen m.fl. [7]. I det relakserede problem (14) skal vi igen vælge de k største tal blandt tallene c 1 c 2 c n, hvilket kan gøres i O V tid. Samlet får vi køretiden V O V O V. Som eksempel på grænseværdiberegningen kan vi betragte instansen fra eksempel 2: 19 k

20 j i Her har vi n 7 knuder, hvoraf k 3 skal udvælges. Ved at vælge de k største tal i hver række finder vi c 1 24, c 2 25, c 3 20, c 4 18, c 5 18, c 6 24 og c Dermed bliver en øvre grænseværdi U 1 DSP 73. I opgave 9 vises en strammere version af ovenstående grænseværdi. Eksempel 7 Traveling salesman-problemet (minimeringsproblem) Der er gennem tiden foreslået mange grænseværdier for traveling salesman-problemet. En af de kønneste er baseret på 1-træ relaksering. Givet en vægtet graf V E d fremkommer et 1-træ ved at finde et udspændende træ på knuderne 2 3 n og herefter forbinde knude 1 med to vilkårlige kanter. Et minimalt 1-træ findes ved at løse et mindste udspændende træ på knuderne 2 3 n, og herefter udvælge de to billigste kanter, som udgår fra knude 1 (overvej, hvorfor dette er et minimalt 1-træ). For Bornholm-instansen fra eksempel 3 konstrueres et minimalt 1-træ ved at finde et mindste udspændende træ på knuderne De to billigste kanter, som udgår fra knude 1 er 1 2 og 1 7, som tilføjes kantmængden. Samlet har vi følgende 1-træ, som koster 97 enheder:

21 S T Køretiden for at finde et mindste 1-træ domineres af, at vi skal finde et mindste udspændende træ (MST). Dette kan gøres i tiden O E log V med Kruskals algoritme, jf. Cormen m.fl. [7] afsnit 23.2 side 568. Alternativt kan man bruge Prims algoritme, som har køretiden O E V log V, hvis man benytter Fibonacci hobe. Man kan bruge 1-træer til at finde en nedre grænseværdi for traveling salesmanproblemet givet ved L 1 TSP min i j H d i j H E Her et 1-træ (15) For at indse at et minimalt 1-træ er en relaksering, bemærker vi, at det originale problem kan skrives på formen (1) med f x i j H d i j Tilsvarende har vi for problem (15) at g x d i j i j H H E H er en Hamilton-kreds (16) H E H er et 1-træ Da både traveling salesman-problemet og det mindste 1-træ har samme objektfunktion er kriterium (ii) opfyldt. Endvidere har vi, at en Hamilton-kreds også er et 1-træ, hvilket ses ved at fjerne knude 1 og bemærke, at de tilbageværende kanter udgør et træ (faktisk udgør de en vej, der naturligvis også er et træ). Da S T har vi vist kriterium (i). 4.2 Grænseværditest I forrige afsnit definerede vi en grænseværdifunktion som en funktion f, der for ethvert delproblem S i returnerer et reelt tal U, således at f x U for alle x S i. Sagt i ord giver grænseværdifunktionen en garanti for, at man ikke kan finde en løsning i S i, som er bedre end U. Man kan bruge denne viden konstruktivt til at bortskære delproblemer. Hvis man for et delproblem S i ved, at man ikke kan finde en bedre løsning end den nuværende nedre grænseværdi, så er der ingen grund til at undersøge delproblemet nærmere. Lidt mere formelt har vi følgende grænseværditest: 21

22 Sætning 7 Hvis et delproblem S i L har grænseværdi U, således at U S i (17) så kan vi forkaste S i. U Bevis: Grænseværdien sikrer, at f x L for alle x S i. Så ingen løsning x i S i vil have en bedre løsningsværdi end den allerede kendte L. 4.3 Monotonitet af grænseværdier En øvre grænseværdifunktion siges at være monoton, hvis der gælder at U S 1 U S 2, når S 1 S 2. Løst sagt skal grænseværdien blive mindre, når vi maksimerer over et mindre løsningsrum. Dette gælder oplagt for alle relakseringer, hvor S T i definition 2, og det vil også gælde for de fleste fornuftige relakseringer, hvor S T. Hvis en grænseværdifunktion er monoton, vil den øvre grænseværdi aftage efterhånden, som vi bevæger os ned i søgetræet af delproblemer. Dette hænger sammen med den trivielle observation, at vi hver gang opdeler problemet i mindre delproblemer, således at ovenstående kriterium er opfyldt for en knude og dens underliggende knude. 5 Branch-and-bound Vi er nu i stand til at skitsere en generisk branch-and-bound algoritme for et maksimeringsproblem på formen z max f x x S (18) I den nedenstående algoritme angiver L en liste af delproblemer S i givet ved de tilhørende løsningsrum. Listen L vil ofte være organiseret som en prioritetskø. Vi kalder delproblemerne i L for åbne delproblemer, mens delproblemer, der allerede er blevet behandlet, kaldes lukkede delproblemer. Endvidere vedligeholder vi en global nedre grænseværdi L samt den tilhørende løsning x. 22

23 1 L : ; L : S 2 while L /0 3 vælg et delproblem S i fra L 4 L : L S i 5 if S i /0 then 6 find en øvre grænseværdi U S i 7 if U S i L then 8 find en lovlig løsning x S i 9 if f x L then L : f x ; x : x 10 opdel S i i delproblemer S 1 i S k i 11 tilføj delproblemerne til L, dvs. sæt L : L 12 endif 13 endif 14 endwhile S 1 i S k i En branch-and-bound algoritme for et maksimeringsproblem vil derfor bestå af følgende fire komponenter: 1. En øvre grænseværdifunktion, der for et givet delproblem returnerer en øvre grænse på værdien af den bedste løsning, som vi kan finde i delrummet. 2. En nedre grænseværdi, som på ethvert tidspunkt angiver den hidtil bedst kendte løsning. 3. En søgestrategi, som fastlægger en rækkefølge for behandlingen af delproblemer. 4. En forgreningsregel, som for alle delproblemer, der ikke kan forkastes af grænseværditesten, angiver, hvorledes det tilhørende løsningsrum skal opdeles. Dermed skabes to eller flere nye delproblemer. 5.1 Øvre grænseværdifunktion En god grænseværdifunktion er afgørende for, at en branch-and-bound algoritme bliver vellykket. Jo strammere grænseværdier vi kan få, des mindre bliver søgetræet. Som beskrevet i afsnit 4 findes grænseværdier ved relaksering af optimeringsproblemet. Der findes en række standardteknikker, som kan benyttes i 23

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Har en hvis lighed med divide-and-conquer: Begge opbygger løsninger til større problemer

Læs mere

Broer, skak og netværk Carsten Thomassen: Naturens Verden 10, 1992, s. 388-393.

Broer, skak og netværk Carsten Thomassen: Naturens Verden 10, 1992, s. 388-393. Broer, skak og netværk Side 1 af 6 Broer, skak og netværk Carsten Thomassen: Naturens Verden 10, 1992, s. 388-393. Eksempler på praktiske anvendelser af matematik og nogle uløste problemer Indledning Figur

Læs mere

Symmetrisk traveling salesman problem Dat2A godkendelsesopgave 2

Symmetrisk traveling salesman problem Dat2A godkendelsesopgave 2 Symmetrisk traveling salesman problem Dat2A godkendelsesopgave 2 Jens Kristian Jensen, David Pisinger og Martin Zachariasen 13. april 2003 1 Formalia Dette er den anden af to godkendelsesopgaver på kurset

Læs mere

Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012. May 15, 2012

Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012. May 15, 2012 Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012 May 15, 2012 1 CONTENTS 2012 CONTENTS Contents 1 Kompleksitet 3 1.1 Køretid................................................ 3 1.2 Asymptotisk

Læs mere

Prioritetskøer og hobe. Philip Bille

Prioritetskøer og hobe. Philip Bille Prioritetskøer og hobe Philip Bille Plan Prioritetskøer Træer Hobe Repræsentation Prioritetskøoperationer Konstruktion af hob Hobsortering Prioritetskøer Prioritetskø Vedligehold en dynamisk mængde S af

Læs mere

DATV: Introduktion til optimering og operationsanalyse, 2007. Følsomhed af Knapsack Problemet

DATV: Introduktion til optimering og operationsanalyse, 2007. Følsomhed af Knapsack Problemet DATV: Itroduktio til optimerig og operatiosaalyse, 2007 Følsomhed af Kapsack Problemet David Pisiger, Projektopgave 1 Dette er de første obligatoriske projektopgave på kurset DATV: Itroduktio til optimerig

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet ksamen 06, side af sider anmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. ursusnavn: lgoritmer og datastrukturer ursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet Eksamen 005, F side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed:

Læs mere

Kvadratisk 0-1 programmering. David Pisinger

Kvadratisk 0-1 programmering. David Pisinger Kvadratisk - programmerig David Pisiger 27-8 MAX-CUT problemet Givet e ikke-orieteret graf G = (V, E) er MAX-CUT problemet defieret som MAX-CUT = {< G > : fid et sit S, T i grafe G som maksimerer atal

Læs mere

Projekt 7.4 Kvadratisk programmering anvendt til optimering af elektriske kredsløb

Projekt 7.4 Kvadratisk programmering anvendt til optimering af elektriske kredsløb Projekt 7.4 Kvadratisk programmering anvendt til optimering af elektriske kredsløb Indledning: I B-bogen har vi i studieretningskapitlet i B-bogen om matematik-fsik set på parallelkoblinger af resistanser

Læs mere

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Finn Nordbjerg 1/9 Indledning I det følgende introduceres et par abstrakte

Læs mere

Dynamisk programmering. Flere eksempler

Dynamisk programmering. Flere eksempler Dynamisk programmering Flere eksempler Eksempel 1: Længste fælles delstreng Alfabet = mængde af tegn: {a,b,c,...,z}, {A,C,G,T}, {,1} Streng = sekvens x 1 x 2 x 3... x n af tegn fra et alfabet: helloworld

Læs mere

t a l e n t c a m p d k Matematiske Metoder Anders Friis Anne Ryelund 25. oktober 2014 Slide 1/42

t a l e n t c a m p d k Matematiske Metoder Anders Friis Anne Ryelund 25. oktober 2014 Slide 1/42 Slide 1/42 Hvad er matematik? 1) Den matematiske metode 2) Hvad vil det sige at bevise noget? 3) Hvor begynder det hele? 4) Hvordan vælger man et sæt aksiomer? Slide 2/42 Indhold 1 2 3 4 Slide 3/42 Mængder

Læs mere

Kapitel 9. Optimering i Microsoft Excel 97/2000

Kapitel 9. Optimering i Microsoft Excel 97/2000 Kapitel 9 Optimering i Microsoft Excel 97/2000 9.1 Indledning... 164 9.2 Numerisk løsning af ligninger... 164 9.3 Optimering under bibetingelser... 164 9.4 Modelformulering... 165 9.5 Gode råd ommodellering...

Læs mere

Effektiv søgning på web-steder

Effektiv søgning på web-steder Effektiv søgning på web-steder 7. maj 1998 Udarbejdet af DialogDesign ved Rolf Molich, Skovkrogen 3, 3660 Stenløse Indhold 1. Indledning 3 1.1. Model for søgning 3 2. Forskellige former for søgning 4 2.1.

Læs mere

Emneopgave: Lineær- og kvadratisk programmering:

Emneopgave: Lineær- og kvadratisk programmering: Emneopgave: Lineær- og kvadratisk programmering: LINEÆR PROGRAMMERING I lineær programmering løser man problemer hvor man for en bestemt funktion ønsker at finde enten en maksimering eller en minimering

Læs mere

Approximationsalgoritme giver garanti for løsningskvalitet Heuristik giver ingen garanti for løsningskvalitet

Approximationsalgoritme giver garanti for løsningskvalitet Heuristik giver ingen garanti for løsningskvalitet Generelle optimeringsheuristikker Også kaldet metaheuristikker. Idag gennemgås: Indplacering Lokal søgning Simuleret udgløding Tabusøgning Genetiske algoritmer Løsningsmetoder for NP -hårde opimeringsproblemer

Læs mere

Kapitel 2 Tal og variable

Kapitel 2 Tal og variable Tal og variable Uden tal ingen matematik - matematik handler om tal og anvendelse af tal. Matematik beskæftiger sig ikke udelukkende med konkrete problemer fra andre fag, og de konkrete tal fra andre fagområder

Læs mere

Om brugen af matematiske tegn og objekter i en god matematisk fremstilling

Om brugen af matematiske tegn og objekter i en god matematisk fremstilling Om brugen af matematiske tegn og objekter i en god matematisk fremstilling af Petur Birgir Petersen Et særpræg ved matematik som videnskab er den udstrakte brug af symboler. Det er vigtigt at symbolerne

Læs mere

Tal. Vi mener, vi kender og kan bruge følgende talmængder: N : de positive hele tal, Z : de hele tal, Q: de rationale tal.

Tal. Vi mener, vi kender og kan bruge følgende talmængder: N : de positive hele tal, Z : de hele tal, Q: de rationale tal. 1 Tal Tal kan forekomme os nærmest at være selvfølgelige, umiddelbare og naturgivne. Men det er kun, fordi vi har vænnet os til dem. Som det vil fremgå af vores timer, har de mange overraskende egenskaber

Læs mere

VisiRegn: En e-bro mellem regning og algebra

VisiRegn: En e-bro mellem regning og algebra Artikel i Matematik nr. 2 marts 2001 VisiRegn: En e-bro mellem regning og algebra Inge B. Larsen Siden midten af 80 erne har vi i INFA-projektet arbejdet med at udvikle regne(arks)programmer til skolens

Læs mere

Anvendt litteratur : Mat C v. Bregendal, Nitschky Schmidt og Vestergård, Systime 2005

Anvendt litteratur : Mat C v. Bregendal, Nitschky Schmidt og Vestergård, Systime 2005 Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin juni 2011 Institution Campus Bornholm Uddannelse Fag og niveau Lærer Hold Hhx Matematik C Peter Seide 1AB

Læs mere

Kapitel 1. Planintegraler

Kapitel 1. Planintegraler Kapitel Planintegraler Denne tekst er en omarbejdet version af kapitel 7 i Gunnar Mohrs noter til faget DiploMat 2, og opgaverne er et lille udpluk af opgaver fra Mogens Oddershede Larsens bog Matematik

Læs mere

Projekt 10.16: Matematik og demokrati Mandatfordelinger ved sidste kommunalvalg

Projekt 10.16: Matematik og demokrati Mandatfordelinger ved sidste kommunalvalg Projekt 10.16: Matematik og demokrati Mandatfordelinger ved sidste kommunalvalg Introduktion: Vi vil nu se på et konkret eksempel på hvordan man i praksis fordeler mandaterne i et repræsentativt demokrati,

Læs mere

matx.dk Differentialregning Dennis Pipenbring

matx.dk Differentialregning Dennis Pipenbring mat.dk Differentialregning Dennis Pipenbring 0. december 00 Indold Differentialregning 3. Grænseværdi............................. 3. Kontinuitet.............................. 8 Differentialkvotienten

Læs mere

matx.dk Enkle modeller

matx.dk Enkle modeller matx.dk Enkle modeller Dennis Pipenbring 28. juni 2011 Indhold 1 Indledning 4 2 Funktionsbegrebet 4 3 Lineære funktioner 8 3.1 Bestemmelse af funktionsværdien................. 9 3.2 Grafen for en lineær

Læs mere

Matematisk induktion

Matematisk induktion Induktionsbeviser MT01.0.07 1 1 Induktionsbeviser Matematisk induktion Sætninger der udtaler sig om hvad der gælder for alle naturlige tal n N, kan undertiden bevises ved matematisk induktion. Idéen bag

Læs mere

UNION-FIND. UNION-FIND-problemet. Forbundethed kan være svær at afgøre (især for en computer) Eksempel på udførelse

UNION-FIND. UNION-FIND-problemet. Forbundethed kan være svær at afgøre (især for en computer) Eksempel på udførelse UNION-FIND-problemet UNION-FIND inddata: en følge af heltalspar (p, q); betydning: p er forbundet med q uddata: intet, hvis p og q er forbundet, ellers (p, q) Eksempel på anvendelse: Forbindelser i computernetværk

Læs mere

Kapitel 7 Matematiske vækstmodeller

Kapitel 7 Matematiske vækstmodeller Matematiske vækstmodeller I matematik undersøger man ofte variables afhængighed af hinanden. Her ser man, at samme type af sammenhænge tit forekommer inden for en lang række forskellige områder. I kapitel

Læs mere

Studieretningsprojekter i machine learning

Studieretningsprojekter i machine learning i machine learning 1 Introduktion Machine learning (ml) er et område indenfor kunstig intelligens, der beskæftiger sig med at konstruere programmer, der kan kan lære fra data. Tanken er at give en computer

Læs mere

Kapital- og rentesregning

Kapital- og rentesregning Rentesregning Rettet den 28-12-11 Kapital- og rentesregning Kapital- og rentesregning Navngivning ved rentesregning I eksempler som Niels Oles, hvor man indskyder en kapital i en bank (én gang), og banken

Læs mere

Introduktion Til Konkurrenceprogrammering

Introduktion Til Konkurrenceprogrammering Introduktion Til Konkurrenceprogrammering Søren Dahlgaard og Mathias Bæk Tejs Knudsen {soerend,knudsen}@di.ku.dk Version 0.1 Indhold Indhold i Introduktion 1 1 Palindromer 3 1.1 Introduktion til Python...............

Læs mere

Mandags Chancen. En optimal spilstrategi. Erik Vestergaard

Mandags Chancen. En optimal spilstrategi. Erik Vestergaard Mandags Chancen En optimal spilstrategi Erik Vestergaard Spilleregler denne note skal vi studere en optimal spilstrategi i det spil, som i fjernsynet går under navnet Mandags Chancen. Spillets regler er

Læs mere

Skriftlig Eksamen Diskret Matematik (DM528)

Skriftlig Eksamen Diskret Matematik (DM528) Skriftlig Eksamen Diskret Matematik (DM528) Institut for Matematik & Datalogi Syddansk Universitet Tirsdag den 20 Januar 2009, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug

Læs mere

RSA Kryptosystemet. Kryptologi ved Datalogisk Institut, Aarhus Universitet

RSA Kryptosystemet. Kryptologi ved Datalogisk Institut, Aarhus Universitet RSA Kryptosystemet Kryptologi ved Datalogisk Institut, Aarhus Universitet 1 Kryptering med RSA Her følger først en kort opridsning af RSA kryptosystemet, som vi senere skal bruge til at lave digitale signaturer.

Læs mere

Appendiks 6: Universet som en matematisk struktur

Appendiks 6: Universet som en matematisk struktur Appendiks 6: Universet som en matematisk struktur En matematisk struktur er et meget abstrakt dyr, der kan defineres på følgende måde: En mængde, S, af elementer {s 1, s 2,,s n }, mellem hvilke der findes

Læs mere

Grafer og graf-gennemløb

Grafer og graf-gennemløb Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Figur: Terminologi: n = V, m = E (eller V og E (mis)bruges som V og E ).

Læs mere

Den rejsende sælgers problem. Den rejsende sælgers problem. Første omtale af problemet 1832

Den rejsende sælgers problem. Den rejsende sælgers problem. Første omtale af problemet 1832 Den rejsende sælgers problem? En sælger skal besøge n byer og vende tilbage til sit udgangspunkt I hvilken rækkefølge skal han besøge byerne, hvis han ønsker at minimere sine rejseomkostninger? Den rejsende

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Institution Uddannelse Fag og niveau Lærer(e) Hold Termin hvori undervisningen afsluttes: maj-juni, 2014 IBC-Kolding

Læs mere

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo Philip Bille Nærmeste naboer. Vedligehold en dynamisk mængde S af elementer. Hvert element har en nøgle key[] og satellitdata data[]. operationer. PREDECESSOR(k): returner element med største nøgle k.

Læs mere

Kalkulus 1 - Opgaver. Anne Ryelund, Anders Friis og Mads Friis. 20. januar 2015

Kalkulus 1 - Opgaver. Anne Ryelund, Anders Friis og Mads Friis. 20. januar 2015 Kalkulus 1 - Opgaver Anne Ryelund, Anders Friis og Mads Friis 20. januar 2015 Mængder Opgave 1 Opskriv følgende mængder med korrekt mængdenotation. a) En mængde A indeholder alle hele tal fra og med 1

Læs mere

Iteration af et endomorft kryptosystem. Substitutions-permutations-net (SPN) og inversion. Eksklusiv disjunktion og dens egenskaber

Iteration af et endomorft kryptosystem. Substitutions-permutations-net (SPN) og inversion. Eksklusiv disjunktion og dens egenskaber Produktsystemer, substitutions-permutations-net samt lineær og differentiel kryptoanalyse Kryptologi, fredag den 10. februar 2006 Nils Andersen (Stinson 3., afsnit 2.7 3.4 samt side 95) Produkt af kryptosystemer

Læs mere

Opgave 1 Regning med rest

Opgave 1 Regning med rest Den digitale signatur - anvendt talteori og kryptologi Opgave 1 Regning med rest Den positive rest, man får, når et helt tal a divideres med et naturligt tal n, betegnes rest(a,n ) Hvis r = rest(a,n) kan

Læs mere

-9-8 -7-6 -5-4 -3-2 -1 1 2 3 4 5 6 7 8 9. f(x)=2x-1 Serie 1

-9-8 -7-6 -5-4 -3-2 -1 1 2 3 4 5 6 7 8 9. f(x)=2x-1 Serie 1 En funktion beskriver en sammenhæng mellem elementer fra to mængder - en definitionsmængde = Dm(f) består af -værdier og en værdimængde = Vm(f) består af -værdier. Til hvert element i Dm(f) knttes netop

Læs mere

Programmering, algoritmik og matematik en nødvendig sammenblanding?

Programmering, algoritmik og matematik en nødvendig sammenblanding? Programmering, algoritmik og matematik en nødvendig sammenblanding? Oplæg til IDA møde, 29. november 2004 Martin Zachariasen DIKU 1 Egen baggrund B.Sc. i datalogi 1989; Kandidat i datalogi 1995; Ph.D.

Læs mere

Spilstrategier. 1 Vindermængde og tabermængde

Spilstrategier. 1 Vindermængde og tabermængde Spilstrategier De spiltyper vi skal se på her, er primært spil af følgende type: Spil der spilles af to spillere A og B som skiftes til at trække, A starter, og hvis man ikke kan trække har man tabt. Der

Læs mere

PARTIELT MOLÆRT VOLUMEN

PARTIELT MOLÆRT VOLUMEN KemiF1 laboratorieøvelser 2008 ØvelseF1-2 PARTIELT MOLÆRT VOLUMEN Indledning I en binær blanding vil blandingens masse være summen af komponenternes masse; men blandingens volumen vil ikke være summen

Læs mere

Grundlæggende Matematik

Grundlæggende Matematik Grundlæggende Matematik Hayati Balo, AAMS August 2012 1. Matematiske symboler For at udtrykke de verbale udsagn matematisk korrekt, så det bliver lettere og hurtigere at skrive, indføres en række matematiske

Læs mere

Easy Guide i GallupPC

Easy Guide i GallupPC Easy Guide i GallupPC Version. 6.00.00 Gallup A/S Masnedøgade 22-26 DK 2100 København Ø Telefon 39 27 27 27 Fax 39 27 50 80 Indhold SÅDAN KOMMER DU I GANG MED AT ANVENDE GALLUPPC... 2 TILFØJELSE AF UNDERSØGELSER

Læs mere

Lineær programmering. med Derive. Børge Jørgensen

Lineær programmering. med Derive. Børge Jørgensen Lineær programmering med Derive Børge Jørgensen 1 Indholdsfortegnelse. Forord ---------------------------------------------------------------------------------- 2 Introduktion til lineær programmering

Læs mere

Projekt - Visual Basic for Applications N på stribe

Projekt - Visual Basic for Applications N på stribe Projekt - Visual Basic for Applications N på stribe Mikkel Kaas og Troels Henriksen - 03x 3. november 2005 1 Introduktion Spillet tager udgangspunkt i det gamle kendte 4 på stribe, dog med den ændring,

Læs mere

Årsplan 8. klasse matematik 2013-2014 Uge Emne Faglige mål Trinmål Materialer/ systemer 33 og løbende

Årsplan 8. klasse matematik 2013-2014 Uge Emne Faglige mål Trinmål Materialer/ systemer 33 og løbende Årsplan 8. klasse matematik 2013-2014 33 løbende 33-34 løbende Løbende Problemregning ( faglig læsning) Mundtlig matematik (forberede oplæg til 6. klasse) - flere forskellige trinmål Ben, formelsamlingen,

Læs mere

1. Kræfter. 2. Gravitationskræfter

1. Kræfter. 2. Gravitationskræfter 1 M1 Isaac Newton 1. Kræfter Vi vil starte med at se på kræfter. Vi ved fra vores hverdag, at der i mange daglige situationer optræder kræfter. Skal man fx. cykle op ad en bakke, bliver man nødt til at

Læs mere

Rekursion C#-version

Rekursion C#-version Note til Programmeringsteknologi Akademiuddannn i Informationsteknologi Rekursion C#-version Finn Nordbjerg 1 Rekursion Rekursionsbegrebet bygger på, at man beskriver noget ved "sig selv". Fx. kan tallet

Læs mere

Personlig stemmeafgivning

Personlig stemmeafgivning Ib Michelsen X 2 -test 1 Personlig stemmeafgivning Efter valget i 2005 1 har man udspurgt en mindre del af de deltagende, om de har stemt personligt. Man har svar fra 1131 mænd (hvoraf 54 % har stemt personligt

Læs mere

En karakteristik af de regulære sprog. Ugens emner. FA minimering [5.1-5.2] MyHill-Nerode-sætningen en algoritme til minimering af FA er

En karakteristik af de regulære sprog. Ugens emner. FA minimering [5.1-5.2] MyHill-Nerode-sætningen en algoritme til minimering af FA er Ugens emner FA minimering [.-.] MyHill-Nerode-sætningen en algoritme til minimering af FA er En karakteristik af de regulære sprog Et sprog L er regulært hvis og kun hvis L beskrives af et regulært udtryk

Læs mere

1 monotoni & funktionsanalyse

1 monotoni & funktionsanalyse 1 monotoni & funktionsanalyse I dag har vi grafregnere (TI89+) og programmer på computer (ex.vis Derive og Graph), hvorfor det ikke er så svært at se hvordan grafen for en matematisk funktion opfører sig

Læs mere

Besvarelses forslag til Tag-hjemeksamen Vinteren 02 03

Besvarelses forslag til Tag-hjemeksamen Vinteren 02 03 IMFUFA Carsten Lunde Petersen Besvarelses forslag til Tag-hjemeksamen Vinteren 02 0 Hvor ikke andet er angivet er henvisninger til W.R.Wade An Introduction to analysis. Opgave a) Idet udtrykket e x2 cos

Læs mere

MODUL 8. Differensligninger. Forfattere: Michael ELMEGÅRD & Øistein WIND-WILLASSEN. Modulet er baseret på noter af Peter BEELEN.

MODUL 8. Differensligninger. Forfattere: Michael ELMEGÅRD & Øistein WIND-WILLASSEN. Modulet er baseret på noter af Peter BEELEN. MODUL 8 Differensligninger Forfattere: Michael ELMEGÅRD & Øistein WIND-WILLASSEN Modulet er baseret på noter af Peter BEELEN. 26. august 2014 2 Indhold 1 Introduktion 5 1.1 Rekursioner og differensligninger.........................

Læs mere

Projekt 1 Spørgeskemaanalyse af Bedst på Nettet

Projekt 1 Spørgeskemaanalyse af Bedst på Nettet Projekt 1 Spørgeskemaanalyse af Bedst på Nettet D.29/2 2012 Udarbejdet af: Katrine Ahle Warming Nielsen Jannie Jeppesen Schmøde Sara Lorenzen A) Kritik af spørgeskema Set ud fra en kritisk vinkel af spørgeskemaet

Læs mere

Gödel: Über formal unentschiedbare Sätze der Principia Mathematica und verwandter Systeme I, 1931

Gödel: Über formal unentschiedbare Sätze der Principia Mathematica und verwandter Systeme I, 1931 Kommentar til 1 Gödel: Über formal unentschiedbare Sätze der Principia Mathematica und verwandter Systeme I, 1931 Denne afhandling af den 24-årige Kurt Gödel er blevet en klassiker. Det er vist den eneste

Læs mere

Matematik, der afgør spil

Matematik, der afgør spil Artikeltype 47 Matematik, der afgør spil Sandsynlighedsregning vinder ofte. Kombinatorisk spilteori sejrer hver gang Mads Thrane Hvis du er træt af at tabe opvasketjansen i Sten Saks Papir eller Terning,

Læs mere

Baggrundsnote om logiske operatorer

Baggrundsnote om logiske operatorer Baggrundsnote om logiske operatorer Man kan regne på udsagn ligesom man kan regne på tal. Regneoperationerne kaldes da logiske operatorer. De tre vigtigste logiske operatorer er NOT, AND og. Den første

Læs mere

Matematik for stx C-niveau

Matematik for stx C-niveau Thomas Jensen og Morten Overgård Nielsen Matematik for stx C-niveau Frydenlund Nu 2. reviderede, udvidede og ajourførte udgave Nu 2. reviderede, udvidede og ajourførte udgave Matema10k Matematik for stx

Læs mere

Fagårsplan 10/11 Fag: Matematik Klasse: 7.ABC Lærer: Henrik Stillits. Fagområde/ emne

Fagårsplan 10/11 Fag: Matematik Klasse: 7.ABC Lærer: Henrik Stillits. Fagområde/ emne Fagårsplan 10/11 Fag: Matematik Klasse: 7.ABC Lærer: Henrik Stillits. Fagområde/ emne Matematiske færdigheder Grundlæggende færdigheder - plus, minus, gange, division (hele tal, decimaltal og brøker) Identificer

Læs mere

2 Risikoaversion og nytteteori

2 Risikoaversion og nytteteori 2 Risikoaversion og nytteteori 2.1 Typer af risikoholdninger: Normalt foretages alle investeringskalkuler under forudsætningen om fuld sikkerhed om de fremtidige betalingsstrømme. I virkelighedens verden

Læs mere

Guide til lektielæsning

Guide til lektielæsning Guide til lektielæsning Gefions lærere har udarbejdet denne guide om lektielæsning. Den henvender sig til alle Gefions elever og er relevant for alle fag. Faglig læsning (=lektielæsning) 5- trinsmodellen

Læs mere

Her er et spørgsmål, du måske aldrig har overvejet: kan man finde to trekanter med samme areal?

Her er et spørgsmål, du måske aldrig har overvejet: kan man finde to trekanter med samme areal? Her er et spørgsmål, du måske aldrig har overvejet: kan man finde to trekanter med samme areal? Det er ret let at svare på: arealet af en trekant, husker vi fra vor kære folkeskole, findes ved at gange

Læs mere

Binære søgetræer. Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb. Philip Bille

Binære søgetræer. Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb. Philip Bille Binære søgetræer Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb Philip Bille Binære søgetræer Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor

Læs mere

Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet

Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet 3. april 2009 1 Kryptering med offentlige nøgler Indtil midt i 1970 erne troede næsten alle, der beskæftigede sig

Læs mere

2 Erik Vestergaard www.matematikfysik.dk

2 Erik Vestergaard www.matematikfysik.dk Erik Vestergaard www.matematikfysik.dk Erik Vestergaard www.matematikfysik.dk 3 Lineære funktioner En vigtig type funktioner at studere er de såkaldte lineære funktioner. Vi skal udlede en række egenskaber

Læs mere

Arealet af en trekant Der er mange formler for arealet af en trekant. Den mest kendte er selvfølgelig

Arealet af en trekant Der er mange formler for arealet af en trekant. Den mest kendte er selvfølgelig Arealet af en trekant Der er mange formler for arealet af en trekant. Den mest kendte er selvfølgelig som også findes i en trigonometrisk variant, den såkaldte 'appelsin'-formel: Men da en trekants form

Læs mere

GPS stiller meget præcise krav til valg af målemetode

GPS stiller meget præcise krav til valg af målemetode GPS stiller meget præcise krav til valg af målemetode 1 Måleteknisk er vi på flere måder i en ny og ændret situation. Det er forhold, som påvirker betydningen af valget af målemetoder. - Der er en stadig

Læs mere

Matricer og lineære ligningssystemer

Matricer og lineære ligningssystemer Matricer og lineære ligningssystemer Grete Ridder Ebbesen Virum Gymnasium Indhold 1 Matricer 11 Grundlæggende begreber 1 Regning med matricer 3 13 Kvadratiske matricer og determinant 9 14 Invers matrix

Læs mere

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen

Læs mere

Graph brugermanual til matematik C

Graph brugermanual til matematik C Graph brugermanual til matematik C Forord Efterfølgende er en guide til programmet GRAPH. Programmet kan downloades gratis fra nettet og gemmes på computeren/et usb-stik. Det betyder, det også kan anvendes

Læs mere

Hypotesetest. Altså vores formodning eller påstand om tingens tilstand. Alternativ hypotese (hvis vores påstand er forkert) H a : 0

Hypotesetest. Altså vores formodning eller påstand om tingens tilstand. Alternativ hypotese (hvis vores påstand er forkert) H a : 0 Hypotesetest Hypotesetest generelt Ingredienserne i en hypotesetest: Statistisk model, f.eks. X 1,,X n uafhængige fra bestemt fordeling. Parameter med estimat. Nulhypotese, f.eks. at antager en bestemt

Læs mere

Dig og din puls Lærervejleding

Dig og din puls Lærervejleding Dig og din puls Lærervejleding Indledning I det efterfølgende materiale beskrives et forløb til matematik C, hvori eleverne skal måle hvilepuls og arbejdspuls og beskrive observationerne matematisk. Materialet

Læs mere

Komplekse tal og Kaos

Komplekse tal og Kaos Komplekse tal og Kaos Jon Sporring Datalogisk Institut ved Københavns Universitet Universitetsparken 1, 2100 København Ø August, 2006 1 Forord Denne opgave er tiltænkt gymnasiestuderende med matematik

Læs mere

Åben uddannelse, Efterår 1996, Oversættere og køretidsomgivelser

Åben uddannelse, Efterår 1996, Oversættere og køretidsomgivelser 3/10/96 Seminaret den 26/10 vil omhandle den sidste fase af analysen og de første skridt i kodegenereringen. Det drejer sig om at finde betydningen af programmet, nu hvor leksikalsk og syntaktisk analyse

Læs mere

brikkerne til regning & matematik funktioner preben bernitt

brikkerne til regning & matematik funktioner preben bernitt brikkerne til regning & matematik funktioner 2+ preben bernitt brikkerne til regning & matematik funktioner 2+ beta udgave som E-bog ISBN: 978-87-92488-32-9 2009 by bernitt-matematik.dk Kopiering af denne

Læs mere

Forén og find. Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter.

Forén og find. Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter. Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter Philip Bille Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening

Læs mere

Introduktion til MatLab Matematisk Modellering af Dynamiske Modeller ved Kasper Bjering Jensen, RUC, februar 2010

Introduktion til MatLab Matematisk Modellering af Dynamiske Modeller ved Kasper Bjering Jensen, RUC, februar 2010 Introduktion til MatLab Matematisk Modellering af Dynamiske Modeller ved Kasper Bjering Jensen, RUC, februar 2010 Computere er uvurderlige redskaber for personer der ønsker at arbejde med matematiske modeller

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Maj juni 2012 Institution Campus Vejle Uddannelse Fag og niveau Lærer(e) Hold HHX Matematik B Ejner Husum

Læs mere

Det er en af de hyppigst forekommende udregninger i den elementære talbehandling at beregne gennemsnit eller middeltal af en række tal.

Det er en af de hyppigst forekommende udregninger i den elementære talbehandling at beregne gennemsnit eller middeltal af en række tal. Tre slags gennemsnit Allan C. Malmberg Det er en af de hyppigst forekommende udregninger i den elementære talbehandling at beregne gennemsnit eller middeltal af en række tal. For mange skoleelever indgår

Læs mere

Rentesregning. Dine drømme er kun et klik væk... Lån op til 25.000 kr. nu

Rentesregning. Dine drømme er kun et klik væk... Lån op til 25.000 kr. nu Rentesregning Vi skal kigge på hvordan en lille rente kan have stor betydning på den samlede gæld. Vi skal kigge på lånetyper og opsparings samt gældsformlerne. Version 2.1 Sct. Knud Henrik S. Hansen Dine

Læs mere

Daglig brug af JitBesked 2.0

Daglig brug af JitBesked 2.0 Daglig brug af JitBesked 2.0 Indholdsfortegnelse Oprettelse af personer (modtagere)...3 Afsendelse af besked...4 Valg af flere modtagere...5 Valg af flere personer der ligger i rækkefølge...5 Valg af flere

Læs mere

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo Philip Bille er. Vedligehold en dynamisk mængde S af elementer. Hvert element har en nøgle x.key og satellitdata x.data. operationer. PREDECESSOR(k): returner element x med største nøgle k. SUCCESSOR(k):

Læs mere

Maple. Skærmbilledet. Vi starter med at se lidt nærmere på opstartsbilledet i Maple. Værktøjslinje til indtastningsområdet. Menulinje.

Maple. Skærmbilledet. Vi starter med at se lidt nærmere på opstartsbilledet i Maple. Værktøjslinje til indtastningsområdet. Menulinje. Maple Dette kapitel giver en kort introduktion til hvordan Maple 12 kan benyttes til at løse mange af de opgaver, som man bliver mødt med i matematiktimerne på HHX. Skærmbilledet Vi starter med at se lidt

Læs mere

01017 Diskret Matematik E12 Alle bokse fra logikdelens slides

01017 Diskret Matematik E12 Alle bokse fra logikdelens slides 01017 Diskret Matematik E12 Alle bokse fra logikdelens slides Thomas Bolander 1 Udsagnslogik 1.1 Formler og sandhedstildelinger symbol står for ikke eller og ( A And) hvis... så... hvis og kun hvis...

Læs mere

Kompendium i faget. Matematik. Tømrerafdelingen. 2. Hovedforløb. Y = ax 2 + bx + c. (x,y) Svendborg Erhvervsskole Tømrerafdelingen Niels Mark Aagaard

Kompendium i faget. Matematik. Tømrerafdelingen. 2. Hovedforløb. Y = ax 2 + bx + c. (x,y) Svendborg Erhvervsskole Tømrerafdelingen Niels Mark Aagaard Kompendium i faget Matematik Tømrerafdelingen 2. Hovedforløb. Y Y = ax 2 + bx + c (x,y) X Svendborg Erhvervsskole Tømrerafdelingen Niels Mark Aagaard Indholdsfortegnelse for H2: Undervisningens indhold...

Læs mere

ALMINDELIGT ANVENDTE FUNKTIONER

ALMINDELIGT ANVENDTE FUNKTIONER ALMINDELIGT ANVENDTE FUNKTIONER I dette kapitel gennemgås de almindelige regnefunktioner, samt en række af de mest nødvendige redigerings- og formateringsfunktioner. De øvrige redigerings- og formateringsfunktioner

Læs mere

Løsningsforslag MatB December 2013

Løsningsforslag MatB December 2013 Løsningsforslag MatB December 2013 Opgave 1 (5 %) a) En linje l går gennem punkterne: P( 2,3) og Q(2,1) a) Bestem en ligning for linjen l. Vi ved at linjen for en linje kan udtrykkes ved: y = αx + q hvor

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Institution Uddannelse Fag og niveau Lærer(e) Hold Termin hvori undervisningen afsluttes: Maj-juni, 11. Denne

Læs mere

Eksponentielle sammenhænge

Eksponentielle sammenhænge Eksponentielle sammenhænge 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Indholdsfortegnelse Variabel-sammenhænge... 1 1. Hvad er en eksponentiel sammenhæng?... 2 2. Forklaring med ord af eksponentiel vækst... 2, 6

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Sommer 2014 Institution Campus Vejle Uddannelse HHX Fag og niveau Matematik B ( Valghold ) Lærer(e) LSP (

Læs mere

Side 1 af 10. Undervisningsbeskrivelse. Stamoplysninger til brug ved prøver til gymnasiale uddannelser. Termin Maj-juni 2009/10

Side 1 af 10. Undervisningsbeskrivelse. Stamoplysninger til brug ved prøver til gymnasiale uddannelser. Termin Maj-juni 2009/10 Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Maj-juni 2009/10 Institution Uddannelse Fag og niveau Lærer(e) Hold Handelsskolen Sjælland Syd, Vordingborg

Læs mere

Poster design. Meningen med en poster

Poster design. Meningen med en poster Poster design At præsentere et naturvidenskabelig emne er ikke altid lige nemt. Derfor bruges ofte plakater, såkaldte posters, til at fremvise forskning på fx messer eller konferencer. Her kan du finde

Læs mere

3. klasse 6. klasse 9. klasse

3. klasse 6. klasse 9. klasse Børne- og Undervisningsudvalget 2012-13 BUU Alm.del Bilag 326 Offentligt Elevplan 3. klasse 6. klasse 9. klasse Matematiske kompetencer Status tal og algebra sikker i, er usikker i de naturlige tals opbygning

Læs mere