Akinator - wie funktioniert's?

  • http://www.akinator.com/

    Ich habe mich gefragt, wie ich ein solches Programm implementieren würde. Hier einige meiner Ideen: (In den folgenden Absätzen gilt: ich = das Programm)

    Angenommen, man kann nur mit "Ja", "Nein" oder "Weiß nicht" antworten: Ich würde zuerst eine Frage stellen, die etwa 50% der möglichen Charaktere eliminiert, sowohl wenn der Benutzer mit "Ja" oder mit "Nein" antwortet. Ich würde so weitermachen, bis nur 1 Charakter übrig bleibt.

    Nun könnte es passieren, dass 0 Charaktere übrig bleiben. In diesem Fall müsste ich einige Antworten neu überdenken; sie könnten falsch gewesen sein. Ich würde damit anfangen, zuerst eine Antwort zu ignorieren, so dass nur 1 Charakter übrig bleibt, wenn das möglich ist. Oder wenn nicht 1 Charakter, dann die geringstmögliche Anzahl von Charakteren. Dann würde ich weitere Fragen mit dem oben beschriebenen Algorithmus stellen.

    Akinator gestattet auch, mit "Wahrscheinlich ja" oder "Wahrscheinlich nein" zu antworten. Ich würde diese Antworten wie "Ja" bzw. "Nein" behandeln, aber wenn es dazu kommt, dass ich eine Antwort überdenken muss, würde ich zuerst eine dieser Antworten wählen. Das heißt, ich würde in dieser Menge von Antworten nach der Antwort suchen, die zu überspringen die geringst mögliche Anzahl von Charakteren ergibt.

    Die Datenbank wird auf dem basierend, was mir die Benutzer beibringen, konstruiert. Die größte Anzahl der "Ja"- bzw. "Nein"-Antworten auf jede Frage wird für jeden Charakter gespeichert. Das sind die Daten, auf denen mein Raten basieren wird.

    Ich frage mich, wie ähnlich diese Ideen dem tatsächlichen Algorithmus von Akinator sind?

  • Ich würde das mit logischer Programmierung lösen. Du hast eine riesige Wissensbasis, die enthält das, was das Programm an Personen kennt und über diese weiß. Dazu kommen dann die Antworten auf die dem Benutzer gestellten Fragen. Daraus kann auf eine Menge von Personen geschlossen werden, die in Frage kommen. Je mehr Fragen beantwortet werden, desto kleiner wird die Menge, irgendwann ist sie einelementig und du hast die Person, die sich der Benutzer vorstellt.

  • stimme paulchen zu. hätt auch gesagt, dass das nach logischer programmierung aussieht....

    zum akinator selbst: anscheinend hat er noch kleine schwächen, da er mich bei der gleichen person fragt, ob diese real ist (ja), dann ob sie existiert (ist doch das gleiche, oder), und danach irgendwann mal, ob sie fliegen kann?

    aber ansonsten ist der manchmal echt schnell (vorausgesetzt man gibt ihm klare antworten)

    "ich bin so kluk. K-L-U-K"
    (Homer Jay Simpson)

  • Ich glaube, dass der Algorithmus etwas komplexer ist. Manchmal sieht es so aus, als ob dem Akinator "ein Licht aufgeht". Ich vermute, dass das Programm Hypothesen aufstellt, welche Person gemeint sein könnte, und dann gezielt danach fragt, bis alle Personen bis auf diese eine ausgeschlossen werden konnten - oder sich die Hypothese eben als falsch herausgestellt hat. Aber wann und wie das Programm solche Hypothesen aufstellt, ist mir nicht klar.

  • Wenn nur noch eine Person unter den 100/1000/... meistgesuchten Personen übrig bleibt?

    ich hab adoks frage so verstanden, dass der akinator nicht erst eine hypothese stellt, wenn nur noch eine person übrig ist, sondern schon vorher.
    also sagen wir, es würden für ihn noch 20 personen in frage kommen, dann versucht er nicht mehr diese gruppe einzuschränken, sondern hat schon eine konkrete vorahnung/hypothese und fragt gezielt zb: "spielt die person in der serie X mit?".

    diese technik könnt ich mir mit wahrscheinlichkeiten gut vorstellen.
    also wenn die zu eratene person mit einer aus seiner wissensbasis mit einer bestimmten wahrscheinlichkeit übereinstimmt (zb 80%), dann stelle die hypothese auf... wenn diese sich als falsch heraus stellt, gehe wieder von der eingegrenzten personengruppe aus (natürlich ohne der person von oben), schränke weiter ein und versuche wieder so früh wie möglich eine neue hypothese aufzustellen...

    (aber das ist nur eine idee von mir :D )

    "ich bin so kluk. K-L-U-K"
    (Homer Jay Simpson)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!