• No results found

Network interdiction

N/A
N/A
Protected

Academic year: 2021

Share "Network interdiction"

Copied!
75
0
0

Loading.... (view fulltext now)

Full text

(1)

ChP T 01-03

FÖRSVARSHÖGSKOLAN

C-UPPSATS

Författare Förband Kurs

Major Ulf Skoglund S1 FBQO04

FHS handledare

Carl-Gustaf Svantesson, Stefan Johansson

Uppdragsgivare

FHS KVI

Rubrik: NETWORK INTERDICTION

Network Interdiction-problem innehåller två mot varandra stående styrkor, en användare och en angripare, som är inbegripna i en krigsliknande konflikt. Användaren använder ett nätverk för att optimera en funktion, t.ex. att förflytta en underhållskonvoj så snabbt som möjligt, eller maximera mängden materiel som transporteras genom nätverket. Det innebär att användaren vill använda den kortaste eller snabbaste vägen vid transporter, och han vill maximera flödet genom nätverket. Nätverket kan t.ex. vara ett vägnät, kraftförsörjningsnät eller ett datornätverk. Angriparen försöker begränsa användarens möjlighet att optimera sin funktion. Angriparens syftet är att maximera den kortaste/snabbaste vägen eller att minimera det maximala flödet genom nätverket. Angriparen uppnår detta genom att angripa bågar eller noder i nätverket och förstöra dem totalt eller reducera deras kapacitet. Angriparens resurser är begränsade och det finns ett behov av att optimera användandet. I många fall är nätverket stort och många parametrar påverkar planeringen. Detta ger en komplex planeringsförutsättning för angriparen. Genomförs planläggningen av Network Interdiction på traditionellt sätt, tvingas planeraren att använda sin intuition. Resultatet beror till stor del på planläggarens förmåga och tid till förfogande. Om algoritmer kunde användas för att stödja planläggaren, skulle resursutnyttjandet och effekten av angreppen kunna optimeras. Uppsatsen undersöker om det är möjligt att använda Network Interdiction-algoritmer vid planering av Network Interdiction.

Nyckelord:

Network Interdiction, Nätverk, Algoritm, Målvalsprocess

∫ 03 01 dt T ChP

(2)

ii

Abstract

Title: NETWORK INTERDICTION

Network interdiction problems involve two opposing forces, a user and an attacker, who are engaged in a warlike conflict. The user operates a network in order to optimize a function such as moving a supply convoy through the network as quickly as possible, or maximizing the amount of materiel transported through the network. This means that the user is trying to use the shortest or the fastest route to perform transports, and he is trying to maximize the flow trough the network. The network could be a road net, an electric power grid or a computer network system. The attacker attempts to limit the user’s possibility to optimize his function. The purpose is to maximize the shortest and fastest route or to minimize the maximum flow through the network. The attacker obtains this by interdicting arcs or nodes, e.g. by attacking arcs or nodes in order to destroy them entirely or to reduce their capacity. The attacker’s resources are limited and there is a need to optimize the use of them. In many cases the network is big and numerous parameters influence the planning. This makes the conditions for planning complex and difficult for the attacker. If the planning of network interdiction is performed in the traditional way, the planner is forced to use intuition. The result will depend on the planner’s capacity and the time at his disposal. If algorithms could be used to support the planner, the resources and the effect of the attack would be optimized. This thesis examines if it is possible to use network interdiction algorithms to plan network interdiction. Keywords:

(3)

iii Innehållsförteckning Abstract ... ii 1 Inledning ...1 1.1 Bakgrund ...1 1.2 Syfte ...2 1.3 Frågeställningar...2 1.4 Metod ...2 1.5 Läsanvisning...3 1.6 Definitioner ...3

1.7 Avgränsningar och antaganden. ...4

2 Begrepp och definitioner ...5

3 Grundläggande nätverksproblem...10

3.1 Billigaste väg-problem ...10

3.2 Maxflödesproblem ...17

3.3 Billigaste uppspännande träd ...23

4 Nätverksproblem i NI ...27

4.1 Maximera billigaste vägen[2]...27

4.2 Minimera det maximala flödet. ...29

4.3 Att styra flödet i ett nätverk...32

4.4 Splittra ett telekommunikationsnätverk. ...33

4.5 Att skapa en modell av nätverket. ...35

4.6 Slutsatser ...37

5 Jämförelse mellan manuell måluttagning och måluttagning med stöd av NI-algoritmer...38

5.1 Jämförelse i ett scenario ...38

5.2 Jämförelse i ett billigaste snitt problem...46

6 Avslutande analys och slutsatser ...50

6.1 Avslutande analys ...50

6.2 Resultat...51

7 Diskussion och summering ...52

7.1 Diskussion ...52

7.2 NI i det nätverksbaserade försvaret...54

7.3 Summering ...55

7.4 Rekommendationer och förslag till fortsatt arbete...56

(4)

iv

Bilaga 1 Källförteckning...1

Bilaga 2 Programkod ...1

Bilaga 3 Enkätundersökning...1

Bilaga 4 Figur 5.7 Graf som beskriver vägnätet i scenariot...1

Bilaga 5 Notationer, matematiska symboler och förkortningar ...1

Notationer...1

Matematiska symboler ...3

(5)

1 Inledning

1.1 Bakgrund

Det har sedan antikens tid förekommit olika former av det vi idag kallar interdiction. Herodes beskrev hur persiskt kavalleri skar av grekiska underhållslinjer i striderna vid Plataea 479 före Kristus.[1] Under det amerikanska inbördeskriget genomförde både nord- och sydsidan Interdiction-operationer. Genom att blockera eller förstöra vägar, broar och järnvägar försökte de hindra varandras rörelser. Genom att förstöra telegraflinjer hindrades kommunikationen mellan fronten och ledningen.[2] Ett modernt exempel är NATO:s flyganfall mot elförsörjningen i Jugoslavien.[3] Gemensamt för exemplen är att den som genomför interdiction, begränsar motståndarens förmåga att utnyttja sin potential innan den kan utnyttjas effektivt mot våra stridskrafter. Exemplen ovan uppfyller dagens definition av interdiction, vid interdiction påverkas motståndarens möjlighet att använda sina resurser innan de kan används effektivt mot våra stridskrafter.[4]

Network Interdiction-problem (NI-problem) innehåller två mot varandra stående styrkor, en användare och en angripare, som är inbegripna i en krigsliknande konflikt. Användaren använder ett nätverk för att optimera en funktion, t.ex. att förflytta en underhållskonvoj så snabbt som möjligt, eller maximera mängden materiel som transporteras genom nätverket. Det innebär att användaren vill använda den kortaste eller snabbaste vägen vid transporter, och han vill maximera flödet genom nätverket. Nätverket kan t.ex. vara ett vägnät, kraftförsörjningsnät eller ett datornätverk. Angriparen försöker begränsa användarens möjlighet att optimera sin funktion. Angriparens syftet är att maximera den kortaste/snabbaste vägen eller att minimera det maximala flödet genom nätverket. Angriparen uppnår detta genom att angripa bågar eller noder i nätverket och förstöra dem totalt eller reducera deras kapacitet. Angriparens resurser är begränsade och det finns ett behov av att optimera användandet. I många fall är nätverket stort och många parametrar påverkar planeringen. Detta ger en komplex planeringsförutsättning för angriparen. Genomförs planläggningen av NI på traditionellt sätt, tvingas planeraren att använda sin intuition. Resultatet beror till stor del på planläggarens förmåga och tid till förfogande. Om algoritmer kunde användas för att stödja planläggaren, skulle resursutnyttjandet och effekten av angreppen kunna optimeras. Uppsatsen undersöker om det är möjligt att använda NI-algoritmer vid planering av NI.

(6)

1.2 Syfte

Syftet med uppsatsen är att undersöka om NI-algoritmer kan användas vid planläggning av NI. Om det finns förutsättningar för att använda NI-algoritmer i planläggningen skall uppsatsen också beskriva hur de kan användas.

1.3 Frågeställningar

• Kan NI-algoritmer användas vid planering av NI? • Hur kan NI-algoritmer i så fall användas vid planering? 1.4 Metod

I uppsatsens inledning, kapitel 2, redogörs för de begrepp och definitioner som används i uppsatsen. Här förklaras hur en graf kan användas för att beskriva olika typer av nätverk t.ex. vägnät, elnät eller datornätverk. Syftet med kapitlet är att underlätta fortsatt läsning av uppsatsen.

I kapitel 3 beskrivs tre grundläggande nätverksproblem och metoder för att lösa dessa. Här ges grunden för problemformulering och lösningsmetoder i NI. Syftet med kapitlet är att öka läsarens förståelse för hur NI-algoritmer kan byggas upp.

I kapitel 4 tillämpas problemformuleringar och lösningsmetoder på NI-problem. Här ges fyra exempel på Interdiction-NI-problem. I kapitlet redogörs också för hur nätverken kan beskrivas och hur olika parametrar kan föras in i grafen för att uppnå olika syften. Kapitlet avslutas med en översiktlig beskrivning av en tänkbar datastruktur för en NI-modell. Syftet med kapitlet är att undersöka och beskriva hur NI-algoritmer kan användas vid planering av NI.

