Google AI Challenge

Moderator: Aktive Fachschaft

Benutzeravatar
leviathan
Computerversteher
Computerversteher
Beiträge: 307
Registriert: 30. Jul 2008 14:26
Wohnort: Darmstadt
Kontaktdaten:

Re: Google AI Challenge

Beitrag von leviathan »

Tigger hat geschrieben:Naja, die wirklich spannende Sache finde dich die Bewertung der Planeten die man erobern will. Der Trick ist, die o.g. Faktoren richtig zu gewichten. Wenn mein Bot mal Bugfrei läuft muss ich das erstmal richtig tunen. Cool wäre natürlich ne eigene Testbench, die diese Parameter zumindest gegen die ExampleBots optimieren kann. Aber da bin ich noch weit von weg ;)
Ein lernendes System verwenden und den die Parameter von selbst tunen lassen? :)
Ein Programmierer hat immer eine Lösung. Die passt nur nicht immer zum Problem.

Hiwi für Weiterentwicklung des Lernportals (Moodle).

Benutzeravatar
Tigger
Kernelcompilierer
Kernelcompilierer
Beiträge: 404
Registriert: 26. Okt 2007 17:35
Wohnort: Hofheim
Kontaktdaten:

Re: Google AI Challenge

Beitrag von Tigger »

leviathan hat geschrieben:
Tigger hat geschrieben:Naja, die wirklich spannende Sache finde dich die Bewertung der Planeten die man erobern will. Der Trick ist, die o.g. Faktoren richtig zu gewichten. Wenn mein Bot mal Bugfrei läuft muss ich das erstmal richtig tunen. Cool wäre natürlich ne eigene Testbench, die diese Parameter zumindest gegen die ExampleBots optimieren kann. Aber da bin ich noch weit von weg ;)
Ein lernendes System verwenden und den die Parameter von selbst tunen lassen? :)
Genau an sowas hatte ich gedacht. Schade nur, dass man auf dem Google-Server keine Dateien schreiben kann. So kann man seine Parameter nur gegen die Example-Bots tunen.

Benutzeravatar
leviathan
Computerversteher
Computerversteher
Beiträge: 307
Registriert: 30. Jul 2008 14:26
Wohnort: Darmstadt
Kontaktdaten:

Re: Google AI Challenge

Beitrag von leviathan »

Tigger hat geschrieben:Genau an sowas hatte ich gedacht. Schade nur, dass man auf dem Google-Server keine Dateien schreiben kann. So kann man seine Parameter nur gegen die Example-Bots tunen.
http://ai-contest.com/forum/viewtopic.php?f=18&t=424

Nutze den TCP Server. Da kann man seinen Bot eigentlich beliebig oft spielen lassen, und die Gegner sind größtenteils recht stark. Ich glaube recht viele aus den Top100 des Hauptservers tunen ihre Bots da.
Ein Programmierer hat immer eine Lösung. Die passt nur nicht immer zum Problem.

Hiwi für Weiterentwicklung des Lernportals (Moodle).

Benutzeravatar
Tigger
Kernelcompilierer
Kernelcompilierer
Beiträge: 404
Registriert: 26. Okt 2007 17:35
Wohnort: Hofheim
Kontaktdaten:

Re: Google AI Challenge

Beitrag von Tigger »

leviathan hat geschrieben:
Tigger hat geschrieben:Genau an sowas hatte ich gedacht. Schade nur, dass man auf dem Google-Server keine Dateien schreiben kann. So kann man seine Parameter nur gegen die Example-Bots tunen.
http://ai-contest.com/forum/viewtopic.php?f=18&t=424

Nutze den TCP Server. Da kann man seinen Bot eigentlich beliebig oft spielen lassen, und die Gegner sind größtenteils recht stark. Ich glaube recht viele aus den Top100 des Hauptservers tunen ihre Bots da.
Joa, an dem hab ich mich auch schon versucht. Leider funzt da mein Bot nicht, ka woran's genau liegt. Muss ich nochma auf Fehlersuche gehen...

