MMAP Mentális térképezés román-magyar összefogásban Megvalósíthatósági tanulmány (Feasibility study) Algoritmus terv (Algorithm plan) Munkaterv (Workplan)
Készítette: Az Innoratio Kutatómőhely és az Integratio Alapítvány megbízásából a TeTT Consult Kft. valamint a SC Hangart SRL.
Két ország, egy cél, közös siker! Două Ńări, un scop, succes comun!
Szeged-Temesvár 2010. október -2011. szeptember
Jelen tanulmány tartalma nem feltétlenül tükrözi az Európai Unió hivatalos álláspontját.
MMAP Mentális térképezés román-magyar összefogásban
Megvalósíthatósági tanulmány
Közremőködı szakértık: Letenyei László Losonc Krisztina
Két ország, egy cél, közös siker! Două Ńări, un scop, succes comun!
A tanulmány a Magyarország – Románia Határon Átnyúló Együttmőködési Program 2007- 2013 Irányító Hatósága támogatásával a HURO/0901/059 projekt keretében készült.
Jelen tanulmány tartalma nem feltétlenül tükrözi az Európai Unió hivatalos álláspontját.
2
Tartalomjegyzék Megvalósíthatósági tanulmány ....................................................................................................... 2 Vezetıi összefoglaló ....................................................................................................................... 4 A mentális térképezés, mint tudományág ....................................................................................... 5 Mentális térkép módszertan ............................................................................................................ 7 Leggyakoribb adatgyőjtési technikák csoportosítása.................................................................. 8 Mentális térkép szoftverek ........................................................................................................ 11 Mental Map Editor 1.0 vs 2.0 ....................................................................................................... 12 Mentális térkép algoritmusok ....................................................................................................... 14 1. Vonalátlag módszer (line average method) .......................................................................... 14 2. Céltábla módszer (dartboard method) ................................................................................... 18 Irodalomjegyzék ........................................................................................................................... 21 Algoritmus terv ............................................................................................................................. 23 Értelmezési útmutató .................................................................................................................... 25 Adatbázis struktúra ................................................................................................................... 25 Kérdıív létrehozása .................................................................................................................. 28 Kérdıív kitöltése ....................................................................................................................... 33 Adatok megjelenítése/értelmezése ............................................................................................ 38 Munkaterv ..................................................................................................................................... 42 Megvalósítási munkaterv .............................................................................................................. 44 GANTT Diagramm ................................................................................................................... 46
3
Vezetői összefoglaló Tisztelt Olvasó! A megvalósíthatósági tanulmány a Magyarország - Románia Határon Átnyúló Együttmőködési Program HURO/0901 pályázati támogatással megvalósított projekt eredményeit, valamint az eredmények tükrében megfogalmazott javaslatokat tartalmazza. A kutatási projekt, amely a „Mentális térképezés román-magyar összefogásban” címet kapta, „MMAP” rövidítéssel vált ismertté. A kutatás az Innoratio Kutatómőhely Csongrád Megyei Gazdaság- és Társadalomfejlesztı Közhasznú Egyesület, mint vezetı partner, és a temesvári Integratio Alapítvány együttmőködésében készült. A mentális térképezés azon kivételes területek egyike, ahol Európa nincs elmaradva az Újvilággal szemben: fontos kutatóközpontjai vannak Angliában és a németországi Brémában, valamint Közép-Európában is több kiemelkedı kutatás zajlik. Magyarországon készült el az elsı mentális térképészeti felhasználói szoftver, a Mental Map Editor 1.0. Az IMMAP (International Mental Map Association Platform), elnöke 2010-ben egy román, titkára egy magyar nemzetiségő kutató. A projekt a mentális térképezés terén jelenleg még fennálló tudományos-kutatási helyzeti elınyt szeretné kiaknázni és tovább fejleszteni. A tér-informatika és a környezetpszichológia eredményeinek közeledésével ez a tudományág napjainkban áttörési pont elıtt áll; szerencsés, és kívánatos lenne, ha ebben a folyamatban a térségbeli kutatók is elsı vonalban vehetnék ki a részüket. Napjaink fı tudományos kihívása azonban módszertani jellegő, nem alkalmazással kapcsolatos: miként lehet a kortárs pszichológia által kifejlesztett különbözı kvalitatív, gyakran rajzolás-alapú technikákat úgy algoritmizálni és nagy tömegő adatfeldolgozásra alkalmassá tenni, hogy közben ne veszítse el az eljárás a személy-központúságot. E tudományos kihívásnak kíván megfelelni a MMAP kutatási projekt, melynek célja a mentális térképezés módszertanának fejlesztése, új algoritmikus eljárások kidolgozásán keresztül. Jelen megvalósíthatósági tanulmányban arra törekedtünk, hogy olyan új algoritmus terveket dolgozzunk ki, amelyek a mentális térképezésen felül sok más területen is alkalmazhatóak.
4
A mentális térképezés, mint tudományág Kevés tudományos érdeklıdési terület született olyan interdiszciplináris környezetben, mint épp a mentális térképezés. A térre vonatkozó tudattartalmak vizsgálata az 1960-as évektıl kezdve körülbelül egy idıben jelent meg (és kölcsönösen hatott egymásra) a földrajz, a pszichológia, nyelvészet és a társadalomtudományok, elsısorban a kulturális antropológia területén. Manapság eredményeit sok helyütt hasznosítják: urbanisztikában, térségfejlesztésben, lakberendezésben, tájékoztató
rendszerek
kiépítésében,
ingatlanpiaci elemzésekben,
akadálymentesítésben,
kinetikában, robot-technológiában, stb. A mentális térképek vizsgálata – egyes meglátások szerint – egyidıs a kultúra kutatásával, és térhasználat címke alatt már a századforduló néprajzi és antropológiai irodalmában is megjelent. Bronislaw Malinowski (1922), bár kognitív térképezés nála nem bukkan fel, a Trobriandszigetek közötti kereskedelmi lánc leírásakor utal arra, hogy a szigetek lakói a közvetlenül szomszédos szigeteket tartják közelinek, és ez az elképzelés, hatással van a kereskedelmi kapcsolatok alakulására. A kulturális antropológiában az ötvenes-hatvanas években végbemenı strukturalista és kognitív fordulat a térérzékelés vizsgálatának felértékelıdéséhez vezetett. A nyelvészet és az antropológia sok tekintetben egymás mellett, szoros kölcsönhatásban haladt. Az egyik legismertebb antropológiai jellegő munka, Edward T. Hall (1966, 1975) Rejtett dimenziók c. könyve, a környezetre vonatkozó kulturálisan meghatározott tudás és a kommunikáció, illetve a nyelv kérdéseivel foglalkozik. Hall a „proxemika” kifejezést használja a különbözı emberi kultúrák és közösségek tér- és idıhasználatának egymással összefüggı feltérképezésére, amely kifejezés bizonyos kutatási hagyományban a „proxemikai ábra” rajzolásával egészül ki. Többek között arra is rámutat, hogy az ember és környezete kölcsönösen alakítják egymást. Az ember megteremti a kultúrát, közben háziasítja magát; a kultúra nyelvén keresztül ismeri meg a valóságot, miközben az építetett (városi) környezet is a kultúra szőrı-szelektáló folyamatának terméke. Térre vonatkozó elképzeléseink elsısorban nem az objektív valóságon, hanem annak szubjektív észlelésén nyugszanak. A mentális térképezés területén a legkülönbözıbb nyelvészeti, pszichológiai és földrajzi megközelítések
eredményei
kölcsönösen
hatottak
5
egymásra.
A
korai
pszichológiai
patkánykísérletek (például: Edward Tolman 1948) szorosan összekapcsolták a térérzékelést, mentális térképezést és az állati/emberi viselkedés vizsgálatát. Az etológia, fıleg Konrad Lorenz hatása kimutatható Kevin Lynch (1960) könyvén, amely azzal foglalkozott, miként tájékozódnak az emberek a városokban. Az egyébként építész végzettségő Lynch munkája készítette elı – Cséfalvay Zoltán (1990) értékelése szerint – a földrajztudomány egy újabb fordulatát. Egy évtizeddel késıbb jelent meg a földrajzkutató Roger Downs (1970) programadó írása, majd 1973-ban David Stea-vel közösen szerkesztett szöveggyőjteménye. Ez utóbbi munka viszont a pszichológus végzettségő, de számos diszciplína területén alkotó Stanley Milgram-re volt hatással, aki 1976-ban tette közzé Párizs mentális térképérıl szóló tanulmányát.
Párizs pszichológiai térképei (Stanley Milgram, 1976)
A mentális térképezés és a behaviorista földrajz körüli szellemi pezsgést jelzi, hogy gyors egymásutánban több összefoglaló jellegő kézikönyv, egyetemi jegyzet is megjelent (például: Gould és White 1974, Downs és Stea 1977, Gold 1980 , Stoltman 1980, Holahan 1982). A nyolcvanas évek végétıl az olcsóbbá váló számítógépes adatfeldolgozás lehetıséget teremtett összetett elméleti modellek kísérleti, szimulációs és/vagy adatfelvételen alapuló empirikus ellenırzésére. Barbara Tversky 1993-ban a kognitív térképezés három fı csoportját állapítja meg, a kognitív térképeken kívül a konstruktivista alapokon álló kognitív kollázsokat és térbeli mentális modelleket. Míg a kognitív térképezés a térre vonatkozó tudati tartalmakat győjti, a kognitív kollázs gondolata szerint térészlelésünk sokkal több tudati elemmel függ össze, például egy távolság megítélésénél figyelembe vehetjük a kocsiút idejét, a zónaidıt, de akár a történelmi hadjáratokat vagy a nyelvcsaládot, és ezekbıl kollázsszerően állítjuk össze a térre vonatkozó információt. A megközelítés attól konstruktivista, hogy érdeklıdés középpontjában nem a térkép
6
(kollázs) áll, hanem alkotásának folyamata. A dolgot bonyolítja, hogy az információk szisztematikus vagy véletlen hibával állnak rendelkezésünkre tudatunkban. A térbeli mentális modellek abból indulnak ki, hogy az egyes térbeli információk nem állnak össze egy teljes képpé, a biztos pontok közti teret a tudatunk tölti ki, modellezi. Pléh Csaba (2000) megfogalmazásában „az értelmezı rutinokat rávisszük mindenre, ami ér minket, így válik a világ koherenssé”. A mentális térképezés konstruktivista jellegő megközelítése nem a térképre, hanem a modellépítés folyamatára fókuszál. Az elmúlt évtizedben újabb megközelítések és elemzési algoritmusok sora született, ám az ezekkel kapcsolatos elméleti keretek áttekintése túlmutatna jelen fejezet áttekintı jellegén. Mint a gyorsan fejlıdı kutatási területeknél általában, konferenciaanyagok és publikációk óriási tömege áll elı, amelyekrıl kézikönyvek sora igyekszik egy általános és strukturált képet felvázolni (például: Portugal 1996, Kitchin és Freundschuh 2000, Kitchin 2002).
Mentális térkép módszertan A kifejlesztendı mentális térképezı algoritmusok körülírásához, meghatározásához tisztában kell lennünk a mentális térképezı módszertannal. Napjainkban e tudományág módszertani alapjai is kidolgozás alatt állnak, aminek több oka is van. Egyrészt az interdiszciplináris jelleg tág teret enged a módszertani kísérletezéseknek; negatív megfogalmazásban ez azt jelenti, hogy nincs olyan egységes elméleti keret, amelyhez igazodhatna a módszertan. Másrészt, az elméleti keretek gyakori és nagy fordulatai (például statikus helyett konstruktivista szemlélet) miatt a kialakuló módszertan nem tud zökkenımentesen építkezni a korábbi eredményekre. Harmadrészt arról se feledkezzünk meg, hogy a számítógépes támogatás feltételei – amelyek más tudományterületeken is gyors módszertani eróziót okoztak – a térképjellegő adatok esetében viszonylag késın jelentek meg. A térképek és térre vonatkozó információk jellegzetesen kép jellegő anyagok, márpedig nagy tömegő képet adatbázisszerően kezelni csak a legkorszerőbb számítógépeken lehet / lehetett. Az alkalmazott kutatások többsége – a korai kognitív elméletek nyomán –feltételezi, hogy a mentális térkép egy létezı dolog, a fejekben található, és a kutató feladata, hogy ezt feltárja, feltérképezze. Nem eldöntött viszont, hogy ehhez kvalitatív vagy kvantitatív adatgyőjtés és
7
feldolgozás a célravezetı, illetve, hogy miként dolgozzuk fel a térre vonatkozó információt és miként kapcsoljuk azt egybe a nem-tér jellegő adatokkal. Leggyakoribb adatgyűjtési technikák csoportosítása A következıkben a gyakorlatban folyó alkalmazott kutatásokat az adatgyőjtés szempontjából csoportosítjuk, hozzátéve, hogy az adatgyőjtési technika többnyire meghatározza az adatfeldolgozás és az interpretáció módszereit is. A csoportosítás – szerkesztési megfontolásból – nagymértékben egyszerősít, és számos további módszert, technikát még utalás szintjén sem említ. A mentális térképezés leggyakoribb adatgyőjtési technika típusai: 1) Tisztán kvantitatív jellegő adatfelvétel 2) Tisztán kvalitatív, nem rajzoltató adatgyőjtés és feldolgozás 3) Szabad térképrajzoltatáson alapuló adatfelvételek 4) Standarditásra törekvı térképrajzoltatás 5) Kész térképekbıl / képekbıl kiinduló adatfelvételek 1. Tisztán kvantitatív jellegő adatfelvétel A kvantitatív adatok földrajzi helyek szerinti megoszlása nem mentális térkép jellegő kérdés. A tisztán kvantitatív, közvélemény-kutatás jellegő adatfelvételek nem vállalkozhatnak olyan „puha” adatok felderítésére, mint a mentális térkép elemei, vagy a kognitív konstrukciós folyamatok. A kérdıívek elsısorban arra alkalmasak, hogy bizonyos objektívnek tekintett térelemek ismertségét mérjék, vagy a megkérdezett viszonyulását helyezzék el egy ordinális skálán. Csernák Boldizsár (2004) kutatásának egy fejezete például kérdıíves adatfelvétel alapján készült: menekülttáborok lakóitól kérdezték, hogy ismerik-e Magyarország bizonyos városait. A válaszok alapján becsülhetı volt a menekültek Magyarország-térképe, és ez alapján az, hogy könnyebb vagy nehezebb lenne részükre a beilleszkedés Magyarországon. 2. Tisztán kvalitatív, nem rajzoltató adatgyőjtés és feldolgozás Más kutatások tisztán kvalitatív jellegő adatgyőjtést és feldolgozást követnek. Bíró A. Zoltán (1991) Mentális környezet antropológiai tanulmánya például Korond mentális térképét egyetlen család odavetett megjegyzései alapján vázolja fel. A résztvevı megfigyelés közben győjtött
8
tapasztalat eredményét a kutató minden további adatfeldolgozás nélkül, a helyi értelmezés megırzésére törekedve interpretálta.
Korond mentális térképe (Bíró A. Zoltán, 1991)
3. Szabad térképrajzoltatáson alapuló adatfelvételek A kvalitatív adatgyőjtési technikák egy sajátos típusa a térkép rajzoltatás, amely egyúttal a mentális térképezés elsı eredeti adatgyőjtési technikája. A legáltalánosabb eljárás szerint az interjúalannyal egy üres papírlapra rajzoltatjuk a kiválasztott mentális tér térképét, ami lehet egy település, egy térség vagy egy településrész is. A kötetlen felidézés elvő, fehér papírlappal induló térképrajzoltatás hátránya, hogy az eredmények nagymértékben különbözhetnek egymástól, és így nagyon nehéz kvantitatív módon értelmezni. Valójában a térképrajzolás technikánál az egymástól eltérı megfontolások egészen természetesek, éppen ezért értelmezésükhöz, feldolgozásukhoz elengedhetetlen a kutató személye. A kutató nélkülözhetetlensége viszont gátat szab az adatfeldolgozásnak. Nagyobb mennyiségő rajzolt térkép adatainak feldolgozásához a térképeknek jobban kell hasonlítaniuk egymáshoz, ezért az adatfelvétel (rajzoltatás) során bizonyos elemeket standard módon kell végezni. Számtalan módszertani kísérlet és próbálkozás folyik napjainkban is ezen a területen, melyrıl néhány jellemzı irányt mutatunk be. Az egyik megoldás az, hogy szóban, instrukció jelleggel meghatározzuk, mit kívánunk látni a rajzon (például a település térképét), és az ettıl eltérı szemléletet (például amely a környezı falvakat, tanyákat is ide sorolja), azt nem vesszük figyelembe. Egy másik lehetséges út az, ha a rajzolás szempontjainak a számát csökkentjük, azaz külön-külön rajzoltatunk térképeket például az iránypontok és az útvonalak
9
feltüntetésére. Egy harmadik eljárás, hogy a rajzoltatást nem fehér lappal kezdjük, hanem már szerepelnek rajta bizonyos térkép-elemek (a kérdéses tér határai, iránypontok, körvonalak, útvonalak stb.), és a térkép rajzolója ezeket figyelembe véve készíti el a rajzát. Ilyenkor az instrukciók többnyire szükségtelenek, mert a papíron berajzolt határtól vagy útvonalaktól a megkérdezett úgysem tud eltekinteni. Bajmócy Péter és Kiss János (1996) kutatásában például a résztvevıknek egy üres Magyarország kontúrtérképére kellett a lehetı legtöbb települést bejelölni, megadott idı alatt. Az adatfeldolgozás során a kutatók a bejelölések számából és a pontosságból vontak le következtetéseket. 4. Standarditásra törekvı térképrajzoltatás A kötetlen felidézés jelleg megırzését és a standarditás megteremtését egyszerre célozza Lisa Brinkmann és Garamhegyi Ábel (1994) céltáblás eljárása. Az interjúalanyok egy üres papírlapot kapnak, közepén egy ponttal. A pont egy ismert objektum; Garamhegyi Ábel, Kádár Enéh és Sümegi Zoltán egyik hazai kutatásában például ez a pont Szegedet jelentette. Ezután a megkérdezetteknek a papírlapra más településeket kellett bejelölniük, ügyelve a földrajzi irányra és távolságra. Az adatfeldolgozás során a valóságos távolságtól mért eltéréseket számítógépen vektorosan összesítik, így megrajzolható az a megkérdezettek közös mentális térképe, amely a távolság-becslések torzításait tükrözi. 5. Kész térképekbıl / képekbıl kiinduló adatfelvételek Kész térképekbıl vagy fényképekbıl kiindulva is felderíthetık mentális térképek. A térképmásolatok átrajzoltatása szinte egyidıs az üres papírra rajzoltató technikával. A térképekbıl vagy légi fotókból kiinduló megközelítések különösen ajánlhatók akkor, ha nem magukra a mentális terekre, hanem a hozzájuk főzıdı asszociációkra vagyunk kíváncsiak, vagy az egyes mentális terek határait szeretnénk meghatározni, vagy a szabadabb jellegő adatgyőjtés „fehér foltjairól” szeretnénk megtudni valamit. A különbözı képek, jellemzıen fényképek által kiváltott reakciók és/vagy asszociációk értékelése szintén korán ismertté vált; többek közt Milgram is használta ezt a technikát Párizs egyes pontjai ismertségének vizsgálatára. A fényképek által kiváltott asszociációk lehetıséget teremtenek a tudati folyamatok konstruktivista szemlélető (például a kognitív kollázsok elképzelésen alapuló) feltárására és elemzésére is.
10
Mentális térkép szoftverek A közelmúltban több olyan programot és / vagy algoritmust fejlesztettek ki, amik segítik a (személyes) mentális térképek felvázolását. Matei Sorin például (lásd a fenti ábrát) egy olyan algoritmust fejlesztett ki, amely képes térképek 2D és 3D vizualizálására olyan információ alapján, mint a félelem vagy életmód.
Los Angeles félelemtérképe 3D-ben. Hat etnikai kerületbıl 215 egyén térképrajzai alapján készült (Matei Sorin, www.mentalmaps.info)
A Mental Map Editor 1.0 programot az IMMAP (International Mental Map Association Platform) tudományos társaság fejlesztette ki. Algoritmusa a szabad térképrajzolást és a standarditásra törekvı térképrajzoltatást kombinálja. A program célja, hogy egyfajta mentális térképezési kérdıívet valósítson meg, ami a Lynch (1960) szerinti legfontosabb szempontokra koncentrál, és hogy begyőjtse és feldolgozza a bejövı adatokat.
A romániai Csíkszerede/Miercurea Ciuc kerületek közti kommunikációs hálózatok feltérképezése. (Letenyei László és Borbély Botond, www.mentalmap.org)
11
A „Mentális térképezés román-magyar összefogásban” projekt a Mental Map Editor 1.0 program továbbfejlesztésére, átalakítására vállalkozott. A kifejlesztendı algoritmusok leírását és a velük szemben állított elvárásokat a következı fejezet taglalja, részben építve az 1.0 verzió mőködésével kapcsolatos tapasztalatokra.
Mental Map Editor 1.0 vs 2.0 A Mental Map Editor (MME) 1.0 program által generált kérdıív lehetıvé teszi egyének „mentális térképeinek” lekérdezését számítógépen keresztüli interjúztatással (CAPI interjú), valamint értékeli is a kapott eredményeket. Az MME program a világon az elsı olyan program, ami 3 féle adatelemzési módszert integrál: térségi informatikát, analitikus-, és relációs adatokat. Az MME kérdıív két részbıl áll. Az elsı fázisban kérdéseket tesz fel az interjúalanyoknak a környezetükkel kapcsolatosan, amire azok bármilyen választ adhatnak. Ez a szabad térképrajzolás, azonban ezúttal rajzolás nélkül. A második fázisban az interjúalanyoknak egy térképet mutat a program, amin be kell jelölniük az elızıleg felsorolt helyszíneket, kategóriákat. Az MME program utoljára értékeli és vizualizálja a begyőjtött információt, sıt, összefoglaló jelentés írására is képes. A Mental Map Editor 1.0 program 2005-ben lett kifejlesztve; ami akkor úttörı fejlesztés volt, mára már zsákutcának bizonyul. A 3 féle adatelemzési módszer integrálása mellett a program ingyenes hozzáférhetısége is újdonságnak bizonyult akkoriban: a program honlapjáról, elızetes regisztrációt követıen, a felhasználó letölthette, telepíthette és ingyen használhatta a programot. A honlapon lehetıség nyílt arra is, hogy a felhasználók egy fórum keretén belül megvitassák tapasztalataikat, és válaszoljanak egymás feltett kérdéseire vagy a programmal, vagy a mentális térképészettel kapcsolatban. A Mental Map Editor 1.0 algoritmusa nem nyitott licenc, vagyis azt a felhasználók és informatikusok, az eredeti fejlesztıkkel való egyeztetés nélkül, nem másolhatták, fejleszthették, és nem alakíthatták személyre szabottra. Ehhez fel kellett venniük a kapcsolatot a fejlesztıkkel és megtárgyalni velük ötleteiket. Tapasztalatként megállapítható, hogy az MME 1.0 program nagy elınye egyben a nagy hátrányának is bizonyult: a mentális térképezés elsı szoftvere volt a világhálón, de ez egyben
12
túlságos leszőkítésnek bizonyult. Annyira, hogy csak egy nagyon szők felhasználói köre alakult ki, akik szinte kizárólag mentális térképezéssel foglalkozó kutatók és egyetemisták voltak. Köszönve az internet-felhasználói kultúra változásának 2005 és 2011 között, ma már egyre kevesebb azok száma, akik szoftvereket töltenek le az internetrıl, tartva a virtuális vírusoktól, a spam-ektıl, és az adatlopóktól. Manapság azaz elterjedt és biztonságos eljárás, hogy amit csak lehet letöltés nélkül, közvetlenül az interneten keresztül alkalmazzunk. Ebben természetesen nagy szerepe van annak, hogy ugrásszerően megnıtt a szélessávú internet felhasználók aránya. Megállapítható tehát, hogy az MME 1.0 alkalmazásához szükséges letöltési alapfeltétel miatt a különben egyedi, és a szakterületén belül igen hasznos szoftver az interneten a gyanús kategóriába kezdett kerülni. Az újabb Mental Map Editor 2.0 újdonságát két egyedi új algoritmusának köszönheti, mely algoritmusokat a soron következı fejezet részletezi majd. Az alábbi pár gondolatban a régebbi (1.0) programverzió mőködése során megfogalmazódott tapasztalatokat hasznosítjuk az újabb (2.0) programverzió mőködésére: 1. Az MME 2.0 elsı fontos jellemzıje kell, hogy legyen, hogy a mentális térképészeken túl sokkal szélesebb és változatosabb felhasználói kört szólít meg, mint például az orvostudomány, a biológia, a környezetpszichológia, a városfejlesztés, a közvéleménykutatás, a marketing, stb. 2. Az MME 2.0 második fontos jellemzıje kell, hogy legyen, hogy egy olyan eljárással szolgáljon, ami egyedi a piacon, és még nem algoritmizálta senki. 3. Az MME 2.0 harmadik fontos jellemzıje, hogy képes legyen (a széleskörő és változatos felhasználói célcsoportja miatt) személyre szabott, tehát alakítható felmérési módszereket biztosítani. Ehhez járul hozzá a nyitott licenc is. A két programtípus között nem jön létre jogi kapcsolat. Egyrészt a különbözı szellemi jogok miatt; az 1.0 verziót az IMMAP tudományos társaság jegyzi, a 2.0 újabb verzió pedig a 20072013 Határon Átnyúló Együttmőködési Program HURO/0901/059 projektet megvalósító szervezetek és az algoritmust kifejlesztı kutatók szellemi terméke és tulajdona. Másrészt, az MME 2.0 algoritmusa nyitott licenc lesz, ellentétben az MME 1.0 programverziójával. Ez a korábbi verzió igencsak korlátozó letöltési alapfeltételén hivatott lazítani, mivel manapság
13
közvetlenül az interneten keresztül alkalmazunk programokat, akár internetes játékokról, akár tudományos munkákról van szó. A Mental Map Editor 2.0 program részeként olyan algoritmusokat kell kifejleszteni, amik képesek a szélesebb felhasználói kör változatos igényeit kielégíteni, és megfelelni a jelenlegi internet felhasználói szokásoknak. Ennek megfelelıen a MME 2.0-nak kliensként / felhasználó felületként beilleszthetı és bizonyos fokig módosítható programnak kell lennie. A vizuálisan közvélemény-kutató kérdéspanelként mőködı programot bárki bármilyen weblapra beillesztheti, a beérkezı adatokat a központi szerverrıl ingyenesen lekérheti, azokat közérthetı formátumban (excel, SPSS) letöltheti. Az adatok visszakérhetısége és titkosítása érdekében a közvetlen felhasználónak a kérdéspanel weblapra történı feltöltéséhez regisztrálnia kell az MME 2.0 honlapján.
Mentális térkép algoritmusok 1. Vonalátlag módszer (line average method) A vonalátlag módszer távolságbecslés eljáráson alapszik. Lényege, hogy egy horizontális egyenes két végét elnevezünk, az interjúalanyt pedig megkérjük arra, hogy jelöljön be valamint az egyenesen. Tipikus mentális térképészeti feladat a Bécs és Budapest közötti Gyır városát elhelyezni az egyenesen: Gyır Bécs
Budapest Távolságbecslés eljárás, illusztráció
A magyarországi megkérdezettek többsége Bécshez közelebb jelöli be Gyır helyét, holott annak objektíve az egyenes közepén lenne a helye. Ennél a példánál egyértelmően tetten érhetı a szubjektív téridı érzékelés: a Budapestrıl induló autóvezetık valószínőleg figyelembe veszik az útra való felkészüléssel járó, és a városi közlekedés okozta idıveszteséget. Ez az egydimenzionális lekérdezési módszer nem feltétlenül csak földrajzi felméréseknél hasznosítható, valójában bármire lehet használni, aminek köze van egy folyamatos skálához. Egy
14
példája az állásinterjún, emberi erıforrás szakemberek által feltett személyiség-felmérı kérdések: „Egy ember sok szempont alapján dönt egy munkahely, egy pozíció kiválasztásakor. Mennyire fontos szempont Önnek a fizetés?”
Egyáltalán nem
Maximálisan
Egy szempont szerinti mérés folyamatos skálán, illusztráció
A fenti grafikus skála azokat a korábbi, megszokott skálákat válthatja fel, ahol (ehelyett) diszkrét értékeket kellett a válaszadónak kiválasztania, pl. 1-5-ig, vagy 1-tıl 7-ig, esetleg százalékban kifejezve. Két nagy elınnyel rendelkezik a grafikus skála a szám-skálához képest: 1. Diszkrét értékek helyett az eredmény gyakorlatilag egy folytonos skálán mérhetı, azaz a válaszadó 4 vagy 3 helyett kijelölhet olyan értéket, amely számokban kifejezve 3,458. Ez az érték pontosabban fejezi ki az értékítéletét, mint a diszkrét érték. 2. az emberek távolság-észlelése egységesebb, mint a számokhoz főzıdı viszonyunk. A számérzékelésünket sok kulturális tényezı befolyásolja. Példák: aki jó tanuló volt az iskolában, az nem szívesen ad egyes vagy kettes értéket semmire sem, mert azt blaszfém, illetlen dolognak tartja. Olyan országokban, ahol gyenge a pénz nominálértéke, azaz az emberek nagy számokhoz szoktak, egy százalékban kifejezendı érték esetében az emberek szívesebben adnak magasabb értékeket, egyszámjegyő érték pl. alig fordul elı; stb. A távolságot viszont kultúrától, iskolai végzettségtıl stb. szinte függetlenül, egymáshoz meglehetısen érzékeljük.
15
Az egydimenziós lekérdezési módszer nem csak egy érték, de akár két érték közötti választást, preferenciát is tükrözni alkalmas módszer.
„Jelölje be saját magát a család-karrier dimenzióban! Melyik fontosabb az Ön számára?”
Család
Karrier Folyamatos skála, illusztráció
Ez a példa még jobban hasonlít az eredeti, mentális térképészeti elıképre, ahol szintén két irány (pl. Kelet-Nyugat tengely) közötti választást kell bemutatni. Az egydimenziós távolságbecslı eljárás lényege ebben a második esetben is ugyanaz, mint az elızıben: folyamatos skála, ami az általában használt ordinális skálával ellentétben pontosabb és torzítás nélküli eredményt nyújt. Szociológusok és közgazdászok gyakran használnak ordinális skálákat vélemény-felméréskor; ilyenkor arra kérik a válaszadót, hogy személyes megítélése alapján értékeljen egy 1-tıl 5-ig vagy 1-tıl 10-ig terjedı skálán valamit (pl. személyt, tárgyat, saját magát, stb.) Az ordinális skála két végén bármi állhat. Az ordinális skálák hátránya, ami a folyamatos skálák elınye is egyben, a következı: •
az interjúalany csak egész számra kerekített választ adhat, a pontosabb kéttizedes értékelések nem értelmezhetıek a rendszerben;
•
az interjúalany válaszadása torzított lesz az általános iskolában és a késıbbi tanulmányok során az egyes számokhoz kapcsolt értékítéletei miatt. Magyarországon 1-tıl 5-ig, Romániában 1-tıl (valójában 5-tıl) 10-ig osztályoznak. Egy magyar válaszadó, aki az iskolában jó tanuló volt az 5-öst tekint jó értékelésnek, a rossz tanuló ezzel szemben már a 3-ast is – függetlenül attól, hogy egy 1-10 skálán kell válaszaikat elhelyezniük. Egy román válaszadó, aki az iskolában jó tanuló volt a 7-est már rossz értékelésnek, a rossz tanuló még jó értékelésnek tekinti – ez pedig az 1-5 skálával kerül „összeütközésbe”.
A folyamatos skálák elınye tehát, hogy pontosak (nem kell kerekíteni), és eredményeiket nem torzítja a számértékekhez kapcsolt prekoncepció.
16
A közérthetıség végett érdemes a nyilvánosság elıtt csak és kizárólag a folyamatos skála (continuous scale) kifejezést használnunk. Ettıl függetlenül a módszer tökéletesen alkalmas marad földrajzi távolságbecslésre is. A folyamatos skála egyik alternatív megvalósítási megoldása a „☺”, angol nevén a „smiley” vagy „smiley face”, a mosolygó arc. Az arc csak egy grafikai elem, ami kiegészítené a folyamatos skálát, ami az arc szája. Ez az eszközpanel elsısorban a válaszadók hangulatát képes felmérni oly módon, hogy a válaszadók kedvüktıl függıen alakítják az arc száját: lehet valaki nagyon boldog, közepesen boldog, kissé boldog, semleges, kissé rosszkedvő, közepesen rosszkedvő, nagyon rosszkedvő. A berajzolt szájak alapján az algoritmus kéttizedesjegy pontossággal kiszámíthatja a válaszadók jó- vagy rosszkedvét.
Mosolygó arcok, illusztráció
A potenciális felhasználók sora szinte végtelen, hiszen minden olyan internet felhasználót ide sorolhatunk, aki honlapján egyszerőbb közvélemény-kutatást végezne, aminek az alapja, hogy a válaszadóknak egy folyamatos skálán kell szubjektív értéket megadniuk, a végpontokon megadott dimenzió keretében. Az algoritmus promóciójának lényege, hogy nem léteznek online vizuális felmérési eszközök a világhálón, tehát nincs „versenytárs”. A SurveyMonkey (www.surveymonkey.com), ami hivatalosan a világháló legtöbbet használt felmérési eszközének tartja magát, és még körülbelül 100 hasonló szolgáltatást biztosító honlap sem rendelkezik ilyen egyszerő vizuális felmérési eszközökkel. Természetesen a kifejlesztett MME 2.0 kliensprogramot a közérthetıség végett úgy érdemes reklámozni, mint vizuális felmérési eszközpanelt, nem pedig mentális térkép eszközpanelt. Az MME 2.0 kliensprogramok világhálón való elterjedése mindenképp hozzájárulna Románia és Magyarország társadalmi presztízsnövekedéséhez.
17
2. Céltábla módszer (dartboard method) A céltábla módszer egy kétdimenziós (2D) elhelyezkedési becslési eljárásfajta, amely a standarditásra törekvı térképrajzoltatás adatgyőjtési technikák csoportjába sorolható. Lisa Brinkmann és Garamhegyi Ábel (1994) fejlesztették ki a módszertanát. A kétdimenziós (2D) elhelyezkedési becslési eljárás mentális térképészetbıl ismert elıképét a lenti ábra szemlélteti. Az ábrán látható, hogy az észak-dél és kelet-nyugat dimenziók határolják a teret, és metszetük az origót, a kiindulópontot adja. A körülhatárolt téren belül helyezhetı el a kérdéses földrajzi elem. Észak
Nyugat
Kelet
Dél 2D elhelyezkedési becslés, illusztráció
Egy tipikus példa a céltábla módszer mentális térképészeti alkalmazására, amikor elnevezzük a kiindulópontunkat (pl. legyen Párizs), és a válaszadó feladata, hogy a többi elemet (pl. Orléans, Bordeaux, Marseille, Strasbourg) elhelyezze az elıtte lévı koordináta rendszerben. Ezáltal leképezhetı a válaszadó mentális térképe pl. Franciaországról. Az adatfeldolgozás során a valóságos távolságtól mért eltéréseket számítógépen vektorosan összesítik, így megrajzolható az a megkérdezettek közös mentális térképe, amely a távolság-becslések torzításait tükrözi. Ez a 2D lekérdezési módszer nem feltétlenül csak földrajzi mentális térképészeti felméréseknél hasznosítható, valójában bármire lehet használni, aminek köze van a koordináta rendszerhez, vagyis adott két dimenzió egymáshoz mért egyidejő értékeléséhez. Az algoritmust úgy kell megtervezni, hogy az egy 2D skálát jelenítsen meg. Az interjúalanynak két, derékszöget bezáró egyenes által határolt térben kell kijelölnie egy pontot – ami megfelel a személyes preferenciájának, értékítéletének, vagy véleményének. Az egyenesek egy koordináta 18
rendszerre hasonlítanak csak a negatív tartomány nélkül; az origó a nulla érték. Mindkét egyenes egy-egy dimenziót jelöl, amit az egyenesek elnevezésével kell jelölni. A
0
B 2D skála, illusztráció
Fontos megjegyezni, hogy mérési módszer befolyásolja a mérési eredményt, és ez igaz a céltábla módszerre is. Egy ilyen koordináta rendszerben ugyanis nem jellemzı, hogy az emberek a sarkokat (A, B) jelölik ki, esetleg az origót (0), ami a „nem tudom” válaszkategóriának felel meg. Mindenesetre, a céltábla módszer használata során az összegyőjtött tapasztalatokból okosabbak leszünk, és tovább tudunk majd korrigálni a felmérési eszközön. A 2D skála felmérési eszközpanelt úgy kell kialakítani, hogy az különbözı feladatok teljesítésére legyen képes: 1. Egy személy egy csillaggal / pöttyel saját véleményét jegyzi le 2. Ugyanaz a személy, különbözı idıközönként (pl. egy hónapig a hónap minden napján) egy csillaggal / pöttyel saját véleményét jegyzi le 3. Egy személy több csillaggal / pöttyel másokat jellemez (A, B, C pöttyökhöz embernevek rendelhetık) Külön hangsúlyt kell fektetni az adatok különbözı megjelenítési lehetıségére a választott feladattól függıen, hogy könnyebben lehessen interpretálni ıket. Fontos az eredmények vizuális megjelenítése. Színekkel meg lehet különböztetni egymástól az egy válaszadótól érkezı értékeket, az egy személyre érkezett értékeket, az egy idıszakra vonatkozó értékeket, stb. Lehetıvé kell tenni a klaszterek megjelenítését, vagyis a válaszadók beérkezett értékeinek vizuális csoportosítását, továbbá jelölni kell (amennyiben kívánatos) a klaszterek átlagértékét, súlypontját. Olyan algoritmust kell megírni, ami képes ezen megjelenítési lehetıségekre.
19
A potenciális felhasználók sora szinte végtelen, hiszen minden olyan internet felhasználót ide sorolhatunk, aki honlapján olyan közvélemény-kutatást végezne, aminek az alapja, hogy a válaszadóknak egy 2D skálán (két dimenzió mentén) kell szubjektív értéket / értékeket megadniuk. Az egészségügyben például az egyre elterjedıben lévı elektronikus diagnosztika területén lehet hasznos a 2D skála eszközpanel. Sok kisebb településen a betegekhez nem jár ki az orvos, csak egy nıvér, aki felveszi a beteg adatait, elküldi az orvosnak, aki pedig az adatok alapján dönt a további kezelésrıl. Az algoritmus promóciójának lényege, hogy nem léteznek online vizuális felmérési eszközök a világhálón, tehát nincs „versenytárs”. A SurveyMonkey (www.surveymonkey.com), ami hivatalosan a világháló legtöbbet használt felmérési eszközének tartja magát, és még körülbelül 100 hasonló szolgáltatást biztosító honlap sem rendelkezik ilyen egyszerő, 2D vizuális felmérési eszközzel. Természetesen a kifejlesztett MME 2.0 kliensprogramot a közérthetıség végett úgy érdemes reklámozni, mint 2D vizuális felmérési eszközpanelt, nem pedig mentális térkép eszközpanelt. Az MME 2.0 kliensprogramok világhálón való elterjedése mindenképp hozzájárulna Románia és Magyarország társadalmi presztízsnövekedéséhez.
20
Irodalomjegyzék • • •
• • • •
• •
•
•
•
• • • •
Bajmócy Péter és Kiss János 1996: Egyetemi hallgatók mentális térképei Magyarországról. In: Tér és Társadalom 1996/2. Bíró A. Zoltán és a Csíkszeredai Kommunikációs Antropológiai Munkacsoport tagjai 1991: Mentális környezet. Janus, 1991. ısz: 33-40 Brinkmann, Lisa és Garamhegyi Ábel 1994: How close, how far? Distance perception report. Groningen: GIRUGTEN (Garamhegyi Ábel egy alkalmazott kutatása, amely ugyanezen eljárás alapján készült, jelen fejezet szöveggyőjteményében olvasható.) Cséfalvay, Zoltán 1990: Térképek a fejünkben. Budapest: Akadémiai Csernák Boldizsár 2004: Befogadóállomásokon élı menekültek helyismerete és térhasználati szokásai. Részlet. Downs, Roger M. 1970: Geographic Space Perception: Past Approaches and Future Prospects. In: Progress in Geography 2: 65-108. Downs, Roger M. és David Stea 1977: Maps in Minds. Reflections on Cognitive Mapping. New York: Harper & Row (A kötet bevezetése jelen fejezet szöveggyőjteményében olvasható.) Gold, John R. 1980: An Introduction to Behavioural Geography. Oxford: University Press Gould, Peter R. és Rodney R. White 1974: Mental maps. Harmondsworth: Penguin, Pelican geography and environmental studies (Második, javított és bıvített kiadás: 1986, London, New York: Routledge) Hall, Edward T. 1966 (1975): The Hidden Dimension. Garden City: Anchor Books. (Magyarul: 1975, 1987, 1995 stb.: Rejtett dimenziók. Budapest: Gondolat, Katalizátor Iroda, stb.) Hofer Tamás és Fél Edit (1964, 1997): Arányok és mértékek az átányi gazdálkodásban. Budapest: Balassi (A kötet eredeti megjelenése az 1964-es Nyugat-németországi kiadás, amelyet csak több évtizedes késéssel követhetett a magyar változat.) Holahan, Charles J. 1982: Environmental psychology. New York: Random House (A kötet hat fejezete magyarul is olvasható. In: Dúll Andrea és Kovács Zoltán (szerk.) 1998: Környezetpszichológiai szöveggyőjtemény. Debrecen: Kossuth Egyetemi Kiadó) International Mental Map Association Platform, www.mentalmap.org Kitchin, Rob 2002: The cognition of geographic space. London, etc.: I.B. Taurus Kitchin, Rob és Scott Freundschuh (szerk.) 2000: Cognitive Mapping: Past, Present and Future London, New York: Routledge László Ervin, I. Masulli, Robert Artigiani és Csányi Vilmos (szerk.) 1993: The Evolution of Cognitive Maps: New Paradigms for the 21st Century. New York: Gordon and Breach
21
•
• • • •
• •
•
• •
• • •
László Ervin, Robert Artigiani, Allan Combs, és Csányi Vilmos 1996: Changing Visions: Cognitive Maps - Past, Present, and Future. Westport: Greenwood Group, Praeger Publishers Letenyei László 2004: Mentális térképezés. In: Településkutatás. A települési és térségi tervezés társadalomtudományos alapozása. L’Harmattan Kiadó, Budapest Letenyei László és Nagy Gábor Dániel: Rugalmas kérdıív. Szociológiai Szemle 2007/1 Lynch, Kevin 1960: The Image of the City. Cambridge MA: MIT Press Malinowski, Bronislaw 1922: Argonauts of the Western Pacific. London: Routledge. (A nyugat-csendes-óceáni térség argonautái. A szöveg bevezetése jelen kötet III. fejezetének szöveggyőjteményében olvasható.) Matei Sorin, www.mentalmaps.info Milgram, Stanley 1976 (1992): Psychological Maps of Paris. In: Milgram, Stanly: The Individual in a Socal World: Essays and Experiments. (Eds: John Sabini and Maury Silver) McGraw-Hill. (Eredetileg megjelent: Ittelson, W. H., H. M. Prohansky és L. G. Rivlin (szerk.) 1976: Environmental Psychology: People and Their Physical Settings. New York: Holt, Rinehart and Winston) Pléh Csaba 2000: Az elbeszélt történelem a pszichológiában. Elıadás elhangzott az MTA Filozófiai és Történettudományok Osztályának 2000 május 3-4-én tartott A történeti helyzettudat alakváltozásai: Kényszerpályák és alternatívák a magyar történelemben c. tudományos ülésszakán. Portugali, Juval 1996: The construction of cognitive maps. Dordrecht: Kluwer Academic Publishers, The geojournal library Robert M. Downs és David Stea (szerk.) 1973: Image and Environments. Chicago: Aldine Publishing (Downs földrajzkutató, Stea pszichológus volt; szövetkezésük jól mutatta a mentális térképezés interdiszciplináris jellegét.) Stoltman, Joseph P. 1980: Mental maps: resources for teaching and learning. Sheffield: Geographical Association Tolman, Edward C. 1948: Cognitive Maps in Rats and Men. In: Psychological Review 55 (4) 189-208. Tversky, Barbara 1993: Cognitive Maps, Cognitive Collages and Spatial Mental Models. In: Frank, Andrew U. és Irene Campari (szerk.): Spatial Information Theory: A Theorethical Basis for GIS. Lecture Notes in Computer Science 716:14-24 Berlin: Springer
22
MMAP Mentális térképezés román-magyar összefogásban
Algoritmus terv Két ország, egy cél, közös siker! Două Ńări, un scop, succes comun!
Közremőködı szakértık: Dukasz Magor
Két ország, egy cél, közös siker! Două Ńări, un scop, succes comun!
A tanulmány a Magyarország – Románia Határon Átnyúló Együttmőködési Program 2007- 2013 Irányító Hatósága támogatásával a HURO/0901/059 projekt keretében készült.
Jelen dokumentum tartalma nem feltétlenül tükrözi az Európai Unió hivatalos álláspontját.
23
Tartalom Algoritmus terv ............................................................................................................................. 23 Értelmezési útmutató .................................................................................................................... 25 Adatbázis struktúra ................................................................................................................... 25 Kérdıív létrehozása .................................................................................................................. 28 Kérdıív kitöltése ....................................................................................................................... 33 Adatok megjelenítése/értelmezése ............................................................................................ 38
24
Értelmezési útmutató E dokumentumban a magyarázatokat tartalmazó szövegrészletek Times New Roman betőtípussal vannak gépelve, míg a pseudo kód a Courier New betőtípust használva. Pseudo kódon belül azon sorok vagy sorvégek, melyek a „//” jelzéssel kezdıdnek azok kommentek (rövid magyarázatok), program futása esetén ezeket a gép nem venné figyelembe, csakis az olvasók számára léteznek.
Adatbázis struktúra
A MMAP 2.0 program hátgerincét az adatbázis struktúrája képezi, itt tároljuk az összes adatot a kutatókról, kérdıívekrıl és válaszokról is. Az adatbázis felépítésekor programozási szempontból a következık a fontos célkitőzések: az adatok a lehetı legkisebb helyet foglalják el a merevlemezen és a memóriában is, ez biztosítja, hogy futáskor hatékonyan mőködik a szerver, akár ha több száz felhasználó veszi igénybe a szoftvert párhuzamosan; az adatbázis táblái között egyértelmő legyen a kapcsolatháló; az adatbázis bıvíthetı legyen, anélkül, hogy a már létezı adatok sérüljenek, vagy hatékonyságukat veszítsék. A kutató szempontjából az fontos, hogy az adatbázis felépítés, fıleg az exportált termékek, egy nem számítástechnikával foglalkozó ember számára is érthetıek legyenek, illetve be lehessen ıket könnyedén hívni statisztikákat feldolgozó szoftverekbe, mint amilyen pl. az IBM SPSS-e. Az
adatbázis
neve
legyen
mmapdb,
az
adatbázisnak
három
típusú
táblája
van:
mmadb.kutatok – a kutatókat és kutatásaikra a hivatkozásokat tartalmazó tábla, ez egyedi; mmapdb.kerdoiv# - a kérdıívet tartalmazó tábla típus, ebbıl a táblából annyi van, ahány kérdıív összesen; mmapdb.valaszok# - egy bizonyos kérdıív válaszait tartalmazó tábla típus, ebbıl a táblából is annyi van, ahány kérdıív összesen. Táblák oszlopai:
mmapdb.kutatok
25
int ID
//a tábla egyedi kulcsa
string Usarname
//kutató felhasználó neve
string Password
//kutató jelszava
string Mail int IvekSz
//kutató kérdıíveinek száma (eredetileg 0)
record[] Kerdoivek string IvNev
//kérdıív neve
table IvAz
//kérdıív tábla azonosítója
table ValaszokAz int Kerdszam end
//válasz tábla azonosítója
//Kérdıív kérdéseinek száma
//kutató kérdıíveinek adatai, egy array-ben elhelyezve, az array minden egyes //bejegyzése egy record. Annyi bejegyzés van az array-ben, ahány kérdıíve a //kutatónak.
A mmapdb.kutatok tábla minden sora egy új regisztrált kutatót tartalmaz. mmapdb.kerdoiv# int ID
//a tábla egyedi kulcsa
byte Tipus
//kérdés típusa, 5 értéke lehet, annak függvényében, hogy milyen //kérdés van ebben a sorban: klasszikus kérdés-válasz; horisontal //continuous scale; smiley; dartboard method; dartboard method //with value at the origo
string Szoveg
//kérdés szövege
int ValaszLehSz int MaxVSZ
//válasz lehetıségek száma
//maximum adott válaszok száma
string[] Valaszok
//válaszlehetıségek egy array-ben
int SkalaS
//skála mérete, amennyiben skálás típusú a kérdés,
string E1
//horizontális skála bal oldali szöveges értéke
string E2
//horizontális skála jobb oldali szöveges értéke
string E3
//2d skála vertikális skálájának felsı szöveges értéke
string E4
//2d skála vertikális skálájának alsó szöveges értéke
string OE
//Origó szöveges értéke
26
int Bsz
//dartboard esetében jelzi, lehet-e több mint egy választ adni, ha igen, //mennyi a maximum. //dartboard esetén, ha több dolgot fel kell tőntetni, akkor
string[] VList
//ez tartalmazza a neveit A mmapdb.kerdoiv# tábla minden sora a kérdıív egy kérdésének adatait tartalmazza mmapdb.valaszok# //e tábla sorai dinamikusan vannak létrehozva a hozzátartozó mmapdb.kerdoiv# alapján. //Minden
kérdés
a
mmapdb.kerdoiv#–ból
egy
új
sor
létrehozását
//mmapdb.valaszok#-ban Int ID Date Datum //kérdés típusától függıen 5 fajta választ tartalmazó struktúra következhet //Klasszikus kérdés-válasz esetében Int[] Vlsz# //Horisontal continuous scale esetében real Rtk# //Smiley esetében real Rtk# //Dartboard method esetében record[] Rtk# real R11 real R12 end //Dartboard method with value at the origo esetében record[] Rtk# real R11 real R12 end A mmapdb.valaszok# tábla minden sora egy kitöltı válaszait tartalmazza
27
jelenti
a
Kérdıív létrehozása
Ahhoz, hogy egy kutató vagy felhasználó kérdıívet hozhasson létre a MMAP 2.0 online felületén, ahhoz elıször regisztrálójára lesz szükség. Ezt egy klasszikus kis felület keretén belül teheti meg, megadván a fontos adatokat, a háttérben ez a folyamat megy végbe. function NewUser kutato ujreg = new kutato string Usarname string Password string Mail int IvekSz record[] Kerdoivek string IvNev table IvAz table ValaszokAz int Kerdszam end //Adatok lekérése a felhasználói felületen keresztül get ujreg.Username get ujreg.Password get ujreg.Mail ujreg.IvekSz = 0 //az újonnan regisztrált felhasználó adatait csatoljuk új sorként a mmapdb.kutatok //táblába mmapdb.kutatok.insert(ujreg) end Ami után a felhasználó regisztrált, több lehetıség is rendelkezésére áll, hogy mit kezdjen a szoftverrel, az elsı lépés egy kérdıív létrehozása. A get funkció használatakor, az online felületen megjelenik a kellı input interfész a kutató számára.
28
Function NewQuestioner string usr string IvNev int iter int vtip get usr
//A usr változó a kutató azonosítója //Az IvNev változó az újonnan létrehozott kérdıív nevét tartalmazza
get IvNev get iter
//Az iter változó a kérdıív kérdéseinek számát tartalmazza
//Ezzel a kis részleggel azonosítjuk a felhasználót a kutatók adatbázisában, és kötjük majd //hozzá a létrejövendı Kérdıív illetve Válaszok táblákat. kutato q = from k in mmapdb.kutatok where k.Username = usr select k q.Iveksz++
//itt növeljük a kérdıívek számát
q.Kerdoivek[q.Iveksz].IvNev=IvNev
//új kérdıív nevének, kérdések
q.Kerdoivek[q.Iveksz].Kerdszam=iter
//számának bevezetése a táblába
table NewIv = new table //kérdıív táblájának létrehozása, oszlopainak létrehozása NewIv.addcolumn(“Tipus”, typeof(byte)) NewIv.addcolumn(“Szoveg”, typeof(String)) NewIv.addcolumn(“ValaszLehSz”, typeof(int)) NewIv.addcolumn(“MaxVSz”, typeof(int)) NewIv.addcolumn(“Valaszok”, typeof(string[])) NewIv.addcolumn(“SkalaS”, typeof(int)) NewIv.addcolumn(“E1”, typeof(string)) NewIv.addcolumn(“E2”, typeof(string)) NewIv.addcolumn(“E3”, typeof(string)) NewIv.addcolumn(“E4”, typeof(string)) NewIv.addcolumn(“OE”, typeof(string)) NewIv.addcolumn(“BSz”, typeof(int))
29
NewIv.addcolumn(“VList”, typeof(string[])) //ciklus, mely az összes kérdést soronként bevezeti a Kérdıív táblába: for (i=1; i<=iter; i++) get vtip
//kérdés típusának a lekérése a kutatótól
NewIv ujsor = new NewIv get ujsor.Szoveg switch(vtip)
//kérdés szövegének lekérése a kutatótól
//a kérdés típusától függıen különbözı adatokat kér a szoftver a //kutatótól
//A klasszikus kérdés esetében a válaszlehetıségek számát, a megengedett válaszok számát //illetve a válaszlehetıségek szövegét kérdi meg a szoftver a kutatótól case 1: get ujsor.ValaszLehSz get ujsor.MaxVSz for (j=1; j<= ujsor.ValaszLehSz; j++) get ujsor.Valaszok[j] //A continuous scale esetében a skála lépéseinek méretét, illetve a skála végleteinek //szószerinti értékét kéri a szoftver a kutatótól case 2,3: get ujsor.SkalaS get ujsor.E1 get ujsor.E2 //A dartboard method esetében a skálák lépéseinek méretét, illetve a skálák végleteinek //szószerinti értékét kéri a szoftver a kutatótól. Amennyiben az origónak is van szavakban //megfogalmazott értéke, akkor azt is itt kéri a kutatótól. case 4: get ujsor.SkalaS get ujsor.E1 get ujsor.E2 get ujsor.E3 get ujsor.E4 get ujsor.Bsz
30
//Amennyiben a dartboardon a kutató több értéket szeretne elhelyeztetni a kitöltıkkel, akkor az ujsor.Bsz változót használva jelzi a programnak a bejelölendı pontok számát, majd közvetlenül utána be is vezetheti az értékek szövegeit. if ujsor.Bsz>1 for (j=1; j<= ujsor.BSz; j++) get ujsor.VList[j] case 5: get ujsor.SkalaS get ujsor.E1 get ujsor.E2 get ujsor.E3 get ujsor.E4 get ujsor.Bsz if ujsor.Bsz>1 for (j=1; j<= ujsor.BSz; j++) get ujsor.VList[j] get ujsor.OE endswitch NewIv.Insert(ujsor) //kérdés beillesztése a Kérdıív táblába sorként endfor mmapdb.attach(NewIv)
//A kérdıív tábla hozzácsatolása az adatbázishoz
q.Kerdoivek[q.Iveksz].IvAz=NewIv //A kérdıív tábla hozzácsatolása a Kutatók táblájában a kutatóhoz
//A kérdıívhez csatolt válaszokat tartalmazó adatbázis létrehozása. A válaszok táblája annyi sort tartalmaz, mint amennyi kérdés (azaz sor) van a kérdıív táblában. table NewVal = new table //a dátum az egyedüli közös pont minden válasz táblában NewVal.addcolumn(“Datum”, typeof(date)) i=0 //ezzel a ciklussal hozza a program létre az oszlopait a válasz táblának
31
foreach (NewIv inp in NewIv) i++ switch(inp.Tipus)
//a kérdıív tábla sorainak (kérdéseinek) a típusán múlik a //válasz tábla oszlopainak strukturális összetétele
case 1: NewVal.addcolumn(“k”+inttostring(i), typeof(int[])) Case 2: NewVal.addcolumn(“k”+inttostring(i), typeof(real)) Case 3: NewVal.addcolumn(“k”+inttostring(i), typeof(real)) Case 4: NewVal.addcolumn(“k”+inttostring(i),
typeof(record[]
real r1; real r2)) Case 5: NewVal.addcolumn(“k”+inttostring(i), real r1; real r2)) endswitch endforeach mmapdb.attach(NewVal) q.Kerdoivek[q.Iveksz].ValaszokAz=NewVal
32
typeof(record[]
Kérdıív kitöltése
A kérdıív a kitöltık számára egy online felületen jelenik meg, melyre a linket a kutatótól, a kérdıív létrehozójától kapják, erre kattintva a következı algoritmusok használatával töltıdik fel a kérdıívhez csatolt mmapdb.valaszok# táblázat. E táblázat minden sorát egy kitöltıtıl érkezett válaszok alkotják.
A különbözı kérdés típusokat lekérı függvények:
//Amennyiben a kérdés típusa klasszikus kérdés-válasz, annyiban a függvény paraméterei a //következık: szov a kérdés szövegét -, vm a válaszlehetıségek számát -, ml a megadható //válaszok számát -, és a vszok a válaszlehetıségek szövegét tartalmazza. int[] kfunct1(string szov, int vm, int ml, string[] vszok) int[] r1 …
//A kérdéseket az online felületen jeleníti meg a program, HTML-t használva
print szov
//A kérdés szövegének megjelenítése
for (i=1; i<=vm; i++) print vszok[i]
//Az összes lehetséges válasz feltőntetése
endfor for (i=1; i<=ml; i++) get r1[i] //A válaszok kipipálása, amit egy array-ben leképezve tárolunk endfor return r1
//A válaszokat tartalmazó array visszaadása
//Horizontális kontinuus skála esetében a függvény paraméterei a következık: szov a kérdés //szövegét -, sm a skála méretét (alapértelmezésben 1-5, tehát 5-öt jelent) -, ert1 a bal oldali //értéket -, és ert2 a jobb oldali értéket tartalmazza. real kfunct2(string szov, int sm, string ert1, string ert2) real r2
33
…
//A kérdést és a skálát az online felületen jeleníti meg a program, HTML-t és //JavaScriptet használva
print szov …
//A kérdés szövegének megjelenítése
//A JavaScript-ben létrehozott felületben a kitöltı egy 500 pixel szélességő //horizontális vonalon elhelyez egy mutatót, ennek a mutatónak az értékét a //program elosztja 500/sm – el és az r2-ben tárolja
get r2 return r2
//A smiley kérdés típus esetében a függvény paraméterei a következık: szov a kérdés szövegét //-, sm a skála méretét (alapértelmezésben 1-5, tehát 5-öt jelent) tartalmazza. real kfunct3(string szov, int sm) real r3 …
//A kérdést és a smiley-t az online felületen jeleníti meg a program, HTML-t és //JavaScriptet használva
print szov …
//A kérdés szövegének megjelenítése
//A JavaScript-ben létrehozott felületben a kitöltı egy 100 pixel magas smiley //száján egy fogópontot helyez el vertikálisan, mely változtatja az arckifejezést //fokozatosan, ennek a mutatónak az értékét a program elosztja 100/sm – el és az //r3-ben tárolja
get r3 return r3
//A dartboard method típus esetében a függvény paraméterei a következık: szov a kérdés //szövegét -, sm
a skála méretét (alapértelmezésben 1-5, tehát 5-öt jelent) -, ml az
elhelyezendı //pontok számát -, vl az elhelyezendı pontok nevét -, ert1 a bal oldali értéket -, ert2 a //jobb oldali értéket, ert3 a felsı értéket -, és ert4 az alsó értéket tartalmazza. record[]
kfunct4(string
szov,
int
sm,
int
ml,
string ert1, string ert2, string ert3, string ert4) record[] r4
34
string[]
vl,
real v1 real v2 end …
//A kérdést és a 2 dimenziós skála mezıjét az online felületen jeleníti meg a //program, HTML-t és JavaScriptet használva
print szov //Ez a ciklus minden pontot sorra vesz, és a kitöltıtıl kéri elheyezését for (i=1; i<=ml; i++) print vl[i] …
//A soron következı pont nevének megjelenítése
//A JavaScript-ben létrehozott felületben a kitöltı egy 500*500 pixel //mérető 2 dimenziós skálába elhelyezi a soron levı pontot, ennek a //pontnak mindkét dimenzió béli értékét a program elosztja 500/sm – el //és az r4.v1 - ben illetve az r4.v2 - ben tárolja az eredményt
get r4.v1 get r4.v2 endfor return r4
//A dartboard method with value at the origo típus esetében a függvény paraméterei a //következık: szov a kérdés szövegét -, sm a skála méretét (alapértelmezésben 1-5, tehát 5-öt //jelent) -, ml az elhelyezendı pontok számát -, vl az elhelyezendı pontok nevét -, ert1 a //bal oldali értéket -, ert2 a jobb oldali értéket, ert3 a felsı értéket -, ert4 az alsó //értéket -, és op az origó értékét tartalmazza. record[]
kfunct4(string
szov,
int
sm,
int
ml,
string[]
vl,
string ert1, string ert2, string ert3, string ert4, string op) record[] r5 real v1 real v2 end …
//A kérdést és a 2 dimenziós skála mezıjét az online felületen jeleníti meg a //program, HTML-t és JavaScriptet használva
35
print szov //Az origó pontra felhelyezi az értékét
print op
//Ez a ciklus minden pontot sorra vesz, és a kitöltıtıl kéri elheyezését for (i=1; i<=ml; i++) print vl[i] …
//A soron következı pont nevének megjelenítése
//A JavaScript-ben létrehozott felületben a kitöltı egy 500*500 pixel //mérető 2 dimenziós skálába elhelyezi a soron levı pontot, ennek a //pontnak mindkét dimenzió béli értékét a program elosztja 500/sm – el //és az r5.v1 - ben illetve az r5.v2 - ben tárolja az eredményt
get r5.v1 get r5.v2 endfor return r5
A kitöltés fı függvénye: //Amikor a kitöltı a linkre rákattint, a szerveren futó program résznek paraméterként elküldi a //kérdésben lévı kérdıív adatait, pontosabban a kutató felhasználónevét és a kérdıív pontos //nevét (usr – ben a felhasználónevet, kname – ben a kérdıív nevét). E két adat alapján lehet //megnyitni és az információt és bevezetni a mmapdb.valaszok# táblába. function kitolt(string usr, string kname) int count = 0 //Ez a két keresés teremti meg a kapcsolatot az adott kérdıív kérdéseit tartalmazó és a //válaszokat tartalmazó táblákkal kutato q = from k in mmapdb.kutatok where k.Username = usr select k record qr = from j in q.kerdoivek where j.IvNev = kname select j table krdiv = qr.IvAz table krdval = qr.ValaszokAz
36
//Az ujvalasz sor az a jelenlegi kitöltı válaszait hivatott tartalmazni krdval ujvalasz = new krdval //Ezzel a ciklussal a kérdıív kérdéseit tartalmazó tábla összes során átmegy a program, minden sor oszlopai alapján felteszi a kérdést a kitöltınek, majd válaszait típustól függıen tárolja az ujvalasz sor oszlopaiban. A válaszok lekérésében a program azokat a függvényeket használja, melyeket fennebb határoztunk meg (kfunct1 - kfunct5) foreach (krdiv inp in krdiv) count++ switch (inp.Tipus) case 1: ujvalasz.columns[count]=kfunct1(inp.Szoveg, inp.ValaszLehSz, inp.MaxVSz, inp.Valaszok) case 2: ujvalasz.columns[count]=kfunct2(inp.Szoveg, inp.SkalaS, inp.E1, inp.E2) case 3: ujvalasz.columns[count]=kfunct3(inp.Szoveg, inp.SkalaS) case 4: ujvalasz.columns[count]=kfunct4(inp.Szoveg, inp.SkalaS, inp.BSz, inp.Vlist, inp.E1, inp.E2, inp.E3, inp.E4) case 5: ujvalasz.columns[count]=kfunct5(inp.Szoveg, inp.SkalaS, inp.BSz, inp.Vlist, inp.E1, inp.E2, inp.E3, inp.E4, inp.OE) endswitch endforeach //Az ujvalasz sor csatlakoztatása a
krdval.attach(ujvalasz)
//mmapdb.válaszok# táblájába return
37
Adatok megjelenítése/értelmezése
A kérdıív vizuális mivolta miatt az adatok megjelenítése és értelmezése is részben vizuális módon kell történjen. A dartboard módszer eredményeinek megjelenítése két lépcsıs, elsı sorban a kutató meghatározza a kritériumokat, mely alapján kiválassza a kitöltık egy alcsoportját, majd e csoport adatait szín kódolva a program megjeleníti, a színkódolásra több módszer is van, a függvények a következık.
//A pont típusa szerinti színkódolásos megjelenítés függvénye a következı paraméterekkel //mőködik: tbl a tábla, mely már csak azokat a kitöltıket tartalmazza, amelyek kritériumok //szerint ki voltak választva, col a kérdés oszlopát tartalmazza, amit vizualizálunk, clr a //különbözı pontok színeit tartalmazza, vsz pedig a különbözı ponttípusok számát //tartalmazza. function ponttipusok (table tbl, int col, colour[] clr, int vsz) foreach (tbl imp in tbl) //E ciklus sorra veszi a kitöltıket for (i=1; i<=vsz; i++) //E ciklus sorra veszi a pontok típusát print (imp.columns[col][i].r11, imp.columns[col][i].r12,
clr[i])
//Azonos típusú pontokat azonos színnel
//jeleníti meg a JavaScript program endfor endforeach return
//Ez a függvény egy kiválasztott kitöltı pontjai köré egy kontőrt rajzol. Paraméterei: tbl a //tábla, mely már csak azokat a kitöltıket tartalmazza, amelyek kritériumok szerint ki voltak //választva, col a kérdés oszlopát tartalmazza, amit vizualizálunk, vsz pedig a különbözı //ponttípusok számát tartalmazza. Eid a kitöltı egyedi azonosítója. function egyemb(table tbl, int col, int vsz, int eid) tbl q = from k in tbl where k.ID = eid
38
select k //Ez a ciklus sorra veszi az összes pontot, amit bejelölt erre a kérdésre a kitöltı, és rajzol köréje //egy fekete kontőrt for (i=1; i<=vsz; i++) print
(imp.columns[col][i].r11,
imp.columns[col][i].r12) //Azonos típusú pontokat azonos színnel //jeleníti meg a JavaScript program endfor return
//Ez a függvény egy kiválasztott csoport válaszként megadott pontjait súlyozza, és egy átlagot //jelenít meg szín kódolva. Paraméterei: tbl a tábla, mely már csak azokat a kitöltıket //tartalmazza, amelyek kritériumok szerint ki voltak választva, col a kérdés oszlopát //tartalmazza, amit vizualizálunk, clr a különbözı pontok színeit tartalmazza, vsz pedig a //különbözı ponttípusok számát tartalmazza. function suly(table tbl, int col, colour[] clr, int vsz) for (i=1; i<=vsz;i++)
//Ez a ciklus sorra veszi az összes pont típust
j=0 rz11=0 rz12=0 foreach (tbl imp in tbl) //Ez a ciklus sorra veszi az összes kitöltıt j++ rz11+=imp.columns[col][i].r11 rz12+=imp.columns[col][i].r12 endforeach //A kitöltık e pontra adott koordinátáinak összegét elossza a program a kitöltık számával, //ezáltal megkapja a súlyát a szóban forgó pontnak rz11=rz11/j rz12=rz12/j print
(rz11,
rz12,
clr[i])
színnel //jeleníti meg a JavaScript program
39
//Azonos típusú pontokat azonos
endfor return
A megjelenítés fı funkciója:
function megjel kutato q = from k in mmapdb.kutatok where k.Username = usr select k record qr = from j in q.kerdoivek where j.IvNev = kname select j table krdiv = qr.IvAz table krdval = qr.ValaszokAz table kriterium = new table copy krdval if criterium selection event string szoveg get szoveg krdiv q = from k in krdiv where k.Szoveg=szoveg select k set answ get answ foreach (kriterium inp in kriterium) if inp.columns[k.ID] not in answ delete inp endforeach endif if point colour code event colour[] getcol for (i=1, i<=k.Bsz, i++) get getcol[i] 40
endfor ponttipusok (kriterium, k.ID, getcol, k.BSz) endif if one person answer event egyemb(kriterium, k.ID, k.Bsz) endif if average even colour[] getcol for (i=1, i<=k.Bsz, i++) get getcol[i] endfor suly(kriterium, k.ID, getcol, k.BSz) endif return
41
Két ország, egy cél, közös siker! Două Ńări, un scop, succes comun!
MMAP Mentális térképezés román-magyar összefogásban
Munkaterv (Work plan)
Közremőködı szakértık: Letenyei László Losonc Krisztina
Két ország, egy cél, közös siker! Două Ńări, un scop, succes comun!
A tanulmány a Magyarország – Románia Határon Átnyúló Együttmőködési Program 2007- 2013 Irányító Hatósága támogatásával a HURO/0901/059 projekt keretében készült. „Jelen dokumentum tartalma nem feltétlenül tükrözi az Európai Unió hivatalos álláspontját.”
42
Tartalom Munkaterv ..................................................................................................................................... 42 Megvalósítási munkaterv .............................................................................................................. 44 GANTT Diagramm ................................................................................................................... 46
43
Megvalósítási munkaterv A Mental Map Editor 2.0. címő HU-RO projekt eredménye egy algoritmus terv. Az algoritmus terv alapján a szoftver, meglátásunk szerint 5 évnegyed alatt (azaz egy és negyed év alatt) megvalósítható, kivitelezhetı. A Mental Map 2.0 szoftver fejlesztésének öt meghatározó hátralevı fázisa van: - Design, - Program fejlestés, - Feltöltés - Tesztelés, illetve - Karbantartás.
A Design fázis célja a szoftver (ebben az esetben online tér) grafikai felhasználó felületének véglegesítése. Fontos kiinduló pontok az Információ beszerzés fázisban meghatározott elvek, mint amailyen például a célcsoport böngészési trendjeinek való megfelelés.
A Grafikus tervek elkészítése során egy képzımővész elkészít több tervet, ezek gyakorlatilag .jpg formátumban elkészített képek, melyre a Front-end épül majd fel. A Felhasználói felület megtervezése során a legjobb grafikus tervek alapján a fejlesztıcsoport megtervezi a különbözı menüpontok, szövegmegjelenítı felületek, mozgó/dinamikus elemek megjelenítési mechanikáját és arculatát. E két folyamat több grafikai és felhasználói felület tervet eredményez, melyek közül a Végsı grafikus terv és felhasználói felület kiválasztása során potenciális felhasználók tesztelésével elérkezünk a végsı honlap arculathoz.
44
A Program fejlesztés fázisának végterméke a szoftver, ebben az esetben a honlap, legelsı feature-complete, azaz Beta változata. Ebben a periódusban az informatikus gárda a kiválasztott arculathoz megtervezi, felépíti és a feladatra kiválasztott programozási nyelvben megírja a tervezési szakaszban elkészített algoritmus tervet. Ez a munka a Back-end fejlesztésével kezdıdik, ez idıszak alatt a programozók elkészítik a honlap szerverén futó részeit, az adatbázist és magát a programot. Ez a két folyamat majdnem egymásra épül, és bármilyen módosítás, ami egyikben történik következményekkel jár a másikban. Az algoritmus terv gyakorlatba ültetése egy kiválasztott adatbázis kezelıben (pl. MySQL) és egy egy programozási nyelvvel (pl. C# vagy PHP). A Back-end fejlesztése amint elér egy elırehaladottabb stádiumot, megkezdıdhet a munka a Front-end elkészítésével. A Front-end programozása HTML-t és JavaScriptet használva történik, e stádium munkája eredményeképpen a felhasználói grafikus felület interaktivitást nyer és kapcsolatba kerül a szerverrel. A Front-end az a része a programnak (és a honlapoknak általában), amellyel kapcsolatba kerülnek a felhasználók, ez a látható rész. Amiután Beta fázisba ér a szoftver, kezdıdhet ennek migrálása egy szerverre. A Szerverre való telepítés alatt az összes adat, adatbázis szoftver kód felkerül egy szerverre, mely futtatja majd a szolgáltatást, és egy kibérelt domain névhez kapcsolja a szoftvert. A Tesztelés folyamata a szoftver stabilitása szempontjából meghatározó periódus, belsı teszteléssel kezdıdik, ahol a fejlesztık maguk tesztelik különbözı elemeit a szoftvernek, annak érdekében, hogy minden lehetséges betáplált információ esetében mőködıképes maradjon. Továbbá egy stressz-tesztnek nevezett periódus következik, amikor a cél a szoftver olyan körülmények közötti tesztelése, ahol párhuzamosan nagyon magas számú felhasználó veszi igénybe (ez adatbázis integritást illetve szerver stabilitást tesztel). A tesztelést a Módosítás periódusa követi, amely keretén belül a hibákat a program fejlesztıi orvosolják. Ezt követıen kerül a szoftver ki a Beta fázisából végleges fázisába. A Karbantartás a végsı fázisa a fejlesztésnek, és ez a munka mindaddig tart, amíg a honlap élete tart.
45
GANTT Diagramm 2010. II.
2010. III.
2010. IV.
I. Információ beszerzés
II. Tervezés II.1 Site map elkészítése II.2 Algoritmus terv és adatbázis terv elkészítése
III. Design III.1 Grafikus tervek elkészítése III.2 Felhasználói megtervezése
felület
III.3 Végsı grafikus terv felhasználói felület kiválasztása
és
IV. Program fejlesztés IV.1 Back-end fejlesztése IV.1.1 Adatbázis létrehozása IV.1.2 Szerver szoftver fejlesztése IV.2 Front-end fejlesztése
V. Feltöltés és tesztelés V.1 Szerverre való telepítés V.2 Tesztelés V.3 Módosítás
VI. Karbantartás
46
2011. I.
2011 . II.
2011. III.
2. I.
phase 2. II.
2. III.
2. IV.
2. V.