Robusthed i geometriske algoritmer Michael Neidhardt

Størrelse: px
Starte visningen fra side:

Download "Robusthed i geometriske algoritmer Michael Neidhardt"

Transkript

1 Kandidatspeciale, Datalogisk Institut Københavns Universitet, december 2008 Vejleder Jyrki Katajainen Robusthed i geometriske algoritmer Michael Neidhardt

2 Abstract The description of many geometric algorithms assumes that all arithmetic computations produce correct results. Naively implementing an algorithm with floating point-types exposes the program to rounding errors, which can lead to qualitative errors and program crashes. These are called robustness problems and several solutions exist. In this report I analyse a number of algorithms that solve the all-nearest-neighbors-problem and analyse a number of solutions to robustness problems, notably semi-static floating point filters and multiprecision types. The algorithms have been implemented with and without robust solutions. Benchmarks confirm the overall picture that robustness comes at a price, that filters are superior to multiprecision types, and that it is relatively hard to provoke this kind of error, meaning that it is often sufficient to use floating point calculations. The last fact makes filters attractive, in that they often use floating point-calculations as the first step. Resumé I beskrivelsen af mange geometriske algoritmer antages det at alle beregninger giver et korrekt resultat. Ved en naiv implementering med flydende tal risikerer man dog afrundingsfejl. Disse fejl kan medføre andre fejl, også kvalitative, som kan bringe et program i en udefineret tilstand og få det til at gå ned. Sådanne problemer kaldes robusthedsproblemer. Der er forskellige måder at afhjælpe dem på. Jeg analyserer i denne rapport en række algoritmer der løser det geometriske problem alle-nærmeste-naboer. Jeg analyserer et antal løsninger på robusthedsproblemer, primært semistatiske filtre og multipræcisionstyper og har implementeret algoritmerne både med og uden disse løsninger. En række testkørsler bekræfter alle det overordnede billede, nemlig at robusthed koster i form af ekstra køretid, at filtre er multipræcisionstyper overlegne, og at det er relativt svært at fremprovokere fejl, hvilket vil sige at man i mange tilfælde kan nøjes med beregninger med flydende tal. Det sidste gør filtre attraktive, idet de ofte har beregning med flydende tal som første trin.

3 Indhold 1 Introduktion Casestudie Geometriske primitiver Heltal eller flydende tal Rapportens struktur Kildekode Flydende tal Formatet Normalisering Afrunding Fejlanalyse Robusthed Fejltolerante algoritmer Eksakte algoritmer Metoder Triangulering Algoritmen Triangulering med TTL Punktlokalisering Lovliggørelse af kanter ANN med TTL Kompleksitet Algoritmisk robusthed Numerisk robusthed Triangulering med CGAL ANN med CGAL Kompleksitet Numerisk robusthed Plane sweep Algoritmen Behandling af et skæringspunkt Behandling af et datapunkt Kompleksitet Algoritmisk robusthed

4 5.3.1 Skæringspunkter Bisektorernes ordning Numerisk robusthed Kd-træer Algoritmen Konstruktion ANN-søgning Kompleksitet Bladstørrelse Numerisk robusthed Implementering Programmerne Data og computer Resultater Overordnede resultater Detailresultater Tre mindre punktmængder Konklusion 64 A Implementeringsdetaljer 66 A.1 TTL triangulering A.2 Plane-sweep A.2.1 Datastrukturer A.2.2 Algoritmisk robusthed A.2.3 Typeskift i programmet

5 1 Introduktion Denne rapport dokumenterer mit forsøg på at undersøge og beskrive robusthed i geometriske algoritmer. At en algoritme er robust vil her sige at den regner korrekt, at den derfor leverer et korrekt svar, og at den stopper. At dette overhovedet er et problem skyldes primært afrundingsfejl. Geometriske algoritmer er oftest designet til beregningsmodellen kaldet reel RAM (RRAM) og med inddata i generel position [17, 40, 43]. RRAM er en model hvori de primitive operationer (addition, subtraktion, multiplikation, division, sammenligninger) antages anvendt på reelle tal med uendelig præcision - se [38]. At inddata er i generel position betyder fx i planen at der hverken findes tre punkter på samme linie eller fire punkter på samme cirkel. Når en sådan algoritme implementeres benyttes ofte flydende tal, som kun er en tilnærmelse til de reelle, med deraf følgende risiko for afrundingsfejl. Det er herudover en udbredt opfattelse at geometriske algoritmer er ikke-trivielle at implementere se [17, 30, 31]. 1.1 Casestudie Jeg undersøger emnet ved at analysere, implementere og afprøve en række algoritmer. De løser alle det geometriske problem der hedder alle nærmeste naboer, ANN. Givet en punktmængde S indeholdende n punkter, og en metrik, der angiver afstand mellem punkterne i S, kan ANN-problemet defineres som: For ethvert punkt p S find et punkt i S\{p} der er tættest på p. Som antydet findes en række forskellige algoritmer der løser det. I dette speciale begrænser jeg mig til løsninger i to dimensioner. Se [15] for en mere komplet gennemgang af algoritmer til løsning af ANN. De algoritmer jeg ser på er inkrementel Delaunay-triangulering (to udgaver), plane sweep og Kd-træer. De valgte algoritmer bliver beskrevet og jeg gør detaljeret rede for de dele der er direkte relateret til robusthed og eksakthed. 1.2 Geometriske primitiver Geometriske primitiver som at bestemme hvor et punkt ligger i forhold til en linie gennem to andre punkter, og at bestemme hvorvidt et punkt er på, uden for eller inde i en cirkel gennem tre andre punkter er meget udbredte i geometriske algoritmer. En funktion som her kaldes orient2d afgør det første spørgsmål, og 5

6 1. INTRODUKTION en anden funktion kaldet incircle afgør det andet. I begge indgår beregning af fortegnet for en determinant. På engelsk kaldes disse funktioner for predicates hvilket jeg oversætter til prædikater på dansk. Andre funktioner danner nye objekter, fx skæringspunktet mellem to ikke-parallelle linier i planen, og disse kaldes konstruktorer. Svarene fra disse prædikater, og objekterne der dannes i konstruktorerne bestemmer i nogle tilfælde strukturen (topologien) for ens løsning, og altså kan en kvantitativ fejl medføre kvalitative fejl. Eksemplerne er mange, fx trianguleringer i planen der er ikke-planare, konvekse hylstre der ikke er konvekse, programmer der går ned o.l. (se fx [32, 34, 35, 40, 43]). 1.3 Heltal eller flydende tal Det er oplagt at unøjagtigheder forårsaget af afrundingsfejl er forbundet med flydende tal, og ikke heltal, men løsningen er desværre ikke bare at benytte heltal. Det var ikke fra starten af mit arbejde med denne opgave fastlagt om inddata skulle begrænses til den ene eller den anden type, men i og med at beskrivelsen af en af algoritmerne forudsætter heltallige koordinater blev det fastslået at heltal også ville være relevante. Metoder som beskrevet i [41] arbejder med flydende tal, og forfatteren gør sig også overvejelser om dette. Han nævner at man i mange tilfælde kan skalere og approksimere sig til heltal, og at det tidligere var klart hurtigere at regne med heltal. Han ender med at konkludere at den bedste grund til at udvikle eksakte flydende-tals-biblioteker er, at det så vil kunne bruges i mange eksisterende programmer som forventer flydende tal. Derudover nævnes at det i online-algoritmer kan være svært og/eller tidskrævende at vedligeholde en uniform skalering, idet data ikke er kendt på forhånd. En tredie artikel beskriver determinant-udregninger hvor inddata forventes at være heltal, men gemt som et flydende tal (fx i en double i C++ med alle decimaler lig nul). Hvis man kun foretager addition, subtraktion og multiplikation med heltal, er der heller intet nøjagtighedsproblem i at gemme heltal i flydendetals-variabler. Overløb vil altid være et muligt problem, men det problem har også andre løsninger end dem jeg fokuserer på her. Overløb vil dog blive berørt kort i kapitlet om plane sweep-algoritmen. 1.4 Rapportens struktur I de følgende to kapitler giver jeg en kort beskrivelse af det flydende talsystem og en oversigt over robusthed og metoder til at opnå dette. Derefter følger de tre centrale kapitler der beskriver algoritmerne til løsning af ANN, og hvordan de kan gøres robuste. I kapitel syv beskrives mine implementeringer og de tilhørende testresultater, mens kapitel otte indeholder konklusion og afrunding. Jeg skriver i øvrigt for mig selv, i den forstand at jeg antager læseren mht. datalogisk viden er på det niveau jeg var på ved starten af dette projekt. 1.5 Kildekode Kildekoden findes her: 6

