Robusthed i geometriske algoritmer



Relaterede dokumenter
Robusthed i geometriske algoritmer Michael Neidhardt

i x-aksens retning, så fås ). Forskriften for g fås altså ved i forskriften for f at udskifte alle forekomster af x med x x 0

Eksempel 9.1. Areal = (a 1 + b 1 )(a 2 + b 2 ) a 1 a 2 b 1 b 2 2a 2 b 1 = a 1 b 2 a 2 b 1 a 1 a 2 = b 1 b 2

Nyheder i Untis KMD Educa Skema

GUX Matematik Niveau B prøveform b Vejledende sæt 2

Den ideelle operationsforstærker.

Det gyldne snit, forløb i 1. g

Algebra INTRO. I kapitlet arbejdes med følgende centrale matematiske begreber:

DTU M.SC. SKRIFTLIG EKSAMEN Reviderede Spørgsmål

Hvad er matematik? C, i-bog ISBN

Computerstøttet beregning

Højere Teknisk Eksamen maj Matematik A. Forberedelsesmateriale til 5 timers skriftlig prøve NY ORDNING. Undervisningsministeriet

t a l e n t c a m p d k Matematik Intro Mads Friis, stud.scient 27. oktober 2014 Slide 1/25

Funktioner generelt. for matematik pä B- og A-niveau i stx og hf Karsten Juul

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Matematik - undervisningsplan Årsplan 2015 & 2016 Klassetrin: 9-10.

Årsplan for matematik i 1. klasse

Matematik C. Cirkler. Skrevet af Jacob Larsen 3.år HTX Slagelse Udgivet i samarbejde med Martin Gyde Poulsen 3.år HTX Slagelse.

Vejledende besvarelse

STYRENFRI INJEKTIONSMASSE - ESI

Retningslinjer for bedømmelsen. Georg Mohr-Konkurrencen runde

Opgave Opgave 2 Andengradsligningen løses, idet. Opgave er en løsning til ligningen, da:

Geometrisk skæring. Afgørelse af om der findes skæringer blandt geometriske objekter Bestemmelse af alle skæringspunkter

Lodret belastet muret væg efter EC6

Stabilitet af rammer - Deformationsmetoden

Løsningsforslag 7. januar 2011

Et udtryk på formena n kaldes en potens med grundtal a og eksponent n. Vi vil kun betragte potenser hvor grundtallet er positivt, altså a>0.

Matematisk modellering og numeriske metoder. Lektion 15

Reduktion af observationer med sort-hvid CCD kamera med påkoblet filterboks

Stx matematik B december Delprøven med hjælpemidler

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004

Kom godt i gang Bestem styrkeparametrene for murværket. Faneblad: Murværk Gem, Beregn Gem

Macro. Makro betyder i fotosammenhæng alt, hvad der er under mindste-afstanden i "normal" fokuseringsområdet.

Matematik A. Studentereksamen

Matricer og lineære ligningssystemer

Opgave nr. 1. Find det fjerde Taylorpolynomium. (nul). Opgave nr Lad der være givet et sædvanligt retvinklet koordinatsystem

Øvelser i Begynderklassen.

PhD-kursus i Basal Biostatistik, efterår 2006 Dag 2, onsdag den 13. september 2006

Matematiske metoder - Opgaver

Faglige delmål og slutmål i faget Matematik. Trin 1

Dansk Datalogi Dyst 2015 DDD Runde 2

Nøgleord og begreber

dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet)

STUDENTEREKSAMEN MAJ 2009 MATEMATIK A-NIVEAU. Mandag den 11. maj Kl STX091-MAA. Undervisningsministeriet

Matematik. 1 Matematiske symboler. Hayati Balo,AAMS. August, 2014

Repræsentation af tal

d Kopier formlen fra celle A3 ned i kolonne A. Kopier formlen fra celle C3 ned i kolonne C. Undersøg, hvad der sker med formlen, når den kopieres.

