Smarta masknät med artificiella myror. Oscar Carlsson oscca982@student.liu.se



Relevanta dokument
Föreläsning 11. Giriga algoritmer

Föreläsning 3.1: Datastrukturer, en översikt

Nät med flera länkar. Vägval. Enklaste formen av kommunikation:

Träd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition

ETS052 Internet Routing. Jens A Andersson

Ad-Hoc Nätverk. Christer Corneliusson Ett arbete i kursen Datakommunikation och Distribuerade System VT- 2005

UMEÅ UNIVERSITET 26 april 2002 Instutionen för datavetenskap. Grafproblem. Laboration 4, Datastrukturer och Algoritmer VT02

Real-time requirements for online games

Online reträtt Vägledning vecka 26

Det första steget blir att titta i Svensk MeSH för att se om vi kan hitta några bra engelska termer att ha med oss på sökresan.

Grafer. 1 Grafer. Grunder i matematik och logik (2015) 1.1 Oriktade grafer. Marco Kuhlmann

Hur BitTorrent fungerar

Språkäventyret. Mål. Verktyg. Inledande arbete

Instuderingsfrågor ETS052 Datorkommuniktion

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Konfigurera Xenta från Point

Planeringsspelets mysterier, del 1

SLALOMINGÅNGAR hur svårt kan det vara?

1DV433 HT13. I vilken utsträckning har kursens innehåll och uppläggning gett förutsättningar för att du ska ha uppnått respektive lärandemål?

Optimering. Optimering av transportproblem. Linköpings universitet SL. Campusveckan VT2013

Nätverkslagret - Intro

Nätverksoptimering. Examensarbete i Datavetenskap. - Bästa möjliga tillgänglighet till lägsta möjliga länkkostnad

Värvningsguide. - så får ni fler medlemmar till er elevkår

FÖRKORTA DIN VÄG PÅ BANAN

============================================================================

Kunna beräkna medelantal kunder för alla köer i ett könät med återkopplingar. I denna övning kallas ett kösystem som ingår i ett könät oftast nod.

TJUVSTARTER I AGILITY - en kamp i envishet

Så får du bättre. självkänsla. Experter Frågor och svar Intervjuer Steg för steg-guider Praktiska tips SIDOR

Uppvärmning, avsvalning och fasövergångar

HANDLING TILL. Från tanke. Metodblad: Påverka på webben

Kommuniceramer än ord

Global nedvärdering av sig själv, andra och livet.

SMAK- PROV. Utkommer till ht 14

5 vanliga misstag som chefer gör

TSBK 10 Teknik för avancerade datorspel Fö 9: Nätverk, Peter Johansson, ISY

En ideal op-förstärkare har oändlig inimedans, noll utimpedans och oändlig förstärkning.

Från sömnlös till utsövd

Att ansluta en fastighet till Karlstads Stadsnät och bygga ett fastighetsnät.

1. Bekräftelsebehov eller självacceptans

Några små tips om att träna på utsatt fågel

Lathund för webbredaktörer. Så skriver du på webben

Lösa konflikter som orsakar skada

Bör man legalisera nerladdning av musik?

2. Får jag bestämma var ni ska gräva? Ja, om det finns något känsligt i vägen vid grävning kan ni påverka var grävning ska ske.

Drakriddare i Drakar och Demoner Trudvang Skapat av Daniel Falck

Lantbrukarnas syn på viltskador orsakade av gäss och tranor kring Tåkern resultat av en enkätundersökning

Renar och snöskotertrafik

Lotta Carlberg, workitsimple Alla rättigheter reserverade

IP routinghierarkier. Robert Löfman Institutionen för informationsbehandling Åbo Akademi, FIN Åbo, Finland e post: robert.lofman@abo.nospam.

Hjälpprotokoll till IP

Chalmers tekniska högskola EDA390 Datakommunikation och Distribuerade system

En nybörjarkurs i kritiskt tänkande

Kommunikationsmöjligheter i Mondo

{ karriär & ledarskap }

Säkerhet och trygghet för framtidens äldre workshop!