7 2 Flydende tal De flydende tal udgør i en computer en endelig talmængde, som kan kaldes F. For at opnå standardisering introduceredes omkring 1985 IEEE 754 1, Standard for Binary Floating-Point Arithmetic. Langt de fleste computere (iflg. [27, s. 17]) implementerer flydende tal iflg. denne standard. Den omhandler bl.a. repræsentation af tal i binært format og principper for beregninger. I det følgende, som er baseret på [21, 27], betyder standarden IEEE Formatet Et flydende talsystem, kaldet et F-system, er defineret ved fire tal: β = base p = præcision e min = mindste eksponent e max = største eksponent Et flydende tal, x F, består af disse tre dele: x = ± }{{} F ortegn d 0.d 1 d 2...d p 1 } {{ } β e }{{} Signifikand Eksponent I denne sammenhæng er β = 2. Der findes 4 præcisioner i standarden: enkelt, dobbelt, enkelt udvidet og dobbelt udvidet. I tabel 2.1 ses værdier for p, e min, og e max. Enkelt Enkelt udv. Dobbelt Dobbelt udv. p e max e min Bits i eksponenten Bits i alt Kan købes her: 7

8 2. FLYDENDE TAL At en double kan rumme 1 fortegnsbit, 53 signifikand-bits og 11 eksponentbits i 64 bits skyldes at den mest betydende af de 53 bit i signifikanden ikke gemmes, da den altid er 1. Dette skyldes at tallene gemmes i normaliseret form. Et flydende tal i dobbelt præcision er organiseret i computeren på denne måde (mest betydende bits til venstre): Bit: Fortegn Eksponent Signifikand De 11 bit i eksponenten for en double gemmes som et positivt tal i [0, 2047]. For at få den reelle værdi skal der fratrækkes en såkaldt bias på 1023 (127 for enkeltpræcision). Der findes følgende kombinationer (i tabellen er bias fratrukket eksponenten). For alle værdier gælder at de kan være positive eller negative. Signifikand Eksponent Værdi = ±0 > = ±subnormal 0 [ 1022, 1023] = ±normaliseret = ± 2.2 Normalisering Det decimale tal, 0.1, kan repræsenteres som både og I IEEE 754 er (næsten) alle flydende tal normaliserede, hvilket vil sige at det første ciffer i signifikanden er forskelligt fra 0. Dette gør repræsentationen af et flydende tal unik. Det medfører også, når basen er 2, at man ikke behøver at gemme det første ciffer, og at man derfor får en ekstra bit til signifikanden. I denne form kan man dog ikke repræsentere 0, så derfor kræves en speciel form alle cifre i signifikanden sættes til 0, og eksponenten til e min 1 = Med et endeligt antal cifre er det klart at man ikke kan have samme antal decimaler for meget store tal som for meget små tal. Dette antyder problemerne med operationer på tal af meget forskellig størrelsesorden. Derudover er der også problemer mht. repræsentation af visse decimale tal i binære systemer, fx kan 0.1 decimalt ikke repræsenteres eksakt i et binært system. Et system med β = 2, p = 3, e min = 1, e max = 2, går fra til , dvs. decimalt fra 0.5 til 7. Herunder vises talrækken grafisk (kun 0 og positive tal vises): Hvert repræsenterbart tal i dette F-system er repræsenteret ved en lodret streg. Det er karakteristisk for disse talsystemer, at der dels ingen tal findes tæt ved 0, dels at afstanden mellem to nabotal vokser hver gang eksponenten 8

9 2. FLYDENDE TAL vokser. Det skyldes normaliseringen; mindste signifikand er og mindste eksponent er e min, så mindste positive tal er β emin. IEEE 754 giver mulighed for det der kaldes gradvist underløb (eng. gradual underflow), hvilket giver flere tal omkring 0. Det opnås ved at tillade ikke-normaliserede tal. I dette eksempel ville man få flg. ekstra tal: = = = Disse tal, kaldet subnormale eller denormaliserede, er dog mindre præcise, idet de benytter et ciffer færre end de normaliserede. I standarden er mindste normaliserede tal i dobbelt præcision og det største er ( ) Afrunding I IEEE 754 er det standard at afrunde til nærmeste flydende tal med afrunding til lige i tvivlstilfælde. Standarden foreskriver også at der anvendes eksakt afrunding. Eksakt afrunding betyder, at hvis et resultat kan repræsenteres eksakt med p bits, så gemmes det eksakte resultat. Hvis ikke, så gemmes det nærmeste flydende tal der kan repræsenteres i p bit. Hvis man fx i et binært system med 4-bit præcision udfører additionen (binære tal), gemmes resultatet Afrunding til lige betyder at man, i tilfælde af at der er to mulige resultater, vælger det lige tal som resultat. Standarden giver også mulighed for at anvende afrunding mod ±, hvilket bl.a. kan udnyttes i intervalregning. 2.4 Fejlanalyse Til at tale generelt om fejl og afvigelse benyttes begreberne absolut og relativ fejl (se fx [27]). Absolut fejl = tilnærmet værdi - eksakt værdi, Relativ fejl = absolut fejl/eksakt værdi. Den afvigelse der måtte være mellem et reelt tal, x, og dets flydende-talrepræsentant, x, kan måles på flere måder; absolut fejl, relativ fejl og ulp (engelsk for units in last position). Den relative fejl er som nævnt ( x x)/x. Med ulp angives størrelsen på fejlen: Hvis fx et flydende tal, (for β = 10, p = 3), repræsenterer det reelle tal , så er fejlen på to ulp. En ulp kan også ses som størrelsesordenen for den mindst betydende bit i et tal. En ulp står i forhold til et konkret tal, fx er ulp(1) = 0.001, ulp(10) = 0.01 og ulp(1110) = 1, for et binært system med 4-bit præcision. Som et mål for granulariteten anvendes systemets såkaldte maskinpræcision eller maskinepsilon, ε. Dette tal afhænger af afrundingsreglen: 9

10 2. FLYDENDE TAL Afrunding ved afskæring: ε = β 1 p, Afrunding til nærmeste: ε = 1 2 β1 p. I dobbelt præcision og med afrunding til nærmeste er ε = Maskinpræcision er en øvre grænse for fejl: x x ε x x x x ε. Det gælder i øvrigt at associativitet ikke er garanteret i beregninger foretaget med flydende tal: (1 + ε) + ε = 1, mens 1 + (ε + ε) > 1. 10

11 3 Robusthed Der er muligvis ikke enighed om hvad ordet robust betyder i algoritmisk sammenhæng, men i denne rapport beskæftiger jeg mig kun med metoder der gør algoritmer numerisk eksakte. Det vil altså sige at jeg sætter lighedstegn mellem robuste og eksakte algoritmer, med den tilføjelse at en eksakt algoritme godt kan indeholde både ineksakte og eksakte metoder, blot den garanterer at resultatet er eksakt. Der er tilfælde hvor man er tilfreds med tilnærmede numeriske resultater, med en garanti for at algoritmen stopper eller med at det topologiske element er korrekt. De situationer ser jeg ikke på, men vil her give et overblik over nogle af de eksisterende metoder. I [40] foreslås en opdeling af algoritmer i to kategorier, der håndterer robusthedsproblemer på forskellige måder: 1 Fejltolerante algoritmer. 2 Eksakte algoritmer. Algoritmer i den første kategori kan siges at benytte numeriske metoder i minimalt til moderat omfang. De vil kun blive præsenteret i en kort gennemgang i dette kapitel, som er baseret på [40, 46, 47, 49, 35]. 3.1 Fejltolerante algoritmer I denne kategori af algoritmer anvendes flydende tal-beregninger, men det antages at fejl har en begrænset størrelse, dvs. en størrelse man kan leve med. Ideen er at der på trods af fejl kan opnås brugbare resultater. Et eksempel er ε-geometri [40]. Heri gøres objekter tykkere, så fx et punkt bliver til en disk, og en linie bliver til arealet mellem to parallelle linier (en fed streg). Såkaldte ε-prædikater returnerer et svar der angiver hvor meget (i en eller anden, her uspecificeret, forstand) inddata tilfredsstiller prædikatet. Et andet eksempel er den aksiomatiske tilgang, hvor ideen iflg. [40] er, at afdække de egenskaber ved primitive operationer der er essentielle for at bevise en algoritmes korrekthed. Herpå findes så invarianter der udelukkende er baseret på disse egenskaber. Et tredie eksempel er metoder der kaldes parsimonious. Det ord kan oversættes til nærig, og det der hentydes til er at man vil undgå at udføre beregninger hvis resultat kan udledes af tidligere beregninger. Et eksempel er Pappus teorem, 11

12 3. ROBUSTHED hvori en bestemt konfiguration af seks punkter gør at man kan udlede at tre andre punkter ligger på linie. Blandt metoder med minimal anvendelse af numeriske metoder finder man den topologisk-orienterede, som beskrevet i [47]. Den tager udgangspunkt i to antagelser. A: Logiske og kombinatoriske beregninger kan udføres fejlfrit, mens numeriske beregninger ikke kan. B: Der er som udgangspunkt ingen kendt grænse for de numeriske fejl. Metoden består, meget kort fortalt, af tre trin. Antag at man skal løse et givet geometrisk problem, P, med en given konventionel algoritme, f. Man danner så en robust algoritme, f, på følgende måde: 1. Find de rent topologiske egenskaber, Q, som løsningen skal have, og som kan kontrolleres i rimelig tid. Det er ikke helt klart hvad der menes med rimelig tid, men artiklen nævner at fx egenskaber der er NP-hårde at kontrollere ikke skal med. 2. Beskriv den basale del af algoritmen med topologiske og kombinatoriske termer, på en sådan måde at de fundne egenskaber, Q, garanteres. Dette kaldes at danne det topologiske skelet. Her vil oftest indgå ikkedeterministiske valg. Et eksempel på elementer der kan indgå her er, at opdele en graf i to dele og tilføjelse/sletning af knuder til/fra en graf. 3. Sidste skridt består i, med brug af numeriske metoder, at fastlægge hvordan de ikke-deterministiske dele skal udføres. Algoritmer dannet med dette princip producerer altid et resultat, men kvaliteten kan variere. I [46] beskrives en topologisk robust implementering af en algoritme der beregner et Voronoi-diagram. I Voronoi-algoritmer benyttes prædikatet incircle, og artiklen beskriver en kørsel af dette program hvor alle kald til deres incircle-prædikat returnerede et tilfældigt tal. Programmet producerede dog stadig et resultat der overholdt de krav der opstillet. Jeg har ikke brugt meget tid på denne metode, og det er ikke klart for mig hvordan det skal gøres i praksis, men det virker interessant at fokusere på topologiske egenskaber. 3.2 Eksakte algoritmer Som sagt er en eksakt algoritme her en der garanterer et korrekt resultat. Det kan ske med en udelukkende eksakt beregning, men det kan også ske med en blanding af ineksakte og eksakte beregninger. Det første kaldes ofte multipræcisionsmetoder, mens det andet ofte kaldes filtermetoder. I et filter benyttes flydende tal-beregning kombineret med fejlanalyse. Hvis analysen siger god for beregningen accepteres den, ellers benyttes en bedre metode, og det kan i sidste ende betyde multipræcisionsmetoder. Valget af den konkrete tilgang afhænger af flere ting, bl.a. af problemets natur, hastighedskrav og selvfølgelig af evt. krav til nøjagtighed af resultatet. Flere artikler kategoriserer algoritmer efter kvalitet. Iflg. [43] kan en geometrisk algoritme være eksakt, dvs. altid korrekt, robust, dvs. altid korrekt for en eller anden perturbation af inddata, stabil, dvs. hvor perturbation er lille, og ned til skrøbelig som ikke garanterer at levere et brugbart resultat. 12

13 3. ROBUSTHED Metoder Som nævnt kan man skelne mellem multipræcisions- og filtermetoder. De første går ud på at sikre sig at der altid er tilstrækkelig præcision til at undgå afrundingsfejl, mens de andre først forsøger med en unøjagtig metode, og med fejlanalyse bagefter undersøger om resultatet er troværdigt. Multipræcision Hvis man vil opnå (principielt) uendelig præcision må man gå fra at benytte de hurtige hardware-baserede beregninger til delvist at benytte software. Denne tilgang medfører næsten altid langsomme beregninger. Eksempler er GMP, LEDA og CGAL se hhv. [20, 2, 11]. Alle de tre nævnte biblioteker har både heltalsog flydende tals-versioner af multipræcisionstyper. Det er i en konkret situation ofte muligt at begrænse sig til blot en udvidet, og ikke uendelig, præcision. Dette kræver at størrelsen af inddata har en kendt øvre grænse. Derudover skal man udregne hvor store udtrykkene kan blive, hvorved man får en øvre grænse for præcision. Det er dog ikke oplagt hvordan man udnytter dette. Jeg er ikke stødt på et multipræcisions-bibliotek der tillader at sætte en grænse for præcision. I praksis vil man derfor benytte et af de nævnte biblioteker, som netop håndterer uendeligt store størrelser. For alle disse typer gælder at de benytter en struktur der tillader et tal at vokse. I LEDAs integer-type er et tal gemt som en vektor af unsigned longtyper, med fortegn og størrelse gemt i ekstra variabler. I [33] findes algoritmer til addition, subtraktion, multiplikation og division af sådanne store tal. Filtermetoder I mange tilfælde kan resultatet af en udregning med flydende tal godt bruges, og det udnyttes i filtermetoder. Der findes forskellige former for filtre, og de opdeles typisk i tre grupper: 1. Statiske, hvor fejlgrænsen udregnes en gang for alle. Det kræver en kendt øvre grænse for den absolutte værdi af inddata. 2. Semi-statiske, hvor fejlgrænsen udregnes undervejs, men dele af denne udregning dannes en gang for alle. 3. Dynamiske, hvor ingen udregning udføres før algoritmen går i gang. Filtre kan kobles sammen, fx kan man i samme program først bruge et semistatisk, fulgt af et dynamisk hvis det første fejler, og eksakt beregning hvis det dynamiske fejler. Et eksempel på et semi-statisk filter er i bestemmelse af fortegnet for et udtryk. Her kan man nøjes med at sikre sig at resultatet er tilstrækkeligt lang fra 0: Som det sås tidligere er ε x den maksimale absolutte fejl i udtrykket x, beregnet med flydende tal. Hvis x ε x > 0 kan man stole på fortegnet af x. 13

14 3. ROBUSTHED Intervalregning Som antydet herover er man tit kun interesseret i at et resultat ligger i et givet interval, og ikke den eksakte værdi. Intervalregning er en metode hvori tal ses som intervaller. Et sådant interval består af to flydende tal, og beregninger foregår på disse intervaller. Et tal repræsenteres ved et endeligt interval: [x] = [x, x]. Operationer på disse er defineret som følger: [x] + [y] = [x + y, x + y] [x] [y] = [x y, x y] [x] [y] = [min{xy, xy, xy, xy]}, max{xy, xy, xy, xy]} Hvis man udregner et resultat med intervalregning, og kun søger fortegnet, kan man stole på resultatet hvis intervallet ikke indeholder 0. I [9] beskrives hvordan man udnytter IEEE 754 i denne forbindelse. For at sikre mod afrundingsfejl rundes den nedre grænse ned til det nærmeste mindre flydende tal, og den øvre grænse rundes op til det nærmeste større flydende tal. IEEE 754 giver mulighed for afrunding mod ±. Det kræver dog at processoren sættes i den rette tilstand, så for at lette beregningerne gemmes et interval ikke som [x] = [x, x], men som [x] = [ x, x]. Det gør det muligt altid at bruge afrunding mod, man skal altså ikke ændre afrundingsprincip imellem beregninger. Perturbering af data Mange problemer i forbindelse med beregning af determinanter (i geometrisk sammenhæng) opstår når data ikke er i den såkaldte generelle position. Der argumenteres i nogle artikler for at man perturberer data, så de kommer i generel position. Det er relevant i de tilfælde hvor data er målte størrelser, og derfor udsat for en vis usikkerhed, fx aminosyrer i et protein. I den forbindelse kan det nævnes at konvertering fra decimal til binær form også indeholder risici. Disse emner kommer jeg dog ikke nærmere ind på i denne rapport, men [40, 49] indeholder mere information. 14