Navn: Klasse: HTx1A Opgaver: 067, 068, 069, 070, 071, 072, 073 & 074 Afleveringsdato:

GPS og geometri - 1 Baggrund. lineære og ikke-lineære ligninger. Køreplan Matematik 1 - FORÅR 2007

Et SML-program til at finde rødder i en kontinuert funktion

Betydning af erstatning af DS metoder med EN metoder - Farvetal

Praktiske Maple Ting. - Hvis du skal indsætte kvadratroden, et integrale, lambda, osv. Så skriv eks. Sqrt, int, eller lambda, tryk escape og du kan

Paradokser og Opgaver

Årsplan for matematik 2.b (HSØ)

Sekstant (plastik) instrumentbeskrivelse og virkemåde

Repræsentation af tal

Some like it HOT: Højere Ordens Tænkning med CAS

Valgkampens og valgets matematik

Note til styrkefunktionen

Fakta om Fjerkræ. EU handelsnormer for Fjerkrækød 1

Athena DIMENSION Kontinuerlige betonbjælker 4

Kapitel 8. Magnetiske felter - natur, måleenheder m.v. 1 Wb = 1 Tesla = Gauss m 2 1 µt (mikrotesla) = 10 mg (miligauss)

Teknisk information Skruekompressorer for ECONOMIZER drift

Vejledning til Photofiltre nr.166 Side 1 Lave små grafik knapper i Photofiltre

Matematisk modellering og numeriske metoder

Nyt vindenergi indeks for Danmark

Design Visual Analytics-rapporter for bedst mulig performance

Værktøjskasse til analytisk Geometri

Betonkonstruktioner, 6 (Spændbetonkonstruktioner)

GUX. Matematik. B-Niveau. Fredag den 29. maj Kl Prøveform b GUX151 - MAB

DesignMat Uge 1 Gensyn med forårets stof

Intervalsøgning. Algoritmisk geometri. Motivation for intervaltræer. Intervalsøgning. Lad der være givet en database over ansatte i en virksomhed

Algoritmisk geometri

Modellering af grundvandsstrømning ved Vestskoven

Opgave 1 - løsning 1) De partielle afledede beregnes. Opgave 1 Betragt funktionen. x + y for x > 0, y > 0. f x = y 1 (x + y) 2.

Værktøjskasse til analytisk Geometri

Statistik Lektion 1. Introduktion Grundlæggende statistiske begreber Deskriptiv statistik Sandsynlighedsregning

Tømiddelgruppen. Af: Peter Johnsen & Michel M. Eram

Differentialkvotient bare en slags hældning

Driftsoptimering af distributionsnettet

Matematik C. Højere forberedelseseksamen

PERFECT JUMP Böttcher Tomschke Video Hopmålesystem BUOY-X/Y-CO-ORDINATES Installation til Software Version 6.0 GTK 1997

Forord 3 Strukturen i denne bog 6

INDHOLDSFORTEGNELSE BILAG 0 1. Energimærkningsskala 0 1

FlexTechnic. VLHC- Installation i væksthuse. Instruktion

Matematikken bag Parallel- og centralprojektion

CS 80 MAGNEO. Skydedørsautomatik. Montagevejledning Dør med: Glasklemliste på væg Glasklemliste i væg. Montage af glasdør med glasklemliste på væg

Kom i gang-opgaver til differentialregning

Der påvises en acceptabel kalibrering af kameraet, da det værdier kun er lidt lavere end luminansmeterets.

Fraktaler. Vejledning. Et snefnug

MATEMATIK A-NIVEAU. Eksempel på løsning af matematik A eksamenssæt STX143-MAT/A Matematik A, STX. Anders Jørgensen & Mark Kddafi

Lineære ligningssystemer

Projekt 6.3 Caspar Wessel indførelse af komplekse tal

Grundlæggende Opgaver

Kapitel 8. Hvad er matematik? 1 ISBN Øvelse 8.2

9.1 Egenværdier og egenvektorer

Din brugermanual MASSEY FERGUSON 900

