Top Banner
1. Bevezető Mivel a jelenlegi magyar választókerületi rendszer nem felel meg az alkotmányos választójogi törvényben megadott, az alkotmánybíróság 22/2005 határozata alapján meghatározott (Magyar közlöny 2005. 81. szám) elvárásoknak, szükségessé vált egy alternatív felosztás kialakítása. Projektünk célja, hogy egy kutatás-fejlesztési fázis végén egy olyan szoftver keretrendszer épüljön ki, amely kvantitatíve értékeli, hogy egy adott választókerületi felosztás milyen mértékben elégíti ki a szükséges elvárásokat. state-of-the-art kombinatorikus optimalizálási módszerek alkalmazásával képes automatikusan megtalálni olyan választókerületi felosztásokat, amely egy adott elvárásrendszernek minél jobban megfelelnek. ebbe beleértve a politikai manipuláció lehetőségének vizsgálatát is a választókerületi térképek megrajzolásában. A rendszerbe az alábbi értékelési szempontokat építjök bele: a kerületek lakosságszáma a megadott korlátok közé essen a kerületek geometriailag összefüggőek legyenek települések lehetőség szerinti egyben tartása a kerületek minél szabályosabb, konvexebb alakúak legyenek a választókerületi centrumok lehetőség szerint szabadon történő megválasztása előre megcélzott választási eredmény (gerrymandering) Ezen feltételek összessége egy olyan szélsőségesen nemkonvex, rendkívül sok lokális optimumot tartalmazó feladatot definiál, amelyet csak speciális, a feladatra gondosan hangolt optimalizálási algoritmusok segítségével oldhatunk meg elégséges hatásfokkal.
40

people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

Jan 13, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

1. Bevezető

Mivel a jelenlegi magyar választókerületi rendszer nem felel meg az alkotmányos – választójogi törvényben megadott, az alkotmánybíróság 22/2005 határozata alapján meghatározott (Magyar közlöny 2005. 81. szám) – elvárásoknak, szükségessé vált egy alternatív felosztás kialakítása. Projektünk célja, hogy egy kutatás-fejlesztési fázis végén egy olyan szoftver keretrendszer épüljön ki, amely

kvantitatíve értékeli, hogy egy adott választókerületi felosztás milyen mértékben elégíti ki a szükséges elvárásokat.

state-of-the-art kombinatorikus optimalizálási módszerek alkalmazásával képes automatikusan megtalálni olyan választókerületi felosztásokat, amely egy adott elvárásrendszernek minél jobban megfelelnek.

ebbe beleértve a politikai manipuláció lehetőségének vizsgálatát is a választókerületi térképek megrajzolásában.

A rendszerbe az alábbi értékelési szempontokat építjök bele:

a kerületek lakosságszáma a megadott korlátok közé essen a kerületek geometriailag összefüggőek legyenek települések lehetőség szerinti egyben tartása a kerületek minél szabályosabb, konvexebb alakúak legyenek a választókerületi centrumok lehetőség szerint szabadon történő megválasztása előre megcélzott választási eredmény (gerrymandering)

Ezen feltételek összessége egy olyan szélsőségesen nemkonvex, rendkívül sok lokális optimumot tartalmazó feladatot definiál, amelyet csak speciális, a feladatra gondosan hangolt optimalizálási algoritmusok segítségével oldhatunk meg elégséges hatásfokkal.

Page 2: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

2. Történeti áttekintés

A választókerületi beosztás jelentős mértékben befolyásolhatja a választások végeredményét. A választások ily módon történő manipulálása gerrymandering néven híresült el. A kifejezés Elbridge Gerry (1744. 07. 17 - 1814. 11. 23) amerikai politikus és a szalamandra szavak keresztezéséből származik. 1812-ben Elbridge Gerry, Massachusetts állam kormányzója úgy szabta át a választókerületeket a helyi törvényhozási választások előtt, hogy a demokrata-republikánus jelölteknek kedvezzen a föderalista jelöltekkel szemben. Az így kialakított bizarr formájú választókerületek közt olyan is akadt, amelynek határai egy szalamandrát formáztak, így született meg a kormányzó neve és szalamandra szó összevonásából a gerrymandra (gerrymander, gerrymandering) kifejezés, amelyet azóta is használnak a választókerületek határaival történő manipulálció jelölésére.

rajz a Boston Gazette, 1812 március 26-i számából

A jelenség lehető legegyszerűbb megnyilvánulását a következő oldal a) ábrája mutatja be. A függőleges tengely mentén történő felosztás egyben tartja a terület jobb szélén látható egységes választói blokkot, a vízszintes tengely mentén történő felosztás megosztja. Ennek megfelelően az utóbbi esetben a kérdéses blokk nem jut megfelelő képviselethez.

Most lássunk egy kicsit komplexebb példát. Tegyük fel két, A-val és B-vel jelölt politikai blokk létezését. Álljon 4 választókerületre felbontandó területünk egy városból és szuburbációjából. Tegyük fel, hogy a terület 8×8 politikailag homogén egységre osztható. A városmagban és a szuburbációban éljenek A típusú politikai preferenciával rendelkező választópolgárok. A városmagot körülölelő lakóterületen éljenek B típusú politikai

Page 3: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

preferenciával rendelkező választópolgárok. Példánkban a felosztandó területen ugyanannyi A és B típusú választópolgár él.