15 4 Triangulering En triangulering af en punktmængde i planen danner en planar graf. I en sådan graf er der (langt) færre kanter end i en komplet graf, hvilket gør det (langt) hurtigere at finde den nærmeste nabo for et punkt (via punktets forbundne naboer, dvs. kanterne der udgår fra det) end med brute-force. Derfor kaldes triangulering i denne sammenhæng af og til for en filtrering, idet man filtrerer irrelevante data bort, og derpå løser opgaven for en mindre datamængde. I dette kapitel beskriver jeg Delaunay-triangulering, men starter dog med en nært beslægtet struktur. Et Voronoi-diagram for punktmængden S R 2 indeholdende n punkter kaldes Vor(S), se fig Figur 4.1: Til venstre et Voronoi-diagram for en punktmængde. Til højre en Delaunay-graf for samme punktmængde. Vor(S) inddeler planen i n regioner. Hver region er tilknyttet et punkt i S, dette punkt kaldes generatoren for regionen. Kanterne der markerer regionerne kaldes Voronoi-kanter. En region afgrænser det område af planen hvori man er tættere på regionens generator end på nogen andet punkt i S. Skæringspunkter mellem kanter kaldes Voronoi-punkter. To generatorer, hvis regioner deler en Voronoi-kant, kaldes Voronoi-naboer. Principielt kan man, med de rette datastrukturer og mulighed for at traversere disse, let finde en generators nærmeste nabo-generator. Det kræver blot at man for hver region har adgang til dens Voronoi-kanter, og for hver kant har adgang til dens to regioner samt sidstnævntes generator se [6]. Vor(S) har en dual graf, kaldet en Delaunay-graf eller DG(S). Den har et 15