I kapitel 5 jämförs den manuella metoden att planera NI med en metod som använder NI-algoritmer. Jämförelsen genomförs i två olika exempel. I det första exemplet används ett fiktivt scenario. Scenariot som används är hämtat från Försvarshögskolan och användes vid ”Taktisk fortsättningskurs, FB502V”. Den taktiska fortsättningskursen genomfördes vid Försvarshögskolan under veckorna 302-3 och 305-7. Scenariot fungerar som bakgrund och skall sätta in den första jämförelsen i ett sammanhang. I det andra exemplet genomförs jämförelsen endast med en graf som förutsättning. I båda exemplen används studerade på Försvarshögskolan för att åskådliggöra den manuella metoden. Syftet med de två jämförelserna är att undersöka möjligheten och nyttan med att använda NI-algoritmer.

I kapitel 6 sammanfattas de slutsatser som dragits i kapitel 4 och 5. Här genomförs också den avslutande analysen som svarar på de två frågeställningarna.

I uppsatsens sista del, kapitel 7, genomförs en avslutande diskussion. Diskussionen berör uppsatsens validitet, möjligheten att använda NI-algoritmer och alternativa tillämpningar. Här redovisas resultat och förslag till fortsatt arbete.

(7)

1.5 Läsanvisning

Läsare som är bekant med de grundläggande algoritmerna för nätverks-optimering kan hoppa över kapitel 2 och 3. Läsare som besväras av matematiska symboler och ekvationer kan också hoppa över nämnda kapitel. De läsare som finner ämnet intressant, rekommenderas att gå tillbaka till kapitel 2 och 3 när övriga kapitel lästs. Mening med läsanvisningen är inte att avskräcka en potentiell läsare; syftet är att bjuda in en större läsekrets.

1.6 Definitioner Interdiction

”An action to divert, disrupt, delay or destroy the enemy's military potential before it can be used effectively against friendly forces.”[5]

NI

Om motståndaren använder ett nätverk för att sätta in resurser mot våra förband och vi genom att påverka nätverket avleder, stör eller hindrar motståndaren från att använda sina resurser effektivt mot våra förband, genomförs NI.

Nätverk

”system av inbördes förbundna enheter som liknar ett nät”[6]

Algoritm

”inom matematik och databehandling en systematisk procedur som i ett ändligt antal steg anger hur man utför en beräkning eller löser ett givet problem. Algoritmen anger de enskilda steg som skall tas för att lösa problemet. Den kan t.ex. beskrivas i ord, med matematiska symboler eller med ett flödesschema. En viktig fördel med en algoritmisk lösningsmetod är att problemet lätt kan datorbehandlas.”[6]

Manuell metod

Metod där problemet löses utan hjälp av algoritmer. Enbart problemlösarens kunskap och erfarenhet används.

Modell

En modell innehåller en graf, som representerar nätverket, och parametrar som anger möjligheter och begränsningar för angriparen. Grafen skall innehålla tillräckligt med information för att beskriva de parametrar som är intressanta för problemställningen.

(8)

1.7 Avgränsningar och antaganden 1.7.1 Avgränsningar

I uppsatsen beaktas fördelarna med NI-algoritmer, men det genomförs ingen värdering av hur stora fördelarna är.

Uppsatsen avhandlar inte:

• metoder och procedurer vid användandet. • utformning av ett verktyg för planering av NI. 1.7.2 Antagande

I alla exempel antas att den som skall genomföra NI inte har tillräckligt med resurser för att förstöra hela nätverket.

(9)

2 Begrepp

och

definitioner

Ett nätverk kan beskrivas med hjälp av en graf. Till grafen knyts attribut som beskriver nätverket. Attributen är numeriska värden som representerar kostna-der, flöden, kapaciteter etc. i nätverket, se tabell 2.1.[7]

Noder Bågar Flöden

Korsningar Vägar Fordon

Flygplatser Flygrutter Flygplan Kopplingspunkter Ledningar, kanaler Data, information Underhållsbaser Vägar, flygrutter Ammunition, drivmedel

Tabell 2.1 Exempel på komponenter i typiska nätverk.[8]

En graf består av två begränsade mängder, G=

(

N,B

)

. En mängd noder

{

n1,n2,...

}

N = , eller N =

{

1,2,...,n

}

och en mängd bågar B=

{

b1,b2,...

}

, eller

( )

{

i j i j N i j

}

B= , , ∈ , < som står i relation till varandra. Bågarna bildas av par från noderna B=

{

(

n1,n2

) (

, n1,n3

) (

, n2,n3

) (

, n3,n4

) (

, n3,n5

)

,...

}

.[2] Om man tilldelar noder och bågar numeriska värden som representerar kostnader, kapaciteter avstånd etc. beskrivs ett nätverk.[2]

En båge kan vara riktad eller oriktad. En riktad båge,

( )

i,j har en startnod, i

och en slutnod, j och tillåter endast flöde i den angivna riktningen. En oriktad

båge tillåter flöde i båda riktningar och kan representeras av två motriktade bågar. Om alla bågar i grafen är oriktade är grafen en oriktad graf, se figur 2.1. Finns det riktade bågar i grafen är det en riktad graf, se figur2.2.[7]

2 5

3 6

4

1 7

Figur 2.1 Exempel på en oriktad graf som består av noder N =

{

1,2,3,4,5,6,7

}

och

(10)

2 5

3 6

4

1 7

Figur 2.2 Exempel på en riktad graf som består av noder N=

{

1,2,3,4,5,6,7

}

och

bågar B=

{

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

1,2,1,3, 2,4, 2,5, 3,2, 3,6, 4,5, 4,6, 5,7 , 6,5, 6,7

}

En graf kan beskrivas i en nodmatris, se figur 2.3. Nodmatrisen har storleken

(

n×n

)

där elementen, n , anger om det finns en båge från nod i till nod j. ij

Finns det en båge mellan nod i och nod j sätts nodelementets värde till 1,

(

nij =1

)

och om det inte finns en båge mellan noderna sätts värdet till 0,

(

nij =0

)

.[7] Till nod Från nod 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 G = 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0

Figur 2.3 Nodmatrisen för grafen i figur 2.2.

I nodmatrisen för en oriktad graf kommer varje båge att representeras med 1 i två element, nij =nji =1.

Om en nodmängd delas upp i två delar, S och S =N\S, görs det med ett snitt. Snittet

[ ]

S, definieras av de bågar S bj =

(

ni,nj

)

B som har egenskapen att

S

ni∈ och nj∈ alternativt S nj∈ och S niS. De bågar som beskriver snittet är de bågar som sammanbinder de två delmängderna. I figur 2.4 ges ett exempel på ett snitt med delmängderna S =

{

1,2,3,4

}

och S =

{

5,6,7

}

. Bågarna i snittet är

(

b25,b36,b45,b46,

)

.

(11)

b45 b46 b36 b25 2 5 3 6 4 1 7

Figur 2.4 Graf som har delats med snittet som går över bågarna

(

b25,b36,b45,b46

)

och

delar nodmängden N i S =

{

1,2,3,4

}

och S =

{

5,6,7

}

.

En väg i en graf är en sammanhängande sekvens av bågar från en nod till en annan nod där slutnoden för en båge är startnoden för nästa båge. I figur 2.2 är

( ) ( ) ( ) ( )

{

1,2, 2,4, 4,6, 6,7

}

ett exempel på en väg från nod 1 till nod 7. En vanlig problemställning i ett nätverksproblem är att hitta den billigaste vägen mellan två noder t.ex. den kortaste vägen. Problemställningen förutsätter att varje båge har tilldelats en kostnad t.ex. ett avstånd, se figur 2.5.

2 5 3 6 4 1 7 2 5 2 2 4 3 2 1 1 4 3 c57

Figur 2.5 Exempel på en oriktad graf som består av noder N =

{

1,2,3,4,5,6,7

}

och

bågar B=

{

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

1,2, 1,3, 2,3, 2,4, 2,5, 3,6, 4,5, 4,6, 5,6, 5,7, 6,7

}

, där varje

båge

( )

i,j har en associerad kostnad, cij, tid, avstånd eller antal robotar för utslagning.

Ett nätverk kan innehålla cykler. En cykel är en sammanhängande kedja av bågar som startar och slutar i samma nod.[7] Om bågarna är riktade och cykeln startar och slutar i samma nod innehåller grafen en riktad cykel och grafen är en cyklisk graf, se figur2.6. Saknas riktade cykler i grafen är grafen en acyklisk graf.[2]

(12)

En cykel som passerar alla noder i grafen utan att passera samma nod två gånger är en Hamiltoncykel. Problemet att bestämma den billigaste Hamiltoncykeln kallas handelsresandeproblem1.[7]

2 5

3 6

4

1 7

Figur 2.6 En cyklisk graf som innehåller en riktad cykel som består av bågarna

52 45 24,b ,b

b .

