Det minsta cirkelproblemet
Problemet med den minsta cirkeln eller problemet med den minsta täckande cirkeln är problemet med att beräkna den minsta cirkeln som innehåller alla givna punkter från en uppsättning på det euklidiska planet . Motsvarande problem i n -dimensionell rymd , det minst gränsande sfärproblemet , beräknar den minsta hypersfären som innehåller alla punkter i en given uppsättning [1] . Problemet med den minsta cirkeln ställdes först av den engelske matematikern James Joseph Sylvester 1857 [2] .
Det minsta cirkelproblemet är ett exempel på ett objektplaceringsproblem ( 1-centerproblemet ), där platsen för en ny organisation måste väljas för att betjäna en given uppsättning kunder samtidigt som man minimerar det maximala avstånd som en kund måste resa för att nå organisationen [3] . Både problemet med den minsta cirkeln i planet och problemet med den minsta gränsande hypersfären i högre dimensioner är lösbara i linjär tid .
Beskrivning
De flesta geometriska tillvägagångssätt till problemet tittar på punkter som ligger på gränsen till en minimal cirkel och är baserade på följande enkla fakta:
- Den minsta täckande cirkeln är unik.
- Den minsta täckande cirkeln för en mängd S kan bestämmas av högst tre punkter från S som ligger på cirkelns gräns. Om den definieras av endast två punkter, är ackordet som förbinder dessa punkter diametern på den minsta cirkeln. Om en cirkel definieras av tre punkter, kan triangeln inte vara trubbig.
Lösning i linjär tid
Som visat av Nimrod Megiddo [4] kan den minsta begränsningscirkeln hittas i linjär tid, och detsamma gäller för den minsta gränssfären i högre euklidiska rum.
Emo Welzl [5] föreslog en enkel randomiserad algoritm för cirkeltäckningsproblemet med en genomsnittlig körtid på , baserad på Raymond Seidels linjära programmeringsalgoritm . Algoritmen är rekursiv och tar två uppsättningar av punkter S och Q som argument . Algoritmen beräknar den minsta cirkeln som begränsar föreningen av mängderna S och Q om någon punkt i mängden Q är en gränspunkt för en möjlig gränscirkel. Det ursprungliga minsta gränsande cirkelproblemet kan lösas genom att börja med S lika med hela uppsättningen punkter och med Q lika med den tomma mängden . När algoritmen anropar sig själv rekursivt, ökar den mängden Q tills den innehåller alla gränspunkter.
Algoritmen bearbetar punkterna i mängden S i slumpmässig ordning, med användning av mängden P av bearbetade punkter och minimicirkeln som begränsar föreningen av P och Q . Vid varje steg kontrollerar algoritmen om den behandlade punkten r tillhör denna cirkel. Om inte, ersätter algoritmen den gränsande cirkeln genom att rekursivt anropa algoritmen på uppsättningarna P och Q + r . Beroende på om cirkeln byts ut eller inte ingår r i mängden P . Bearbetningen av varje punkt består alltså i att kontrollera (i konstant tid) om punkten tillhör cirkeln och eventuellt rekursivt anropa algoritmen. Det kan visas att den i : te bearbetningspunkten har sannolikheten för ett rekursivt anrop, och därför är den totala tiden linjär.
Senare inkluderades det minsta cirkelproblemet i den allmänna klassen av LP-typproblem , som kan lösas med algoritmer liknande Welzl-algoritmen baserad på linjär programmering. Som en konsekvens av att tillhöra denna klass visades det att beroendet av den konstanta faktorn på dimensionen i tidsuppskattningen , som var faktoriell i Seidelmetoden, kan reduceras till subexponentiell, men tidsuppskattningen förblir linjär i N [ 6] .
Andra algoritmer
Innan Megiddos resultat visade att det minsta cirkelproblemet kan lösas i linjär tid, dök det upp algoritmer med större komplexitet i litteraturen. Den naiva algoritmen löser problemet i O( n 4 ) tid genom att kontrollera cirklarna som ges av alla par och trillingar av punkter.
- Christal och Pierces algoritm använder en lokal optimeringsstrategi . Algoritmen tittar på två punkter på gränsen för den gränsande cirkeln och minskar gradvis cirkeln genom att ersätta par av gränspunkter tills en optimal cirkel hittas. Chakraborta och Chaudhury [7] föreslog en linjär tidsmetod för att välja en lämplig initial cirkel och ett par gränspunkter på cirkeln. Varje steg i algoritmen inkluderar en ny vertex av det konvexa skrovet som dess andra begränsningspunkt , så om det konvexa skrovet har h hörn, kan denna metod köras i O( nh ) tid.
- Elzinga och Hearn [8] beskrev en algoritm som tar hänsyn till avgränsande sfärer för en delmängd av punkter. Vid varje steg används en punkt utanför sfären för att hitta en större sfär som innehåller en ny delmängd av punkter som punkten tillhör. Även om algoritmens värsta tänkbara prestanda uppskattas till O( h 3 n ), hävdar författarna att algoritmen i sina experiment kördes i linjär tid. Metodens komplexitet analyserades av Dresner och Shelah [9] . I uppsatsen av Hearn, Vijay och Nickel kan man hitta koder för metoden i Fortran och C [10] .
- Det minsta sfärproblemet kan formuleras som ett kvadratiskt programmeringsproblem [1] definierat som ett system av linjära begränsningar med en konvex kvadratisk objektivfunktion. Således kan vilken algoritm som helst av möjliga riktningar ge en lösning på problemet [11] . Hearn och Vijay [12] bevisade att den möjliga riktningsstrategin som valts av Jacobsen är likvärdig med Christal-Pearce-algoritmen.
- Det dubbla problemet med det kvadratiska programmeringsproblemet kan formuleras explicit [13] . Lawsons algoritm [14] kan beskrivas som en algoritm för samtidig lösning av primära och dubbla problem [12] .
- Shamos och Howie [15] föreslog en algoritm med O( n log n ) lösningstid baserat på observationen att mitten av den minsta gränscirkeln måste vara spetsen för den yttersta punkten i Voronoi-diagrammet för den ingående uppsättningen av punkter.
Viktade varianter av problemet
Den viktade versionen av problemet med minsta spänncirkel tar som ingångspunkter i det euklidiska rummet med en vikt tilldelad varje punkt. Målet med problemet är att hitta en enda punkt som minimerar det maximala viktade avståndet till vilken punkt som helst. Det ursprungliga problemet med att täcka med en cirkel kan betraktas som ett problem med samma vikter. Liksom i fallet med ett problem utan vikter, kan ett viktat problem lösas i linjär tid i vilket utrymme som helst med begränsad dimension, med ett tillvägagångssätt baserat på en bounded linjär programmeringsalgoritm, även om långsammare algoritmer ständigt finns i litteraturen [12] [ 16] [17] .
Se även
Anteckningar
- ↑ 1 2 Elzinga, Hearn, 1972 , sid. 96–104.
- ↑ Sylvester, 1857 , sid. 79.
- ↑ Francis, McGinnis, White, 1992 .
- ↑ Megiddo, 1983 , sid. 759–776.
- ↑ Welzl, 1991 , sid. 359–370.
- ↑ Matoušek, Sharir, Welzl, 1996 , sid. 498–516.
- ↑ Chakraborty, Chaudhuri, 1981 , sid. 164–166.
- ↑ Elzinga, Hearn, 1972 , sid. 379–394.
- ↑ Drezner och Shelah 1987 , sid. 255–261.
- ↑ Hearn, Vijay, Nickel, 1995 , sid. 236–237.
- ↑ Jacobsen, 1981 , sid. 144–148.
- ↑ 1 2 3 Hearn, Vijay, 1982 , sid. 777–795.
- ↑ Elzinga, Hearn, Randolph, 1976 , sid. 321–336.
- ↑ Lawson, 1965 , sid. 415–417.
- ↑ Shamos och Hoey 1975 , sid. 151–162.
- ↑ Megiddo, 1983 , sid. 498–504.
- ↑ Megiddo, Zemel, 1986 , sid. 358–368.
Litteratur
- J. Elzinga, DW Hearn. Det minsta täckande sfärproblemet // Management Science . - 1972. - T. 19 . - doi : 10.1287/mnsc.19.1.96 .
- JJ Sylvester . En fråga i situationens geometri // Quarterly Journal of Mathematics . - 1857. - T. 1 . - S. 79 .
- RL Francis, LF McGinnis, JA White. Anläggningens layout och plats: En analytisk metod. — 2:a. — Englewood Cliffs, NJ: Prentice–Hall, Inc., 1992.
- Nimrod Megiddo. Linjär-tidsalgoritmer för linjär programmering i R 3 och relaterade problem // SIAM Journal on Computing . - 1983. - T. 12 , nr. 4 . — S. 759–776 . - doi : 10.1137/0212052 .
- Emo Welzl. Nya resultat och nya trender inom datavetenskap / H. Maurer. - Springer-Verlag, 1991. - T. 555. - S. 359-370. — (Föreläsningsanteckningar i datavetenskap). - doi : 10.1007/BFb0038202 .
- Jiri Matoušek, Micha Sharir, Emo Welzl. En subexponentiell gräns för linjär programmering // Algorithmica . - 1996. - T. 16 . — S. 498–516 . - doi : 10.1007/BF01940877 .
- RK Chakraborty, PK Chaudhuri. Notera om geometriska lösningar för vissa minimax-lokaliseringsproblem // Transportation Science . - 1981. - T. 15 . - doi : 10.1287/trsc.15.2.164 .
- J. Elzinga, DW Hearn. Geometriska lösningar för vissa minimax-lokaliseringsproblem // Transportvetenskap . - 1972. - T. 6 . — S. 379–394 . - doi : 10.1287/trsc.6.4.379 .
- Z. Drezner, S. Shelah. Om komplexiteten i Elzinga–Hearn-algoritmen för 1-centerproblemet // Mathematics of Operations Research . - 1987. - T. 12 , nr. 2 . — S. 255–261 . - doi : 10.1287/moor.12.2.255 . — .
- DW Hearn, J. Vijay, S. Nickel. Koder för geometriska algoritmer för det (vägda) minimicirkelproblemet // European Journal of Operational Research. - 1995. - T. 80 . - doi : 10.1016/0377-2217(95)90075-6 .
- S.K. Jacobsen. En algoritm för minimax Weber-problemet // European Journal of Operational Research. - 1981. - T. 6 . - doi : 10.1016/0377-2217(81)90200-9 .
- DW Hearn, J. Vijay. Effektiva algoritmer för det (vägda) minimicirkelproblemet // Operations Research . - 1982. - T. 30 , nr. 4 . - doi : 10.1287/opre.30.4.777 .
- J. Elzinga, DW Hearn, W.D. Randolph. Minimax multianläggningsläge med euklidiska avstånd // Transportvetenskap . - 1976. - T. 10 . - doi : 10.1287/trsc.10.4.321 .
- CL Lawson. Den minsta täckande konen eller sfären // SIAM Review . - 1965. - T. 7 , nr. 3 . - doi : 10.1137/1007084 .
- M.I. Shamos, D. Hoey. Proceedings of 16th Annual IEEE Symposium on Foundations of Computer Science . - 1975. - doi : 10.1109/SFCS.1975.8 .
- N. Megiddo. Det viktade euklidiska 1-centerproblemet // Mathematics of Operations Research . - 1983. - T. 8 . - doi : 10.1287/moor.8.4.498 .
- N. Megiddo, E. Zemel. En O ( n log n ) randomiseringsalgoritm för det viktade euklidiska 1-centerproblemet // Journal of Algorithms. - 1986. - T. 7 . - doi : 10.1016/0196-6774(86)90027-1 .
Länkar
- Bernd Gärtners minsta bifogade bollkod
- CGAL paketet Min_sphere_of_spheres i Computational Geometry Algorithms Library (CGAL)
- Miniball en öppen källkodsimplementering av en algoritm för det minsta problemet med omslutande boll för låga och måttligt höga dimensioner