macht jemand beim icfp04 mit?



  • SeriousSam schrieb:

    Mit meinem Präprozessor gehts jetzt auch richtig vorwärts.

    jo, nen präpro hab ich auch gemacht. der kann bisher zwar nur einen befehl, den ich im ameisencode auch nur einmal verwende...



  • virtuell Realisticer schrieb:

    also im MinGW-DS doch schnell das Projekt beendet und das Testprojekt schnell erstellt. Debuggen an sich kein Problem, aber beim 'trace in' bei nem CTor aufruf kam ich dann ploetzlich beim DTor der
    vector-Klasse raus (?).

    jo, wirre trace-anzeigen haben mich vor ein paar wochen beim mingw-studio auch enorm genervt. also hab ich meinen stil geändert und muß jetzt kaum noch debuggen.



  • volkard schrieb:

    virtuell Realisticer schrieb:

    also im MinGW-DS doch schnell das Projekt beendet und das Testprojekt schnell erstellt. Debuggen an sich kein Problem, aber beim 'trace in' bei nem CTor aufruf kam ich dann ploetzlich beim DTor der
    vector-Klasse raus (?).

    jo, wirre trace-anzeigen haben mich vor ein paar wochen beim mingw-studio auch enorm genervt. also hab ich meinen stil geändert und muß jetzt kaum noch debuggen.

    Das sollte ich wohl auch machen 🙂

    mfg
    v R



  • Als meine ersten Ameisten absolut keine Chance gegen den vordefinierten Code hatten und auch nach einigen Umbauten nicht viel besser wurden hab ichs dann hingeschmissen 😞

    Wann darf man die Killerameisen des Gewinners downloaden? Wär gespannt wie die das gemacht haben 🙂

    MfG SideWinder



  • Ich nehme mal an, die Gewinner haben keine Zeile Ameisencode von Hand geschrieben. Letztes Jahr verwendeten die Gewinner soweit ich weiss ja genetische Algorithmen. Wird aber interessant sein, die Ameisen auf meinem grafischen Simulator zu betrachten.



  • Nachdem die Tore geschlossen sind...

    Hier ist was ich eingeschickt habe: http://www.acid-code.ch/~samuel/icfp04.zip

    Und wehe jemand kritisiert meinen Programmierstil. 🙄 Dafür, dass ich fast normal geschlafen habe und erst am Samstag morgen begonnen habe ist das wohl nicht so übel.

    Habt Spass 🙂



  • SeriousSam schrieb:

    Ich nehme mal an, die Gewinner haben keine Zeile Ameisencode von Hand geschrieben. Letztes Jahr verwendeten die Gewinner soweit ich weiss ja genetische Algorithmen. Wird aber interessant sein, die Ameisen auf meinem grafischen Simulator zu betrachten.

    glaub ich nicht. hab fast nen tag lang mit genetik gespielt, das bring hier aber nix, würde ich sagen.
    handgeschrieben ist bei mir die logik mit 133 zeilen, eingespleißt sind ein paar makros 2500 zeilen erzeugen.

    aber ich bin nicht fertig geworden. irgendwie gibts bei jedem zweiten start vor meinem vorratslager nen stau.



  • Trotzdem glaube ich nicht, dass der Gewinner einen handgeschriebenen Ameisencode entwickelt hat.

    MfG SideWinder



  • Ich hab das ganze nur mal kurz überflogen, wie funktionieren die Ameisen denn genau?
    Wenn ich es richtig verstanden habe, dann schreibt jeder Teilnehmer seine Ameisen in nem speziellen Code für ne Finishing State Machine, oder?



  • SirLant schrieb:

    Ich hab das ganze nur mal kurz überflogen, wie funktionieren die Ameisen denn genau?
    Wenn ich es richtig verstanden habe, dann schreibt jeder Teilnehmer seine Ameisen in nem speziellen Code für ne Finishing State Machine, oder?

    Das Testprorgamm lädt die zwei Ameisengehirne in die Map und führt für jede Ameise hintereinander, 100000 Runden lang das Gehirn aus. Das Gehirn ist in einer Scriptsprache geschrieben die jeweils 1 Befehl speichert. Dabei kann man Bedinungen prüfen und je nach Bedingung auf andere Befehle verzweigen.

    MfG SideWinder



  • SeriousSam schrieb:

    Nachdem die Tore geschlossen sind...

    Hier ist was ich eingeschickt habe: http://www.acid-code.ch/~samuel/icfp04.zip

    Und wehe jemand kritisiert meinen Programmierstil. 🙄 Dafür, dass ich fast normal geschlafen habe und erst am Samstag morgen begonnen habe ist das wohl nicht so übel.

    Habt Spass 🙂

    Hmmm...soviel Code hab ich gar nicht. Hab auch keinen richtigen Preprozessor
    sondern hab mir nur ne Klasse 'Instruction' gemacht, welche mir die
    entsprechenden Informationen bereitstellt, allerdings hat die gar nicht soviel
    Code. Ich komme im Moment nur auf 18kbyte Code, da fehlen zwar noch en paar
    kleine Funktionen, welche ich noch fertigschreiben muss, aber soviel wird das
    nicht mehr.

    Da stell ich mir dann doch jetzt schon im Voraus die Frage, ob mein Code richtig
    sein kann.

    Mir ist auch gar nicht eingefallen, den Code nur einfach so runterzuschreiben,
    ich hab mir gleich direkt Gedanken ueber Objekte gemacht (hab da World, Cell,
    Ant und Instruction), wahrscheinlich waere ich sonst doch noch schneller zu mehr
    gekommen, aber das hatte SideWinder ja schon weiter o. gesagt gehabt.

    Naja, mein Notebook ist heut wieder angekommen und dann werd ich mich mal gleich
    ranmachen, den Code fertig zu schreiben. Falls interesse besteht, werd ich den
    dann auch mal zum Download zur Verfuegung stellen.

    mfg
    v R



  • Schade, zu spät gelesen. Sonst hätte ich natürlich mitgemacht und gewonnen. Nächstes Jahr bitte eher Vorstellen und mit Aussagekräfitgerem Titel !!!!!



  • Physikstudent schrieb:

    Schade, zu spät gelesen. Sonst hätte ich natürlich mitgemacht und gewonnen. Nächstes Jahr bitte eher Vorstellen und mit Aussagekräfitgerem Titel !!!!!

    Bitte deine Ameisenversion in 3 Tagen hier abliefern - die müssen dann gegen den icfp04-Gewinner ran 🙂

    MfG SideWinder



  • Nee, da fehlt der Anzreiz.



  • Physikstudent schrieb:

    Nee, da fehlt der Anzreiz.

    Ich dachte schon du hättest einen dringenden Termin 🤡 😉

    MfG SideWinder



  • ich sag euch mal meinen plan:
    die marker verwende ich wie folgt:
    m4: feld ist bewertet
    m0-m3: bewertung (interpretiert als binärzahl zwischen 0 und 15)
    m5: ameisenstraße

    trifft ne ameise auf ein unbewertetes feld, bewertet es diese anhand eines sichbaren nachbarn mit this->wert = nachbar->wert+1

    dadurch kann jede amaeise im falle eines futterfundes optimal schnell heimlaufen, sie muß ja nur stets auf ein niederwertigeres als das aktuelle feld tappen. sie wird sicher bei feld 0 ankommen.

    ups, alle werte sind modulo 16, aber egal. die funtion < ist halt entsprechend zu bauen.

    feld 0 ist in ner "festung", die so aussieht:

    + +
    + 0
     + +
    

    in feld 0 kann nie ne fremde ameise gehen, denn da stirbt sie sofort.
    meine ameisen gehen einfach rein, worauf der stopfen (s)

    + +
    s 0
     + +
    

    sofort wegrennt. die reingegangene ameise legt auf feld 0 die beute ab und springt zum programmcode von s (sie wird der neue stopfen).

    ne ameise, die futter fand, legt auf ihrem rückweg immer Marker 0 5 ab, eine ameisenstraße. findet ne gelangweilte ameise ne straße, geht sie die straße hinauf (entsprechend der bewertungen) und am be futterfund geht sie heim (legt neue strasse dazu). ist aber am ende gar nix, löscht sie den straßenmarker am endfeld. so verschwinden straßen zu inzwischen leeren plätzen allmächlich.

    da klappt sogar alles soweit fast. allein mein problem ist, daß sich manchmal ne ameise, die zu feld 0 will, um futter abzuliefern, auf feld s landet und dann den ausgang der festung blockiert.



  • Aber sollte das nicht eigentlich _nicht_ passieren, denn du hast doch dieses Feld
    belegt solange keine Ameise auf Feld 0 ist?

    Merkwuerdiges Verhalten. Bin leider immernoch nicht soweit, meine Simulation fertig
    zu uebersetzen. Morgen hab ich die ersten beiden Schulstunden frei, da werd ich
    dann auch nochwas daran arbeiten.

    Wer weiss, vielleicht werden in diesen beiden Stunden meine Killerameisen geboren 😃

    mfg
    v R



  • Noch ne Frage zu clearMarkerAt():

    Was genau wird hier gemacht? Soll hier current_marker-1 gesetzt werden, oder
    soll current_marker auf 'no_marker' gesetzt werden?

    [Nachtrag]
    Lesen sollte gelernt sein und zusaetlich, sollte man selbiges auch mal konzentriert
    tun, dann haette ich die frage nicht gestellt 🙂
    [/Nachtrag]

    mfg
    v R



  • Jetzt muss ich doch nochmal was fragen, koennen Marker von Red und Black zugleich
    gesetzt sein?

    mfg
    v R



  • virtuell Realisticer schrieb:

    Jetzt muss ich doch nochmal was fragen, koennen Marker von Red und Black zugleich
    gesetzt sein?

    ja.


Anmelden zum Antworten