Vägledning i att fylla i ansökan om ändrad tilldelning.

En liten introduktion till SLI Community

Föreläsning 4: Giriga algoritmer. Giriga algoritmer

Föreläsning 8: Intro till Komplexitetsteori

Just say yes. Passar för: Gymnasiet, samhällskunskap, mediekunskap

Tentaupplägg denna gång

4:7 Dioden och likriktning.

Barn som bråkar. sollentuna. Vem är jag? Om lågaffektivt bemötande i familjen och vardagen.

Projektarbete 2: Interaktiv prototyp

VIKTIG INFO GÄLLANDE OMKOPPLINGEN TILL DET ÖPPNA NÄTET

Heterogen miljö en omgivning som varierar i tid eller rum - kan bidra till att mellanartskonkurrensen inte hinner få full effekt.

BARNETS FEM KÄRLEKSSPRÅK

Vi bygger fiber till dig i sommar!

Linnéuniversitetet. Prestationsanalys 2015


Generell Analys. 3. Det är viktigt att du väljer ett svar i vart och ett av de åttio blocken.

5 genvägar till mer muskler

Synkronisering. Föreläsning 8

Solowheel. Namn: Jesper Edqvist. Klass: TE14A. Datum:

TNSL11 Kvantitativ Logistik

Förord Inledning. Roland Larsson Talangutvecklare, pojk, Skåne och Blekinge Förbundskapten, pojk och junior

Valet 2010 på facebook!

Kapacitet för godståg på Västra och Södra stambanan

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Föreläsning 4: Kombinatorisk sökning

Brott, straff och normer 3

Mitt liv som mobbad. Wiveca Wendin

Jag har kommit som sändebud från änglarna. Jag har levt tidigare på Jorden. Jag är en av mediets guider.

2015/16 Företags ID: Emil Lund Sjövägen 3, Upplands Väsby Sollentuna, Stockholms län ÅRSREDOVISNING. Move it Bag UF

BARNS SPRÅKUTVECKLING

FÖRELÄSNING 1 ANALYS MN1 DISTANS HT06

21 meter långa med en fordonslängd av 24 meter. Modernare 25,25-meters ekipage

ETT ÅR MED DIN TRÄNING

Framtidens nät är här

Standard, handläggare

TAIU07 Matematiska beräkningar med Matlab

Ny insamling för villor i Norrköping. Nu byter vi ut den gröna och bruna tunnan till sortering i flera fack.

Nå Framgång på Instagram En guide till små och medelstora företag

NXT LEGO-robot laboration Programmering och felsökning av en LEGOrobot

Föreläsning 6: Introduktion av listor

The Pirate Bay-rättegången, dag 6 Fritt nedtecknat

TATA42: Föreläsning 10 Serier ( generaliserade summor )

MOBILTELEFONI. Julia Kleiman, Frida Lindbladh & Jonas Khaled. tisdag 15 maj 12

Det finns många sätt att koppla ackumulatortankar

Vad måste jag göra som idag har avtal med bredbandsbolaget? Bredband Vi har 500/50 bredband, vad är priserna för

Transkript:

Smarta masknät med artificiella myror Oscar Carlsson oscca982@student.liu.se 729G50 HT2007

Sammanfattning Detta är en liten sammanfattning. Den bör inte ta upp mer än en halvsida, och bör inte heller innehålla information som bara kan hittas i rapporten. Helst ska den verka lockande nog för en potentiell läsare att denne väljer att läsa eländet.

Innehåll 1 Inledning 1 2 Stigmergy 1 3 Traveling Salesman Problem 3 4 Olika varianter av ACO 4 4.1 Ant System............................ 4 4.2 MAX-MIN Ant System...................... 5 5 MANSI 6 5.1 Om Ad-Hoc-nät i allmänhet................... 6 5.2 Uppbyggnad............................ 8 5.3 Utökning och smartare vägar.................. 9 6 Diskussion 12 ii