16 4. TRIANGULERING punkt eller knude 1 for hver generator i Vor(S), en facet for hvert Voronoi-punkt, og der er en kant mellem to knuder i DG(S) hvis de to tilsvarende generatorer i Vor(S) har en fælles kant, dvs. de er Voronoi-naboer se [6]. Med Delaunaygrafen er det, i hvert fald konceptuelt, let at løse ANN. Man skal blot for hver knude traversere dennes naboknuder, udregne afstanden til hver af dem og gemme den nærmeste. En Delaunay-graf for punktmængden S besidder bl.a. følgende to egenskaber [6, s. 190] se fig. 4.2: D1: Tre punkter p, q, r S er knuder i samme facet i Delaunay-grafen DG(S) hvis og kun hvis cirklen gennem de tre punkter ikke indeholder noget punkt fra S. D2: To punkter p, q S danner en kant i DG(S) hvis og kun hvis der findes en cirkel gennem p og q som ikke indeholdet noget punkt fra S. Figur 4.2: Til venstre en lovlig triangulering som ikke er en lovlig Delaunaygraf (overtræder det første af de to krav herover). I midten og til højre lovlige Delaunay-grafer. En subdivision kan defineres som en planar embedding af en graf, udelukkende med lige liniestykker [6]. Man kan så definere en triangulering af en punktmængde S R 2 som en maksimal planar subdivision, sådan at man ikke kan tilføje en kant uden at ødelægge planariteten. Dette medfører bl.a. at kanten af trianguleringen udgør en konveks polygon indeholdende alle punkter i S. Hvis en punktmængde S er i såkaldt generel position, vil det i denne sammenhæng sige at S ikke indeholder fire punkter der ligger på samme cirkel. Hvis S er i generel position, udgør Delaunay-grafen DG(S) automatisk en triangulering af S. Hvis S ikke er i generel position, vil man skulle tilføje kanter til DG(S) for at gøre den til en triangulering. For at kunne tilføje en kant, må man kunne afgøre om en eller flere kanter derved bliver ulovlige, dvs. overtræder D1 eller D2. Det gøres med brug af incircle-funktionen. Dannelse af en Delaunay-graf, DG(S), for n punkter i planen tager O(n log n) tid ([25, 6, 15]) mens ANN-problemet ved hjælp af DG(S) kan løses i O(n) tid, da summen af alle knuders valenser i DG(S) er lineær i antal knuder, som bevist 1 Disse to ord anvendes synonymt i dette afsnit, med mindre andet fremgår. 16

17 4. TRIANGULERING i det følgende. Lemma 1 (fra [6]). Lad S være en punktmængde med n punkter i planen, hvoraf ikke alle er kollineære. Antag at k af de n punkter ligger på kanten af det konvekse hylster for S. Enhver triangulering af S har i alt 3n k 3 kanter. Bevis. Lad T være en triangulering af S. Antag at T består af m trekanter og m+1 facetter (hvor den ene er den åbne, omgivende facet). Hver trekant har tre kanter, mens den åbne facet har k kanter. Hver kant i T, som har maksimalt et af sine endepunkter på kanten af det konvekse hylster, støder op til to trekanter, og alle kanter på kanten af det konvekse hylster støder op til en trekant og den åbne facet; hver kant støder altså op til to facetter, og det samlede antal kanter er derfor (3m + k)/2. Lad G = (V, E) være en forbundet planar graf, bestående af knudemængden V og kantmængden E. Antag at G består af n G knuder, e G kanter og f G facetter. For en sådan graf gælder iflg. Euler: e G = n G + f G 2. Indsættes værdierne foroven i Eulers formel, fås følgende: (3m + k)/2 = n + m m = (3m + k)/2 n + 1 2m = 3m + k 2n + 2 m = 2n k 2 (3m + k)/2 = (3(2n k 2) + k)/2 (3m + k)/2 = 3n k Algoritmen Der findes forskellige typer af trianguleringsalgoritmer, bl.a. del og hersk [25], plane sweep [16] og en inkrementel (evt. randomiseret) version [24]. Jeg har valgt to eksisterende biblioteker som grundlag for eksperimenter: Triangulation Template Library (TTL) [29] og Computational Geometry Algorithms Library (CGAL) [11]. Begge benytter en inkrementel algoritme til triangulering. TTL blev mere eller mindre tilfældigt foreslået, men fordi det bl.a. er simpelt og lettilgængeligt mente jeg at det var relevant at undersøge robustheden, specielt med henblik på at forbedre denne ved brug af eksterne metoder. CGAL er et kendt bibliotek, ikke mindst mht. robusthed, og det var derfor oplagt at se hvordan det fungerer i praksis. Fokus er her på CGALs egne metoder, ikke på at tilføre robusthed med eksterne metoder. Andre muligheder er triangle [42] og Qhull [39]. Alle de nævnte biblioteker er åbent software, i det mindste i den forstand at kildekoden er tilgængelig. I både TTL og CGAL anvendes iteratorer. En iterator er en form for peger, og giver adgang til elementer i en datastruktur. De følgende tre koncepter er centrale [45, s. 550]: det element der peges på 17