Attól függően, hogy a választókerületek határait hol húzzuk meg, egészen másfajta eredményt kaphatunk. A c) ábra azt mutatja be, hogy lehetséges 3:1 arányú A típusú választói győzelem, míg a d) ábra arra világít rá, hogy ennek a fordítottja is elképzelhető. Tehát a választókerületi beosztás, azaz, hogy hol húzzuk meg az egyes választókerületek határait, döntő mértékben befolyásolhatja a választások eredményét.

Nem véletlen, hogy az Egyesült Államokban, ahol a törvények általában nem szabályozzák szigorúan a választási térképek elfogadhatóságát, az elmúlt 200 évben nagyon nagyszámú precedens volt törvénybe nem ütköző gerrymanderingre. (Nem is tekintve most olyan komplexebb változatait, mint a hatalomba bebetonozó kétpárti gerrymandering, vagy az etnikai kisebbségek érdekeit védő affirmatív gerrymandering.)

Az a) példában semmilyen objektív, pártok feletti szempont nincsen, ami alapján a két versengő felosztás közül választani lehetne, és a döntéshozók nem tehetnek „álnaívan” úgy, mintha nem lennének birtokában a múltbéli választási adatoknak. Ez mutatja, hogy a gerrymandering lehetősége lényegében nem kiküszöbölhető. A döntési folyamat társadalmi kontrollja szükséges ahhoz, hogy jelentőségét a minimálisra csökkentsük.

a) a lehető legegyszerűbb példa

b) a terület felosztás előttA A A A A A A AA B B B B B B AA B B B B B B AA B B A A B B AA B B A A B B AA B B B B B B AA B B B B B B AA A A A A A A A

Page 4: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

c) az A prefenciával rendelkezőknek kedvező felosztásA A A A A A A AA B B B B B B AA B B B B B B AA B B A A B B AA B B A A B B AA B B B B B B AA B B B B B B AA A A A A A A A

d) a B prefenciával rendelkezőknek kedvező felosztásA A A A A A A AA B B B B B B AA B B B B B B AA B B A A B B AA B B A A B B AA B B B B B B AA B B B B B B AA A A A A A A A

Néhány ismert példa az Egyesült Államok közigazgatásában ténylegesen előforduló manipulált választókerületi határra:

Page 5: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.
Page 6: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

3. A feladat

Az előzőekben leírtakból világossá válhatott, hogy egy választókerületi térkép megalkotásánál számos szempontot figyelembe kell venni. Mi az alábbiakat építettük be rendszerünkbe:

1. Az Alkotmánybíróság ítéletének történő megfelelésa. a kerületek lakosságszáma az előre kiszámolt korlátok közé essenb. a kerületek geometriailag összefüggőek legyenek

2. települések lehetőség szerinti egyben tartása3. a kerületek minél szabályosabb, konvexebb alakúak legyenek4. A választókerületi centrumok lehetőség szerint szabadon történő megválasztása5. a felhasználó megadhassa, hogy milyen megcélzott választási eredményre törekszik a

térkép rajzolásakor (gerrymandering)

Külön felhívjuk a figyelmet az utolsó szempontra a felsorolásban. Ennek a funkciónak köszönhetően a választókerületi térkép megalkotásánál követett politikai szempontok vizsgálat tárgyává tehetőek. Mint a gerrymanderingről írottaknál láthattuk, nem létezik olyan választókerületi térkép, ami eredendően elfogulatlan lenne: bármilyen konkrét felosztásról kimutatható, hogy valamilyen mértékben kedvez egyik vagy másik politikai csoportosulásnak. A „második legjobb dolog” amit ezután remélhetünk, hogy nyílt és a közvélemény által ellenőrzött módon történjen ezeknek az elfogultságoknak, manipulációs lehetőségeknek a vizsgálata, majd a döntéshozatal. Reményeink szerint ezt a célt segíti majd elő rendszerünk online változata, amely minden érdeklődő választópolgár számára hozzáférhető.

Megemlítjük, hogy a rendszernek nem célja, hogy hasonló területű választókerületeket hozzon létre. Egy megye egyes területeinek népsűrűsége nagyon különböző lehet. A cél a hasonló létszám elérése, ami szükségszerűen nagyon különböző területű választókerületekhez vezethet.

A fent felsorolt szempontokat az online rendszer menüpontjai mutatják be, és a menü egyes elemein keresztül lehetőség nyílik a szempontoknak megfelelő paraméterek kiválasztására. Így a rendszerünk egy meglehetősen nagy adathalmaz fölötti többcélú optimalizálást végez. A többcélú optimalizálási mag funkciókat térinformatikai rendszerbe ágyaztuk bele. Az algoritmus leírását és a rendszer működésének részletes ismertetését a további fejezetek mutatják be.

Page 7: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

4. Releváns szakirodalom

A feladat megoldásához extenzív szakirodalom-olvasással kezdtünk hozzá. Ennek során kirajzolódott, hogy a szimulált hűtés és annak különböző változatai jelenthetik a legígéretesebb megközelítési módot az optimalizálási feladat megoldásához. A téma szakirodalma egyelőre kevéssé bőséges. A tűzoltóságok, rendőrségek erőforrásainak hatékony elosztása kapcsán merülnek fel olyan lokatív optimalizálási feladatok, amelyek tanulsággal szolgálhatnak a mi feladatunk szempontjából. A legfontosabb feltárt források a térbeli erőforrás-allokáció témájában:

Micah Altman össszes műve, különösen: A Computation-Intensive Method for Evaluating Intent in Redistricting:http://data.fas.harvard.edu/micah_altman/papers/redis_intent%20_6_.pdf

Ningchuan Xiao - Geographic Optimization Using Evolutionary Algorithmshttp://www.geocomputation.org/2005/Xiao.pdf

Bong, C.W.; Chai, W.Y.; Wong, C.W. - State-of-the-art multiobjective metaheuristic for redistricting

George J.A.; Lamar B.W.; Wallace C.A. - Political District Determination Using Large-scale Network Optimization

Szimulált hűtés témájában: Mark Fleischer - Simulated annealing: past, present, and futurehttp://portal.acm.org/citation.cfm?id=224457

Párhuzamos temperálás: Enzo Marinari - Optimized Monte Carlo Methodshttp://arxiv.org/PS_cache/cond-mat/pdf/9612/9612010v1.pdf

Többcélú optimalizációs módszerek:http://www.mat.univie.ac.at/~neum/glopt/related.html#multi

SDSS (spatial decision support systems) azaz térinformatikai döntéstámogatási alkalmazások:

Wifi mesh optimalizálás:http://scholar.lib.vt.edu/theses/available/etd-04102003-105503/unrestricted/ScheibeDissertation.pdf

Történelmi áttekintés az emergency response-ra alkalmazott SDSS-ról:http://www.usc.edu/dept/create/assets/001/50755.pdf

Oktatási erőforrások allokációja (merre menjen az iskolabusz, ki melyik iskolába járjon):http://www.fes.uwaterloo.ca/crs/plan674d/files2005/mcallocationofschools.pdf

GSM-antennák elhelyezésének optimalizálása:http://www.inf.ethz.ch/personal/stamm/publications/stamm_thesis01.pdf

Baleseti sebészetek elhelyezésének optimalizálása:

Page 8: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

http://gis.esri.com/library/userconf/health07/docs/hug_2007_heckert.pdf

Wildlife reintroduction optimalizálás:http://www.esri.com/news/arcuser/0402/files/optimize.pdf

Multicommodity flow, és egyéb komplex célfüggvényekre való optimalizálás:http://intrawww.ing.puc.cl/siding/datos/public_files/profes/marianov_IBTFGZAQSAGJSCW/Reprint-HeterogeneousTrafficNets-LectureNotes2005.pdf

D. Bienstock, et al. - ATM Network Design: Traffic Models and Optimization-Based Heuristicshttp://citeseer.ist.psu.edu/229667.html

GIS optimalizáló problem solver keretrendszerek:http://aci.ign.fr/Portland/paper/ICA2006-Monnot.pdfhttp://www.esri.com/industries/logistics/business/territory_opt.html

Facility location, k-median:www.aladdin.cs.cmu.edu/reu/mini_probes/papers/facilitylocation.ppt

Genetic optimization of radiobase-station sizing and location using aGIS-based framework: experimental validationhttp://ieeexplore.ieee.org/Xplore/login.jsp?url=/iel5/8636/27400/01219371.pdf&arnumber=1219371

Hogyan osszuk fel a légteret optimálisan légiirányítók között, azaz dinamikus load-balancing sectorization:http://www.dei.unipd.it/~brunetta/sect.htm

Page 9: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

5. Eszközkészlet

A rendszer megépítése nagyszámú szoftverkomponenst és segédeszközt igényel. Többek között

Postgres: adatbáziskezelő PostGIS: az adatbáziskezelő térbeli adatokat kezelő kiterjesztése Quantum GIS: vizualizáló felület térképészeti adatok megjelenítésére Tulip: vizualizáló felület hálózati adatok megjelenítésére Python: a fejlesztéshez alkalmazott programozási nyelv és könyvtárrendszer Psyco: a Python just-in-time optimalizáló kiterjesztése Neighbours: általam fejlesztett eszközrendszer hálózati adatok manipulálására

és layout-jára. Különböző Unix command line eszközök: az adatok egyszerű szűréseihez és

összesítéseihez Azok a szoftverek, amelyeket munkatársam, Speiser Ferenc fejleszt, és az

rendszer által előállított adatok webes elérhetőségét és megjelenítését teszik lehetővé.

Ezek üzembe helyezése és megismerése önmagában is időigényes feladat volt, hiszen korábban nem foglalkoztam térinformatikával. A munkaszakasz végére azonban elegendően otthonosan mozogtam ezen eszközök között is.

A Quantum GIS rendszer jól alkalmazható látványos térképek rajzolására, bár nem elegendően felhasználóbarát ahhoz, hogy lehetőségeihez azonnal hozzáférhessen a felhasználó. Alább egy példa a munkaszakasz végén tesztelés és kiértékelés céljából előállított térképekre. A színezés az alapján történt, hogy a két politikai blokk milyen arányú eredményt ért el egy adott választókörben:

Az alábbi ábra Veszprém megye szavazóköreinek szomszédsági hálózatát tárja fel:

Page 10: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

Az alábbi, az adatok tesztelésének fázisban készített vizualizáció aszerint színezi Borsod-Abaúj-Zemplén megye egyes szavazóköreit, hogy poligonjuknak mennyi az izoperimetrikus hányadosa. A világosak a szabálytalan formájú szavazókörök:

Page 11: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

6. A feladat formálissá tétele