1 Inledning Swarm Intelligence, SI, erbjuder en intressant infallsvinkel för många tidigare svårlösta problem med en kombinatorisk utveckling, som t ex Traveling Salesman Problem, TPS. 2 Stigmergy Stigmergy är en form av kommunikation som myntades av den franske forskaren Pierre-Paul Grassé när denne studerade olika termiters beteende, och är väldigt centralt inom Swarm Intelligence (hädanefter förkortat SI). Då termiter med en högst begränsad mental kapacitet och en extremt begränsad förmåga att uppfatta sin omvärld (det är t ex inte helt ovanligt med blinda myrarter) ändå är kapabla att finna den kortaste vägen till maten utan någon som helst direkt kommunikation myntades begreppet stigmergy. Man skulle kunna beskriva stigmergy som ett kontinuerligt samspel mellan termiter som utför en arbetsuppgift och den miljö de vistas i. Termiterna reagerar på stimuli och påverkar sin miljö därefter, utan att ha någon som helst kännedom om andra myror eller om situtationen i stort (t ex hur miljön ser ut i övrigt). Detta kortsiktiga beteende kan i sin tur leda till andra komplexa beteenden, som myrstackar eller den kortaste vägen till maten, utan att det finns någon som övervakar och styr arbetet eller någon egentlig kunskap hos de agenter som utför sysslan. Dorigo & Socha menar att stigmergy skiljer sig från annan kommunikation genom två argument[1]: När insekterna kommunicerar använder de sig av en fysisk och icke-- symbolisk typ av information som svarar mot de förändringar av miljön som de vistas i Informationen som insekterna använder sig av är lokal, då den bara kan uppfattas av en annan insekt som besöker samma plats 1

Figur 1: I detta försök, med två lika långa broar till maten från myrstacken till maten var det slumpen som avgjorde vilken av vägarna som blev mest fermonladdad. Många arter av myror utsöndrar fermoner på marken när de är på jakt efter mat. Andra myror kan uppfatta dessa fermoner när de själva är på jakt efter mat, och följer hellre spår med hög koncentration av fermoner än att gå ut på jakt själv, även om det finns en chans att en myra väljer att inte gå på en väg med hög fermonkoncentration. När en myra vandrar tillbaka mot stacken från en födokälla så väljer den ofta att gå tillbaka samma väg som den kom (på grund av fermonspåren från sin ditfärd), vilket gör att fermonspåret förstärks ytterligare, som i sin tur ökar chansen att fler myror väljer att gå på samma väg som myran nyss skapat. Att många myror väljer att gå på en väg med hög kocentration av fermoner behöver dock inte nödvändigtvis innebära att det är en optimal väg. Myran har inte någon metod för att jämföra två vägar (annat än fermonkoncentrationen), så om en alternativ, och kortare, väg presenteras för myrorna efter en viss tid när myrorna redan har laddat en befintlig väg med fermoner, är det inte säkert att den kortare vägen kommer att användas. Detta är på grund av att betydligt fler myror hinner öka fermonladdningen av den gamla, längre, vägen med fermoner, än det fåtal myror som slumpmässigt väljer att gå den kortare vägen, trots att detta fåtal myror kanske hinner gå den kortare vägen flera gånger. Värt att notera är att stigmergy inte nödvändigtvis behöver vara begränsat till termitarters beteende, utan kan användas för att förklara andra fenomen, 2

Figur 2: I ett annat försök användes två olika broar, där den ena var ungefär dubbelt så lång som den andra. Från början valde myrorna mellan de olika broarna slumpmässigt, men ju längre försöket fortsatte, desto mer fermonladdad blev den korta vägen och desto färre myror valde att gå på den långa vägen. t ex som det nätbaserade uppslagsverket Wikipedia 1, även om denna liknelse kan diskuteras. En användare ändrar en del av en delad virtuell miljö (t ex en artikel), en annan går in och ändrar samma artikel med ny information och när artikeln börjar växa sig tillräckligt stor kommer en stor andel personer vara inne och redigera artikeln. Precis som med myrornas svårigheter att hitta en kortare väg när en befintlig väl är laddad med fermoner, behöver inte en artikel vara sann eller korrekt bara för att många personer är inne och redigerar den. 3 Traveling Salesman Problem Traveling Salesman Problem är det standardmått forskare använder sig av för att testa effektiviteten för en sökalgoritm[2]. TSP bygger i grund och botten på att hitta en färdplan mellan N städer, där man startar i en stad, måste besöka alla städer i världen en gång (och inte två gånger) och sluta på samma stad som man utgick ifrån, vilket brukar 1 http://en.wikipedia.org/wiki/stigmergy#application 3

