Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Algorithmus finden » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Algorithmus finden
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
DocAslan
Grünschnabel


Dabei seit: 16.11.2016
Beiträge: 1

Algorithmus finden Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Hallo Informatikerboard,
ich hätte mal eine Frage zu einem Spiel, da ich dafür jetzt noch einen Bot programmieren wollte und ich vielleicht bei einem Algorithmus hilfe bräuchte, um den möglichst effizientesten Bot den es geht zu programmieren.



Meine Ideen:
Zunächste eine kleine Anleitung für das Spiel:

-Es gibt ein großes Feld, in dem eine variable Anzahl an Felder mit zufällig generierten Zahlen aus einer variablen Reichweite.
-Das Spiel funktioniert Rundenbasiert, heißt ich bin am Zug, der Gegner ist am Zug etc.
-Folgende Regel gilt, Spieler 1 klickt auf eine Zahl und bekommt die genau Zahl für seine Punkte gutgeschrieben. Der Gegenspieler bekommt jedoch auch Punkte gutgeschrieben, undzwar alle Faktoren der angeklickten Zahl.
>Beispiel: Spieler 1 klickt auf die Zahl 20, bekommt für seinen Zug 20 Punkte gutgeschrieben. Spieler 2 bekommt trotz des Zuges des anderen die Punkte 1,2,5,10 gutgeschrieben, da dies die Faktoren von 20 sind. Dabei verschwinden die Zahlen, falls auf dem Feld vorhanden natürlich nicht!
-Das Spiel endet, sobald alle vorhandenen Zahlen, die auf dem Feld sind, eingesammelt wurden. Die höchste Punktzahl gewinnt.

>> Also meine Idee für den bestmöglichen Bot wäre, dass dieser die Felder durchgeht und nach den höchsten Primzahlen schaut, da diese Zahlen nur den Faktor 1 und sich selber besitzen.
>>> Beispiel: 19, man wählt diese, bekommt 19 Punkte und das gegenüber 1, da der Faktor 1 vorhanden ist.
Sobald alle Primzahlen ausgeschöpft sind, ist nun die Frage wie es voran geht. Ist es nun effizienter, alle kleinen Zahlen durchgehen zu lassen, um so dem gegenüber so wenig Punkte wie möglich zu geben, da man bei den Primzahlen schon stark abgeräumt hat? Oder sollte man trotzdem auf die noch vorhandenen Großen Zahlen gehen, wobei man riskiert, dass der Gegner durch jegliche Faktoren die er gutgeschrieben bekommt vielleicht doch noch aufholt.

Folgendes letztes Beispiel hab ich mir schon durch den Kopf gehen lassen:

Spieler eins klickt auf die Zahl 19.
Spieler 1: 19, Spieler 2: 1
Spieler zwei ist nun am zug und wählt die 20.
Spieler 1: 37, da (1+2+5+10+19), Spieler 2: 21

Dadurch ist Spieler 1 schon sehr weit vorne und müsste doch nun nur noch sicher spielen oder irre ich mich da?

Freue mich auf jegliche schnelle Hilfe!
Bitte bei der Beantwortung daran denken, dass der bestmögliche und effizienteste Bot der möglich ist programmiert werden soll. Regelrecht unschlagbar.
Das Implementieren kann ich, da brauche ich keinen der mir das vorkaut, bloß stehe ich auf dem Schlauch welche Vorgehensweise doch die effizienteste ist.
16.11.2016 22:37 DocAslan ist offline E-Mail an DocAslan senden Beiträge von DocAslan suchen Nehmen Sie DocAslan in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

RE: Algorithmus finden Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Der Gegenspieler bekommt jedoch auch Punkte gutgeschrieben, undzwar alle Faktoren der angeklickten Zahl.

Du meinst Teiler.

Was machst du, wenn neben der 19 auch die 95 (=5*19) möglich ist? Die gibt für dich 95 Punkt und für den Gegner 1+5+19=25.

Berechne für jede Zahl deine Punkte und die des Gegners. Dein Gewinn ist die Differenz aus beidem. Suche einfach nach dem größten Gewinn.

__________________
Syntax Highlighting fürs Board (Link)
17.11.2016 06:43 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Algorithmus finden