Historiskt moment i Numerisk analys 1 Monte Carlo-metoden Grupp 2 Jonas Haulin Kathrin Mattiasson Mateo Tarazona Elin Vinger
Bakgrund och teori Monte Carlo-metoden är en metod för statistisk simulering. Sådana definieras allmänt av att den använder sig av sekvenser av slumptal för att utföra simuleringen. Ett enkelt exempel på vad det handlar om är ett problem som kallas Buffons nål. Detta problem är ett av de äldsta problemen inom geometrisk sannolikhetslära. Buffons nål -problemet blev känt 1777. Det handlar om att man låter en nål falla ner på ett papper med två parallella linjer. Avståndet mellan linjerna är här lika långt som nålens längd. Nålen kommer då att antingen korsa en av linjerna eller inte alls. Idéen med detta experiment är att om man låter nålen falla ner på papperet om och om igen, samtidigt som man håller räkningen på antalet gånger den faller (N) och antalet gånger den korsar en linje (C), så kommer man till slut att se att sannolikheten för att nålen korsar linjen är 2/pi. Det finns här två variabler: i) den vinkel θ som nålen har i förhållande till en parallellinje till de givna linjerna (θ kan variera från 0 till 180 grader). ii) avståndet från nålens mitt till den närmaste linjen (D). Nålen kommer att träffa linjen om (1/2)sin(θ) >= D Det skuggade området inom grafen visar de värden som representerar en träff. Sannolikheten för en träff är således förhållandet mellan det skuggade området och hela rektangeln. Rektangeln i sin helhet representerar alla möjliga utfall, dvs alla möjliga värden på D och θ. Värdet av det skuggade området får vi om vi integrerar (1/2)sin(θ) från 0 till pi, vilket ger oss värdet 1. Värdet för hela rektangeln är (1/2)(pi) eller pi/2. Därmed är sannolikheten för en träff 1/(pi/2) eller 2/pi. Approximativt är det 0.6366197. Vi ser genom detta att metoden kan användas för att uppskatta värdet för pi. Likheterna med slumpstyrda spel, som roulette och liknande är mycket tydliga, skillnaden är att spelet här är ett fysiskt problem och resultatet inte är vinst eller förlust utan ett kvantitativt svar på det fysiska problemet. Metoden användes först endast för problem av sannolikhetskaraktär, men kom snart till användning även för deterministiska problem. Många av dessa problem går i teorin också att lösa deterministiskt, genom att sätta upp ekvationer, men blir alltför komplicerade eller rentav olösliga i praktiken. Det är då enklare att angripa problemet statistiskt med Monte Carlo. Några typer av deterministiska problem som går att lösa med Monte Carlo är differentialekvationer, s k operatorekvationer, multipelintegraler etc. Det kan tyckas märkligt att sådana problem kan lösas med en metod för sannolikhetsproblem. Men det enda villkoret för att tillämpa Monte Carlo-metoden på ett problem är att det kan beskrivas med en mycket allmän klass av funktioner som kallas probability distribution functions, pdf. Detta är möjligt för en lång rad av system, och man kan därför behandla problem utan egentligt slumpmässigt innehåll som sannolikhetsproblem.
Som jämförelse kan sägas att en vanlig numerisk lösningsmetod skulle börja med den matematiska modellen, diskretisera differentialekvationerna och sedan lösa några algebraiska ekvationer för att komma fram till den önskade lösningen. Vid användning av Monte Carlometoden behöver man faktiskt inte ens skriva ner de differentialekvationer som styr systemet. Istället ställer man upp en pdf som beskriver lösningen för problemet, vilket gör det möjligt att simulera processen statistiskt. Vad är då en pdf? När man vill beskriva sannolikheten för olika utfall som inte är diskreta utan kontinuerliga, till exempel sannolikheten för att en foton ska emitteras i en given vinkel, stöter man på problem som har att göra med att antalet utfall i själva verket är oändligt. Sannolikheten för att t ex emissionsvinkeln ska vara exakt 23.8 är därför noll. Däremot kan man utan svårighet ange sannolikheten för att vinkeln ska ligga mellan 23.8 och 23.9, eftersom antalet intervall på 0.1 grader är ändligt mellan 0 och 360 grader. En pdf f(x) beskriver sannolikheter på detta vis. Sannolikheten att utfallet ligger i intervallet [x, x+dx] är f(x)dx. På samma sätt är sannolikheten för utfall i intervallet [a,b] = b a f ( x) dx. Det här ställer upp två villkor för en pdf: 1) att funktionsvärdena alltid är positiva (negativa sannolikheter finns inte) och 2) att f ( x) dx = 1, dvs den sammanlagda sannolikheten för alla utfall måste vara ett. Detta är som man kan se inga stränga villkor, vilket förklarar varför man kan sätta upp pdf:ar också för problem utan slumpmässighet. En typisk pdf kan se ut så här: Denna funktion är inte helt olik normalfördelningskurvan, vilken är den kanske mest välkända och använda pdf:en. För att lösa ett icke deterministiskt problem med Monte Carlo manipulerar man sina uttryck på olika sätt så att de uppfyller villkoren för en pdf, och kan därefter få en lösning genom att göra stickprov med slumptal om ingångsvärden. Alltså ersätts matematik och fysik ersätts med slumpmässig sampling av möjliga tillstånd från de pdf:ar som beskriver systemet.
Historiska och moderna tillämpningar Det har gjorts många försök som liknar Monte Carlo metoden genom tiderna. Problemet har dock alltid legat i genereringen av tillräckligt slumpmässiga tal. Man har använt allt från tärningar till spelkort och elektriska rouletter. Redan 1901 utförde Lord Kelvin en Monte Carlo simulation av gas genom att numrera små lappar som han sedan blandade i en skål. Han fann dock att metoden var otillräcklig. Teorin har funnits länge men kom inte att implementeras på ett seriöst sätt förrän atombombsforskningen kom. Ett problem som uppstod bland forskare i Los Alamos under andra världskriget var frågan hur långt neutroner kunde färdas genom ett material utan att kollidera. Att experimentera fram en lösning var dyrt och tidskrävande men å andra sidan var teoretiska beräkningar enormt komplicerade och svåra att praktisera. Matematikerna John von Neumann och Stanislaw Ulam föreslog att man skulle lösa problemet med hjälp av den metod som användes vid Buffons nål -problemet. Metoden kom nu att kallas för Monte Carlo-metoden p.g.a. dess spelliknande karaktär. På samma sätt som man kan förklara hur experimentet med Buffons nål leder till talet pi, kan man förklara hur många neutroner som tränger igenom ett specifikt material. Genom att generera slumptal som bestämmer om neutronen absorberas eller omdirigeras vid en kollision, vart den senare tar vägen och hur mycket energi den förlorar, så kan man statistiskt utifrån antal neutroner som klarar sig igenom materialet, ta fram en verklighetstrogen lösning som fungerar i praktiken. Man får alltså följa en neutrons livshistoria och slumpmässigt avgöra vart den tar vägen. Ett av de större problemen med Monte Carlo-metoden, enligt McCracken, var att tillämparen var tvungen att välja mellan stora fel i resultaten eller väldigt många beräkningar. 1955 när McCracken skrev sin artikel, fanns det helt enkelt inte datorer som hade kapacitet att utföra tillräckligt många beräkningar för att ge tillförlitliga resultat i många av de fall där Monte Carlometoden skulle kunnat ha tillämpats. Turligt nog har tekniken gått framåt, och ett exempel på en modern användning av Monte Carlo-metoden är hur den tillämpas för att förutse och förstå flera svåra problem inom gasdynamiken. En Monte Carlo-simulering inom detta område beskrevs som tidigare nämnts redan av Lord Kelvin 1901, men den blev inte praktiskt användbar förrän under 1960-talet. I och med att datorerna fått högre kapacitet har användningsområdet för simuleringen ökat. De nuvarande datorerna gör det möjligt att betrakta problem inom gasdynamiken innehållande kemiska reaktioner. Moderna tillämpningar av Monte Carlo-metoden har tagits upp på IMACS (The International Association for Mathematics and Computers in simulation) tre konferenser. Den senaste hölls i september 2001 och bland annat diskuterades tillämpningsområden inom partikeltransport, reliability analysis, kvantmekanik, statistisk fysik, processimuleringar av slumpartad karaktär samt finansiella tillämpningar. Mats Hjelm och Hans-Erik Nilsson från Mitthögskolan i Sverige deltog med en föreläsning kallad Full Band Monte Carlo Simulator for Cubic and Hexagonal Semiconductor Materials and Devices: an Object-Oriented Approach. En sådan Monte Carlosimulator består av flera, av varandra beroende, fysiska modeller, som kan utföra olika nivåer av approximationer. Vilken approximation som behövs för varje modell beror på vilken tillämpning de ska få. Den skulle kunna användas för att utföra simulationer av halvledare, något som har varit känt i tjugo år. Det har dock varit svårt att hitta en generell metod för alla tillämpningar och
det har därför inte konstruerats generella Monte Carlo-simulatorer för kommersiellt bruk. Den lösning föreläsarna presenterade, innebär ett mjukvarupaket, där alla modeller finns tillgängliga. Med hjälp av detta skall användaren endast behöva specificera karaktäristiken hos halvledarens material och hos metoden, så att rätt submodeller kombineras för simuleringen. Ett sådant mjukvarupaket för kubiska och hexagonala kristallsymmetrier har utvecklats av forskarna på Mitthögskolan. En av de inbjudna föreläsarna på IMACS senaste konferens var Stefan Heinrich. Han talade om så kallade kvantdatorer och hur utforskandet av deras potentiella förmågor, är en av dagens största utmaningar inom datavetenskap, matematik och fysik. Kvantdatorer kan faktorisera stora heltal effektivt (något som klassiska datorer inte har möjlighet att göra) och kan också söka igenom databaser med högre hastighet än vanliga datorer. Tidigare har forskandet koncentrerats kring liknande datavetenskapliga problem som dessa, men Heinrich är intresserad av beräkningsproblem inom analysen, som till exempel hur man tillämpar Monte Carlo-metoder för att lösa integration i höga dimensioner. Han vill jämföra hur dessa problem löses på en hypotetisk kvantdator och hur de skulle lösas med hjälp av klassiska datorer.
Källförteckning McCracken, D. The Monte Carlo Method. Scientific American maj 1955 Asprey, William. John von Neumann and the Origin of Modern Computing. 1990. http://csep1.phy.ornl.gov/mc/mc.html http://www.americanscientist.org/issues/comsci/compsci2001-07.html http://www.mste.uiuc.edu/reese/buffon/buffon.html http://mcm2001.sbg.ac.at/accpap.html http://mcm2001.sbg.ac.at/invtalk.html