Code Kata - Galgenraten

    1. Die Anzahl der Versuche richtet sich nach dem zufällig ausgewähltem Wort:
      Mein Vorschlag (mit nicht ganz trivialer Stochastik) zur Berechnung der Anzahl der Fehlversuche wäre daher hierzu folgender:

    Da habe ich direkt an folgende Methode gedacht:
    Die Entropie eines Worts ist (ungefähr) proportional zur Anzahl Bits, die eine Huffman-Kodierung (mit einem Tree der mit Wahrscheinlichkeiten für deutsche Buchstaben erstellt wurde) von diesem Wort ergibt. Mit unseren bereits implementierten Huffman-Kodierern sollte das trivial machbar sein (bzw. einfach mit der Entropieformel und der Wahrscheinlichkeitsverteilung der Buchstaben, den Kodierer braucht man ja nicht).

    Ein Problem ist natürlich, dass beim Galgenraten automatisch "alle" Vorkommen des Buchstabens und nicht nur das erste aufgedeckt werden, sodass die reine Entropie hier einen "zu großen" Wert liefert. Vermutlich reicht es das Wort auf die ersten Vorkommnisse zusammenzustauchen: "vorkommnisse" -> "vorkmnise", und dann die Entropie zu berechnen. Der Wert dafür müsste eigentlich ein guter Indikator dafür sein wie kompliziert es ist das Wort "zufällig, aber mit dem Wissen über die Buchstabenverteilung" zu erraten.

    In deiner stochastischen Analyse gehst du von einer Gleichverteilung der Buchstaben aus. Das sollte ein wenig zu kleine Ergebnisse liefern. Vielleicht kann man das irgendwie kombinieren und den "Ultimativen Galgenraten Versuchsanzahl Abschätzer" entwickeln :D

    lg

    M

  • Ich dachte schon ich übertreibe bisschen mit meinem Anspruch das etwas fundierter zu berechnen aber ich hatte wie so oft nicht mit dir gerechnet... :thumbup:

    In deiner stochastischen Analyse gehst du von einer Gleichverteilung der Buchstaben aus. Das ist quasi "genau in die andere Richtung" und sollte ein wenig zu kleine Ergebnisse liefern.

    Ja das stimmt tatsächlich und ging mir auch durch den Kopf.
    Das habe ich allerdings überhaupt nicht in Angriff genommen, da ich schon mit der einfacheren Stochastik hier zu kämpfen hatte.
    Das Problem ist nämlich kniffliger als man erst annimmt. Das Problem ist, dass die Anzahl der Versuche nicht fest ist, sondern nur bei Fehlversuchen gezählt werden.
    Am Ende habe ich einen Ansatz gefunden, welcher halbwegs stimmen sollte aber der Einfachheit halber, habe ich auch hier einen bestimmten Aspekt unterschlagen so dass die Wahrscheinlichkeiten nicht die 100% korrekten darstellen.
    Um deine Erweiterung mit den Buchstabenhäufigkeiten noch zu verkomplizieren mal noch ein anderer Gedanke hierzu:
    Prinzipiell müsste man erst einmal ermitteln mit welcher Wahrscheinlichkeit Nutzer Buchstaben zufällig auswählen.
    Dies unterscheidet sich ja noch von der tatsächlichen Buchstabenhäufigkeit für die es bereits hinreichende empirische Daten gibt.

  • (Ich habe meinen Beitrag noch 5x editiert, aber da war die Antwort schon da :D)

    Je komplizierter desto besser. Hmm... stimmt. Die Entropie muss auch noch an anderer Stelle ergänzt werden, weil die "Ziehungen" nicht unabhängig voneinander sind (es ist ja eine Ziehung ohne Zurücklegen) was in der Entropie nicht berücksichtigt wird... (also Wahrscheinlichkeitsverteilung nach jedem Schritt renormieren). Und dann noch das mit den Fehlversuchen die man erst weiß nachdem man danebenlag... Und die Wahrscheinlichkeitsverteilung von Nutzereingaben die sich von der üblichen Buchstabenhäufigkeit unterscheidet...

    Ich glaube das wird mir zu kompliziert.:saint:

  • und ich dachte wir proggen mal ein "kleines" Spielchen :rofl::rofl::rofl:

    PS: Eure Ansätze der Wahrscheinlichkeit geht weit über das geforderte Ziel hinaus und schreckt mögliche Interessenten eher ab.

    Ich hatte das "nur nebenbei" und auch nur mit einem Auge gelesen und umgesetzt.
    Wenn ihr mit solchen Ansätzen um die Ecke kommt crasht Ihr m.M.n. die Aufgabe und ich verabschiede mich wieder aus dem Kontest.

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Hmm, ich komme nicht drumrum das ich durchaus auch über einen dynamisch berechneten Wert für die Versuche nachgedacht habe, es aber verworfen habe und bei Stochastik wäre ich definitiv raus ;)

  • Ich liebe dieses Game. Früher haben wir es (sinngemäß) übersetz als "Rateklaus" genannt. :rofl:

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • ...

    PS: Eure Ansätze der Wahrscheinlichkeit geht weit über das geforderte Ziel hinaus und schreckt mögliche Interessenten eher ab.

    ...

    Ich bin momentan beruflich sehr eingespannt, so dass ich nicht mitmachen kann, aber ich finde so etwas immer sehr inspirierend.

  • ^^^ich habe mir grad eben erst dein video angesehen hoffe :D dich stört die gui nicht^^.

    Hi MojoeB 👋 , erstmal auch dir Danke für deine Einsendung.
    Ich habe mir weder deinen Code noch die GUI angeschaut, bin mir aber sicher das es mich nicht stören wird 😅 .

    Ich melde mich bei Gelegenheit mit einer zusammenfassenden Auswertung. Bitte nicht zu viel dazu erwarten, es soll nur ein paar Dinge beleuchten und keine akademische Analyse werden 😂 . Also, Danke und bis später.

    Viele Grüße
    Sven

  • Ich hab mich jetzt auch mal an die GUI gemacht :)
    Vielleicht habt ihr ja mehr Glueck als ich ^^

  • Ich habe bei der GUI bewusst auf den "echten Galgen" verzichtet, da dies noch sehr weit greifende Anpassungen erfordern würde, besonders wenn die Anzahl der Versuche dynamisch ist.

  • Ach wie kreativ ihr doch seid 👌 . Richtig cool dies so zu beobachten, wie aus 'ner kleinen "Übung", wieder einmal solche ... "ich kann das auch noch ausbauen und dann so" ... Aktionen entstehen. Danke und Lob an alle hier Teilnehmenden 🤝 .

    Ein Feedback zum bisher gezeigten folgt auch noch sobald es die Zeit hergibt und ich den Fokus wieder darauf setzen kann.
    Einen angenehmen Abend euch allen noch.

    Viele Grüße
    Sven