klassas som ett problem med risk för en kombinatorisk explosion. 4 Olika varianter av ACO I denna sektion kommer en av ursprungsvarianterna av Ant Colony Optimization kort, Ant System, och en av de mer moderna, MAX-MIN Ant System, gås igenom. 4.1 Ant System Ant System är en av de allra tidigaste ACO-algoritmerna, och är inte lika state of the art som t ex MAX-MIN Ant System eller Ant Colony System. Några av de saker som modernare algoritmer har tagit bort lever fortfarande kvar hos Ant System, som att samtliga myror kan uppdatera fermonspår när de tar sig runt i världen, och att myrorna gör ett probabalistiskt beslut om vart den ska gå vidare vid varje hörn 2. Att skapa fermonspår för τ ij (vilket är sträckan mellan städerna i och j ) i Ant System: m τ ij (1 ρ) τ ij + τij k k=1 m är antalet myror, ρ är avdunstningstakten och τ k ij är den fermonkvantitet per längdenhet lagd mellan städerna i och j av myra nr k. τij k = Q L k if ant k used edge (i,j ) in its tour 0 otherwise Här är Q en konstant 3 och L k är den väg som myra nummer k har gått under körningen. 2 vertex på engelska 3 Vilken sorts konstant, vad den egentligen står för och hela den baletten framgår inte riktigt ur någon artikel jag läst. 4

Sannolikheten p k ij för att myra nummer k går från stad i till stad j ges av: p k ij = τ α ij ηβ ij l allowedk τ α il ηβ il if j allowed k 0 otherwise Här är allowed k en lista på städer som myra nummer k ännu inte besökt, α och β är parametrar som kontrollerar vikten 4 av fermonspår mot heuristikinformationen η ij given av följande formel: η ij = 1 d ij Här är d ij avståndet mellan städerna (i, j). 4.2 MAX-MIN Ant System Forskning på ACO har visat att det går att få förbättrad prestanda genom att bättre utnyttja de bästa delmålslösningar man hittar under sökningen[2]. Att bara använda en mer girig (greedy) sökmetod ökar risken att sökningen stagnerar, vilket MAX-MIN Ant System löser genom att begränsa antal möjliga fermonspår på varje lösning ([τ min, τ max ]). MAX-MIN Ant System skiljer sig från Ant System på tre viktiga punkter[2]: För att hitta den bästa lösningen i en iteration eller under exekvering av algoritmen, så tillåts bara en myra (som antingen är interationbest, hittat bästa lösningen på iterationen eller global-best) lägga ut fermoner. För att undvika att sökningen stagnerar så begränsas antal möjliga fermonspår på varje lösning till ett intervall, [τ min, τ max ]. τ max maximeras från början, vilket leder till att fler möjliga fermonspår utforskas tidigt under sökningen. 4 Vilken som väger tyngst när myran bestämmer sig till vilken ny stad den ska besöka 5

