Alla inlägg av Simon Lindqvist

Att simulera darts

Är du intresserad av att gå på idrottsevenemang men är trött på de höga biljettpriserna? Gör då som jag och simulera din favoritsport på datorn! Förutom att det är gratis så får du själv styra slutresultatet, alltså finns det endast fördelar med detta. I det här inlägget kommer jag att berätta om mitt simuleringsprogram och ett par resultat jag kom fram till.

Tavlan

Jag konstruerade tavlan enligt de dimensioner som definieras av WDF, dvs. World Darts Federation. Problemet med detta var att järnvajrarna som begränsar tavlans områden i verkligheten har en viss tjocklek, vilket skulle ha varit arbetsdrygt att ta i beaktande. Detta kan ha en liten betydelse då det gäller bredden på trippelringen i min tavla jämfört med dess verkliga bredd. Annars motsvarar min tavla en riktig darttavla.

Det är möjligt att double- och treble-ringarna är aningen smalare än i verkligheten.

Kastens avvikelse

För att simulera kast och träffar lät jag varje kast avvika med avståndet r i en slumpmässig riktning från den egentliga siktpunkten, där r är ett slumpmässigt tal i [0, R] och R är ett tal som i förväg valts som maximal kastavvikelse. Denna metod fungerar relativt bra eftersom kasten hamnar då i en cirkel med flest träffar nära punkten man siktar på. Det som är dock nackdelen är att man i verkligheten har större missar i lodrät riktning jämfört med vågrät riktning. Därmed en bättre approximering skulle ha varit att konstruera kastcirkeln som en ellips.

Funktionen tar in en siktpunkt och en avvikelse som polära koordinater (\theta, r), beräknar dess summa och ger tillbaka den egentliga träffpunkten som en ny polär koordinat.

Resultat

Då jag hade programmerat alla nödvändiga funktioner som gjorde det möjligt att visa och räkna poäng började jag med simuleringarna för att testa olika strategier. Som först ville jag jämföra olika områden på tavlan tillsammans med olika spridningar. Områdena var T20, T19, Bull samt området T11/T14. Mellan T11 och T14 är ett område jag ibland siktar på eftersom det är ett väldigt stabilt område. Om mitt kast är dåligt får jag ändå antagligen 8 eller 9 (se bild 1). Spridningarna jag testade på dessa områden var 2 cm, vilket motsvarar ungefär professionella spelarnas kast, 5 cm, som motsvarar ungefär mina kast, samt 17 cm vilket är tavlans radie. På varje område med varje spridning simulerade jag 1000 spel (totalt 12000), där ett spel går ut på att man kastar turer på tre pilar tills man går över 500p. Sedan jämförde jag medelvärdet av antalet turer som krävdes, och resultatet var följande:

T20T19BullT11/T14
2 cm5.2755.526.0747.806
5 cm9.019.0459.65610.296
17 cm15.17214.83112.24715.852

Kom ihåg att mindre värden är bättre. Från tabellen ser vi orsaken varför professionella siktar mer eller mindre alltid på T20. Då spridningen blir tillräckligt stor (väldigt stor) lönar det sig dock att sikta på bullen eftersom många pilar annars hamnar utanför tavlan.

Så här såg tavlan ut efter en simulering där man kastat et antal kast mot T20, T19, Bull och T11/T14.

Den huvudsakliga poängen är dock inte simuleringarnas resultat, utan främst att simulationen var en rolig utmaning för mig. Då man börjar vara trött på studierna (eller livet) kan det vara bra för sin egen motivation att utföra ett projekt som tangerar både ens studier och fritidsintressen. Under tiden jag kodade darttavlan lärde jag mig nya saker både inom matematik och programmering, och jag kommer inte på ett bättre sätt att göra detta.

Introduktion till darts

Inledning

Då jag lär mig nya sporter vill jag ofta betrakta dem ur ett matematiskt perspektiv. Darts är en gren som får mig att fundera på allt från algebra till spelteori, och därför vill jag ge en introduktion till hur man kan se på olika sporter och spel. Detta är främst en introduktion till spelformen 501, som är den absolut vanligaste spelformen när det gäller olika dartgrenar. I 501 startar man på 501 poäng varefter man ”kastar bort” poäng tills man når exakt 0. I artikeln kommer ”enheten” p att lämnas bort då man syftar på poäng.

Källa: https://en.wikipedia.org/wiki/Darts

