Optimization, algorithms, and phase transitions
Research Project, 2013
– 2016
Optimering, algoritmer och fasövergångar. De kanske mest kända typerna av fasövergångar är de som gett upphov till termometerskalan. Vid normalt tryck ändrar vanligt vatten dramatiskt sitt beteende vid temperaturerna noll och hundra grader Celsius. Det märkliga är att ingen enskild molekyl egentligen känner av att något särskilt händer. På mikroskopisk nivå fortsätter partiklarna att följa samma mekaniska lagar oavsett temperatur. Ett annat exempel från vardagen, som kanske ger en indikation på hur det "känns" för vattenmolekylerna då is bildas, är bilköer. Ena stunden flyter det, men när trafiken blir aningen tätare, kör det plötsligt ihop sig och man måste stanna. Ingen enskild förare orsakade stoppet, utan en liten inbromsning ledde till en kedjereaktion av häftigare inbromsningar. Om det är glest mellan bilarna, stannar reaktionen av, men om trafiken överskrider en kritisk täthet förs den vidare. I det här projektet studerar vi kritiska fasövergångar i optimeringsproblem, och hur förståelsen av sådana kan utnyttjas i algoritmer. För att förstå varför fasövergångar uppstår i optimeringsproblem, kan vi tänka oss en analogi med Sudokupussel. Det är ingen konst att fylla i några få rutor i ett Sudokupussel utan att det uppstår några otillåtna kombinationer. Men som alla vet som har försökt, kan man inte lösa Sudoku på det sättet. Om man chansar och fyller i siffror hur som helst bara för att det inte just nu uppstår några otillåtna konfigurationer, kommer man ganska snart att köra fast och tvingas börja om. Sudokupussel är konstruerade för att ha exakt en lösning, och är därför varken realistiska eller särskilt intressanta som teoretiska modeller (åtminstone inte ur det perspektiv jag tänker mig här). Men låt oss tänka oss ett gigantiskt Sudokupussel som inte är konstruerat för att ha en unik lösning, och där man inte behöver fylla i alla rutor, utan bara en viss andel. Om denna andel är liten, kan man fylla i lite hur som helst utan att planera framåt. Men när andelen rutor som ska fyllas i överskrider en viss gräns, får vi problem. När vi sätter en siffra i en ruta, ger det restriktioner på vad som kan stå i en annan ruta, vilket i sin tur ger restriktioner på en tredje ruta osv. Vid en kritisk täthet börjar restriktionerna spridas och kombineras med varandra på komplicerade sätt, så att man till slut kör fast. Den typ av frågor vi kan ställa är: Vid vilken täthet kör man fast? Finns det någon inneboende egenskap hos problemet som ändras när vi kör fast, eller beror det bara på egenskaperna hos vårt sätt att lösa det? Kan vi designa algoritmer som gör att ingen sådan fasövergång sker? Om det finns en "inneboende" fasövergång, dvs problemet får egenskaper som inte har att göra med brister i vår lösningsmetod, kan vi designa algoritmer som utnyttjar dessa egenskaper? Detta var en analogi, låt mig beskriva ett verkligt matematiskt problem. Vi tänker oss att n är ett gigantiskt tal, och att varje trippel av tal ur mängden {1,2,3,...,n} tilldelas en slumpmässig "kostnad" ur intervallet [0,1]. Optimeringsproblemet är nu att välja en uppsättning tripler, så att varje tal från 1 till n "täcks", dvs finns med minst en gång, och så att den totala kostnaden av de valda triplerna minimeras. Det visar sig att en oorganiserad algoritm (som kan jämföras med att "bara fylla i" ett Sudoku) med stor sannolikhet löser det här problemet nästan optimalt, och att den totala kostnaden för lösningen blir ungefär 1,216/n (ja, det blir billigare ju större n är!). Något överraskande beter sig problemet annorlunda om vi i stället för tripler har kvadrupler (uppsättningar av fyra tal). Den oorganiserade algoritmen kan då nästan optimalt täcka 96.54% av talen, men spårar ur och ger en avsevärt sämre lösning om vi kräver större andel täckta tal! Frågan är nu om denna täthet är en inneboende kritisk punkt hos problemet, eller om resutatet bara beror på brister i den algoritm vi har analyserat.
Participants
Johan Wästlund (contact)
Chalmers, Mathematical Sciences, Analysis and Probability Theory
Funding
Swedish Research Council (VR)
Project ID: 2012-4331
Funding Chalmers participation during 2013–2016