Montag, 17. Oktober 2011

Monte Carlo

Ihr mögt auch keine Stochastik? Ödes Ausrechnen von Wahrscheinlichkeiten?
Tja, zum Glück gibt es ja auch noch die "Monte Carlo" Methode, die nach einem kleinen Land mit großem Kasino benannt ist, weil sie viel mehr Spaß macht als klassische Stochastik.
Das einzige, was man braucht, ist ein guter Zufallsgenerator und ein bisschen Rechenzeit.
Für eine Million Pokerhände je fünf Karten habe ich folgende Verteilung "erwürfelt".

Update: Jetzt mit allen Kombinationen:

Über 2e+06 Runden (1e+07 verteilte Karten) gesammelte Messwerte
8 x 250.000 x 5 Karten
              #     1     2     3     4     5     6     7     8  Summe         %    Wiki
           Pair  105k  105k  105k  105k  105k  105k  106k  105k   845k  42.2824%   42,26 %
       Two Pair   11k   11k   11k   11k   11k   11k   11k   11k  94991   4.7496%    4,75 %
Three of a Kind  5245  5220  5333  5191  5164  5226  5248  5334  41961   2.0980%    2,11 %
       Straight   986  1006   932   945  1012  1008   960  1006   7855   0.3927%    0,392 %
          Flush   552   473   483   501   512   460   453   511   3945   0.1972%    0,197 %
      Fullhouse   338   384   346   339   342   343   368   381   2841   0.1420%    0,144 %
 Four of a Kind    65    62    75    62    86    66    61    53    530   0.0265%    0,0240 %
 Straight Flush     2     3     3     4     4     2     3     6     27   0.0013%    0,00139 %
    Royal Flush     1     1     0     1     0     0     1     0      4   0.0002%    0,000154 %



Vergleicht man die Werte mit den theoretischen Erwartungen laut Wikipedia (letzte Spalte), dann sieht man, dass ich bis zu den Fullhouses ziemlich gut liege. Für Straight Flush und Royal Flush sollte ich dann vielleicht doch eher einhundert Million Blätter verteilen.

In 1000000 Runden wurden
 3891 Straight
 1901 Flushs
 1497 Fullhouses
     13 Straight Flush
       3 Royal Flush
verteilt


Den Klassiker -- Pi auszuwürfeln/-werfen -- hatte ich hier ja schonmal vorgestellt.

Dienstag, 4. Oktober 2011

ssh

Ihr kennt ja schon mein Fable für schlechte Fotos... aber für die Webcam musste ich nunmal nicht aufstehen. (seid froh, dass ich da keinen Cheese Filter drübergelget habe :D)
Was sieht man auf diesem Bild? Genau eine bash. Und obwohl das Ding, wie ein Smartphone aussieht, blickt man durch diese bash direkt in ein Ubuntu (eigentlich Mythbuntu). Eigentlich will ich damit nur sagen, dass ssh eine super Sache ist. Ich habe damit zwar noch nicht viele nützliche Dinge gemacht, aber dennoch kann ich jetzt von überall auf der Welt gucken, wie warm der Computer ist. Oder ich könnte X Fenster auf dem Computer laufen lassen und auf einem anderen anzeigen lassen. Ich glaube es gibt nichts, was man mit ssh nicht machen könnte. Ich muss nur noch irgendwas sinnvolles finden.
Und wen es intressiert: Das Android Programm, das hier abgebildet ist, heißt "ConnectBot"
Das ist zwar nicht das einzige Programm, aber es funktioniert gut, und kann auch mit pubkeys umgehen.

Montag, 3. Oktober 2011

Snake

Und wenn ich Snake sage, meine ich das Beste, was Nokia Handys zu bieten haben. Jedenfalls vor 10 Jahren -- vermutlich immer noch. Aber weil ich kein Nokia Handy habe, habe ich mir Snake schnell selbst geschrieben -- in C.
Die Darstellung ist etwas suboptimal, aber dafür, dass es einfach nur auf stdout schreibt, fühlt es sich doch sehr gut an.
Was man noch erwähnen sollte: man steuert mit WASD.
Update:
Jetzt gibt es eine neue Version, die auf ncurses aufsetzt. Neben der verbesserten "Grafik" kann man jetzt auch die Pfeiltasten zur Steuerung benutzen. Außerdem wirkt es sehr viel eleganter.
Im Paket befinden sich die Linux Binary und Quellen.