Routeplnning middels stochstische koeling Modellenprcticum 2008 Stochstische koeling of Simulted nneling is een combintorisch optimlistielgoritme dt redelijke resultten geeft in ingewikkelde situties. We illustreren het lgoritme n de hnd vn een routeplnningsprobleem, bekend ls de hndelsreiziger. De hndelsreiziger Een hndelsreiziger moet met zijn wren een ntl steden lngs, zeg de steden tot en met n. Zelf woont hij in std ; hij wil dr beginnen en drheen ook weer terugkeren. Hij is in het bezit vn een fstndentbel, wrin voor ieder tweetl steden i en j de lengte D(i, j) vn de kortste weg vn i nr j stt. (We veronderstellen hier voor de eenvoud dt D(i, j) = D(j, i) voor lle i, j.) Hij wil weten in welke volgorde hij de steden moet bezoeken om zo weinig kilometers f te hoeven leggen.. Modellering We stellen een route rond de n steden voor ls een permuttie ω S n, dt wil zeggen een bijectie ω : {, 2,..., n} {, 2,..., n} met de eigenschp dt ω slechts één cykel heeft. Zij Ω n de verzmeling vn l zulke cyclische permutties: Ω n := { ω S n ω n = id en ω k (i) i ( i n, k < n) }. De f te leggen fstnd behorende bij de route ω is V (ω) := n D(i, ω(i)). i= Ons wiskundige probleem luidt nu: Gegeven de n n-mtrix D vn positieve getllen, zoek ω Ω n zó dt de functie V in ω zijn minimum nneemt. Dit is een moeilijk probleem. Alle mogelijkheden nlopen wordt bij grote n ondoenlijk: zeg dt de hndelsreiziger 30 steden moet bezoeken. Er zijn dn 29! 0 3 STOCHASTISCHE KOELING (Toegepste Wiskunde 2, RU 2008)
cykels te bedenken, wrvn hij de lengte zou moeten berekenen. Kn het niet hndiger? Jwel, mr nr men vermoedt niet wezenlijk, ls je tenminste met zekerheid voor elke mogelijke combintie vn steden de kortste route wilt kunnen vinden. Het is onbekend of er een lgoritme bestt dt het minimum vindt in niet meer dt c n p stppen (c, p IN willekeurig, mr vst). Als je in stt zou zijn zo n lgoritme te vinden of te bewijzen dt het niet bestt, dn zou dit een doorbrk in de theoretische informtic betekenen die je eeuwige roem zou bezorgen. Lten we er dus voorlopig vn uitgn dt we zo n lgoritme niet kunnen vinden. Blijft over: zéér veel rekentijd spenderen, of tevreden zijn met een bijn-minimum. Over die ltste mogelijkheid hebben we het hier. 2. Minim zoeken door rondwndelen Vergelijk de functie V : Ω n [0, ) met een berglndschp: je strt ergens op een plek ω Ω n op hoogte V (ω), en je zoekt het dl, zeg ω 0, dt op hoogte V (ω 0 ) ligt. Het lijkt op het eerste gezicht verstndig, vnuit ω stpjes te gn zetten in benedenwrtse richting. Je kunt dit doen met behulp vn een computer. Zo n mchine moet liefst een eenvoudig lgoritme hebben, dt hij vk mg herhlen. Dr is hij goed in. We beginnen met het eenvoudigste: 3. The greedy lgorithm We beginnen met de beschrijving vn een hebberig lgoritme: een wndeling die lleen mr stpjes nr beneden doet om zo snel mogelijk in een minimum n te komen. Strt met een willekeurige cykel ω Ω n. Pk twee niet-ngrenzende zijden vn de cykel. Dt wil zeggen: kies i, j {, 2,..., n} zó dt i j, i ω(j) en j ω(i). Zij l 2 zó dt ω l (i) = j. De gekozen zijden zijn dn i ω(i) en j ω(j)). Verbind nu i met j en ω(i) met ω(j), en keer op de lus die loopt vn ω(i) nr j de pijlen om: ν : i j ω l (i) ω l 2 (i) ω(i) ω(j) ω 2 (j) i. i ω(i) ω(j) j 2 STOCHASTISCHE KOELING (Toegepste Wiskunde 2, RU 2008)
Zo krijg je een nieuwe cykel ν. Het is gemkkelijk n te gn of deze lnger of korter is, wnt V (ν) V (ω) = D(i, j) + D(ω(i), ω(j)) D(i, ω(i)) D(j, ω(j)). Is ν korter, stp dn over op ν, is hij lnger, behoud dn ω. Kies vervolgens weer twee willekeurige niet-ngrenzende zijden vn ω, etceter. Definitie. We noemen σ en τ in Ω n buren (nottie: σ τ ) ls zij n 2 zijden gemeen hebben. Dus ν hierboven beschreven is een buur vn ω. Bewering. Stppend vn buur nr buur kun je elke cykel vnuit elke ndere bereiken. Dit bewijzen we hier niet. Probeer het voor jezelf n te gn. Bewering 2. Desondnks bereikt het hebberige lgoritme niet ltijd het minimum. Soms blijft het in een lokl minimum steken. Voorbeeld. i b j Alle buren vn de dunlijnige route hebben een grotere lengte, in het bijzonder, ls < b: b + + 2 > 2 + b 2 + +. (G n!) 4. Verbetering vn het lgoritme: tempertuur Wie het dl wil bereiken moet dus niet steeds mr nr beneden lopen, mr f en toe ook eens omhoog stppen. Hoe reglementeren we dit? Met stochstiek! We zitten in ω, en kiezen een willekeurige buur ν uit. Als V (ν) V (ω), dn stppen we nr ν toe. Mr ls V (ν) > V (ω), dn ccepteren we deze verslechtering met een kns die exponentiëel vn het lengteverschil fhngt. We krijgen zo de volgende (n )! (n )!-mtrix vn overgngsknsen ls ν ω en V (ν) V (ω); B P(ω, ν) := B e V (ω) V (ν) T ls ν ω en V (ν) > V (ω); ) { µ V (µ)>v (ω) } V (ω) V (µ) B ( e T ls ν = ω; 0 nders. 3 STOCHASTISCHE KOELING (Toegepste Wiskunde 2, RU 2008)
Hierbij is B = 2n(n 3) het ntl buren vn elke cykel, en T een positieve constnte, die we de tempertuur vn het lgoritme noemen. De overgngsmtrixmtrix P definieert een Mrkovketen wrvn de toestnden cykels zijn. Stelling 3. De knsverdeling π(ω) = π T (ω) := Z T e V (ω)/t, (met Z T := ω Ω n exp( V (ω)/t)) is een evenwichtsverdeling voor deze Mrkovketen. Bewijs. Je gt gemkkelijk n dt voor lle ω en ν geldt: π(ω)p(ω, ν) = π(ν)p(ν, ω). Hieruit volgt dt π(ω)p(ω, ν) = π(ν)p(ν, ω) = π(ν). ω Ω n ω Ω n Dus π is een evenwichtstoestnd. 5. Een recept uit de smederij In de sttistische mechnic kent men de zogenmde Boltzmnn-verdeling, gegeven door π T (ω) = Z T e E(ω)/kT. k is de constnte vn Boltzmnn, E(ω) is de energie vn toestnd ω, en T de tempertuur vn de verdeling. De punten ω stellen configurties vn een fysisch systeem voor, bijvoorbeeld een stuk ijzer. Het is in de fysic bekend dt door fkoeling een systeem in zijn grondtoestnd kn worden gebrcht. Inderdd is de verdeling limπ T geconcentreerd op het minimum vn de energiefunctie E (gesteld dt dit minimum eenduidig is). Dit koelen vn het systeem moet niet te snel gebeuren: in de smederij weet men dt ijzer dt te snel fkoelt bros wordt: het vindt een lokl mr geen globl minimum! Locle minim zijn onregelmtige, hier en dr onderbroken kristlstructuren. Snel koelen is te hebberig! Lten we deze gedchte eens vertlen nr de Hndelsreiziger. We krijgen dn het volgende recept. Kies eerst een hoge tempertuur, zeg in de orde vn de fstnden tussen de steden. Loop drmee enige tijd rond door de ruimte vn cykels. Dit levert een evenwichtsverdeling π T, die nog weinig reliëf vertoont. Verlg nu de temertuur, en wcht opnieuw op evenwicht. Etceter. Stelling 4. De verdeling π T is de enige evenwichtsverdeling vn de Mrkovketen bij tempertuur T. Bovendien ndert de knsverdeling over de cykels, onfhnkelijk vn de gekozen begincykel, uiteindelijk tot π T. 4 STOCHASTISCHE KOELING (Toegepste Wiskunde 2, RU 2008)
Bewijs. Uit Bewering volgt dt de Mrkovketen irreducibel is, en uit het feit dt voor veel cykels ω geldt dt P(ω, ω) > 0, volgt dt hij niet periodiek is. De Hoofdstelling voor Mrkovketens ( Streven nr Evenwicht ) zegt nu dt π T de enige evenwichtsverdeling is, en dt de knsverdeling ϑ P k voor elke beginverdeling ϑ ndert tot π T ls k ndert tot oneindig. Zij M Ω de verzmeling vn cykels met minimle lengte. (Meestl zl M mr één element hebben: de kortste route.) Gevolg 5. lim lim IP[cykel ligt n k stppen in M ] =. k Alleen in deze volgorde vn de limieten! (Welke kns stelt de omgekeerde limiet voor, denk je?) Bedenk echter wel dt bij lgere temperturen in het lgemeen steeds hogere k- wrden nodig zijn! Bewijs. We moeten nog ntonen dt Welnu, er geldt π T (ω) = lim ω M π T (ω) =. ( ) V (ω)/t e = e ν Ω (V (ω) V (ν))/t. n e V (ν)/t Als ω / M, dn is lim π T (ω) = 0, immers, voor elke µ M geldt dn: π T (ω) = e (V (ω) V (ν))/t e (V (ω) V (µ))/t T 0. Voor ω M geldt drentegen: lim π T (ω) = lim e (V (ω) V (ν))/t = = #(M), Dus dn is lim π T (ω) = /#(M), en we zien dt de limietverdeling gelijke knsen toekent n elke minimle cykel ω M. ν M 5 STOCHASTISCHE KOELING (Toegepste Wiskunde 2, RU 2008)