Allan C. Malmberg. Terningkast

MAT B GSK december 2008 delprøven uden hjælpemidler

Redskabsregulativ for TeamGym

Transkript:

18. december 2008

Flydende tal Oversigt Teori: Reel RAM reelle tal og uendelig præcision. Data i generel position. O(1) tid pr. basal regneoperation. Praksis: Endelig præcision. Flydende tal afrundingsfejl. Data ikke i generel position. Eksperimenter med algoritmer der finder alle nærmeste naboer for en punktmængde i planen: Delaunay-triangulering: TTL & CGAL. Plane sweep. Kd-træ.

Flydende tal Oversigt Både hele og flydende tal anvendes. To centrale funktioner, kaldet prædikater: orient2d: Udgør tre punkter højre/venstresving eller er de på linie. incircle: Er et punkt uden for, inde i eller på cirklen gennem tre andre punkter. Begge baseret på fortegn for determinant. Hertil kommer funktioner der danner nye geometriske objekter, fx skæringspunkter.

Flydende tal Oversigt Flydende tal som defineret af IEEE 754 er en endelig mængde, F. Et x F består af: ±s 2 e. Minisystem med præcision = 3, e min = 1, e max = 2: 0 0.5 1 2 3 4 5 6 7 Maskinpræcisionen ε angiver den største fejl. I dobbelt præcision og med afrunding til nærmeste er ε = 2 53. For et reelt tal x og et flydende tal x gælder: x x ε x x x x ε.

Flydende tal Oversigt Fejltolerante metoder bla. ε-tweaking, tykke objekter, topologi-orienteret. Eksakte metoder filtre, fejlanalyse, multipræcisions-typer, intervalregning. Perturbering af data generel position.

Delaunay-triangulering Plane sweep Kd-træer Inkrementel metode: Omslut punktmængde med fiktiv trekant, punktlokalisering, kantlovliggørelse, fjernelse af fiktiv trekant. Punktlokalisering løses med orient2d. Kantlovliggørelse løses med incircle.

Delaunay-triangulering Plane sweep Kd-træer a b c a d b c Orient2d: D = a x a y 1 b x b y 1 c x c y 1 = a x c x b x c x a y c y b y c y D = 0 på linie, ellers venstre- eller højresving. Hvis D > maksimale fejl fortegn(d) OK, Ellers benyt dyrere metode.

Delaunay-triangulering Plane sweep Kd-træer Filtre til eksakt beregning af fortegn for determinanter: Shewchuk: Fire trin med stigende præcision: Fra flydende tal til eksakt beregning. CGAL: Test for underløb, overløb og determinantens størrelse. Ved fejl benyttes evt. LU-faktorisering med intervalregning og som sidste udvej multipræcisionstype. ABDPY: Rækkeoperationer formindsker værdierne i matricen (2x2).