A választási adatokat az alkalmazás egyszerűsége és áttekinthetősége okán két politikai tömbbe aggregáltuk, bal és jobb tömbre egyszerűsítve le a többpárti eredményeket. Egy tényleges manipulatív térképrajzoló személy a múltbéli adatok alapján azonosítaná, hogy hol koncentrálódnak az egyes politikai tömbök szavazói, és eldöntené, hogy az ellenfél választóit mely (kis számú) körzetekben igyekezzen sűríteni, miközben a többi (nagyobb számú) körzetekben éppen felhígítani, elaprózni igyekezne az ellenfél választóinak blokkjait. Lényegét tekintve ezt a tevékenységet utánozza algoritmusunk is.

Az algoritmus egyszerre egy megyén dolgozik, hiszen a megyehatárok szükségszerűen választási kerülethatárok is egyben, és ez az országos térkép megrajzolását sok kisebb részfeladatra bontja. A rendszer végleges változatában a megyehatárok kötelező betartásán kívül a rendszer igyekszik betartani majd a nagyobb települések lehetőség szerinti egyben tartását is. Ez a funkció a jelenlegi változatban még nem szerepel.

A létszámokról és az összefüggőségről szóló feltételek merevek, azokat mindenképpen be kell tartania a rendszernek. A többi feltétel fokozatok kérdése. A létszámfeltétel ellenőrzéséhez szükséges demográfiai adatokat beépítettük a rendszerbe.

Az utolsó, politikai célt tartalmazó feltétel beépítése felelős azért, hogy előállított térképeink manipulatívak lesznek. Ennek ellenőrzéséhez az algoritmus fontos részfeladata, hogy megpróbálja megbecsülni a jövőbeli választások pártonkénti győzteseit, adott választókerületi felosztás mellett. Természetesen jövőbeli választási adatokkal nem rendelkezünk. Ezért ezeket múltbeli adatokból jósoljuk, mint mindenki, aki valaha manuális vagy gépi eszközökkel manipulatív térképet rajzolt. Ehhez rendelkezésünkre állnak a 2002-es és 2006-os választások részletes, szavazóköri bontású egyéni választási adatai.

A program következő változata képes lesz arra, hogy a 2002-es és 2006-os választások nagyfelbontású választási adatainak összevetésével azonosítsa, hogy az egyes politikai blokkoknak hol mennyire stabil a támogatása, és ez alapján finom modellt építsen, amely a politikai közhangulat sokféle állása mellett is sikeresen manipuláló térképeket épít. A program jelenlegi "demó" változatában ezt a modellt egy rendkívül egyszerű megoldás helyettesíti: A jövőbeli választás eredményeit a 2006-os adatokból nyeri. Ez a leegyszerűsítés jelenlegi rendszerünk talán legsúlyosabb hiányossága.

Több iterációnyi kísérlet után az alábbiakat találtuk a legmegfelelőbb bemeneti adatoknak:

Az elmúlt két választás szavazatszámai:elozo_eredmenyek_nonrel.csvevent_id;gid;kshkod;poltomb;szav;j;uid

Ennek első iterációjában csupán relatív szavazatszámokat tároltunk:elozo_eredmenyek.csvevent_id;gid;kshkod;poltomb;arany;uid

Külön tábla tárolta a településneveket, amik kisebb granularitásban álltak rendelkezésre, mint az alapegységként szolgáló szavazókörök/városrendezési körzetek:

Page 12: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

telep_eovknum.csvkshkod;tel_nev;eovk_num

A szavazókörök létszámadatai:vrktelhat04_lsz.csvmaz;kshkod;tel_nev;lsz;gid;uid

Ezek eredetileg csak település granularitásban álltak rendelkezésretelep_lsz.csvmaz;kshkod;tel_nev;lsz;gid

A ritka mátrix, amely megadja, hogy két szavazókörnek mennyi a közös kerülete, illetve diagonálisában megadja, hogy egy szavazókörnek mennyi a teljes kerülete:telhat04_adj.csvmaz;gid;szid;lsz;tel_area;comlength

A településkódok és a városrendezési körzetek összerendelésevrktelep_list.csvgid;kshkod;uid;tel_nev

A városrendezési körzetek centroidjainak földrajzi koordinátái:centroids.txtgid;latitude;longitude

Page 13: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

7. Célfüggvény meghatározása

A formalizálás következő, utolsó és legfontosabb lépése a többcélú optimalizálás célfüggvényeinek meghatározása és a többcélú feladat egycélúvá tétele volt. Az alábbiakban bemutatjuk az egyes célok eléréséhez alkalmazott eszközöket. A megadott célfüggvényeket lineáris függvénnyel alakítottuk egyetlen célfüggvénnyé. Az együtthatók megválasztása aprólékos paraméterhangolást igényelt a rendszer mérhető teljesítménye alapján. Lássuk újra az informális célok listáját, ezúttal mellettük feltüntetve, hogy milyen módon formalizáltuk azokat:

1. Az Alkotmánybíróság ítéletének történő megfelelésa. a kerületek lakosságszáma az előre kiszámolt korlátok közé essen – hard

constraint, amelynek betartásában segít, hogy kvadratikus jutalomfüggvénnyel tereljük a korlát közepe felé az instanciát.

b. a kerületek geometriailag összefüggőek legyenek – hard constraint, amelynek betartását (ellenőrzése költséges lévén) az optimalizáció minden k-dik ciklusában ellenőrizzük, és kényszerítjük ki.

2. települések lehetőség szerinti egyben tartása – nem került bele a jelenlegi változatba3. a kerületek minél szabályosabb, konvexebb alakúak legyenek – az izoperimetrikus