18 4. TRIANGULERING flyt til det næste/forrige element lighed Iteratorer tænkes anvendt på lineære strukturer som fx lister. De har alle et start- og et slutelement. Der findes også cirkulære strukturer, fx alle kanter der udgår fra en given knude i en graf. I CGAL og til dels TTL opererer man derfor med cirkulatorer, der kan beskrives som iteratorer for cirkulære strukturer. Den inkrementelle algoritme foretager Delaunay-triangulering af en punktmængde S R 2 med disse trin: Inkrementel-Delaunay-triangulering(S) 1 Dan initiel triangulering T, bestående af en/to trekanter der omslutter S 2 for (r 1 to n) 3 Lokaliser den trekant t T der indeholder p r 4 Dan nye kanter fra p r til hvert punkt i t 5 Lovliggør de tre oprindelige kanter i t. 6 Slet omsluttende trekant(er) fra T. T : Der er flere metoder til punktlokalisering af en nyt punkt p r i en triangulering 1. vandring (walk) Man starter et tilfældigt sted og vandrer ad eksisterende kanter i T til den rette trekant. Iflg. [25] beskrevet i [24]. 2. hop+vandring (jump and walk) Her vedligeholdes en struktur med et (mindre) antal punkter, kaldet ankre, i T. Man finder sekventielt ankret nærmest p r og derfra vandres til den rette trekant. Se [37]. 3. Forskellige metoder der benytter mere avancerede datastrukturer som fx orienterede acykliske grafer [6] og en metode kaldet Delaunay-hierarkier [14]. p 1 p 5 p 1 C 125 p 1 p 5 p 5 p 2 p 2 p 2 p r p r p r C 235 p 3 p4 p 3 p 3 p4 p 4 Figur 4.3: Til venstre en triangulering efter p r er tilføjet, men inden lovliggørelse. I midten efter lovliggørelse af kant p 3 p 5. Til højre efter lovliggørelse af kant p 2 p 5. Lovliggørelse sker ved brug af incircle-testen. Idet et nyt punkt p r indsættes i trekant t T dannes nye kanter fra p r til hver af de tre knuder i t. De nye kanter er lovlige allerede ved indsættelsen, men andre skal undersøges. Denne proces foregår rekursivt og starter med de tre oprindelige kanter i t se fig. 18

19 4. TRIANGULERING 4.3. Lovliggørelse af T efter indsættelse af punkt p r indebærer altid at det er punktet p r der undersøges for om det er inde i, uden for eller på cirklen gennem tre andre punkter. At de nye kanter der dannes ved indsættelse af et nyt punkt er lovlige ses af følgende argument. I fig. 4.3 til venstre kan cirklen C 235 gennem p 2, p 3 og p 5 formindskes så den går gennem p 3 og p r og er tom. Altså vil den nye kant opfylde krav D2. Samme argument kan anvendes på de to andre nye kanter. Et tilsvarende argument bruges til at vise at en vendt kant er lovlig. I fig. 4.3 til venstre er kant p 3 p 5 ulovlig så den vendes og bliver til kanten p 2 p r (figuren i midten). Cirklen C 125 kan også her formindskes så den går gennem p 2 og p r og er tom. At ingen kanter undersøges mere end en gang for hvert nyt punkt kan vises på følgende måde. Ved indsættelse af et nyt punkt p r gælder at en kant k skal testes hvis og kun hvis der er netop en kant k imellem k og p r, og k er blevet vendt (eller dannet, som de tre nye kanter). I fig. 4.3 til venstre ses at kanten p 3 p 5 er ulovlig. Den vendes og bliver til kant p 2 p r (figuren i midten). De næste to kandidater til lovliggørelse er kanterne p 2 p 3 og p 2 p 5. I fig. 4.3 til højre er kant p 2 p 5 vendt til kanten p 1 p r. Da kanter der vendes altid får det nye punkt, p r, som ene endepunkt kan en kant der er vendt altså ikke blive vendt igen, under indsættelse af samme punkt. Algoritmen stopper altså. Hvis et nyt punkt p r ligger på en eksisterende kant, gøres i [6] det at man sletter den kant punktet findes på, og der dannes fire nye kanter til hjørnerne i den firkant der opstår. I TTL sker det samme som ovenfor, dvs. først dannes kanter fra p r til de tre knuder i den lokaliserede trekant. To af disse nye kanter vil være sammenfaldende med den kant i den oprindelige trekant som det nye punkt ligger på. Denne oprindelige kant vil blive vendt. 4.2 Triangulering med TTL TTL er et bibliotek udelukkende til Delaunay-triangulering. Det er baseret på generisk programmering (se fx [45]), hvilket medfører at brugeren af biblioteket i princippet selv kan tilføre visse dele af et endeligt program. Det drejer sig typisk om datastrukturer og visse operationer på disse. Der er dog mht. TTL lavet eksempelkode, så der findes et fungerende program til Delaunay-triangulering, hvilket jeg benytter mig af. TTL bruger en såkaldt halvkant (eng.: half-edge - se [6]) til at implementere trianguleringen. En halvkant udgør en side af en trekant, den har en retning, en tilknyttet knude, en tvillingekant (medmindre det er en yderkant) og en efterfølger. En halvkant tilhører altid netop en trekant. Hver trekant repræsenteres ved en primærkant. Denne har en liste med de to andre kanter tilknyttet, så den samlede triangulering består af en liste af primærkanter. Til navigation benyttes et begreb kaldet en dart. En dart, d = (v i, e j, t k ) (se fig. 4.4), defineres af tre elementer: v i er knuden man står i, e j er kanten man er på og t k er trekanten man er i. En dart har også en retning, den peger fra sin kildeknude mod den modstående knude. I udgangspunktet er retningen altid mod uret mht. den 19

