Fixed-Parameter Algorithms for Optimal Convex Partitions and Other Results

University dissertation from Department of Computer Science, Lund University

Abstract: Popular Abstract in Swedish I denna avhandling studerar jag tvådimensionella geometriska optimeringsproblem. Gemensamt för många praktiskt och teoretiskt intressanta problemställningar inom området är att det är mycket svårt att ta fram optimala lösningar. Det tar helt enkelt alltför lång tid att undersöka alla möjligheter för probleminstanser med stora mängder indata då beräkningstiden växer exponentiellt med storleken på indata. Avhandlingen behandlar sådana NP-svåra problem inom området computational geometry. För en del algoritmer som hanterar problemen växer beräkningstiden exponentiellt endast i en indataparameter, när det gäller övriga parametrar växer den polynomiellt. Dessa algoritmer kallas fixed parameter algorithms, eftersom de kan lösa problemet effektivt om man bestämmer ett värde för den svåra parametern. Avhandlingen presenterar algoritmer av den här typen. Generellt beskriver vi det så att med n noder som indata väljer man att utgå från att k stycken av dessa ligger innanför gränserna för partitioneringen. Givet att man har fixerat k kan man lösa problemet effektivt. Med denna idé som utgångspunkt har jag tagit fram algoritmer för en rad intressanta problem, bl.a. the minimum weight triangulation problem (fyra olika algoritmer för problemet har implementerats i Java och utvärderats.), the minimum weight convex partition problem och the minimum number convex partition problem. Att dela upp en polygon i konvexa delar (convex partitions) innebär att man delar upp hela polygonens inre i icke-överlappande konvexa element. Dessa delar kan ha en gemensam form (t.ex. trianglar, kvadrater, rektanglar, trapetsoider) eller så tillåter man godtyckliga konvexa polygoner. Tekniken är ett viktigt första steg i många geometriska algoritmer då de flesta geometriska problem kan lösas både snabbare och enklare för konvexa objekt än icke-konvexa. Alltså har vi en bättre utgångspunkt när vi kan dela upp ett icke-konvext objekt i ett litet antal konvexa element eftersom det förenklar det fortsatta arbetet. Vanligtvis vill man minimera uppdelningen i konvexa delar på något sätt. Till exempel kan man vilja minimera antalet delar (minimum number convex partition). I andra sammanhang vill man minimera den totala längden på delarnas sidor (minimum weight convex partitioning) Vidare vill man ibland ha en speciell form på delarna, t.ex. trianglar. Trianglar har bara tre sidor, därför är alla geometriska operationer som enklast att utföra på just trianglar. Samtidigt ? eftersom trianglar har tre sidor ? är inte triangulering rätt metod om man vill ha ett litet antal konvexa delar, därför studeras triangulering framförallt med målet att minimera den totala längden på trianglarnas sidor (minimum weight triangulation). Exempel på tillämpningsområden är datorgrafik, bildbehandling, databassystem och datakompression. Utöver algoritmer för dessa problem presenterar avhandlingen ytterligare resultat. Jag fastställer gränser för hur snabbt en algoritm kan arbeta som ger en optimal lösning på ett trianguleringsproblem. För en variant av the minimum line covering problem (att täcka indatapunkter med minimalt antal räta linjer) ger jag såväl exakta som approximativa algoritmer samt undre tidsgränser. Vidare behandlar jag minimum spanning trees with bi-chromatic vertices, som avser hur man kan generera geometriska kopplingar av minimal längd med vissa restriktioner.

  CLICK HERE TO DOWNLOAD THE WHOLE DISSERTATION. (in PDF format)