5 MANSI MANSI är ett protokoll för att bygga mobila, smarta och självoptimerande nätverk i miljöer där en central anknytningspunkt (i fall med trådlösa nätverk, t ex en radiomast) inte finns eller ligger utom räckhåll. MANSI är en akronym som står för Multicast for Ad Hoc Networks with Swarm Intelligence[4]. 5.1 Om Ad-Hoc-nät i allmänhet Ett adhoc-nätverk (hädanefter förkortat ADN) är ett nätverk som består av en mängd noder (t ex ett flertal bärbara datorer) som accepterar att skicka vidare data från andra noder till andra noder vid förfrågan. Detta skiljer sig från hur en mer traditionella nätverkstopologier, t.ex. som en trädstrukturstopologi (se figur 3). Figur 3: En typisk trädtopologi. De orangea noderna måste gå via de gröna noderna, som i egenskap av sambandspunkter (som t ex switchar i ett vanligt nätverk) tar deras data och skickar den vidare till nästa nod eller sambandspunkt. Den röda noden symboliserar en koppling till annat nätverk, t ex internet. I verkligheten brukar det finnas kopplingar mellan de gröna sambandsnoderna, för att slippa gå onödigt långa omvägar för att klientnodernas data ska komma fram. ADN är populärt på grund av den minimala konfiguration det kräver för att sätta upp och driva i mindre nätverk, men när nätverken börjar växa i storlek blir nätverken allt mer svårhanterliga och dåligt presterande. Ett av skälen till detta är hur olika noder hittar varandra, vilket de gör genom att skicka ut 6

en strid ström av broadcast-paket 5, vilket leder till ett stort överflöd av paket vid kommunikation. Ett annat problem med ADS är man oftast inte använder sig av någon redundant väg 6 för sina paket, så att om någon del i ett ADS på väg från nod A till nod B går ner (som av att signalkontakten försvagas eller bryts), så är det inte säkert att paketen kommer fram, utan försvinner och måste skickas om igen genom en ny väg som måste upptäckas genom nya strömmar av broadcast-paket, vilket resulterar i ytterligare mängder av paket som belastar nätverket. Figur 4: Ett typiskt adhoc-nät. Två orangea noder vill kommunicera med den gröna noden, men för att komma dit hoppar deras paket via andra noder, som tar emot och skickar vidare deras data tills datan når fram. Paketen hittar en väg fram till sitt mål, men vägen är inte nödvändigtvis optimal (mätt i vägkostnad). 5 Paket inte adresserade till någon specifik nod, utan skickas ut till hela nätverket och som besvaras av de noder som stämmer in på paketets innehåll 6 Kallas route i nätverkssammanhang 7

5.2 Uppbyggnad MANSI fokuserar, som andra routingprotokoll, på att hitta den väg som resulterar i lägst kostnad (hur kostnad definieras kan man se exempel på i tabell 1) i ett masknät 7. Till skillnad från en del andra routingprotokoll är varken det träd av noder som används vid kommunikationen eller den ursprungliga kärnan 8 statiska, utan kan förändras drastiskt i realtid, vid krav från omständigheterna. Noderna är inte heller kända för varandra på förhand, utan noderna hittar varandra så fort det finns data att överföra, och noderna glömmer även bort varandra när ingen mer data behöver överföras. När en nod behöver kommunicera med en eller flera andra noder börjar den med att skicka ut en Core Announce-paket, som alla närliggande (och mellanliggande) noder svarar med ett Join Request-paket samma väg som paketet kom 9. Noder som mottar Join Request-paket adresserade till sig själva blir ansvariga för att vidarebefodra paket, oavsett vilka noder de kommer ifrån 10. För att underhålla och låta nya noder ansluta till masknätet så kommer nätverkets kärna periodiskt, så länge det finns mer data att överföra, att skicka ut nya Core Announce. Detta skapar ett vidarebefodrarset 11 som innehåller samtliga mellanliggande noder mellan kärnan och de noder kärnan vill kommunicera med, och detta set underhålls dynamiskt av kärnan. Detta set delas även av samtliga sändare i gruppen. 7 Kallas på engelska för mesh. Att jag väljer att kalla det för masknät på svenska är att det inte är ett symmetriskt och strukturerat nätverk av noder, utan dynamiskt och temporärt nätverk, där kommunikationskanalerna genom det mest kan liknas vid maskar. 8 Kallas core på engelska, och syftar på den nod som önskar att kommunicera med andra noder, som tar initiativet och påbörjar kommunikationen. 9 I detta stadium sker ingen direkt optimering. 10 Dessa noder kallas även för forwarding nodes, på svenska vidarebefodrande noder 11 forwarding set på engelska 8