20 4. TRIANGULERING trekant den er i, se fig α 1 (d) t 1 t 2 d α 0 (d) d α 2 (d) Figur 4.4: Darts og tilhørende operationer α 0, α 1, α 2, på dem. Der er tre operationer på en dart d: α 0 (d) skifter knude og fastholder kant og trekant. α 1 (d) skifter kant, og fastholder knude og trekant. α 2 (d) skifter trekant og fastholder knude og kant. Bemærk at hver af disse ændrer orientering for darten. Det gælder ydermere at d = α n (α n (d)) for n (0, 1, 2), og hvis d er på yderkanten af en triangulering, er α 2 (d) = d. Ved komposition fås det der kaldes en n-orbit; fx er en 0-orbit defineret ved α 2 (α 1 (d)). Gentagen applikation af en 0-orbit vil besøge en knudes samtlige kanter. Der er i [29] ingen forklaring på hvorfor man indledningsvis danner to omsluttende trekanter; i [25, 26, 6] dannes kun en, men da man først omslutter S med to trekanter vil ethvert punkt i S ligge i en trekant, så punktlokalisering finder altid en trekant. TTL anvender darts på flg. måde til at finde denne trekant Punktlokalisering Det nævnes i [29] ikke hvor lokaliseringsalgoritmen stammer fra, men den minder om vandre-metoden. Jeg antager det er derfor inddata i TTL sorteres. Når punkt p r+1 indsættes har man en dart fra indsættelse af punkt p r. Hvis data er jævnt fordelt vil darten fra forrige punktindsættelse altså være relativt tæt på trekanten hvori næste punkt ligger. d 5 d 1 d 2 d 0 d 3 p r d 4 Figur 4.5: Punktlokalisering med darts. Udgangspunktet er d 0. Givet to darts d og α 0 (d) og et punkt p, kan man med funktionen orient2d undersøge hvor p ligger i forhold til linien gennem de to punkter repræsenteret 20

Repræsentation af tal

Repræsentation af tal Repræsentation af tal DM526 Rolf Fagerberg, 2009 Bitmønstre 01101011 0001100101011011... Bitmønstre skal fortolkes for at have en betydning: Tal (heltal, kommatal) Bogstaver Computerinstruktion (program)

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

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

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

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet)

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet) dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet) Efterår 2009 1 Simpel aritmetik på maskinniveau I SCO, appendix A, er det beskrevet, hvordan man adderer ikke-negative heltal

Læs mere

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

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

Eleven kan handle med overblik i sammensatte situationer med matematik. Eleven kan anvende rationale tal og variable i beskrivelser og beregninger

Eleven kan handle med overblik i sammensatte situationer med matematik. Eleven kan anvende rationale tal og variable i beskrivelser og beregninger Kompetenceområde Efter klassetrin Efter 6. klassetrin Efter 9. klassetrin Matematiske kompetencer handle hensigtsmæssigt i situationer med handle med overblik i sammensatte situationer med handle med dømmekraft

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

Oprids over grundforløbet i matematik

Oprids over grundforløbet i matematik Oprids over grundforløbet i matematik Dette oprids er tænkt som en meget kort gennemgang af de vigtigste hovedpointer vi har gennemgået i grundforløbet i matematik. Det er en kombination af at repetere

Læs mere

Selam Friskole Fagplan for Matematik

Selam Friskole Fagplan for Matematik Selam Friskole Fagplan for Matematik Formål Formålet med undervisningen er, at eleverne udvikler matematiske kompetencer og opnår viden og kunnen således, at de bliver i stand til at begå sig hensigtsmæssigt

Læs mere

Computerstøttet beregning

Computerstøttet beregning CSB 2009 p. 1/16 Computerstøttet beregning Lektion 1. Introduktion Martin Qvist qvist@math.aau.dk Det Ingeniør-, Natur-, og Sundhedsvidenskabelige Basisår, Aalborg Universitet, 3. februar 2009 people.math.aau.dk/

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

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

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

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

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

Evaluering af matematik undervisning

Evaluering af matematik undervisning Evaluering af matematik undervisning Udarbejdet af Khaled Zaher, matematiklærer 6-9 klasse og Boushra Chami, matematiklærer 2-5 klasse Matematiske kompetencer. Fællesmål efter 3.klasse indgå i dialog om

Læs mere

Klassen er sammenlæst, altså 5 og 6 klasse på en og samme tid. Samtidig er klassen pt på ca 11 elever ialt.

Klassen er sammenlæst, altså 5 og 6 klasse på en og samme tid. Samtidig er klassen pt på ca 11 elever ialt. Introduktion til mat i 5/6 klasse Vejle Privatskole 13/14: Klassen er sammenlæst, altså 5 og 6 klasse på en og samme tid. Samtidig er klassen pt på ca 11 elever ialt. Udgangspunktet bliver en blød screening,

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

T ALKUNNEN. Tilnærmede tal og computertal

T ALKUNNEN. Tilnærmede tal og computertal T ALKUNNEN 6 Allan C Allan C.. Malmberg Tilnærmede tal og computertal INFA Matematik - 2000 1 INFA - IT i skolens matematik Projektledelse: Allan C. Malmberg Inge B. Larsen INFA-Klubben: Leif Glud Holm

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

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

1. Opbygning af et regneark

1. Opbygning af et regneark 1. Opbygning af et regneark Et regneark er et skema. Vandrette rækker og lodrette kolonner danner celler, hvori man kan indtaste tal, tekst, datoer og formler. De indtastede tal og data kan bearbejdes

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

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

Introduktion til GeoGebra

Introduktion til GeoGebra Introduktion til GeoGebra Om navne Ib Michelsen Herover ses GeoGebra's brugerflade. 1 I øverste linje finder du navnet GeoGebra og ikoner til at minimere vinduet, ændre til fuldskærm og lukke I næste linje

Læs mere

Matematik. Trinmål 2. Nordvestskolen 2006 Forord. Trinmål 2 (4. 6. klasse)

Matematik. Trinmål 2. Nordvestskolen 2006 Forord. Trinmål 2 (4. 6. klasse) Matematik Trinmål 2 Nordvestskolen 2006 Forord Forord For at sikre kvaliteten og fagligheden i folkeskolen har Undervisningsministeriet udarbejdet faghæfter til samtlige fag i folkeskolen med bindende

Læs mere

Grundliggende regning og talforståelse

Grundliggende regning og talforståelse Grundliggende regning og talforståelse De fire regnearter: Plus, minus, gange og division... 2 10-tals-systemet... 4 Afrunding af tal... 5 Regning med papir og blyant... 6 Store tal... 8 Negative tal...

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

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

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

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

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

Med TI-89 / TI-92 Plus kan du også sammenligne eller manipulere binære tal bit for bit.

Med TI-89 / TI-92 Plus kan du også sammenligne eller manipulere binære tal bit for bit. Kapitel 20: Talsystemer 20 Resumé af talsystemer... 344 Indtastning og omregning af talsystemer... 345 Udførelse af matematiske beregninger med hexadecimale og binære tal... 346 Sammenligning eller manipulation

Læs mere

Ib Michelsen Vejledende løsning stxb 101 1

Ib Michelsen Vejledende løsning stxb 101 1 Ib Michelsen Vejledende løsning stxb 101 1 Opgave 1 Løs ligningen: 3(2 x+1)=4 x+9 Løsning 3(2 x+1)=4 x+9 6 x+3=4 x+9 6 x+3 3=4 x+9 3 6 x=4 x+6 6x 4 x=4 x+6 4 x 2 x=6 2 x 2 = 6 2 x=3 Opgave 2 P(3,1) er

Læs mere

Invarianter. 1 Paritet. Indhold

Invarianter. 1 Paritet. Indhold Invarianter En invariant er en størrelse der ikke ændrer sig, selv om situationen ændrer sig. I nogle kombinatorikopgaver hvor man skal undersøge hvilke situationer der er mulige, er det ofte en god idé

Læs mere

ITS MP 013. Talsystemer V009. Elevens navn. IT Skolen Boulevarden 19A-C 7100 Vejle Tel.:+45 76 42 62 44

ITS MP 013. Talsystemer V009. Elevens navn. IT Skolen Boulevarden 19A-C 7100 Vejle Tel.:+45 76 42 62 44 ITS MP 013 V009 Elevens navn IT Skolen Boulevarden 19A-C 7100 Vejle Tel.:+45 76 42 62 44 ITS MP 013 Udarbejdet af Søren Haahr, juni 2010 Copyright Enhver mangfoldiggørelse af tekst eller illustrationer