hányadosok összegének konvex függvénye alapján adunk jutalompontot.4. A választókerületi centrumok lehetőség szerint szabadon történő megválasztása – az

iteráció megkezdésekor egy kezdőkonfigurációt konstruálunk, olyan módon, hogy az előre megadott választókerületi centrumokat tiszteletben tartsa. Több olyan változata épült a rendszernek, amely a centrumok tiszteletben tartását hard constraintként vagy célfüggvényen keresztül betartatja vagy igyekszik betartani. A végleges rendszerbe a pusztán a kezdeti konfiguráción keresztül ható változat került bele.

5. a felhasználó megadhassa, hogy milyen megcélzott választási eredményre törekszik a térkép rajzolásakor (gerrymandering) - kvadratikus jutalomfüggvénnyel tereljük a korlát közepe felé az instanciát.

Page 14: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

8. Szimulált hűtés

Az algoritmus a szimulált hűtés nevet viselő optimalizációs eljárással keres minél kisebb büntetőpontszámú térképet, tehát olyant, amely a fentebb specifikált feltételrendszert a lehető leginkább kielégíti. A szimulált hűtés lényege, hogy

egy kiinduló térképből indulva véletlenszerű apró változtatásokat végzünk, előnyben részesítve azokat a változtatásokat, amik csökkentik a büntetőpontot.

A hűtés elnevezés a módszer fizikai folyamatokkal való analógiájából ered, és arra utal, hogy időben előre haladva egyre ritkábban választunk előnytelen változtatásokat. Ha soha nem választanánk előnytelen változtatásokat, akkor a keresés "beszorulna" nem megfelelő térképeknél. A véletlen változtatások segítenek abban, hogy a keresés az ilyen, ún lokális optimumokból kiszabaduljon, és eljusson az ún. globális optimum közelébe. Megjegyezzük, hogy ezeket a véletlenszerű változtatásokat mégsem tökéletesen találomra választjuk, a rendszer a keresést igyekszik a létszámegyensúlyban lévő kerületfelosztások felé "sodorni".

A kiinduló térkép megrajzolásához a felhasználó által javasolt magtelepülésekből indul ki a rendszer. De ha nem talál olyan térképet, amely ehhez a térképhez hasonló, és kielégíti a feltételeket, akkor a keresés hamar elvándorol a kiindulási térkép közeléből, és a végső térkép nem fogja betartani a magtelepülésekre vonatkozó javaslatokat.

Előfordul, hogy a keresés a szimulált hűtés alkalmazása ellenére zsákutcába fut. Ilyenkor a rendszer új kezdőtérképből indulva új keresést végez. Néhány sikertelen próbálkozás után jelenti a kudarcot. Az eljárás rendkívül sok számítást végez egyetlen megye választási térképének előállításakor. Ezért nem meglepő, hogy egy megye térképének meghatározása tipikusan 15-25 másodperc körüli időt vesz igénybe, a megye településszámának függvényében.

Page 15: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

9. Alternatív optimalizációs módszerek

Voronoi cellákra épülő optimalizálásKísérletet tettünk egy olyan optimalizáló megalkotására, amely nem a teljes, szavazókörökről választókerületekre képező függvénytérben keresi az optimumot, hanem annak egy speciálisan paraméterezett részében. Itt az instancia egy olyan függvény, amely minden választókerülethez csak egyetlen földrajzi koordinátát rendel. Ezt az eredeti függvénytérbe olyan módon képezzük be, hogy minden szavazókört a centroidjához hagyományos euklídeszi értelemben legközelebbi választókerület-zászlóhoz rendeljük. Az implementáció nem váltotta be a hozzá fűzött reményeket, egyrészt a nagyon nemkonvex megye- és szavazókör-formák miatt, másrészt mert az izoperimetrikusan optimális elrendezés gyakran szabálytalan a centroidok szempontjából. Az utóbbi probléma egyik lehetséges kiküszöbölési módja, ha a Voronoi-cellákra épülő optimum megtalálása után azt tovább finomítjuk az eredeti optimalizálóval. Ennek a komplex megoldásnak a teljes implementálására nem került sor, miután az eredeti algoritmus futásidő-optimalizálása elegendően jó eredményeket adott.

Parallel TemperingA parallel tempering a szimulált hűtés egy alternatív implementációja, amely elsősorban gyengén csatolt feldolgozóegységekkel dolgozó párhuzamos számítógépekre lett kidolgozva, de hasznot hajthat egyszálú rendszerekben is. Az eljárás során több különböző hőmérsékleten tartott instanciát tartunk karban, mindegyik a megfelelő hőmérsékleten bolyong. A hőmérsékletek egy mértani sorozatot alkotnak, és a szomszédos hőmérsékleteken álló instanciákat bizonyos eséllyel felcseréljük. A felcserélés valószínűsége függ az instanciák jóságának különbségétől. A jobb megoldások ezáltal hajlamosak lesznek a kisebb hőmérsékletű slotok felé vándorolni.Az eljárást implementáltuk, és a tapasztalt eredmény azt igazolta, hogy az eljárás jó megoldás rendelkezésre álló többmagos rendszer esetén. Azonban az általunk fejlesztett egyszálú kódon előnyei nem nyilvánultak meg.

Page 16: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

10. Futásidő-optimalizáció