Tavlan

Vi börjar med att gå genom några grundläggande saker då det gäller tavlan och poängräkning. Tavlan placeras så att bullen (mitten av tavlan) ligger på höjden 173 cm. På golvet markeras ett avstånd på 237 cm bakom vilket man måste kasta sina pilar. Tavlan är indelad i 20 lika stora numrerade sektorer (se bilden) som bestämmer hur många poäng sektorn är värd. Den yttersta ringen (dubbelringen) dubblar sektorns poäng och den inre ringen (trippelringen) ger tre gånger sektorns poäng. Exempelvis ett kast i trippelringen på sektor 8 ger 24. I mitten av tavlan finns bullen. Den består av den enkla bullen (gröna ringen) som ger 25 och den dubbla bullen (röda bollen) som ger 50.

501

501-matcher spelas en mot en. Man börjar alltså på 501 och spelar turer tills man når exakt 0. Dessutom måste man ”dubbla ut”, dvs. man måste nå 0 genom att kasta i dubbelringen. En tur går ut på att spelaren kastar tre pilar. Den spelare som först når 0, oberoende vem som börjar, vinner ett så kallat leg. Då man vunnit ett visst antal leg vinner man ett set, och efter ett visst antal vunna set vinner man matchen. Dessa antal beror på turneringen.

Beteckningar

Nästa steg i att börja studera 501 mera matematiskt är att definiera några olika beteckningar. Om vi betecknar en tur som t kan vi exempelvis skriva
t_2=(7,19,T7),
vilket skulle betyda att spelaren under sin andra tur kastade enkel 7, enkel 19 och trippel 7. Ett kast i dubbelringen betecknas med D.
Eftersom vi främst är intresserade av hur ett helt leg framskrider har vi orsak att nu ännu beteckna spelarens samtliga turer som
L = [t_1,t_2,\dots ,t_n].
Vi kan ännu beteckna spelarens totala poäng under ett leg som p(L). Om p(L)=501 så vann spelaren alltså ett leg.

Sats: Det krävs åtminstone 9 pilar för att avsluta ett leg.
Bevis: Vi gör ett motantagande, dvs. vi antar att det är möjligt att kasta 501 med 8 pilar eller färre, och samtidigt dubbla ut. För medelvärdet M av kasten gäller alltså nu att
M = \frac{501}{n} \geq \frac{500}{8} = 62,5 > 60 = T20.
Eftersom M>T20 vilket är det maximala poängantalet för ett kast, så har vi en motsägelse.

Följdsats: Det minsta antal pilar som krävs för att avsluta ett leg är 9.
Bevis: Låt L = [(T20,T20,T20), (T20,T20,T20), (T20,T19,D12)]. Då är p(L) = 501. Av detta exempel och på basen av föregående sats så är påståendet bevisat.
Ett leg som avslutats efter 9 pilar har fått namnet 9-darter eftersom de är rätt sällsynta. Exemplet ovan är den mest typiska 9-darter eftersom de professionella spelarna vanligtvis siktar på T20.S

Simons 12 livsregler: ett motgift mot ett totalt värdelöst liv

Min idol Jordan Peterson, professor i psykologi, kom i januari 2018 ut med boken ”12 Rules for Life: An Antidote to Chaos”, eller på svenska: ”12 livsregler: ett motgift mot kaos”. Jag har ännu inte läst boken, som nog ligger i kön, men ändå inspirerad har jag nu sammanfattat 12 egna livsregler som ska hjälpa dig i att göra rätt val i livet. Eller åtminstone hjälpa dig att inte göra fel val. Vissa punkter lönar sig att ta med en liter salt, eller egentligen alla för att inte förvirra någon. Så buckle up, Bucko! som Jordan skulle ha sagt, roughly speaking.

1. Studera någonting meningsfullt

Utforska dina intressen och analysera dina starka och svaga sidor. Lär dig att förstå dina egna värderingar och fundera på vad just du vill bidra med i samhället.

Undvik studieinriktningar som inte tar dig någonvart eller som endast erbjuder kurser i fullständigt nonsens. Sådana studieinriktningar är i princip alla humanistiska ämnen. Totalt skräp. Undvik även elitistiska och överskattade institutioner som Svenska handelshögskolan. ”Men hankeiterna är våra vänner!” Lol. Nämn en hankeit du är vän med.