Læs mere

Undervisningsbeskrivelse

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

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

Projektopgave Observationer af stjerneskælv

Projektopgave Observationer af stjerneskælv Projektopgave Observationer af stjerneskælv Af: Mathias Brønd Christensen (20073504), Kristian Jerslev (20072494), Kristian Mads Egeris Nielsen (20072868) Indhold Formål...3 Teori...3 Hvorfor opstår der

Læs mere

ØVEHÆFTE FOR MATEMATIK C FORMLER OG LIGNINGER

ØVEHÆFTE FOR MATEMATIK C FORMLER OG LIGNINGER ØVEHÆFTE FOR MATEMATIK C FORMLER OG LIGNINGER INDHOLDSFORTEGNELSE 0. FORMELSAMLING TIL FORMLER OG LIGNINGER... 2 Tal, regneoperationer og ligninger... 2 Ligning med + - / hvor x optræder 1 gang... 3 IT-programmer

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

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

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

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

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

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

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

LÆRINGSMÅL PÅ NIF MATEMATIK 2014-15

LÆRINGSMÅL PÅ NIF MATEMATIK 2014-15 LÆRINGSMÅL PÅ NIF MATEMATIK 2014-15 Mål for undervisningen i Matematik på NIF Følgende er baseret på de grønlandske læringsmål, tilføjelser fra de danske læringsmål står med rød skrift. Læringsmål Yngstetrin

Læs mere

APPENDIX A INTRODUKTION TIL DERIVE

APPENDIX A INTRODUKTION TIL DERIVE APPENDIX A INTRODUKTION TIL DERIVE z x y z=exp( x^2 0.5y^2) CAS er en fællesbetegnelse for matematikprogrammer, som foruden numeriske beregninger også kan regne med symboler og formler. Det betyder: Computer

Læs mere

Kapitel 3 Lineære sammenhænge

Kapitel 3 Lineære sammenhænge Matematik C (må anvendes på Ørestad Gymnasium) Lineære sammenhænge Det sker tit, at man har flere variable, der beskriver en situation, og at der en sammenhæng mellem de variable. Enhver formel er faktisk

Læs mere

Martin Geisler. Uge 49, 2001

Martin Geisler. Uge 49, 2001 Min dintprog-browser Martin Geisler Uge 49, 2001 Resumé Dette dokument beskriver tankerne bag min dintprog-browser, en browser skrevet i Java der skal kunne fortolke en mindre delmængde af HTML 4, kaldet

Læs mere

DDD Runde 2, 2015 Facitliste

DDD Runde 2, 2015 Facitliste DDD Runde 2, 2015 Facitliste Søren Dahlgaard og Mathias Bæk Tejs Knudsen Opgaver og løsninger til 2. runde af DDD 2015. 1 4. 19. februar, 2015 linetest DK v1.0 Line Test Sigurd er begyndt i gymnasiet og

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

Komplekse tal. Mikkel Stouby Petersen 27. februar 2013

Komplekse tal. Mikkel Stouby Petersen 27. februar 2013 Komplekse tal Mikkel Stouby Petersen 27. februar 2013 1 Motivationen Historien om de komplekse tal er i virkeligheden historien om at fjerne forhindringerne og gøre det umulige muligt. For at se det, vil

Læs mere

Ideer til matematik-aktiviteter i yngstetrinet

Ideer til matematik-aktiviteter i yngstetrinet Ideer til matematik-aktiviteter i yngstetrinet Følgende ideer er ment som praktiske og konkrete ting, man kan bruge i matematik-undervisningen i de yngste klasser. Nogle af aktiviteterne kan bruges til

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

Sikre Beregninger. Kryptologi ved Datalogisk Institut, Aarhus Universitet

Sikre Beregninger. Kryptologi ved Datalogisk Institut, Aarhus Universitet Sikre Beregninger Kryptologi ved Datalogisk Institut, Aarhus Universitet 1 Introduktion I denne note skal vi kigge på hvordan man kan regne på data med maksimal sikkerhed, dvs. uden at kigge på de tal

Læs mere

Mujtaba og Farid Integralregning 06-08-2011

Mujtaba og Farid Integralregning 06-08-2011 Indholdsfortegnelse Integral regning:... 2 Ubestemt integral:... 2 Integrationsprøven:... 3 1) Integration af potensfunktioner:... 3 2) Integration af sum og Differens:... 3 3) Integration ved Multiplikation

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

Matematik - undervisningsplan

Matematik - undervisningsplan I 4. klasse starter man på andet forløb i matematik, der skal lede frem mod at eleverne kan opfylde fagets trinmål efter 6. klasse. Det er dermed det som undervisningen tilrettelægges ud fra og målsættes

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

Mini-formelsamling. Matematik 1

Mini-formelsamling. Matematik 1 Indholdsfortegnelse 1 Diverse nyttige regneregler... 1 1.1 Regneregler for brøker... 1 1.2 Potensregneregler... 1 1.3 Kvadratsætninger... 2 1.4 (Nogle) Rod-regneregler... 2 1.5 Den naturlige logaritme...

Læs mere

Indhold. Bind 1. 1 Eksperimentel geometri 3. 2 Areal 33

Indhold. Bind 1. 1 Eksperimentel geometri 3. 2 Areal 33 Indhold Bind 1 del I: Eksperimenterende geometri og måling 1 Eksperimentel geometri 3 Hvorfor eksperimenterende undersøgelse? 4 Eksperimentel undersøgelse: På opdagelse med sømbrættet 6 Geometriske konstruktioner

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

GeoGebra 3.0.0.0 Quickstart. det grundlæggende

GeoGebra 3.0.0.0 Quickstart. det grundlæggende GeoGebra 3.0.0.0 Quickstart det grundlæggende Grete Ridder Ebbesen frit efter GeoGebra Quickstart af Markus Hohenwarter Virum, 28. februar 2009 Introduktion GeoGebra er et gratis og meget brugervenligt

Læs mere

Kvadratrodsberegning ved hjælp af de fire regningsarter

Kvadratrodsberegning ved hjælp af de fire regningsarter Kvadratrodsberegning ved hjælp af de fire regningsarter Tidligt i historien opstod et behov for at beregne kvadratrødder med stor nøjagtighed. Kvadratrødder optræder i forbindelse med retvinklede trekanter,

Læs mere

Den lille hjælper. Positionssystem...3. Positive tal...3. Negative tal...3. Hele tal...3. Potenstal...3. Kvadrattal...3

Den lille hjælper. Positionssystem...3. Positive tal...3. Negative tal...3. Hele tal...3. Potenstal...3. Kvadrattal...3 Den lille hjælper Positionssystem...3 Positive tal...3 Negative tal...3 Hele tal...3 Potenstal...3 Kvadrattal...3 Parentes...4 Parentesregler...4 Primtal...4 Addition (lægge sammen) også med decimaltal...4

Læs mere

Komplekse tal. x 2 = 1 (2) eller

Komplekse tal. x 2 = 1 (2) eller Komplekse tal En tilegnelse af stoffet i dette appendix kræver at man løser opgaverne Komplekse tal viser sig uhyre nyttige i fysikken, f.eks til løsning af lineære differentialligninger eller beskrivelse

Læs mere

Tal og algebra. I kapitlet arbejdes med følgende centrale matematiske begreber: algebra variable. Huskeliste: Tændstikker (til side 146) FRA FAGHÆFTET

Tal og algebra. I kapitlet arbejdes med følgende centrale matematiske begreber: algebra variable. Huskeliste: Tændstikker (til side 146) FRA FAGHÆFTET I kapitlet skal eleverne arbejde med fire forskellige vinkler på algebra de præsenteres på kapitlets første mundtlige opslag. De fire vinkler er algebra som et redskab til at løse matematiske problemer.