Om ett nätverk med n st. noder sammanbinds med n-1 bågar, och alla noder är anslutna utan att det uppstår cykler, har ett träd skapats. Det kallas ett uppspän-nande träd. För att skapa ett uppspänuppspän-nande träd skall alla bågar i nätverket ”tas bort”. Därefter startar man i en nod och sammanbinder den noden med en annan nod (där det tidigare fanns en båge). Man fortsätter att lägga till ej anslutna noder till de anslutna noderna en i taget. Man utgår hela tiden från en ansluten nod till en nod som inte är ansluten. När n-1 bågar har skapats och alla noder är anslutna har ett uppspännande träd för nätverket skapats. Det upp-spännande trädet för grafen är ett anslutet nätverk, där alla noder ingår. Det uppspännande trädet innehåller inga cykler. Alla uppspännande träd har exakt n-1 bågar, eftersom det är det minsta antalet av bågar som behövs för ett anslutet nätverk och det är det maximala antalet som är möjligt utan att skapa cykler.[8] I figur 2.7 ges ett exempel på ett uppspännande träd för grafen i figur 2.5.

1 Handelsresandeproblemet: ”En handelsresande skall besöka n städer. Varje stad skall besökas

exakt en gång och handelsresanden skall bestämma en tur som startar i hemstaden, besöker alla städer, och sedan återkommer till hemstaden. Målet är att minimera den totala åksträckan

(13)

2 5 3 6 4 s t 2 5 2 2 4 3 2 1 1 4 3 2 5 3 6 4 s t 2 5 2 2 4 3 2 1 1 4 3 2 5 3 6 4 s t 2 5 2 2 4 3 2 1 1 4 3 2 5 3 6 4 s t 2 5 2 2 4 3 2 1 1 4 3 2 5 3 6 4 s t 2 5 2 2 4 3 2 1 1 4 3 2 5 3 6 4 s t 2 5 2 2 4 3 2 1 1 4 3 2 5 3 6 4 s t 2 5 2 2 4 3 2 1 1 4 3 2 5 3 6 4 s t 2 5 2 2 4 3 2 1 1 4 3

(14)

3 Grundläggande

nätverksproblem

I detta kapitel beskrivs grundläggande nätverksproblem. Här ges grunden för problemformulering och lösningsmetoder i NI. Syftet med kapitlet är att ge en bakgrund och en förståelse för hur nätverksproblem kan lösas.

3.1 Billigaste väg-problem

Problemet att bestämma den billigaste vägen från nod n till nod s n är ett av de t

mest grundläggande problemen inom nätverksoptimering. Exempel på problemställningar som innefattas i billigaste väg-problem är, att bestämma kortaste eller snabbaste vägen mellan två platser och att bestämma den bästa vägen för att skicka information i ett datornätverk.[7]

Optimalitetsvillkoren för ett billigaste väg-problem kan skrivas med hjälp av Bellmans ekvationer. När nätverket består av n noder kan ekvationerna skrivas:

{

y c

}