dk1001
Mausschubser
Mausschubser
Beiträge: 44
Registriert: 14. Okt 2008 12:30

Re: Google AI Challenge

Beitrag von dk1001 »

Tigger hat geschrieben:Da kriegt man besonders bei Fleetspammern (dk1001 böse anschau :mrgreen: ) Probleme. Im Extremfall könnte man bei jedem Angriff einfach viele Flotten der Größe 1 verschicken. Da killt man jeden Bot der die Fleets analysiert. Darüber wird sich im Forum schon beschwert.
Naja, lauter 1 Flotten verschicke ich dann ja auch wieder nicht - kann allerdings passieren, dass ich mehrere Flotten mit dem selben Ziel aussende. 0-Flotten sind meines Wissens inzwischen Gott sei dank verboten… (1-Flotten oder überdeckende Flotten werden aber wohl nie verboten, da das RandomBots oder allgemein den Anfang nur unnötig erschwert).

Ich nehme übrigens auch ein paar Berechnungen vor über die Flottenbewegungen um z.B. anderen Planeten auszuhelfen und um zu prüfen wie der Angriff auf einen Planeten so läuft hab zeitlich aber eigentlich keine Probleme. Ich gehe über die Menge der Flotten aber ohnehin nur ein einziges Mal um für jeden Planeten zu notieren in welcher Runde welche Anzahl Schiffe von welcher Person ankommen - woher die ehemals kamen bzw. wie groß die einzelnen sind ist ja egal, hauptsache ich weiß, dass in 5 Runden 50 feindliche Schiffe ankommen… (naja, meistens jedenfalls) das gehört überhaupt gerade zum Witz - ich hatte in der Berechnung eine Dreher drin, sodass im Endeffekt der am weitesten entfernteste Planet einem anderen aushelfen wollte, statt der der am nächsten dran ist - mit diesem Bug zeitweilig auf Platz 60 und jetzt Dümpel ich mit korrektem Defensivverhalten auf ~700 rum, dass ist doch mal richtig logisch. Der oben angedachte (Datalog) Bot würde daraus wohl lernen, dass Verteidigung nur was für Schwächlinge ist… ;)
MfG. David Kalnischkies
"Sprächen die Menschen nur von Dingen, von denen sie etwas verstehen, die Stille wäre unerträglich."
"If Java had true garbage collection, most programs would delete themselves upon execution." -- Robert Sewell

robert.n
Nerd
Nerd
Beiträge: 673
Registriert: 29. Sep 2008 19:17

Re: Google AI Challenge

Beitrag von robert.n »

Mein Bot hat es heute gerissen:
Bild

:shock: Platz 3 :shock: , zumindest kurzweilig. Zugegeben, das Ranking spielt seit gestern irgendwie verrückt (aber es gibt jetzt dutzende Spiele / Stunde). Mal sehen ob sich das nochmal einpendelt bzw. stabilisiert.
Im Moment ist der Bot noch in den Top 10. Und wenigstens mal schön die RWTH Aachen geowned. :D

philippD.
Mausschubser
Mausschubser
Beiträge: 54
Registriert: 1. Okt 2008 12:50

Re: Google AI Challenge

Beitrag von philippD. »

hab mich jetzt auch mal angemeldet... leider hab ich aber unerklärliche fehler, vielleicht weis ja einer was:

Code: Alles auswählen

		int distance = pw.Distance(dest, p);
		if(p.Owner() >= 2){
	    	p.AddShips(distance*p.GrowthRate());
	    }
geht nicht, verliere immer in der ersten Runde

Code: Alles auswählen

		if(p.Owner() >= 2){
	    	p.AddShips(pw.Distance(dest, p)*p.GrowthRate());
	    }
geht!

deprimierend das spiel ^^

Antworten

Zurück zu „Offtopic“