Problem Load balancing Power-aware routing Energy conservation Kostnad per nod Trafikens köstorlek eller trafiktryck Nodens sändningsstyrka Nodens kvarvarande laddning, inverterad height Tabell 1: Några exempel på hur kostnad per nod i ett MANSI-nätverk kan beräknas. 5.3 Utökning och smartare vägar Bara för att en kärnnod har hittat den nod eller de noder den vill kommunicera med genom att be alla när- och mellanliggande noder att svara med en Join Request på sin Core Announce och sedan vidarebefodra dessa, så betyder detta inte att detta är den optimala vägen. Även om vägen från kärnan till nod 1 är kortast möjliga, så finns det en möjlighet att vägen mellan kärnan och nod 2 kan delas med vägen till nod 1, och på så sätt spara in resurser och skapa effektivare kommunikation. För att kunna hitta nya, smartare vägar låter man varje nod i masknätet (som inte är en kärnnod) periodiskt skicka ut ett paket, kallat Forward Ant, för att utforska andra, och förhoppningsvis även bättre, vägar till kärnnoden. Denna procedur fungerar, något kortfattat, som följer: Om en Forward Ant hittar en nod som tjänstgör som vidarebefodrande nod för gruppen, så förvandlar den sig själv till en Backward Ant. Backward Ant kommer sedan ta sig tillbaka till sin hemnod (dvs, den som skickade ut den) via samma väg den kom. I figur 5 visas ett exempel på hur det går till när en Forward Ant hittar en annan, mer effektiv (då exemplet inte innehåller några värden överhuvudtaget får man anta att vägen punkten D börjar på är mer effektiv än sträckan F-G- H ) väg att låta paketen routas genom. När Backward Ant lämnar punkt D och återvänder till punkt C, är kostnaden för att låta punkt C läggas till i vidarebefodringssetet noll, då punkt D redan är en vidarebefodringsnod och är direkt kopplad till punkt C, och när Backward Ant återkommer 9

Figur 5: (1) En Forward Ant ger sig ut från punkt A och väljer punkt C som nästa delmål. När Forwand Ant besöker punkt C upptäcker den vidarebefodringspunkten D. (2) Forward Ant omvandlas till en Backward Ant, tar sig tillbaka mot punkt A och lägger ut fermonspår utmed vägen. till punkt A kommer kostnaden för att låta punkt A läggas till i punkt Ds vidarebefodringsset samma som kostnaden för att låta punkt C göra detsamma, dvs noll, då det krävs att punkt C läggs till i vidarebefodringssettet för att punkt A ska kunna göra det. Sedan, om fermonspåret på länken mellan punkt A och punkt C är högre än den mellan punkt A och punkt E, så kommer punkt A skicka en Join Request till punkt C och sluta skicka data via punkt E,F,G och H, som i sin tur kommer ta bort sig själva ur vidarebefodringssetet, då de i brist på överförd data inte längre kommer behövas. När en Backward Ant anländer till en nod, nod k, som den tidigare färdats på, så räknar den ut vad det skulle kosta, kostnad i att låta nod k gå med 10

