Ich lach mich gleich kaputt.
@Shirley Iuga du denkst am Problem vorbei.
Wieviele solche abfragen willst dein Eingeben 10,100,...1000 ....
Ich würde die vielen Fragen nicht Eingeben, ich würde die Fragen (und die korrekte Antwort) per Code generieren.
Das ist bisschen wie mit einem Zahlenschloss am Fahrrad, mit 5 Ziffern. Die Dinger kann man ziemlich leicht knacken, weil man eigentlich einfach nur durchprobieren muss. Nur gibt es 10^5 Möglichkeiten für das Schloss, deswegen dauert das Brute-Force-Knacken auch dann, wenn man 2 Zahlen pro Sekunde hin kriegt, damit über einen halben Tag. Die Dinger sind daher nicht wirklich sicher (weil es auch beim 1. Versuch auf sein kann), aber in der Regel sicher genug um ein Fahhrrad fürs Brötchenholen vor dem Bäcker zu sichern. Einfach weil die Chance, dass die richtige Zahl bei 50 zufällig gewählten Zahlen dabei ist, immer noch im Promille-Bereich liegt.
Umgesetzt auf eine Fragen-Funktion könnte das z.B. bedeuten, dass man mit Zahlwörtern von 21 bis 99 arbeitet, von denen man Zufällig 3 Stück auswählt und die man mit zufälligen Mathematischen Operationen verknüpft. So dass es genau 1 Eindeutige Lösung für die Gleichung gibt.
Für die Konstruktion eingeben muss man da dann nur {"eins",...,"neun"}, {"und"}, {"zwanzig",...,"neunzig"}. Und noch {plus} und {minus}. Also eigentlich drei sehr kleine Alphabete, die man mit einer simplen Regel zu einem Satz (also einer zu lösenden Gleichung) kombinieren kann. Damit kann man schon ziemlich viele verschiedene Kombinationen generieren (eben fast alle Zahlen von 21 bis 99), d.h. 72 verschiedene Zahlwörter. Da man davon drei Stück (da in drei Positionen) generiert hat man dann über 300 000 mögliche Kombinationen von drei Zahlwörtern. Und wenn man die dann noch nicht nur addiert, sondern auch mal subtrahiert als Verknüpfung kommt man auf 9 x 300 000 = 2 100 000 mögliche Fragenvarianten.
Aus nur 14 Wörtern.
Das kann man natürlich nicht mehr als Lexikon abbilden, in dem man je nach Frage einfach nachschlägt, der Botbetreiber muss daher zwangsläufig mit einer "Worterkennung" arbeiten.
Wenn man nun einfach die normalen Zahlwörter verwendet ist das immer noch kein Problem. Dann reicht ein Lexikon mit 72 Einträgen für die Zahlen und noch 2 für plus und minus.
Das kann man dann einfach Parsen und hat die Lösung in Sekundenbruchteilen.
Verschiebt oder löscht oder ergänzt man aber willkürlich Buchstaben in den Wörtern sieht das beim Parsen wieder anders aus. Das kann man dann nicht mehr eben mal so direkt parsen. Man muss jedes Wort entsprechend abgleichen. D.h. das Programm muss die Buchstaben so lange kombinieren, löschen oder addieren, bis es einen Treffer hat. Hört sich erst mal nach nicht viel an - aber ergibt viele viele Kombinationen, die das Programm durchtesten muss, vor allem wegen den willkürlich fehlenden oder ergänzten Buchstaben in den Wörtern. Da kommt man schnell zu Millionen von möglichen Kombinationen die man durchprobieren muss, bis man irgendwann ein Match hat beim Parsen. Man kann das bisschen Unterstützen, in dem man z.B. ein Korrekturprogramm bzw. dessen Funktionen zur Unterstützung nutzt - aber auch die Dinger haben nun mal ihre Grenzen.
Für einen Menschen ist das Lösen dieser Aufgaben einfaches Kopfrechnen, notfalls nimmt man eben den Taschenrechner um die Summen zu berechnen und die 10L$ zu bekommen. Während sich das maschinelle Lösen nicht wirklich lohnt, da sind irgendwann die Stromkosten um Welten höher als der Gewinn beim Beantworten.