Ahhoz, hogy szimulált hűtési algoritmusunk Python nyelvű implementációja elegendően gyors legyen, nagy számú sebesség-optimalizálási megoldásra volt szükség. Az első implementáció szerverünkön két perc alatt talált elfogadható értékű instanciát, még a Psyco just-in-time compiler kiegészítés alkalmazása mellett is. A megkísérelt gyorsítási kísérletek között ott szerepelt a korábban leírt parallel tempering és Voronoi-módszer, de a végső változat algoritmikus szempontból kevésben különbözött elődeitől. Az, hogy ennek ellenére körülbelül tízszeres gyorsulást ért el, szinte kizárólag hagyományos cacheing, time-memory trade-off optimalizációknak köszönhető. A célfüggvényeket soha nem számoljuk újra a kezdeti állapot után, mindig csak deltákkal dolgozunk. Bizonyos esetekben a deltáknak is csak a deltájával számolunk, hiszen a szimulált hűtés elemi lépése az, hogy egy adott szavazókör választókerületét átminősítjük, ami a lináris célfüggvények szempontjából két elemi lépésnek fogható fel.

Alacsony szintű futásidő-optimalizáció az előretekintés módszere. Ennek lényege, hogy más kódszálon történik annak a kiszámolása, hogy milyen hatása van egy elemi változtatásnak a célfüggvényre, mint a változtatásnak a feltétel nélküli végrehajtása, és a különböző cache-elt adatstruktúrákon való végigvezetése.

Megemlítjük, hogy a rendszer belső ciklusainak egyik legszámításintenzívebb eleme az izoperimetrikus hányados kiszámítása. Optimalizálásaink arra építenek, hogy a terület az instanciából (mint szavazókörökről választókerületekre képező függvényből) egyetlen skalárszorzással, a kerület pedig egyetlen ritka mátrixszal való szorzással számítható.

Page 17: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

11. Felhasználói felületA rendszer nagyszámú paramétere állítható parancssorból. Ezeknek a tömör angol nyelvű leírása alább látható:

options: -h, --help show this help message and exit --county=COUNTY County id --distnum=DISTNUM Number of districts in county --leftwin=LEFTWIN Supposed wins of the left political block. By convention, 1000 means maximal possible, -1000 means minimal possible. --popdev=POPDEV Constain the maximum district population to be less than 100+popdev percent of the minimal one. --popmin=POPMIN Constain the minimum district population. Requires --popmax, prohibits --popdev. --popmax=POPMAX Constain the maximum district population. Requires --popmin, prohibits --popdev. --shapepen=SHAPEPEN Penalty weight for silly-shaped districts. --centers=CENTERS Comma-separated list of proposed EOVK centers. Whitespace is not allowed in between. --attempt=ATTEMPT Attempts before giving up finding a satisfying map. --bestattempt If set, we choose the best of all attempts. --metro_num=METRO_NUM Number of optimization steps at each temperature. --metro_start=METRO_START Starting temperature for simulated annealing. --metro_end=METRO_END Stopping temperature for simulated annealing. --metro_ratio=METRO_RATIO Common ratio for the geometric sequence of temperature. --database=DATABASE Path to the database directory. --verbose=VERBOSE Verbosity level: 0,1 or 2. --year=YEAR The year that we model our election after. --srand=SRAND Random seed. Default is 0. By convention, -1 means that we want an unpredictible seed. --qgis Output to be used by Quantum GIS as map colors.

Page 18: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

A legmagasabb verbozitási szinten a rendszer lépésről lépésre vizualizálja a parciális térképek épülését, ehhez a VT100 terminál primitív karakteres megjelenítését használja, és a centroidjaikkal azonosítja a szavazóköröket. Illusztráció:

A program default kimenete egy olyan egyszerű kulcs-érték formátum, amely metaadatokat, célfüggvény-értékeléseket, és természetesen magukat a választókerületi beosztásokat tartalmazza.

A legfontosabb kulcsok: A megye azonosítója, a legkisebb létszámú kerület létszáma, a legnagyobb létszámú kerület létszáma, ugyanezen két mennyiség előírt értékei, a potenciálfüggvény értéke, az egyes kerületek összesített eredményei, és az egyes politikai blokkok győzteseinek száma.

COUNTY 16SRAND 0POPMIN 43697 TARGET 39453POPMAX 44860 TARGET 49317POPDEV 0.026592 TARGET 0.250000POTENTIAL 1460.923399UNSET 0LEFTWINS 4 TARGET 4DISTRICT 0 LEFT 11720 RIGHT 17811DISTRICT 1 LEFT 13311 RIGHT 15273DISTRICT 2 LEFT 14246 RIGHT 13381DISTRICT 3 LEFT 13064 RIGHT 13200DISTRICT 4 LEFT 11417 RIGHT 16492DISTRICT 5 LEFT 14456 RIGHT 15015DISTRICT 6 LEFT 14766 RIGHT 14044DISTRICT 7 LEFT 18502 RIGHT 13251DISTRICT 8 LEFT 12234 RIGHT 14273

Page 19: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

DISTRICT 9 LEFT 16575 RIGHT 11893ATOM 512 3ATOM 514 0ATOM 515 1ATOM 517 1ATOM 520 9...

A –qgis opció lehetővé teszi, hogy egy másik, a Quantum GIS szoftver számára értelmezhető kimenetet állítson elő a szoftver. Az ebből előállított térkép az egyes választókerületeket homogén módon színezi, az alapján, hogy melyik politikai tömb kapta ott a többséget, és ezen belül árnyalatokkal különböztetve meg az egyes kerületeket.