i det vidarebefodringsset via den vidarebefodringsnod den tidigare besökt. Detta beräknade värde kostnad i läggs till eller uppdateras i nod k s lokala datastruktur. En Backward Ant lägger även till ett fermonspår som är kostnad i omvänt i nod k s lokala datastruktur, och detta fermonspår kommer kontrolleras av efterföljande Forward Ants när de ska välja vilken väg de ska utforska vidare på, och precis som med icke-artificiella myror så är sannolikheten högre att myran då väljer att gå på en väg med ett högt fermonspår (vilket innebär en lägre kostnad) än ett med ett lågt, även om det förekommer en viss slumpmässighet i vad myran väljer. Detta sista scenario kan även innebära att en, såvida den existerar, ännu mer effektiv och billigare väg från nod k till kärnan, kan upptäckas, läggas till i vidarebefodringssetet och vägen fermonladdas. För att förhindra ett s.k. race condition 12 med att alla noder lägger till varandra och kontakt med kärnan upphör, så har alla noder en unik höjd, och kärnan har sin höjd satt till oändligheten. En Forward Ant får bara övergå till en Backward Ant om den stöter på en nod vars höjd är högre än den nod som skapade Forward Anten. Detta gör att noden kommer, förr eller senare, att kunna ansluta sig till kärnan. Varje nod i har en lista med närliggande noder, kallad ntab(i). Utöver detta har varje nod i för varje grupp g en datastruktur som innehåller följande delar: Join table: Innehåller de noder som har kommit in i grupp g via nod i, och denna tabell uppdateras när nod i hör en Join Request adresserat till sig själv. Varje datarad i denna tabell skrivs i notationen r, h r där r är den nod vars förfrågan behandlas unika ID och h r är dess höjd. Core ID: Används för att visa vilken nod som är kärna för grupp g, skrivs i formen core g (i). 12 Ett race condition inträffar när två eller flera oberoende processen (eller trådar) beror på ett delat state, och beroende på timingen mellan dessa processer kan saker bli tokiga. Två program som växelvis läser av en textfil som innehåller ett heltal och skriver över filens innehåll med heltalet inkrementerat med 1 kan beroende på timing antingen betyda datakorruption (att filen går sönder när båda processer skriver över filen), felaktiga tal (om båda läses processer läser av filens innehåll samtidigt men skriver strax efter varandra) etc. 11

Core sequence number: Räknar vilken Core Announce i ordningen som mottages. Height: Visar om nod i är en medlem eller vidarebefodringsnod i grupp g. Tilldelning sker enligt formeln nedan. height g (i) = if i = core g (i), max {i, max {h r r, h r join g (i) }} if i is a member of group g, max {h r r, h r join g (i)} otherwise. Pheromone table: Håller koll på närliggande noder samt höjder och matchar dem mot tillhörande fermonladdningar. För nod i är fermonladdningen för länken (i, j) på höjden h i grupp g skriven i formen τ g (i, j, h), vars värden ligger i intervallet 0 τ g (i, j, k) 1, för att undvika att ett spår blir överdrivet fermonladdat. Best cost table: Håller koll på hur nära nod i tror att den är mot vidarebefodringsnoder av vissa höjder. Detta används när en Backward Ant kommer tillbaka, för att kunna räkna ut om den kommer tillbaka från en bra eller en dålig väg. 6 Diskussion MANSI är ett intressant utfall av hur Swarm Intelligence kan appliceras på knepiga reella problem, och inte nödvändigtvis enbart på teoretiska problem som Traveling Salesmans Problem. Dock verkar det inte som att MANSI faktiskt har implementerats eller testats i annat än laborationsmiljö, trots att resultaten i laborationer har vart lovande, särskilt för mer komplexa förutsättningar, så som i nätverk där alla noder är mobila i hög grad och knepiga miljöer kan resultera i signalbortfall etc. 12

Referenser [1] Marco Dorigo & Krzysztof Socha. An Introduction to Ant Colony Optimization. IRIDIA, 2007. [2] Thomas Stützle & Holger H. Hoos. MAX MIN Ant System. Journal of Future Generation Computer Systems, 16:889-914, 2000. [3] Marco Dorigo & Luca Maria Gambardella. Ant Colony System: A Cooperative Learning Approach to the Traveling Salesman Problem. IRIDIA, 1996. [4] Chien-Chung Shen & Chaiporn Jaikaeo. Ad Hoc Multicast Routing Algorithm with Swarm Intelligence. Mobile Networks and Applications 10, 47-59, 2005. [5] Pierre-Paul Grassé. La reconstruction du nid et les coordinations interindividuelles chez bellicositermes natalensis et cubitermes sp. La theórie de la stigmergie: essai dinterpre tation du comportement des termites constructeurs. Insectes Sociaux 6, 41-81, 1959. [6] Andries P. Engelbrecht. Computanional Intelligence An Introduction. John Wiley & Sons, 2002. 13