Mekongs Twitter!

Twitter Updates

    Följ Mekong på Twitter
    Den som ger upp sin frihet för ökad trygghet, förtjänar varken frihet eller trygghet!

    08 juli 2008

    Simuleringsteknik i praktiken.


    Jag utfärdar en liten varning för att det här blir garanterat det tristaste inlägget hitills men jag kan inte låta bli! Jag satt en gång på 90-talet i en kemisk fabrik med följande problem på halsen! Hur stor volym upptar en viss vätskenivå i en sfärisk behållare! Om radien är r på en de sfäriska behållarna på bilden och kemikalienivån är z ville jag veta hur stor mängd som fanns kvar!
    Det gick att lösa problemet på flera sätt!
    1. Man slog upp resultater i ett gammalt tabellverk från 60-talet. Jag hade tappat bort den gamla luggslitna pärmen!
    2. Man använde en färdig formel för delvolymen av en sfär (partiell volym av sfärisk behållare = (Pi * h2 * r) - (Pi * h3 / 3)! Hade jag inte heller i huvudet den gången!
    3. Man använde analys och integrerade över delvolymen! Ett mycket arbetskrävande och trist metod som jag inte rekommenderar, speciellet inte mitt i natten!
    4. Man gissade sig till resultatet genom att använda sig av sin erfarenhet. Det är svårt att ens komma nära om inte behållaren är ganska exakt halvfull!
    5. Jag löste problemet genom att använda spelteori och gick då tillväga på följande sätt och skrev ett lite program Visual Basic.
    a. Jag började med att definiera diametern (2 gånger radien) på sfären och vätskenivån z i sfären!
    b. Sedan lät jag datorn producera ett stort antal slumptal mellan 0 och 2r! Jag delade in slumptalen 3 och 3 och fick alltså ett stort antal punkter i en kub med sidan 2r. Dessa punkter blir alltså slumpmässigt distribuerade i kuben. I kuben befinner sig sfären med radien r.
    c. Vi har nu en sfär med radien r (diameteren 2r) som befinner sig i en kub med sidan 2r.
    d. Nu beräknade jag hur stor del av slumptalen som finns i sfären och det sker med hjälp av gamla kända Pythagoras teorem. (Många punkter finns givetvis i kuben men inte i sfären)
    e. Nu var det dags att beräkna hur stor del av slumptalen i sfären som befann sig i vätskenivån. Det var lätt eftersom alla slumptal där rumskoordinaten z är mindre än vätskenivån befinner sig i vätskenivån! Om antalet punkter i vätskan är 35 % av totala antalet punkter i sfären blir vätskans volym alltså 35 % av sfärens totalvolym. Lätt som en plätt! Jag har refererat denna lösning på problmet ur minnet och jag hoppas alla detaljer blev riktiga!
    Det behövs ett stort antal slumptal för att resultatet ska bli bra. Dessutom måste slumptalen vara av "god kvalitet" och det kan vara lite lurigt när de är många! Jag fick tillräckligt bra värden för det behov jag hade den gången! Det kan vara värt att nämna att detta datorprogram skrivet i Visual Basic bara var cirka 10 rader långt!
    Det kallas för montecarlosimulering när man på det här sättet, som kan förefalla märkligt vid en första anblick, med hjälp av statistiska metoder försöker lösa ett matematiskt problem! Montecarlosimulering används givetvis allt som oftast när inget annat alternativ står till buds!
    Numera använder jag inte så kallad spelteori för att lösa problem inom den illaluktande och livsfarliga kemiska industrin utan har förflyttat mig ut på tennisbanan istället (förutom vissa inhopp på en del andra finasiella marknader)! Det är nog så svårt att komma fram till om oddsen är vettiga på en tennismatch och än värre under pågående match. Antalet parametrar att hålla reda på är många och besvärliga att hantera.

    2 kommentarer:

    Anonym sa...

    Cohen Aloro vinner över Zapokalova.

    Vet att matchen är igång och vill inte vara en bessewisser.

    Men hur hittar du spel på denna fajt. 4 - 0 till Zapo. Vad var det som avgjorde att det blir spel och till vilket odds?

    Nyfiken

    MEKONGS BLOGG sa...

    Inte riktigt kört än! Ingen lätt branch det här! I stort sätt försöker man vinna lite mer vartannat spel än man förlorar på vartannat spel.