Page 20: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

12. Térképváltozatok posztszelekciója

Az optimalizáló algoritmus természetéből adódóan nem mindig a legjobb megoldást találja meg. Az is előfordulhat, hogy egy megtalált térkép valamilyen más kritériumnak jobban megfelel, mint annak a kritériumnak, aminek megadásával keletkezett. Azért, hogy a legjobb minőségű adatokkal dolgozhassunk, a következő ad hoc megoldást választottuk:

Nagyon nagy számú térképváltozatot állítunk elő, a legkülönbözőbb paraméterállásokkal és véletlen magokkal. (Ez a kötegelt munka körülbelül egy napi CPU-időt igényel.) Ezután egy utólagos szelektáló algoritmus (mi úgy hívjuk, térképbróker) megkeresi a generált térképek között azt, ami egy-egy kritériumnak a legjobban megfelel. A térképbróker ügyel arra, hogy minden térképet csak egyszer válasszon ki. Tulajdonképpen mohó algoritmussal egy olyan párosítást keres a feltételek és térképek páros gráfjában, amely egyfelől lefedi a feltételek halmazát, másrészt lehetőség szerint minimalizálja a párosítás éleinek összsúlyát. (Itt most súlynak nevezzük azt a büntetőpontot, amely azt fejezi ki, hogy a térkép mennyire tér el a feltételtől. A súly elsődleges összetevője a politikai tömb győzteseinek számában való különbség, de ezen belül igyekszik kis izoperimetrikus hányadosú, azaz szabályos formájú térképet választani.)

Az online alkalmazásban a megjelenítés elemi egysége a térképváltozat. Egy térkép különböző címkézett térképváltozatok halmaza. A térképbróker segítségével könnyen előállíthatóak olyan térképek, amelyek valamilyen jelenség bemutatását szolgálják, és az online alkalmazás menüiből elérhetők. Jelenleg kétféle példa van ilyenre. Az egyik, hogy minden megyéhez rendelünk egy térképet, amelynek változatai bemutatják a gerrymandering összes lehetséges mértékét. A másik az országos térkép, amelynek két változata a megyénként balra, illetve megyénként jobbra optimalizált. A térképek számát megkétszerezi, hogy mindegyikből készült olyan változat, amely 10%-ban, és olyan amely 25%-ban maximalizálja a létszámkülönbségeket az egyes választókerületek között.

2-5 arányú baloldali vereség Békés megyében (10%-os megengedett létszámkülönbség mellett)

3-4 arányú baloldali vereség Békés megyében

Page 21: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

4-3 arányú baloldali győzelem Békés megyében

5-2 arányú baloldali győzelem Békés megyében

Országos választási térkép baloldali győzelemre optimalizálva, 79-67 győzelmi arány. (10%-os megengedett létszámkülönbség mellett)

Page 22: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

Országos választási térkép jobboldali győzelemre optimalizálva. 36-110 győzelmi arány. (10%-os megengedett létszámkülönbség mellett)

Page 23: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

13. Kiértékelés

Az alábbi táblázat mutatja, hogy megyénként milyen választókerület-szám szükséges az Alkotmánybíróság ítéletének betartásához.

year maz mnev lsz eovk_min eovk_max eovk_mean2002 1 BUDAPEST                 1424381 25 42 31,15722002 2 BARANYA                  324260 6 9 7,09292002 3 BÁCS-KISKUN               433433 8 13 9,48102002 4 BÉKÉS                    317655 6 9 6,9484

2002 5BORSOD-ABAÚJ-ZEMPLÉN     578955 10 17 12,6642

2002 6 CSONGRÁD                 338883 6 10 7,41282002 7 FEJÉR                    337408 6 10 7,38052002 8 GYŐR-MOSON-SOPRON        349834 6 10 7,65232002 9 HAJDÚ-BIHAR              429839 8 13 9,40242002 10 HEVES                    261613 5 8 5,7226

2002 11JÁSZ-NAGYKUN-SZOLNOK     330940 6 10 7,2390

2002 12KOMÁROM-ESZTERGOM        250451 4 7 5,4784

2002 13 NÓGRÁD                   175049 3 5 3,82912002 14 PEST                     850591 15 25 18,60602002 15 SOMOGY                   267463 5 8 5,8505

2002 16SZABOLCS-SZATMÁR-BEREG   442599 8 13 9,6815

2002 17 TOLNA                    198899 3 6 4,35082002 18 VAS                      214624 4 6 4,69472002 19 VESZPRÉM                 295280 5 9 6,45902002 20 ZALA                     239602 4 7 5,24112006 1 BUDAPEST                 1379459 24 40 30,17452006 2 BARANYA                  322455 6 9 7,05342006 3 BÁCS-KISKUN              432280 8 13 9,45582006 4 BÉKÉS                    311597 5 9 6,8159

2006 5BORSOD-ABAÚJ-ZEMPLÉN     571141 10 17 12,4932

2006 6 CSONGRÁD                 337890 6 10 7,39112006 7 FEJÉR                     342728 6 10 7,49692006 8 GYŐR-MOSON-SOPRON        353498 6 10 7,73252006 9 HAJDÚ-BIHAR              430825 8 13 9,42392006 10 HEVES                    258788 5 8 5,6608

2006 11JÁSZ-NAGYKUN-SZOLNOK     326580 6 10 7,1437