Delaunay-triangulering Plane sweep Kd-træer Shewchuk: Ekspansioner sikrer multipræcision. En sum/differens kan beregnes som to led, det flydende og fejlen. Eksempel: Kvadreret afstand mellem to punkter, a og b: kdist(a, b) = (a x b x ) 2 + (a y b y ) 2. Ekspansionen (x, y) = TODIFF(a x, b x ) hvor y < ε(a x b x ). kdist(a, b) = (x 1 + y 1 ) 2 + (x 2 + y 2 ) 2 = x 2 1 + y 2 1 + 2x 1y 1 + x 2 2 + y 2 2 + 2x 2y 2 = x1 2 + x2 2 + 2x } {{ } 1 y 1 + 2x 2 y 2 + y } {{ } 1 2 + y2 2 } {{ } A B C

Delaunay-triangulering Plane sweep Kd-træer CGAL Filtreret kerne. 1. trin i filtret (orient2d): D = a x c x a y c y b x c x b y c y = ac xbc y ac y bc x. maxfejl = 2 50 max-værdi for D. 1: Risiko for underløb og 0 dyrere metode. 2: Overløb dyrere metode. 3: D maxfejl dyrere metode.

Delaunay-triangulering Plane sweep Kd-træer Man fejer over punktmængden og vedligeholder et delvist Voronoi-diagram. Prioritetskø indeholder punkter (hændelserne). Binært søgetræ indeholder aktive bisektorer, sorteret på skæring med fejelinien.

Delaunay-triangulering Plane sweep Kd-træer Algoritmen kræver heltalsinddata. Numerisk robusthed: Maksimale præcision udregnes. I praksis ofte lig med multipræcision. Problemer ved dannelse af skæringspunkter enten mellem bisektorer eller mellem bisektor og fejelinie. Løses ved at benytte homogene koordinater eller ved snap rounding. Større praktisk problem er måske algoritmisk robusthed.

Delaunay-triangulering Plane sweep Kd-træer Simpel og effektiv til løsning af alle-nærmeste-naboer. Ingen robusthedsproblemer. Overløb kan dog forekomme. Tilsyneladende svært at garantere maksimal søgetid. S = {(3,4) (7,5) (9,12) (10,4) (13,10)} 0/9 1/5 1/4 0/3 (9,12) (10,4) (13,10) (3,4) (7,5)

2500 Timing for plane sweep varianter. Type: Leda::rational (5) Type: double (5) 2000 1500 Sekunder 1000 500 0 200k 400k 800k 1600k 3200k Punkter

350 300 Timing for to CGAL varianter. FilteredKernel (4) Non-robust (4) FilteredKernel (2) Non-robust (2) 250 Sekunder 200 150 100 50 0 200k 400k 800k 1600k 3200k Punkter

900 800 Total Konstruktion ANN Timing for CGAL GMP (5). 700 600 Sekunder 500 400 300 200 100 0 200k 400k 800k Punkter

8000 7000 6000 CGAL ikke-robust, h+v (2) TTL Shewchuk (4) TTL ikke-robust (4) TTL Shewchuk (2) TTL ABDPY (6) TTL ikke-robust (2) Timing for TTL varianter. 5000 Sekunder 4000 3000 2000 1000 0 200k 400k 800k 1600k 3200k Punkter

25 20 Timing for Kd-tree og triangle. triangle (2) triangle (4) Kd-tree (2) Kd-tree (4) 15 Sekunder 10 5 0 200k 400k 800k 1600k 3200k Punkter

Tilfældige punkter Program i enhedskvadratet KMPSY KMPSY-2 TTL Ikke-robust 4.11 24.10 26.96 TTL Filter (Shewchuk) 3.80 21.98 22.69 CGAL Ikke-robust 1.81 Fejler 13.86 CGAL Filter 2.29 39.64 16.03 Kd-træ 0.12 0.25 0.22 triangle 1.10 1.43 1.34 Tabel: Tidsforbrug i sekunder ved ANN-beregning for tre mindre punktmængder (ca. 32898 punkter).

Tilfældige punkter Prædikat i enhedskvadratet KMPSY KMPSY-2 orient2d A 2961298 98389 72713 orient2d B 0 574 1225 orient2d C 0 510 1223 orient2d D 0 2 65 incircle A 510856 5622041 5617723 incircle B 0 33115 33989 incircle C 0 759 521 incircle D 0 255 0 Tabel: Antal kald til orient2d og incircle i TTL Filter (Shewchuk).

Tilfældige punkter Prædikat i enhedskvadratet KMPSY KMPSY-2 orient2d A 1836436 8134952 10795812 orient2d B 0 485306 1358 incircle A 304512 5605748 5540437 incircle B 0 97706 32426 Tabel: Antal kald til orient2d og incircle i CGAL Filter.

Filtre foretrækkes hvis tilgængelige. Uklart hvilket af de anvendte filtre er bedst. Også situationsafhængigt. Typiske fælder er determinanter, kvadratrødder, konstruktioner som fx skæringspunkter. Ikke trivielt at fremprovokere disse fejl.