j n y y ij i j s B j i i min , 2,.., 0 ) , ( : + = = = ∈

där y anger den billigaste vägen från nod j n till nod s n , B är bågmängden i j

nätverket och c är kostnaden för bågen (i,j). Den billigaste vägen från nod ij n s

till nod n är lika med den minimerade kostnaden för summan av den billigaste j

vägen från nod n till nod s n och kostnaden för bågen (i,j), (i c ).ij [7]

Exempel 1

I exemplet skall en ammunitionstransport genomföras från underhållsbasen

s

n till en främre underhållsplats n . Chefen för transporten vill veta vilken väg t

som blir kortast. Vägnätet mellan underhållsbasen och den främre underhållsplatsen beskrivs i figur 3.1. Kostnaderna (längden) för respektive båge anges i grafen vid respektive båge.

2 5 3 6 4 s t 2 5 2 2 4 3 2 1 1 4 3

Figur 3.1 Graf som beskriver vägnätet mellan underhållsbasen och den främre underhållsplatsen. Bågarna är märkta med kostnaden (avståndet) mellan noderna.

(15)

3.1.1 Dijkstras algoritm[7]

En algoritm som kan användas för att lösa ett billigaste väg-problem är Dijkstras algoritm. Algoritmen förutsätter att grafen endast innehåller bågkostnader som är positiva.

Steg 1. Dela upp nodmängden i mängden A=

{

avsöktanoder

}

=0/och

{

ejavsöktanoder

}

N

E = =

Märk nod n med s

(

p ,s ys

)

=(föregående nod, nodpris) = (-, 0), dvs. noden saknar föregående nod och har nodpris ys =0. Alla övriga noder märks med ett nodpris yj =∞.

Steg 2. Identifiera den nod iE som har lägst nodpris:

E k i y ∈ = min .

Steg 3. Avsök nod n , dvs. undersök alla bågar i

( )

i, jB utgående från nod n . Om i

(

yi+cij

)

< yj så har en billigare väg från n till s n j

via n hittats. i

Märk nod n med j

(

pj,yj

) (

= i,yi,cij

)

.

Steg 4. Flytta över nod n från mängden E till mängden A. i

Steg 5. Avbryt om alla noder är avsökta, dvs. A = N. Annars, gå till steg 2.

(16)

Lösning av exempel 1 med hjälp av Dijkstras algoritm: Inledningsvis A=0/

{

s t

}

E= ,2,3, 4,5,6,

Välj nod s. Avsökning ⇒ Nod 2 och 3 märks om.

{ }

{

t

}

E s A , 6 , 5 , 4 , 3 , 2 = = Välj nod 2. Avsökning ⇒ Nod 4 och 5 märks om.

{ }

{

t

}

E s A , 6 , 5 , 4 , 3 2 , = = 2 5 3 6 4 s t 2 5 2 2 4 3 2 1 1 4 3 (−,∞) (−,∞) (−,∞) (−,∞) (−,∞) (−,∞) (−,0) 2 5 3 6 4 s t 2 5 2 2 4 3 2 1 1 4 3 (−,∞) (−,∞) (−,∞) (−,∞) (−,∞) (−,∞) (−,0) ( )s,1 (s,2) 2 5 3 6 4 s t 2 5 2 2 4 3 2 1 1 4 3 (−,∞) (−,∞) (−,∞) (−,∞) (−,0) ( )s,1 (s,2) ( )2,3 (2,5)

(17)

Välj nod 3. Avsökning ⇒ Nod 6 märks om.

{

}

{

t

}

E s A , 6 , 5 , 4 3 , 2 , = = Välj nod 4. Avsökning ⇒ Ingen nod märks om.

{

}

{

t

}

E s A , 6 , 5 4 , 3 , 2 , = = Välj nod 5. Avsökning ⇒ Nod t märks om.

{

}

{ }

t E s A , 6 5 , 4 , 3 , 2 , = =

Välj nod 6 eller nod t. Avsökning ⇒

Ingen nod märks om.

{

}

{ }

6 , 5 , 4 , 3 , 2 , = = E t s A 2 5 3 6 4 s t 2 5 2 2 4 3 2 1 1 4 3 (−,∞) (−,∞) (−,0) ( )s,1 (s,2) ( )2,3 (2,5) ( )3,6 2 5 3 6 4 s t 2 5 2 2 4 3 2 1 1 4 3 (−,∞) (−,0) ( )s,1 (s,2) ( )2,3 (2,5) ( )3,6 2 5 3 6 4 s t 2 5 2 2 4 3 2 1 1 4 3 (−,∞) (−,0) ( )s,1 (s,2) ( )2,3 (2,5) ( )3,6 (5,6) 2 5 3 6 4 s t 2 5 2 2 4 3 2 1 1 4 3 (−,0) ( )s,1 (s,2) ( )2,3 (2,5) ( )3,6 (5,6)

(18)

Välj nod 6. Avsökning ⇒ Ingen nod märks om.

{

}

0 , 6 , 5 , 4 , 3 , 2 , / = = E t s A

Alla noder är avsökta ⇒ Stopp!

Med hjälp av nodmärkningen kan den kortaste vägen från n s

till n nystas upp. t

s – 2– 5 – t.

Totala kostnaden = y6 =6. (Notera att en lika kort väg inte identifierats med algoritmen, s – 2– 4 – 5 – t)

3.1.2 Floyd-Warshalls algoritm[7]

Med hjälp av Floyd-Warshalls algoritm är det möjligt att hitta den billigaste vägen mellan alla nodpar i nätverket. Algoritmen kan användas i nätverk med både positiva och negativa bågkostnader. Algoritmen utgår från en lösning där endast direktbågar mellan varje nodpar utnyttjas. Sedan undersöks om det går att hitta en bättre väg genom att gå via nod 1. Därefter om det blir en förbättring söks en väg över nod 2, osv. Detta upprepas tills alla noder har gåtts igenom och alla billigaste vägarna har hittats.

I algoritmen används två matriser med storleken

(

N × N

)

. Matrisen D innehåller kostnaderna för de billigaste vägarna i aktuell iteration, där elementet d anger kostnaden för den billigaste vägen från nod i till nod j . ij

Matrisen P innehåller element p som anger vilken nod som omedelbart ij

föregår nod j i den billigaste vägen mellan nod i till nod j . Efter den sista iterationen innehåller matriserna kostnaderna för de billigaste vägarna mellan alla nodpar och information om den föregående noden i den billigaste vägen så att den billigaste vägen går att härleda.

2 5 3 6 4 s t 2 5 2 2 4 3 2 1 1 4 3 (−,0) ( )s,1 (s,2) ( )2,3 (2,5) ( )3,6 (5,6) 2 5 3 6 4 s t 2 5 2 2 4 3 2 1 1 4 3 (−,0) ( )s,1 (s,2) ( )2,3 (2,5) ( )3,6 (5,6)

(19)

Algoritmbeskrivning

Steg 1. För alla noder iN, sätt dii =0. Om båge

( )

i,j existerar, sätt

ij ij c

d = och pij = . Annars, sätt i dij =∞. Sätt k:=1.

Steg 2. För varje nodpar

( )

i,j , undersök om dik+dkj <dij. Om så är fallet har en billigare väg via nod k hittats. Sätt dij =dik+dkj och pij = pkj. Steg 3. Avbryt om k= N , annars sätt k:= k+1 och gå till steg 2.

Lösning av exempel 1 med hjälp av Floyd-Warshalls algoritm:2

Vid start och efter första iterationen fås följande matriser.

k = 1 s 2 3 4 5 6 t s 2 3 4 5 6 t s 0 1 2 ∞ ∞ ∞ ∞ s 0 1 1 0 0 0 0 2 1 0 3 2 4 ∞ ∞ 2 2 0 2 2 2 0 0 3 2 3 0 ∞ ∞ 4 ∞ 3 3 3 0 3 0 3 0 D = 4 ∞ 2 ∞ 0 2 5 ∞ P = 4 0 4 0 0 4 4 0 5 ∞ 4 ∞ 2 0 2 1 5 0 5 0 5 0 5 5 6 ∞ ∞ 4 5 2 0 3 6 0 0 6 6 6 0 6 t ∞ ∞ ∞ ∞ 1 3 0 t 0 0 0 0 7 7 0

De nedanstående matriserna erhålls vid de följande iterationerna. De förändringar som sker mellan iterationerna är markerade med fetstil.

k = 2 0 1 2 3 5 ∞ ∞ 0 1 1 2 2 0 0 1 0 3 2 4 ∞ ∞ 2 0 2 2 2 0 0 2 3 0 5 7 4 3 3 0 2 2 3 0 D = 3 2 5 0 2 5 P = 2 4 2 0 4 4 0 5 4 7 2 0 2 1 2 5 2 5 0 5 5 ∞ ∞ 4 5 2 0 3 0 0 6 6 6 0 6 ∞ ∞ ∞ ∞ 1 3 0 0 0 0 0 7 7 0

2 För att lösa exempel 1 användes MATLAB. MATLAB är ett datorprogram för tekniska

beräkningar, visualisering och programmering. MATLAB utgör en plattform för allt från dataanalys till programutveckling. Tillämpningar återfinns bl.a. inom bilindustrin, telekommunikation, flygindustrin, elkraftsindustrin och utbildning.

(20)

k = 3 0 1 2 3 5 6 0 1 1 2 2 3 0 1 0 3 2 4 7 2 0 2 2 2 3 0 2 3 0 5 7 4 ∞ 3 3 0 2 2 3 0 D = 3 2 5 0 2 5 ∞ P = 2 4 2 0 4 4 0 5 4 7 2 0 2 1 2 5 2 5 0 5 5 6 7 4 5 2 0 3 3 3 6 6 6 0 6 ∞ ∞ ∞ ∞ 1 3 0 0 0 0 0 7 7 0 k = 4 0 1 2 3 5 6 ∞ 0 1 1 2 2 3 0 1 0 3 2 4 7 ∞ 2 0 2 2 2 3 0 2 3 0 5 7 4 ∞ 3 3 0 2 2 3 0 D = 3 2 5 0 2 5 ∞ P = 2 4 2 0 4 4 0 5 4 7 2 0 2 1 2 5 2 5 0 5 5 6 7 4 5 2 0 3 3 3 6 6 6 0 6 ∞ ∞ ∞ ∞ 1 3 0 0 0 0 0 7 7 0 k = 5 0 1 2 3 5 6 6 0 1 1 2 2 3 5 1 0 3 2 4 6 5 2 0 2 2 2 5 5 2 3 0 5 7 4 8 3 3 0 2 2 3 5 D = 3 2 5 0 2 4 3 P = 2 4 2 0 4 5 5 5 4 7 2 0 2 1 2 5 2 5 0 5 5 6 6 4 4 2 0 3 3 5 6 5 6 0 6 6 5 8 3 1 3 0 2 5 2 5 7 7 0 k = 6 0 1 2 3 5 6 6 0 1 1 2 2 3 5 1 0 3 2 4 6 5 2 0 2 2 2 5 5 2 3 0 5 6 4 7 3 3 0 2 6 3 6 D = 3 2 5 0 2 4 3 P = 2 4 2 0 4 5 5 5 4 6 2 0 2 1 2 5 6 5 0 5 5 6 6 4 4 2 0 3 3 5 6 5 6 0 6 6 5 7 3 1 3 0 2 5 6 5 7 7 0

(21)

k = 7 s 2 3 4 5 6 t s 2 3 4 5 6 t s 0 1 2 3 5 6 6 s 0 1 1 2 2 3 5 2 1 0 3 2 4 6 5 2 2 0 2 2 2 5 5 3 2 3 0 5 6 4 7 3 3 3 0 2 6 3 6 D = 4 3 2 5 0 2 4 3 P = 4 2 4 2 0 4 5 5 5 5 4 6 2 0 2 1 5 2 5 6 5 0 5 5 6 6 6 4 4 2 0 3 6 3 5 6 5 6 0 6 t 6 5 7 3 1 3 0 t 2 5 6 5 7 7 0

Efter den sista iterationen kan de billigaste vägarna härledas utgående från matris P, t.ex. den billigaste vägen från s till t, s – 2 – 5 – t. I nodelementet anges närmast föregående nod i den närmaste vägen. Kostnaden ges i matris D, 6. Vilket stämmer med tidigare beräkningar.

3.2 Maxflödesproblem

Maxflödesproblem är problem där flödet i nätverket skall maximeras. Flödet sker genom ett riktat nätverk där flödet har sitt ursprung i en nod, som kallas källa, och avslutas en annan nod, som kallas sänka. Noderna mellan källan och sänkan kallas överföringsnoder eller mellannoder. Flödet genom en båge tillåts endast i en riktning3 där det maximala flödet ges av bågens kapacitet. Vid källan är alla bågar riktade ifrån noden och vid sänkan är alla bågar riktade mot noden. Målet är att maximera det totala flödet från källan till sänkan. Flödesmängden mäts på två likvärdiga sätt, antingen mäts mängden som lämnar källan eller också mäts den mängd som når sänkan. Mängden som lämnar källan och mängden som når sänkan är lika stor.[8]

Exempel på tillämpningar är att maximera flödet av data i ett datornätverk, maximera flödet av olja i ett system av oljeledningar eller att maximera flödet av fordon genom ett transportnät.[8]

(22)

Exempel 2

I exemplet skall en större trupptransport genomföras från mobiliseringsområdet

s

n till en slutpunkt n där förbanden skall sättas in. Staben vill veta hur stort t

flöde av materiel och personal som det aktuella vägnätet klarar i syfte att kunna bedöma tidsåtgången för transporten. Vägnätet mellan mobiliseringsområdet och slutpunkten beskrivs i figur 3.2. Det maximala flödet för respektive båge (väg) anges i antal 1 000 ton/h i grafen vid respektive båge.

2 5 3 6 4 s t 2 5 4 1 2 5 3 7 5 4 3

Figur 3.2 Graf som beskriver vägnätet mellan mobiliseringsområdet och slutpunkten. Bågarna är märkta med det maximala flödet som bågarna tillåter 1 000 ton/h.

(23)

3.2.1 Ford-Fulkersons metod[9]

Steg 1. Starta med ett tillåtet flöde (t.ex. 0)

Steg 2. Identifiera en flödessökande väg4 från källan (s) till sänkan (t) och

skicka maximalt flöde längst den vägen.

Steg 3. Upprepa så länge som det finns en flödessökande väg från s till t.

Lösning av exempel 2 med hjälp av Ford-Fulkersons metod. Varje rad i tabellen är ett steg i algoritmen.

4 En flödessökande väg är en väg som har ett behov av flöde.

0 / 3 0 / 2 0 / 5 0 / 1 0 / 2 0 / 5 0 / 4 0 / 4 0 / 5 0 / 3 0 / 7 2 5 3 6 4 s t 0 / 3 2 / 2 2 / 5 0 / 1 0 / 2 0 / 5 0 / 4 0 / 4 0 / 5 0 / 3 2 / 7 2 5 3 6 4 s t 0 / 3 2 / 2 4 / 5 0 / 1 2 / 2 0 / 5 2 / 4 0 / 4 0 / 5 0 / 3 4 / 7 2 5 3 6 4 s t 2 5 3 6 4 s t 2 5 4 1 2 5 3 5 3 4 3 2 2 2 5 3 6 4 s t 2 5 2 1 2 5 3 3 1 4 3 4 4 2 2 5 3 6 4 s t 2 5 4 1 2 5 3 7 5 4 3

(24)

Det maximala flödet från mobiliseringsområdet till slutpunkten är 8 000 ton/timme. I tabell 3.1 anges flödet i respektive båge.

0 / 3 2 / 2 5 / 5 1 / 1 2 / 2 1 / 5 3 / 4 0 / 4 0 / 5 0 / 3 5 / 7 2 5 3 6 4 s t 1 / 3 2 / 2 5 / 5 1 / 1 2 / 2 2 / 5 4 / 4 0 / 4 0 / 5 0 / 3 6 / 7 2 5 3 6 4 s t 2 5 3 6 4 s t 2 4 1 2 5 3 2 4 3 5 5 3 1 1 2 5 3 6 4 s t 2 3 2 5 3 1 4 1 6 4 5 2 1 2 2 5 3 6 4 s t 2 1 2 3 3 1 4 3 6 4 5 4 1 2 3 / 3 2 / 2 5 / 5 1 / 1 2 / 2 4 / 5 4 / 4 0 / 4 2 / 5 0 / 3 6 / 7 2 5 3 6 4 s t

(25)

Båge Flöde [tusen ton/h] bs2 6 000 bs3 0 bs4 2 000 b24 4 000 b25 2 000 b36 0 b45 2 000 b46 4 000 b5t 5 000 b65 1 000 b6t 3 000

Tabell 3.1 Tabellen visar flödet i respektive båge när exempel 2 är löst med Ford-Fulkersons metod.

3.2.2 Linjär formulering av problemet

Det är möjligt att formulera exempel 2 som ett linjärt problem. Problemet kan formuleras enligt nedan.[10]

0 0 0 0 0 , 3 , 1 , 5 , 5 , 2 , 4 , 2 , 4 , 5 , 3 , 7 max 6 65 46 36 5 65 45 25 46 45 24 4 36 3 25 24 2 6 65 5 46 45 36 25 24 4 3 2 4 3 2 = + + − − = + − − − = + + − − = + − = + + − ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ + + = t t s s s t t s s s s s s x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x z

Det är därefter möjligt att lösa problemet med simplexmetoden. En nackdel med att använda simplexmetoden är att den inte är lika effektiv som t.ex. Ford-Fulkersons metod, när problemen blir stora och komplexa.[8] Många andra billigaste väg-problem går att lösa med ett linjärt program, men om problemen blir stora med miljontals variabler och miljontals villkor är det effektivare att använda en specialiserad nätverksalgoritm. En nätverksalgoritm kan lösa ett nätverksproblem hundratals gånger snabbare än ett linjärt program och klara av problem som inte är praktiskt möjliga att lösa med standardiserad LP-kod.[2]

När exempel 2 löses med hjälp av simplexmetoden erhålls samma maximala flöde, 8 000 ton/h, men flödet i respektive båge blir inte lika stort. Jämför tabell 3.1 och 3.2. Det innebär att det finns flera optimala lösningar.5

5 Lösningen har skapats med hjälp av programmeringsspråket AMPL. AMPL är ett

modelleringspråk för matematisk programmering. I lösningen användes algoritmen cplex. Cplex är en algoritm som bl.a. använder simplexmetoden. Kommandofil, modellfil och resultatfil redovisas i bilaga 1. http://www.ampl.com

(26)

Båge Flöde [tusen ton/h] bs2 3 000 bs3 0 bs4 5 000 b24 1 000 b25 2 000 b36 0 b45 2 000 b46 4 000 b5t 5 000 b65 1 000 b6t 3 000

Tabell 3.2 Tabellen visar flödet i respektive båge när exempel 2 är lösts med simplexmetoden.

3.2.3 Max-flöde min-snitt teoremet

Max-flöde min-snitt teoremet anger att, för alla grafer med en källa och en sänka, är det maximala flödet från källan till sänkan lika stort som det minsta snittet. I exempel 2 finns två minsta snitt, C1 =

{

b25,b45,b65,b6t

}

och

{

bt bt

}

C2 = 5 , 6 . De två snitten kan liknas vid flaskhalsar i grafen. Figur 3.3 visar de två snitten. 2 5 3 6 4 s t 2 5 4 1 2 5 3 7 5 4 3 C2 C1

(27)

3.3 Billigaste uppspännande träd

Billigaste uppspännande träd är en problemställning där alla noder i nätverket skall sammanbindas till lägsta möjliga kostnad. Exempel på tillämpningar kan vara att minimera längden på den kabel som förbrukas när den skall dras mellan olika platser, design av telekommunikationsnätverk eller nätverk med oljeledningar som skall sammanbinda ett antal platser.[8] Problem typen är också vanlig som ett delproblem för att lösa mer komplexa nätverksproblem.[7] Optimeringsvillkoret för problemställningen kan formuleras på följande sätt: Delmängderna T och T ingår i bågmängden B, T ⊆ och B T ⊆ . B

Bågmängden T innehåller de bågar som inte ingår i billigaste uppspännande

träd.

Ett träd T är ett billigaste uppspännande träd om det:

• för varje båge

( )

i,jT gäller att cijckl för alla bågar

( )

k,l som ingår i den unika vägen mellan nod i och nod j.

• för varje båge

( )

i, jT gäller att cijckl för alla bågar

( )

k,l som ingår i det snitt

[ ]

S, som uppstår om båge S

( )

i,j tas bort.

I båda fallen gäller att om inte ett villkor är uppfyllt kan båge

( )

k,l ersätta båge

( )

i,j i trädet med en lägre kostnad som resultat.[7] Exempel 3

I exemplet skall ett kommunikationsnätverk byggas ut från huvudbyggnaden

( )

n1 till 6 st. andra byggnader

( ) ( )

n2 − n7 . Nätverket skall byggas i redan

befintliga trummor. Uppbyggnaden av de befintliga trummorna beskrivs i figur 3.4. Avstånden mellan byggnaderna anges vid respektive båge. Målet är att sammanbinda alla byggnader så billigt som möjligt, dvs. på det kortaste sättet.

2 5 3 6 4 1 7 200 500 200 200 400 300 200 100 100 400 300

Figur 3.4 Graf som beskriver utbyggnaden av trummor mellan byggnader i exempel 3. avstånden anges i meter.

(28)

3.3.1 Prims algoritm[7]

1. Välj godtyckligt en nod, anslut den till den nod som ligger närmast.

2. Identifiera den nod som ligger närmast av de ej anslutna noderna. Anslut den noden. Upprepa detta tills alla noder har anslutits.[8]

Lösning av exempel 3 med hjälp av Prims algoritm

2 5 3 6 4 1 7 200 500 200 200 400 300 200 100 100 400 300 2 5 3 6 4 1 7 200 500 200 200 400 300 200 100 100 400 300 2 5 3 6 4 1 7 200 500 200 200 400 300 200 100 100 400 300 2 5 3 6 4 1 7 200 500 200 200 400 300 200 100 100 400 300 2 5 3 6 4 1 7 200 500 200 200 400 300 200 100 100 400 300 2 5 3 6 4 1 7 200 500 200 200 400 300 200 100 100 400 300 2 5 3 6 4 1 7 200 500 200 200 400 300 200 100 100 400 300 2 5 3 6 4 1 7 200 200 200 200 100 100

Summeras avstånden i lösningen erhålls 1 000 m, vilket är den optimala lösningen. Det går att starta i valfri nod. En optimal lösning erhålls oavsett i vilken nod algoritmen inleds.[8]

(29)

3.3.2 Kruskals algoritm

1. Sortera bågarna i stigande bågkostnad. Låt T =0/och T = . B

2. Ta den billigaste ej avsökta bågen

( )

i,j i mängden T . Addera den till

T såvida den inte bildar en cykel i trädet, dvs. uppdatera mängden T

enligt T:=TU

( )

i, j . Om den bildar en cykel märks bågen som avsökt. 3. Avbryt om T = n−1. Annars gå till steg 2.

Lösning av exempel 3 med hjälp av Kruskals algoritm

Steg Bågar T T Kommentar

1 Båge Avsökt Kostnad

b12 100 b57 100 b13 200 b24 200 b45 200 b56 200 b23 300 b67 300 b25 400 b36 400 b46 500 b12 b57 b13 b24 b45 b56 b23 b67 b25 b36 b46 2 5 3 6 4 1 7

2 Båge Avsökt Kostnad

b12 X 100 b57 100 b13 200 b24 200 b45 200 b56 200 b23 300 b67 300 b25 400 b36 400 b46 500 b57 b13 b24 b45 b56 b23 b67 b25 b36 b46 b12 2 5 3 6 4 1 7 100

2 Båge Avsökt Kostnad

b12 X 100 b57 X 100 b13 200 b24 200 b45 200 b56 200 b23 300 b67 300 b25 400 b36 400 b46 500 b13 b24 b45 b56 b23 b67 b25 b36 b46 b57 2 5 3 6 4 1 7 100 100

(30)

2 Båge Avsökt Kostnad b12 X 100 b57 X 100 b13 X 200 b24 200 b45 200 b56 200 b23 300 b67 300 b25 400 b36 400 b46 500 b24 b45 b56 b23 b67 b25 b36 b46 b12 b57 b13 2 5 3 6 1 7 200 100 100

2 Båge Avsökt Kostnad

b12 X 100 b57 X 100 b13 X 200 b24 X 200 b45 200 b56 200 b23 300 b67 300 b25 400 b36 400 b46 500 b45 b56 b23 b67 b25 b36 b46 b12 b57 b13 b24 2 5 3 6 4 1 7 200 200 100 100

2 Båge Avsökt Kostnad

b12 X 100 b57 X 100 b13 X 200 b24 X 200 b45 X 200 b56 200 b23 300 b67 300 b25 400 b36 400 b46 500 b56 b23 b67 b25 b36 b46 b12 b57 b13 b24 b45 2 5 3 6 4 1 7 200 200 200 100 100

2 OCH 3 Båge Avsökt Kostnad

b12 X 100 b57 X 100 b13 X 200 b24 X 200 b45 X 200 b56 X 200 b23 300 b67 300 b25 400 b36 400 b46 500 b23 b67 b25 b36 b46 b12 b57 b13 b24 b45 b56 2 5 3 6 4 1 7 200 200 200 200 100 100 1 − = n T uppfylls avbryt. 100+100+200+200+200+200=1000 [m]

Den optimala lösningen ger att det billigaste uppspännande trädet ”kostar” 1 000 meter. Samma resultat som erhölls med hjälp av Prims algoritm. I detta exempel skapade ingen av de billigaste bågarna någon cykel, därför behövde ingen båge märkas utan att den användes.6

6 I Bilaga 1 ges ett exempel på MATLAB-kod där Kruskals algoritm används för att lösa

(31)

4 Nätverksproblem

i

NI

Nätverksproblem inom NI innehåller två mot varandra stående styrkor, användare och angripare, som är inbegripna i en krigsliknande konflikt. Användaren använder ett nätverk för att optimera en funktion, t.ex. att förflytta en underhållskonvoj så snabbt som möjligt eller maximera mängden materiel som kan transporteras genom nätverket. Angriparen försöker begränsa användarens möjlighet att optimera sin funktion. Angriparen uppnår detta genom att angripa bågar i nätverket och förstöra dem totalt eller reducera deras kapacitet.[11] Angriparens resurser antas här vara begränsade. Om så inte är fallet kan angriparen förstöra hela nätverket och då behöver inte angriparens insats optimeras.

När syftet med NI fastställts används algoritmer anpassade för att lösa problemet. Algoritmerna blir ett verktyg i målvalsprocessen och hjälper angriparen att välja rätt mål. De valda målen kommer att vara de mål som bäst svarar mot syftet med angreppet på nätverket.

I detta kapitel beskrivs olika nätverksproblem inom NI. Syftet är att ge exemplen på olika tillämpningar där NI-algoritmer kan användas. I kapitlet beskrivs också hur en modell av ett nätverk kan vara uppbyggd.

4.1 Maximera billigaste vägen[2]

I en situation där nyttjaren använder nätverket för att transportera förband, materiel, underhåll eller information är målet att detta skall kunna ske så billigt som möjligt. Priset för transporten är avstånd eller tid. Ju kortare sträcka som behövs för att genomföra transporten eller ju snabbare transporten kan genomföras, desto bättre för användaren.

Angripares mål är att priset skall bli så högt som möjligt. Dvs. användarens billigaste väg skall bli så dyr som möjligt. Användaren skall tvingas ta en längre väg eller behöva använda mer tid för att kunna genomföra transporten. Angriparens handlingsfrihet kan vara begränsad. Begränsningen kan ligga i t.ex. antal tillgängliga robotar eller möjligheten att välja måltyp. Genom att beskriva nätverket i en graf med parametrar som beskriver kostnader för användaren och angriparen kan ett optimalt användande av angriparens resurser beräknas. Exempel på kostnader för nyttjaren är avstånd och tidsåtgång. Kostnaden för angriparen kan vara antalet robotar som krävs för att förstöra en båge t.ex. en bro eller tunnel, se figur 4.1.

(32)

5 2 3 6 4 1 7 c57=1 r57=4 c25=4 r25=5 c12=1 r12=6 c13=2 r13=2 c36=4 r36=8 c67=3 r67=3 c24=2 r24=2 c23=3 r23=3 c45=2 r45=3 c56=2 r56=6 c46=5 r46=3

Figur 4.1 Ett exempel på graf där kostnader för användare och angripare anges för

respektive båge.

( )

ci,j är bågens längd.

( )

ri,j är antalet robotar som krävs för att

förstöra bågen.

Den billigaste vägen för användaren i figur 4.1 är 6 om angriparen inte påverkar nätverket. Anta att angriparen disponerar 6 st. robotar och att angriparen använder dem på det mest effektiva sättet. Den närmsta vägen blir då för användaren 10, se figur 4.2. 5 2 3 6 4 1 7 c57=1 r57=4 c25=4 r25=5 c12=1 r12=6 c13=2 r13=2 c36=4 r36=8 c67=3 r67=3 c24=2 r24=2 c23=3 r23=3 c45=2 r45=3 c56=2 r56=6 c46=5 r46=3

Figur 4.2 Angriparen har förstört bågarna b1,3 och b5,7. Den billigaste vägen för

användaren blir 1-2-5-6-7 och kostnaden 10.

Om angriparen vill hindra användaren från att nå sitt mål (nod 7 i figur 4.1) men minimera sin insats kan problemet formuleras om så att de resurser som krävs för att förstöra en båge ses som flöden. Därefter söks det maximala ”flödet”. Det snitt som begränsar det maximala ”flödet” är de bågar som skall angripas för att minimera resursåtgången, se figur 4.3.[2]

(33)

5 2 3 6 4 1 7 r57=4 r25=5 r12=6 r13=2 r36=8 r67=3 r24=2 r23=3 r45=3 r56=6 r46=3

Figur 4.3 Snittet

[ ]

S,S som begränsar det maximala ”flödet” består av bågarna b5,7 och

7 , 6

b .

Det skulle krävas 7 st. robotar för angriparen att hindra användaren från att ta sig från nod 1 till nod 7. Bågarna b och 5,7 b är de bågar som skall förstöras. 6,7

I ett stort nätverk kan det finnas flera minimala snitt. Det ger angriparen möjlighet att välja det snitt som bäst uppfyller operationsplanens syfte. Planläggaren kan ta hänsyn till andra faktorer som t.ex. skador på civil egendom och egen rörlighet. Därför är det önskvärt att algoritmen hittar alla minimala snitt. Det är också möjligt att söka efter nästan minimala snitt för att öka urvalet ytterligare.[12]

4.2 Minimera det maximala flödet

Problemställningen när det maximala flödet skall minimeras motsvarar problemställningen att maximera den billigaste vägen. Skillnaden är att det inte är kostnaden, t.ex. avståndet, som skall maximeras, utan att det är användarens möjlighet att använda nätverkets kapacitet som skall minimeras.

I exemplet ovan skulle användaren förflytta förband från en hamn till stridsområdet. Om förbandet är litet med få och lätta fordon, kommer avståndet till stridsområdet att vara den avgörande parametern. Om det däremot är större förband med många stora och tunga fordon, kommer vägarnas kapacitet att få en större betydelse. Avgörande för användarens vägval blir vägarnas kapacitet. Användaren väljer den lösning som tillåter det högsta flödet. Dvs. för användaren är det ett maxflödesproblem. För angriparen gäller det att minimera det maximala flödet.[13]

Angriparens problemställning blir, vilka mål skall bekämpas för att på effektivaste sätt minimera användarens flöde. På samma sätt som tidigare skall nätverket beskrivas i en graf. De bågar som tillhör grafen tilldelas parametrar som t.ex. kapacitet (ton/h) och kostnader för bekämpning (antal flygföretag), se figur 4.4.

(34)

5 2 3 6 4 1 7 f57=5 r57=7 f25=2 r25=2 f12=7 r12=6 f13=3 r13=2 f36=4 r36=8 f67=3 r67=3 f24=4 r24=2 f23=5 r23=2 f45=2 r45=1 f56=1 r56=2 f46=5 r46=3

Figur 4.4 Exempel på graf där flödeskapaciteten för bågarna och kostnaden för att

förstöra bågarna anges.

( )

fi,j anger flödeskapacitet.

( )

ri,j anger antalet flygföretag som

krävs för att förstöra bågen.

Om angriparen vill stoppa användarens flöde helt blir problem formuleringen identisk med att maximera den kortaste vägen. Dvs. angriparen skall då hitta det billigaste snittet, som skiljer källan (nod 1) från målet (nod 7). I exemplet blir det billigaste snitten C1 =

{

b12,b13

}

, C2 =

{

b13,b23,b24,b25

}

och

{

25 45 65 67

}

3 b ,b ,b ,b

C = med en kostnad på 8 flygföretag, se figur 4.5.

5 2 3 6 4 1 7 f57=5 r57=7 f25=2 r25=2 f12=7 r12=6 f13=3 r13=2 f36=4 r36=8 f67=3 r67=3 f24=4 r24=2 f23=5 r23=2 f45=2 r45=1 f56=1 r56=2 f46=5 r46=3 C1 C2 C3

Figur 4.5 De billigaste snitten i figur 4.4.

Om angriparen inte förfogar över tillräckligt med resurser för att hindra flödet i nätverket finns två alternativ. Angriparen kan välja att angripa nätverket med avdelade resurser. Syftet är då att begränsa flödet i så stor utsträckning som möjligt. Det andra alternativet är att minska flödet i nätverket till en viss nivå. Därefter avdelar angriparen tillräckligt med resurser för att uppnå målet.

Anta att angriparen disponerar 5 attackföretag. Vilka bågar skall slås ut för att erhålla bäst effekt? Angriparens problemställning är att minimera det maximala flödet i nätverket, med villkoret att inte fler än 5 attackföretag genomförs. I figur 4.6, 4.7 och 4.8 ges exempel på tre lösningar som begränsar nätverkets kapacitet till 3 ton/h. I de två första alternativen kostar lösningen 5 flygföretag. Det tredje alternativet kostar 4 flygföretag. De tre alternativen uppfyller villkoret, max 5 flygföretag. Detta ger möjlighet för angriparen att välja alternativ.

(35)

5 2 3 6 4 1 7 f57=5 r57=7 f25=2 r25=2 f12=7 r12=6 f13=3 r13=2 f36=4 r36=8 f67=3 r67=3 f24=4 r24=2 f23=5 r23=2 f45=2 r45=1 f56=1 r56=2 f46=5 r46=3

Figur 4.6 Alternativ 1. Kostnad 5 flygföretag. Nätverkets maximala kapacitet 3 ton/h.

5 2 3 6 4 1 7 f57=5 r57=7 f25=2 r25=2 f12=7 r12=6 f13=3 r13=2 f36=4 r36=8 f67=3 r67=3 f24=4 r24=2 f23=5 r23=2 f45=2 r45=1 f56=1 r56=2 f46=5 r46=3

Figur 4.7 Alternativ 2 Kostnad 5 flygföretag. Nätverkets maximala kapacitet 3 ton/h.

5 2 3 6 4 1 7 f57=5 r57=7 f25=2 r25=2 f12=7 r12=6 f13=3 r13=2 f36=4 r36=8 f67=3 r67=3 f24=4 r24=2 f23=5 r23=2 f45=2 r45=1 f56=1 r56=2 f46=5 r46=3

Figur 4.8 Alternativ 3 Kostnad 4 flygföretag. Nätverkets maximala kapacitet 3 ton/h.

Anta nu i stället att angriparen vill reducera nätverkets maximala kapacitet till 4 ton/h. Angriparens problemställning blir att minimera kostnaden för att minska nätverkets maximala kapacitet till 4 ton/h. För att kunna reducera nätverkets maximala kapacitet till 4 ton/h, krävs 3 flygföretag. Figur 4.9 visar lösningen. Syftet att reducera flödeskapaciteten i nätverket till en viss nivå kan vara att spara resurser. De resurser som sparas kan då användas till andra uppgifter.

(36)

5 2 3 6 4 1 7 f57=5 r57=7 f25=2 r25=2 f12=7 r12=6 f13=3 r13=2 f36=4 r36=8 f67=3 r67=3 f24=4 r24=2 f23=5 r23=2 f45=2 r45=1 f56=1 r56=2 f46=5 r46=3

Figur 4.9 Lösning på problemställningen: Reducera nätverkets kapacitet till 4 ton/h.

4.3 Att styra flödet i ett nätverk

Genom att påverka det nätverk som motståndaren använder, begränsas motståndarens alternativ. Genom att bekämpa rätt mål kan motståndaren styras. Motståndaren påverkas så att han väljer den väg som vi vill att han skall använda. Det kan vara underhållstrafik, som vi vill bekämpa, som styrs till en vägsträckning där vi har möjlighet att bekämpa den. Information som motståndaren utbyter via ett datornätverk kan styras över vissa noder så att vi kan avlyssna eller påverka informationen.

Anta att motståndarens underhållstrafik använder vägar i vägnätet som går i betäckt terräng. Att underhållstrafiken går i den betäckta terrängen gör den svår att bekämpa. För att styra motståndaren till terräng som medger bekämpning kan angriparen bekämpa nätverket. Problemformuleringen för angriparen är att till lägsta kostnad styra trafiken till den lämpliga terrängen. Figur 4.10 visar grafen som representerar vägnätet. Grafen anger kostnaden (antal robotar) för att förstöra respektive båge. Bågen b , representerar det terrängparti som 4,6

användaren skall styras till.

5 2 3 6 4 1 7 r57=7 r25=2 r12=6 r13=2 r36=8 r67=3 r24=2 r23=2 r45=1 r56=2 r46=3

Figur 4.10 Graf som beskriver vägnätet. ri,j anger antal robotar som krävs för att

(37)

Den minimala kostnaden för att styra användarens trafik över bågen b , 4,6

beräknas genom att identifiera ett minsta snitt, C. Det minsta snittet skall

inkludera bågen b . De bågar som skall bekämpas är 4,6 bi,jC förutom b .4,6 [14]

Figur 4.11 visar det minsta snittet C. En metod för att hitta det minsta snittet

där b ingår är att sätta 4,6 r till 0. Metoden kan dock ge snitt som inte 4,6

innehåller b vilket är ett villkor för lösningen till problemet.4,6 [2]

5 2 3 6 4 1 7 r57=7 r25=2 r12=6 r13=2 r36=8 r67=3 r24=2 r23=2 r45=1 r56=2 r46=3 C

Figur 4.11 Figuren visar det minsta snittet C, som innehåller bågen b4,6

4.4 Splittra ett telekommunikationsnätverk

Genom att beräkna billigaste uppspännande träd för ett nätverk kan kostnaden för att bygga nätverket minimeras. Alla noder ansluts till nätverket till minimal kostnad. I dagens informationssamhälle byggs telekommunikationsnätverk enligt denna princip. Det blir endast nödvändigt att bygga förbindelser mellan nodpar. Eftersom dagens telekommunikationsnätverk kostar många miljoner att bygga, är det viktigt att optimera designen genom att hitta billigaste uppspännande träd.[8]

Om angriparen analyserar telekommunikationsnätverket med hjälp av billigaste uppspännande träd, kan nätverket splittras optimalt till minimal kostnad. Med minimal insats kan nätverket splittras i flest subnät. Figur 4.12 visar ett telekommunikationsnätverk som designats med hjälp av billigaste uppspännande träd. Angriparens mål är att splittra nätverket i så många delar som möjligt. Angriparen har möjlighet att förstöra 5 noder.

(38)

9 10 11 12 13 14 15 16 s 2 3 4 5 6 7 8 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 t 1 1 3 1 2 3 4 3 1 5 5 3 7 6 4 2 6 1 1 2 2 3 7 2 4 1 1 2 3 4 1 7 1 3 3 1 2 3 3 4 6 1 2 2 3 6 1 4 4 5 7 5 3 1 4 7 3 2 5 7 1 2 2 3 5 7 3 2 4 4 1 3 5 2 3 7 6 2 7 1 1 4 7 3 5 7

Figur 4.12 Telekommunikationsnätverk som angriparen skall splittra i så många subnät som möjligt.

Genom att angripa de noder som har högst valens (flest bågar anslutna till sig) splittras nätverket i flest subnät. Figur 4.13 visar ett exempel på lösning. Nätverket har splittrats i 19 st. subnät.

9 10 11 12 13 14 15 16 s 2 3 4 5 6 7 8 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 t 1 1 3 1 2 3 4 3 1 5 5 3 7 6 4 2 6 1 1 2 2 3 7 2 4 1 1 2 3 4 1 7 1 3 3 1 2 3 3 4 6 1 2 2 3 6 1 4 4 5 7 5 3 1 4 7 3 2 5 7 1 2 2 3 5 7 3 2 4 4 1 3 5 2 3 7 6 2 7 1 1 4 7 3 5 7

Figur 4.13 Telekommunikationsnätverket med noderna n8,n9,n22,n36,n39 utslagna.

(39)

4.5 Att skapa en modell av nätverket

För att kunna använda algoritmer som stöd när NI skall genomföras, måste en modell av verkligheten skapas. Modellen innehåller en graf, som representerar nätverket, och parametrar som anger möjligheter och begränsningar för angriparen. Grafen skall innehålla tillräckligt med information för att beskriva de parametrar som är intressanta för problemställningen.

Om uppgiften t.ex. är att maximera användarens billigaste väg, måste modellen innehålla kostnader för användaren, kostnader för angriparen och resursbegränsningar för angriparen.[13] Om problemet skall lösas manuellt krävs också en modell av nätverket. Ett exempel på en modell som används manuellt är kartan.

4.5.1 Nätverksparametrar

För att kunna använda NI-algoritmer vid planering av insatser mot nätverk, skall grafen innehålla de parametrar som problemställningen kräver. I tabell 4.1 ges exempel på parametrar för olika NI-problem. Tabellen är inte fullständig, men den ger en uppfattning om vilka typer av parametrar som behövs.

Problemställlning

Maximera snabbaste vägen Minimera det maximala

flödet Styra flödet

Kostnader för användaren: • Avstånd mellan noder • Bågars längd Begränsningar för användaren: • Bågarnas flödeskapacitet?*** Kostnader för användaren: Kostnader för angriparen: • Resursbehov för att förstöra

bågar eller noder

Kostnader för angriparen: • Resursbehov för att

förstöra bågar eller noder

Kostnader för angriparen: • Resursbehov för att

förstöra bågar eller noder Begränsningar för angriparen: • Resursbegränsningar (t.ex. antal robotar) • Begränsningar i målval • Ambitionsbegränsningar* Begränsningar för angriparen: • Resursbegränsningar (t.ex. antal robotar) • Begränsningar i målval • Ambitionsbegränsningar* Begränsningar för angriparen: • Resursbegränsningar (t.ex. antal robotar) • Begränsningar i målval Övriga parametrar:

• Målens läge • Måltyp • Reparationstider**

• Tid som användaren skall fördröjas. Övriga parametrar: • Målens läge • Måltyp • Reparationstider** Övriga parametrar: • Målens läge • Måltyp • Reparationstider**

* Skall användaren hindras helt eller delvis från att använda nätverkets kapacitet ** Påverkar hur länge användaren begränsas i användandet av nätverket. *** Beror av t.ex. bärighetsklass, vägbredd.

Tabell 4.1 Modellparametrar.[2], [13], [15]

4.5.2 Exempel på datastruktur för en NI-modell

Datastrukturen byggs runt en lista med bågar. För varje båge anges bågens längd och flödeskapacitet. Bågen relateras till sina noder i en noddatabas. En databas med tillgängliga mål länkas till associerade bågar i båglistan. I listan för bågarna anges från- och till-noder godtyckligt om det är ett oriktat nätverk. I figur 4.14 visas den grundläggande strukturen i dessa filer.[16]

(40)

Båglista Båge nummer Från nod Till nod Kapacitet Annan bågdata Annan bågdata 1 1 2 2 - - 2 1 3 7 - - 3 2 4 6 - - 4 3 6 1 - - Nodlista Nod nummer Annan noddata Annan noddata Annan noddata Annan noddata Annan noddata 1 - - - 2 - - - 3 - - - 4 - - - Mållista Mål nummer Ligger på båge Måltyp Målkoordinat X Målkoordinat Y Annan måldata 1 1 A 1619200 6552800 - 2 1 A 1651050 6579930 - 3 1 B 1628480 6580600 - 4 2 C 1628750 6580090 -

Figur 4.14 Grundläggande datastruktur i båglista, nodlista och mållista.[16]

4.5.3 Informations uppbyggnad

För att kunna fylla databaserna med information krävs en kontinuerlig insamling av data. Insamlingen av data kan ske genom traditionell underrättelseinhämtning. Joint intelligence preparation of the battle space (JIPB) är ett exempel på en process som bidrar till data insamlingen.[17] Andra

källor är databaser som upprättas redan i fred. Ett amerikanskt exempel är military national intelligence integrated database eller integrated database (MIIDS/IDB). MIIDS innehåller mål som redan är inmätta och lagrade i en databas.[18] Militärgeografiskt verk, Vägverkets[19] och Lantmäteriets[20] databaser är exempel på svenska källor som innehåller data som kan användas vid NI. Figur 4.15 visar vägverkets databas för brodata.

(41)

Resultatet från modellen blir inte bättre än de data som den innehåller. Är data i modellen felaktig kommer resultatet att bli fel. Saknas data för att kunna beskriva parametrar som är viktiga för problemställningen, är det inte möjligt att använda NI-algoritmer. Därför är en fungerande datainsamling en förutsättning för en effektiv NI.

4.6 Slutsatser

• Det krävs olika algoritmer för olika problemställningar. Det innebär att först måste de viktigaste/intressantaste problemställningarna och dess syften identifieras. Därefter är det möjligt att skapa algoritmer som uppfyller identifierade syften.

• Det är möjligt att skapa algoritmer anpassade för olika problemställningar. • I de problemställningar som angriparens resursförbrukning skall minimeras

kan Max-flöde min-snitt7 teoremet användas som en del i algoritmen. • Problemställningarna kräver olika parametrar i modellen. Det innebär att de

data som bygger modellen är olika för problemtyperna. Viss data ingår i flera modeller, andra är unika för vissa problemställningar. Därför kommer det att krävas en samordnad och strukturerad uppbyggnad av databaserna. Byggs databaserna på rätt sätt kan de användas vid olika problemställningar.

• Om algoritmerna skall kunna användas effektivt, krävs att de data som ingår i modellerna samlas in och bearbetas kontinuerligt.

• De viktigaste data som behövs i modellerna är måldata. Det är med hjälp av måldata som rätt vapensystem kan förstöra noder och bågar.

• De modeller som skall användas bör skapas innan uppgiften skall lösas. Om det inte är möjligt, krävs ett verktyg för att snabbt kunna bygga modellerna. Om modellerna inte kan byggas snabbt, har den manuella metoden fördelar vid enklare problem. Kartan fungerar då som en utmärkt modell av t.ex. vägnät och kraftförsörjningsnät.

• För att kunna använda algoritmerna effektivt krävs det datorstöd. Vid stora och komplexa nätverk tar det för lång tid att lösa algoritmerna för hand.

(42)

5 Jämförelse mellan manuell måluttagning och

måluttagning med stöd av NI-algoritmer

I detta kapitel genomförs två jämförelser. Först jämförs manuell måluttagning och måluttagning med stöd av NI-algoritmer med ett scenario som bakgrund. Den andra jämförelsen görs mellan de två olika metoderna utan scenario. Jämförelsen görs endast med en graf som underlag.

5.1 Jämförelse i ett scenario 5.1.1 Bakgrund och scenario

Genom att jämföra en manuell process vid uttagning av mål och en process där måluttagningen sker med stöd av algoritmer, söks svaret på om NI-algoritmer kan användas vid planläggning av NI. Samtidigt ges ett exempel på hur beslutsstödsmodeller kan användas i planläggning av NI.

Jämförelsen genomförs med ett operativt scenario hämtat från ”Taktisk fortsättningskurs, FB502V” som genomfördes vid Försvarshögskolan under veckorna 302-3 och 305-7. Scenariot återges inte i sin helhet utan fungerar som en bakgrund till jämförelsen. Med scenariot som bakgrund genomförs en jämförelse mellan en manuell målvalsprocess och en målvalsprocess som använder NI-algoritmer som ett stöd. Uppgiften att genomföra interdiction mot motståndarens framryckning är skapad utan att ett operativt bedömande genomförts.

5.1.2 Scenario[22] Bakgrund

Efter flera års militär uppbyggnad parallellt med en politisk återgång till mer diktatoriska former har ”Angripien” återfått sina stormaktsambitioner och driver konfrontationspolitik med USA. USA:s roll i Europa har minskat i takt med att EU:s förmåga till krishantering har ökat. EU leder för närvarande en omfattande fredsfrämjande operation i Kosovo, Serbien samt Makedonien, med bl.a. svenskt deltagande. Trots tydliga signaler överraskades västvärlden av att ”Angripien” genomförde ett militärt angrepp på de baltiska länderna i maj 2009. Bristande samordning och resurser inom EU parallellt med att USA länge var nationellt inriktade gjorde att en snabb fredfrämjande operation och styrkedemonstration i Östersjöområdet inte kommit till stånd. Angriparen har haft stora framgångar i Baltikum. Han kan praktiskt taget ostört operera från intakta baltiska hamnar.

I Sverige har anpassning av försvarsmakten genomförts. Det innebär att återtagning av insatsorganisationen är genomförd. Genom tillväxt har framför allt kvaliteten men även kvantiteten kunnat utvecklas. Försvarsmakten kan bl.a. agera med två styrkor av divisionsstorlek.

References

Related documents

Andra typer av konstnärliga uttryck förekommer sporadiskt bland bilderna, och de kan även vara svåra att särskilja från exempelvis boktipsen när skolbibliotekarien inte tagit

H2c: Skillnaden i uppvisad bild av sponsorn till följd av sponsorskapet mellan konsumenter, som tagit del av sponsormotiv med hög respektive låg nivå av autenticitet, kommer

Om barnet har en trygg anknytning till sin mamma eller pappa kommer anknytningen till förskolläraren i största sannolikhet också vara trygg, medan barn som har en otrygg

Uppsatsen skall presentera en sammanhängande bild av hur det går till när ”systemet för handling” på detta sätt förhandlas fram och konstrueras av aktörerna själva,

Att identifi era, samla och sammanställa information är ett betydande innehåll vid handledningen där studenten uppmuntras att använda journaler, undersökningssvar och remisser

Lars Andersson berättar att det är viktigt att göra allt för att kunna behålla samtliga målare även under de tuffa vintermåna- derna.. Att hitta nya

Eleverna i kontrollgruppen hade inte tillgång till något konkret material under tiden de genomförde uppgiftern Skulle eleverna fastnat på samma sätt som några elever

Begreppet likvärdig förskola finns beskrivet i Chronosystemet det vill säga i rådande debatter i samhället och anses samt framhålls som en viktig förutsättning för