2006 12KOMÁROM-ESZTERGOM        251441 4 7 5,5001

2006 13 NÓGRÁD                   172459 3 5 3,77242006 14 PEST                     900518 16 26 19,69812006 15 SOMOGY                   265368 5 8 5,8047

2006 16SZABOLCS-SZATMÁR-BEREG   443859 8 13 9,7091

2006 17 TOLNA                    196886 3 6 4,30672006 18 VAS                      213705 4 6 4,6746

Page 24: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

2006 19 VESZPRÉM                 295621 5 9 6,46652006 20 ZALA                     239031 4 7 5,2286

Page 25: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

14. eovk.mokk.bme.hu

Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense. Ez egy úgynevezett Google Maps mashup, ami azt jelenti, hogy a Google térképszolgáltatására ráépülve működik. A felhasználó böngészőjében megjelenő adatok egy része a Google, más része a MOKK szervereiről érkezik. A rendszer online összetevőit, adatbáziskezelési és térinformatikai elemeit Speiser Ferenc térinformatikus implementálta. Az alábbiakban tehát olyan elemeket mutatunk be, amelyek elsősorban Speiser Ferenc munkájához kötődnek.

ElérhetőségA szolgáltatás a http://eovk.mokk.bme.hu címen érhető el. Az URL beírásával megkezdhetjük a rendszer használatát.

RendszerkövetelményekA web-alkalmazás PHP, Javascript (AJAX) és HTML felhasználásával készült. Használatához elegendő egy böngésző (pl. Mozilla Firefox, Internet Explorer, Opera…), melyek közül a Mozilla Firefox ajánlott (ebben a böngészőben teszteltük a rendszert mindenre kiterjedően). A A böngészőt leterhelheti a túl sok vektoros adat Google Maps-en történő megjelenítése, ezért relatíve modern gép lehet szükséges a gördülékeny futtatáshoz.

Rövid bevezetésA rendszer működésének részletesebb leírása előtt a bemutató térképek elérésének gyors módját írjuk le.

Irányítsuk a böngészőt a http://eovk.mokk.bme.hu/ címre. Válasszuk a Térkép betöltése / Ajánlott bemutató térképek menüt. A térképlistából a Betöltés szóra klikkelve válasszuk ki mondjuk a FEJÉR 25%

térképet. (Ez Fejér megye olyan manipulatív térképeit mutatja be, amelyeknél az a megkötés, hogy a létszámban legnagyobb kerület legfeljebb 25%-kal legyen nagyobb a létszámban legkisebbnél.)

Klikkeljünk a jobb oldali kék menüben a Térkép-infó szóra vagy a térkép nevére. A felugró térkép-infó ablakot mozgassuk balra úgy, hogy ne takarja Fejér megyét.

Esetleg zoomoljunk a megyére a Google Maps kontrollal a bal felső sarokban. A térkép-infó ablakban látható pull-down menü 1-7-et mutat, azaz most egy olyan

térképváltozatot látunk, amelyben 1 baloldali és 7 jobboldali jelölt nyer. Próbálgassuk végig a lehetőségeket 1-7-től 6-2-ig bezárólag.

Egy választókerületre klikkelve megnézhetjük annak létszámát, és a győzelmi arányokat.

Ismertető képekben

A továbbiakban képernyőképeken keresztül mutatjuk be a rendszer legfontosabb funkcióit.

Súgó/ismertető a rendszeren belül:

Page 26: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

A Térképek a rendszerben menüpontra kattintva a felhasználók vagy a fejlesztők által létrehozott és nyilvánossá tett térképek listáját láthatjuk, melyről tetszőleges térképet választhatunk a Betölt gomb megnyomásával. Ennek hatására a kiválasztott térkép automatikusan betöltődik a térképre.

A térképen megjelenő választókerületekre kattintva információt kaphatunk a kerületet alkotó településekről, valamint azok lélekszámáról:

Page 27: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

Egy térkép egyes változatai közül választhatunk a térkép információs menüjében:

A rendszer lehetőséget ad saját szempontok alapján egyedi térképek előállítására. Ennek eléréséhez egyszerű regisztrációra van szükség:

Page 28: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

Új térképváltozat létrehozását szolgáló menü. A megyére jobb-klikkelve érhető el. Felhívjuk a figyelmet a drop-down menüre, amelyben a bal oldal -jobb oldal által megszerzett képviselői helyek számát megadhatjuk. A bal oldalon választhatók ki a magtelepülések.

Két különböző térképváltozat előállítása egy térképen belül:

Page 29: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

Az elkészült térképek további politológiai vizsgálatok céljára szabadon exportálhatók:

Page 30: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.
Page 31: people.mokk.bme.hupeople.mokk.bme.hu/~daniel/eovk/eovk.pki2008.doc · Web vieweovk.mokk.bme.hu Mint már említettük, optimalizálónk egy interaktív online alkalmazás komponense.

15. Köszönetnyilvánítás

A rendszer természetesen nem jöhetett volna létre Mészáros József kezdeményező szerepe, és a Barankovics István Alapítvány támogatása nélkül. A szerző köszönetet mond Speiser Ferencnek a hatékony és jó hangulatú közös munkáért. A jelen dokumentum utolsó fejezete olyan szövegeket és illusztrációkat is tartalmaz, amelyeket Speiser Ferenc készített. Ezek felhasználásának lehetővé tételéért a szerző külön köszönetet mond.