Læs mere

Lektion 1 Grundliggende regning

Lektion 1 Grundliggende regning Lektion 1 Grundliggende regning Indholdsfortegnelse Indholdsfortegnelse... Plus, minus, gange og division - brug af regnemaskine... Talsystemets opbygning - afrunding af tal... Store tal og negative tal...

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

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

Filtyper, filformat og skabelon. Tabel. Tekstombrydning. Demo Fremstil, gem og brug en skabelon. Øvelser Fremstil, gem og brug en skabelon

Filtyper, filformat og skabelon. Tabel. Tekstombrydning. Demo Fremstil, gem og brug en skabelon. Øvelser Fremstil, gem og brug en skabelon Disposition for kursus i Word 2007 Filtyper, filformat og skabelon Demo Fremstil, gem og brug en skabelon Øvelser Fremstil, gem og brug en skabelon Tabel Demo Opret en tabel ud fra en tekst Øvelser Opret

Læs mere

Geometriske konstruktioner: Ovaler og det gyldne snit

Geometriske konstruktioner: Ovaler og det gyldne snit Matematik Geometriske konstruktioner: Ovaler og det gyldne snit Ole Witt-Hansen, Køge Gymnasium Ovaler og det gyldne snit har fundet anvendelse i arkitektur og udsmykning siden oldtiden. Men hvordan konstruerer

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin December/januar 14/15 Institution VUC Vestegnen Uddannelse Fag og niveau Lærer(e) Hold stx Mat A Karin Hansen

Læs mere

Fælles Mål 2009. Matematik. Faghæfte 12

Fælles Mål 2009. Matematik. Faghæfte 12 Fælles Mål 2009 Matematik Faghæfte 12 Undervisningsministeriets håndbogsserie nr. 14 2009 Fælles Mål 2009 Matematik Faghæfte 12 Undervisningsministeriets håndbogsserie nr. 14 2009 Indhold Formål for faget

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

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

Årsplan for 7. klasse, matematik

Årsplan for 7. klasse, matematik Årsplan for 7. klasse, matematik I matematik bruger vi bogsystemet Sigma som grundmateriale. I systemet er der, ud over grundbogen, også kopiark og tests tilknyttet de enkelte kapitler. Systemet er udarbejdet

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

Eleverne skal lære at:

Eleverne skal lære at: PK: Årsplan 8.Ga. M, matematik Tid og fagligt område Aktivitet Læringsmål Uge 32 uge 50 Tal og algebra Eleverne skal arbejde med at: kende de reelle tal og anvende dem i praktiske og teoretiske sammenhænge

Læs mere

Computerundervisning

Computerundervisning Frederiksberg Seminarium Computerundervisning Koordinatsystemer og Funktioner Lærervejledning 12-02-2009 Udarbejdet af: Pernille Suhr Poulsen Christina Klitlyng Julie Nielsen Indhold Introduktion... 3

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

Hovedemne 1: Talsystemet og at gange Læringsmål Nedbrudte læringsmål Forslag til tegn på læring

Hovedemne 1: Talsystemet og at gange Læringsmål Nedbrudte læringsmål Forslag til tegn på læring Hovedemne 1: Talsystemet og at gange kan anvende flercifrede naturlige tal til at beskrive antal og rækkefølge udvikle metoder til multiplikation og division med naturlige tal udføre beregninger med de

Læs mere

Eksperimenter med areal og rumfang. Aktivitet Emne Klassetrin Side

Eksperimenter med areal og rumfang. Aktivitet Emne Klassetrin Side VisiRegn ideer 5 Eksperimenter med areal og rumfang Inge B. Larsen ibl@dpu.dk INFA juli 2001 Indhold: Aktivitet Emne Klassetrin Side Vejledning til Areal og Rumfang 2 Red burhønsene. Vejledn. 3-7 Største

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

Induktive og rekursive definitioner

Induktive og rekursive definitioner Induktive og rekursive definitioner Denne note omhandler matematiske objekter, som formelt er opbygget fra et antal basale byggesten, kaldet basistilfælde eller blot basis, ved gentagen brug af et antal

Læs mere

Når vi forbereder et nyt emne eller område vælger vi de metoder, materialer og evalueringsformer, der egner sig bedst til forløbet.

Når vi forbereder et nyt emne eller område vælger vi de metoder, materialer og evalueringsformer, der egner sig bedst til forløbet. MATEMATIK Delmål for fagene generelt. Al vores undervisning hviler på de i Principper for skole & undervisning beskrevne områder (- metoder, materialevalg, evaluering og elevens personlige alsidige udvikling),

Læs mere

Undervisningsplan: Matematik Skoleåret 2014/2015 Strib Skole: 5B Ugenumre: Hovedområder: Emner og temaer: Side 1 af 5

Undervisningsplan: Matematik Skoleåret 2014/2015 Strib Skole: 5B Ugenumre: Hovedområder: Emner og temaer: Side 1 af 5 Ugenumre: Hovedområder: Emner og temaer: 33 Addition og subtraktion Anvendelse af regningsarter 34 Multiplikation og division Anvendelse af regningsarter 35 Multiplikation med decimaltal Anvendelse af

Læs mere

Lille Georgs julekalender 07. 1. december. Hvor mange løbere kan der opstilles på et skakbræt uden at de truer hinanden?

Lille Georgs julekalender 07. 1. december. Hvor mange løbere kan der opstilles på et skakbræt uden at de truer hinanden? 1. december Hvor mange løbere kan der opstilles på et skakbræt uden at de truer hinanden? Svar: 14 Forklaring: Der kan godt stå 14, f.eks. sådan: Men kunne der stå flere hvis man stillede dem endnu snedigere

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

Lineær Programmering i GeoGebra Side 1 af 8

Lineær Programmering i GeoGebra Side 1 af 8 Lineær Programmering i GeoGebra Side 1 af 8 Grundlæggende find selv flere funktioner, fx i GG s indbyggede hjælpefunktion. Vær opmærksom på at grænsefladen i GeoGebra ændrer sig med tiden, da værktøjet

Læs mere

Numerisk løsning af differentialligninger

Numerisk løsning af differentialligninger KU-LIFE; Matemati og modeller 009 Numeris løsning af differentialligninger Thomas Vils Pedersen 1 Numerise metoder Ved numeris analyse forstås tilnærmet, talmæssig løsning af problemer, som ie, eller un

Læs mere

Årsplan for matematik i 1.-2. kl.

Årsplan for matematik i 1.-2. kl. Årsplan for matematik i 1.-2. kl. Lærer Martin Jensen Mål for undervisningen Målet for undervisningen er, at eleverne tilegner sig matematiske kompetencer og arbejdsmetoder jævnfør Fælles Mål. Eleverne

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

Årsplan for matematik på mellemtrinnet 2015-2016 (Lærere: Ebba Frøslev og Esben O. Lauritsen)

Årsplan for matematik på mellemtrinnet 2015-2016 (Lærere: Ebba Frøslev og Esben O. Lauritsen) Årsplan for matematik på mellemtrinnet 2015-2016 (Lærere: Ebba Frøslev og Esben O. Lauritsen) Bog: Vi bruger grundbogssystemet Format, som er et fleksibelt matematiksystem, der tager udgangspunkt i læringsstile.

Læs mere

MODELSÆT 2; MATEMATIK TIL LÆREREKSAMEN

MODELSÆT 2; MATEMATIK TIL LÆREREKSAMEN MODELSÆT ; MATEMATIK TIL LÆREREKSAMEN Forberedende materiale Den individuelle skriftlige røve i matematik vil tage udgangsunkt i følgende materiale:. En diskette med to regnearks-filer og en MathCad-fil..

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