Du kanske känner någon som studerar på Aalto-universitetet och har hört dem berätta många intressanta saker om sina studier. Men du begriper nivån av deras inkompetens då de förklarar att matematik handlar om att lösa svåra integralfunktioner. Undvik även alltså alla ingenjörsutbildningar.

Det bästa valet du kan göra är antagligen att studera naturvetenskaper, men undvik gärna exempelvis kemi, som i själva verket endast är en del av fysiken. Undvik också att studera fysik eftersom du i så fall tvingas handskas med approximationer och mambo jambo kvantfysik. Datavetenskap är ett någorlunda vettigt ämne, men det kräver att du lär dig programmeringsspråk, och språk är humanistiskt. Så skippa också datavetenskap.

Studera matematik är väl vad jag försöker att säga. No reward, men framför allt no risk.

2. Acceptera din existens

Yeah.

3. Se filmen Pulp Fiction

Det här är den bästa filmen i hela filmens historia, kanske någonsin. Mästerverket av Quentin Tarantino, från 1994, som vann en Oscar för bästa manuskript, har sedan närmare 10 år bakåt varit min favoritfilm.

4. Ha sex, eller spela åtminstone golf

Idén är att få orgasm, vilket båda dessa aktiviteter resulterar i. Regelbunden orgasm främjar både den fysiska och psykiska hälsan. Det kan även minska risken att insjukna i cancer. Om du trots detta får cancer så har du i alla fall lyckats leva ett åtminstone mediokert liv genom att följa denna regel. Det är alltså en win-win-situation. Men kom dock ihåg att sex måste vara ömsesidigt medan det å andra sidan är socialt acceptabelt att tvinga med en vän till golfbanan.

5. Gå på en inflyttningsfest, förstör en stol

Ibland måste man satsa på kortvarig lycka för att balansera det med långvarig olycka som annars skulle leda till depression.

4. Uttryck dig med precision

Använd inte vaga och inexakta idéer som \sin x \approx x och liknande så kallade ”regler”. De är helt BS!

5. Gå med i Spektrums redaktion

Lägg dina studier åt sidan helt och hållet för en längre tid och börja skriva meningslösa artiklar om allt och ingenting. Att skriva texter som inte direkt har med dina studier att göra kan leda dina tankar in på nya stigar och du kan lära dig nya saker om dig själv. Dessutom tvingar skrivandet dig att artikulera dina tankar på ett sådant sätt att andra människor lyckas fånga ditt budskap. Att skriva utvecklar även ditt språk och expanderar ditt ordförråd. Men vad är meningen med allt detta trams? Jo, det hjälper dig i förverkligandet av följande punkt.

6. Trigga någon

Att trigga någon är ett komplext socialt fenomen som kräver djup och noggrann analys av både ens eget och offrets tankesätt, kunskap och värderingar. En bra trigg sårar inte offrets känslor, utan placerar denna i ett obehärskat och defensivt tillstånd i ett par minuter, innan förståndet tar tillbaka offret till verkligheten.

Man blir aldrig en perfekt triggare, utan det finns alltid utrymme för förbättring, och det bästa sättet att bli bättre är att öva. Börja med att trigga dina närmaste vänner som du vet att kan hantera det, och när du behärskar tekniken så kan du börja trigga svagare och mera instabila individer, exempelvis humanister.

7. Bevisa Eulers identitet

Visa att e^{i\pi}+1=0.

8. Skicka smöret

Om du upplever svåra tider och kontinuerligt misslyckas med att hitta en mening i det du gör så kan du alltid komplettera genom att vara den som skickar smöret vid frukostbordet.

9. Spela beerpong

Du har antagligen en lång och fruktansvärd sitz bakom dig där du tvingats socialisera och fått din sångboks peniskollektion utökad. Koppla av med ett eller fem spel beerpong. Alla är vinnare, speciellt de som förlorar. Dessutom utvecklar du din koordinations- och samarbetsförmåga. Det kan dock vara en bra idé att skippa det sista spelet.

10. Våga säga nej till Bang

Acceptera så tidigt som möjligt att kurstenten kommer att gå åt skogen och att varje räkneövningspoäng är viktig.

11. Var källkritisk

Undvik att använda så kallad ”teori” innan den är verifierad. Om du vill vara fancy schmancy så bevisar du själv alla satser innan du använder dem. Lita endast på axiom och definitioner om du vill sova gott om nätterna.

12. Sluta flexa och lev ditt liv