Um zwei (deutsche) Professoren zu beeindrucken versuche ich die Spieltheorie zu verbessern.Spieltheorie mit Vorhersage
AI in Computerspielen. Spieltheorie: Intelligenz ist eine gut ausgebildete bewährte Antwort auf eine Frage. Dies bedeutet, dass eine durchdachte Entscheidung ist, einen Akt zu wählen, der zu einem optimalen Ergebnis führt.
Question -> Resolution -> Answer -> Test (Check)
Zum Beispiel ein Roboter kämpft einen anderen Roboter. Dieser Roboter hat drei Möglichkeiten:
-move forward
-hold position
-move backward
Das resultierende Programm ist recht einfach
randomseed = initvalue;
while (one_is_alive)
{
choice = randomselect(options,probability);
do_choice(roboter);
}
Wir Pseudozufälligkeit verwenden.
Der Test für den Erfolg ist einfach hat er den Gegner zu elimieren. Die Roboter haben Schießen automatisch Waffen:
struct weapon
{
range
damage
}
struct life
{
hitpoints
}
Jetzt für einige Evolution.
Wir lassen 2 Roboter gegeneinander kämpfen und erinnern uns an die Zufallssaaten. Was ist das Zeichen für einen erfolgreichen Roboter?
struct {
ownrandomseed;
list_of_opponentrandomseed; // the array of the beaten opponents.
}
Jetzt ist die Frage, wie wählen wir die richtige Strategie gegen einen Gegner? Wir gehen davon aus, dass wir für jede mögliche Seed-Strategie die optimale Anti-Strategie haben. Jetzt müssen wir nur noch die Zahlen des Gegners beobachten und seinen Startwert berechnen. Dann können wir die richtige Strategie wählen.
Für den Zufallsgenerator Knacken wir die manuelle Methode verwenden können: http://alumni.cs.ucr.edu/~jsun/random-number.pdf
oder Brute-Force: https://jazzy.id.au/2010/09/20/cracking_random_number_generators_part_1.html
Wenn Sie wissen, wie sich ein gegnerischer Roboter verhält, besteht eine geringe Chance, dass Sie den Samen berechnen können. Aber wie wollen Sie herausfinden, wie sich ein Roboter verhält, wenn er ihn nur anschaut? Es gibt keine Möglichkeit, dies a-priori auszuführen. Was lässt dich denken, dass ein Gegner sich immer genauso verhalten würde? –
Sie erhalten nur die Daten zur aktuellen Zeit, wie ein Hacker seine Daten bekommen würde. und der Gegner muss sich nicht gleich verhalten, es ist immerhin eine Zufallszahl. –
oh ich lese http://alumni.cs.ucr.edu/~jsun/random-number.pdf und dort muss der Hacker ein Wort erraten. –