Coding-Contest?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Auf jeden Fall braucht's einen, der Englisch als Muttersprache hat, oder es ebenso perfekt gelernt hat...
    Ich hab allein für die Aufgabe 1 gut 2 Stunden gebraucht, um überhaupt zu verstehen, was die von mir wollen. Universen, die implodieren, wenn Suchmaschinen ihren eigenen Namen als Suchbegriff zu lesen bekommen... ja ne, is klar... *kopfschüttel*
    Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Jeder glaubt, er hätte genug davon.
    --------------------------------------------------(Rene Descartes)
  • Hm, ich find, die Sache ist eh gegessen ... allerdings brauchen wir uns da nicht über die google-geeks lustig machen, sondern sollten uns überlegen, warum die soviel besser sind als wir. (ich verallgemeiner einfach mal ;) )

    Also, wie sollten wir die Aufgabe 1 verstehen?
    So, wie ich's verstanden habe, sollte jeder Block, dessen Länge als Zahlenwert immer vorher angegeben war, als Liste von Suchmaschinen-Namen betrachtet werden. - Diese Namen durften von einem fiktiven "Suchmaschinen-Verteil-Zentralprogramm" nicht an Suchmaschinen übermittelt werden, deren Name selbst in der Liste auftaucht, jedoch sollte die Abarbeitung der Blöcke so gewählt werden, daß das Verteilprogramm möglichst selten von einer Suchmaschine zur nächsten umschalten muß.
    Die erste Zahl der Beispieldatei besagte hierbei, wieviele Alternativen aufgelistet werden sollten.
    Und so sah die Beispieldatei so aus:


    2
    5
    Yeehaw
    NSM
    Dont Ask
    B9
    Googol
    10
    Yeehaw
    Yeehaw
    Googol
    B9
    Googol
    NSM
    B9
    NSM
    Dont Ask
    Googol
    5
    Yeehaw
    NSM
    Dont Ask
    B9
    Googol
    7
    Googol
    Dont Ask
    NSM
    NSM
    Yeehaw
    Yeehaw
    Googol


    Und deren Beispiellösung dazu so:

    Case #1: 1
    Case #2: 0


    Ok, 2 Fälle, da in der Eingabedatei als erstes eine 2 stand. Klar.
    Dann die Blöcke, deren Zeilen jeweils so lang waren, wie es die Zahl immer vorher angab.
    Deine komplette Liste aller Suchmaschinen ergab sich ja, indem man die komplette Liste durchging, damit ein Array erstellte und numerische und doppelte Einträge entfernte.

    D.h. alle Suchmaschinen wären: Yeehaw, NSM, Dont Ask, B9, Googel

    Drum brauchte man ja nur noch jeden Block der Liste durchgehen und zu schauen, welche dieser Suchmaschinen jeweils NICHT in den Blöcken vorhanden sind und diese Blöcke anschließend gruppieren. Je nachdem, in welcher Reihenfolge man die Blöcke sortiert, erhält man mehr oder weniger unterschiedlich häufige Wechsel des Zentralsuchverteilers.
    Zumindest hatte ich es so verstanden. Aber die Beispielslösung paßt in diesem Fall vorne und hinten nicht. Jeder dieser Blöcke, abgesehen vom letzten, enthält ALLE Suchmaschinentypen. - Also: was hab ich mir falsch zusammengereimt?
    Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Jeder glaubt, er hätte genug davon.
    --------------------------------------------------(Rene Descartes)
  • Ich mal wieder... O-)

    Wenn man mal die Threads der letzten Tage querverknüpft, ergeben sich doch auch nette Ideen, die man umsetzen könnte: Coding-Contest, Spiel-Entwicklung, Spielsteuerung per selbstentwickeltem Bot (Bot-Contest), und nu auch noch ajaxbasierte graphische Animation.
    Im Grunde bieten diese Punkte sogar Neuerungen, die selbst bei den sonst üblichen Java- oder Flashbasierten Spielen fremd sind.
    Wir (oder "ich", aber ich hoffe, daß ich nicht der einzige bin, der an sowas Interesse hat) könnten ein Spiel entwickeln, welches frei von proprietären Addons benutzbar ist und eine offene Schnittstelle bietet, welche sowohl von Menschen, als auch von Bots gesteuert werden kann.

    Mein persönlicher Favorit als Spielevorbild wäre dabei Scorched (das alte Panzer vs. Panzer-Spiel - Winkel einstellen, Schußkraft einstellen, Feuer). Es wäre nicht so komplex wie z.B. Worms, würde aber auch die Möglichkeit bieten, mehrere Spieler, sowohl menschlicher, als auch nichtmenschlicher Art zusammenzubringen. Dabei könnte man verschiedene Arenen errichten, ähnlich dem Schema von Chaträumen, bei dem die Anwesenden bzw. ein Mod entscheiden darf, wer sprechen darf, oder auf's zusehen beschränkt ist. (in diesem Fall: wer schießen darf ;) ) Um es den Spielern nicht zu einfach zu machen und sich "einzuschießen", könnte man, wie in so manchen Varianten üblich, wechselnde Windstärken verwenden. Schwierig wird's imho lediglich das Spiel so zu gestalten, daß Bots nicht allzuleicht auf eine 100%ige Trefferquote kommen, wenn sie die Infos über Landschaft, Positionen der Gegner und Windgeschwindigkeiten erhalten.

    Hätte da jemand eine Idee?

    [EDIT]
    ... eigene Erweiterungen dazu:
    • Nur ganzzahlige Gradangaben für Mensch und Maschine möglich
    • Nur eine relativ schwache Wurfkraft für die Geschosse möglich (Schießpulvermangel ;)) - nicht, daß sich ein Bot z.B. einen Parabelflug mit einem Steigungswinkel von 89° leistet, oder aber eine quasi gerade Linie hinballert, wenn das Ziel nicht gerad 3cm neben ihm hockt.

    ...to be continued....
    Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Jeder glaubt, er hätte genug davon.
    --------------------------------------------------(Rene Descartes)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von McSush ()

  • Schwierig wird's imho lediglich das Spiel so zu gestalten, daß Bots nicht allzuleicht auf eine 100%ige Trefferquote kommen, wenn sie die Infos über Landschaft, Positionen der Gegner und Windgeschwindigkeiten erhalten.

    Richtig :D . Solche Spiele basieren auf der Unfähigkeit des Menschen die Gegebenheiten korrekt zu erfassen. D.h. ich kann mir z.B. das Verhalten des Geschosses bei einer bestimmten Windrichtung nicht vorstellen. Dazu kommen unzählige weitere "Menschlichkeiten". Da hätten wir Laune, Sehfähigkeit, körperliches Befinden etc. . Und eine "perfekte KI" wäre eine, die all diese "Menschlichkeiten" erfasst und miteinberechnet. Generell kann man also nur auf simple Zufallswerte setzen, wenn man eine Handlung des PC's in einer akzeptablen Zeit erreichen möchte. :thumbdown:

    Sowas sollte man Leuten überlassen, die den ganzen Tag damit verbringen soetwas zu basteln und dafür auch bezahlt werden. Steckt ne Menge komplizierte Mathematikdahinter :wacko: .


    MfG,
    der Haggebreide
    Mfg
    Wenn ich jemanden nicht mag, dann verpasse ich ihm nicht einen Schlag, sondern viele viele kleine Schlägchen
  • Hackebreit schrieb:


    Sowas sollte man Leuten überlassen, die den ganzen Tag damit verbringen soetwas zu basteln und dafür auch bezahlt werden.

    Wie, programmierst Du etwa nur, wenn Du dafür Geld siehst? :huh:
    Wieviele Programmierer z.B. wohl dafür bezahlt wurden, die Software für meine Linux-Kiste zu schreiben ...?

    Also ohne den Mund zu voll zu nehmen: Nachdem ich bzw. wir hier (wer auch immer mitmachen möchte) dieses Spiel auf die Beine gestellt haben, werde ich auch direkt mit dem Bau eines Bots loslegen, der gegen andere Bots oder Menschen mehr oder weniger gut konkurrieren kann. (immer vorausgesetzt, daß die Resonanz darauf nicht gleich 0 ist)
    Doch bevor das geschieht, muß die Konzeption des Spiels feststehen, die auch eben zwingenderweise es einem Bot nicht ermöglichen darf, den oder die Gegner zu leicht zu erfassen. Nicht in jedem Spiel wird die KI nämlich seitens der Programmierer extra schlechter gemacht, um sich den Menschen anzupassen. Viel mehr gibt es auch Spiele, die extra dafür konzipiert wurden, daß die Programmierer ihre möglichst leistungsfähigen KIs gegeneinander antreten lassen. Guckst Du hier: "RealTimeBattle"
    Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Jeder glaubt, er hätte genug davon.
    --------------------------------------------------(Rene Descartes)
  • 8| okay, das war ja keine Vernichtung Deines Vorschlags, sondern nur ein Gegenargument.

    Ich meine nur, dass eine KI etwas sehr kompliziertes zu realisieren sein kann und es bereits eine Menge schlechter KIs gibt :huh: . Beispiele sind unzählig. Manchmal passt eine super-schlechte KI zum Spiel, weil es sonst keinen Spaß machen würde (z.B. aufgrund eines zu hohen Schwierigkeitsgrades). Und ein Spiel, wie du es beschrieben hast, mit einer schlechten KI würde mir persönlich keinen Spaß machen. Kenne auch einige solcher Spiele.
    Wie auch immer- ich kenne sehr, sehr wenige Menschen, die die Fähigkeiten und das Wissen hätten eine ordentliche KI auf die Beine zu stellen. Und sie alle machen soetwas in der Richtung auch beuflich.
    Wie, programmierst Du etwa nur, wenn Du dafür Geld siehst?

    Nein nein, da ist auch ne Menge portion Spaß dabei. Eine ordentliche KI bedeutet allerdings viel Zeit und Arbeit und ich wage zu behaupten, dass es sehr lange dauern würde mit einer OpenSource Community eine KI zu erschaffen. Leute lernen sowas an Unis mehrere Jahre (,ihr Leben) lang - und die wollen irgendwann auch mal Geld sehen.
    Wieviele Programmierer z.B. wohl dafür bezahlt wurden, die Software für meine Linux-Kiste zu schreiben ...?

    Die Zahl ist erstaunlich hoch. Schließlich bezahlen die Leute von Novell und RedHat ihre Brötchen nicht mit Luft. Die meisten Entwickler arbeiten übrigens nebenbei für ein großes Unternehmen. Diese lassen ihre Mitarbeiter aus Prestigegründen z.B. am Kernel mitarbeiten, da sie oft von Linux profitieren.

    Also im Allgemeinen habe ich nichts gegen eine einfache KI, die ab und zu danebenzielt, aber was macht das Spiel dann so besonders...?
    Mfg
    Wenn ich jemanden nicht mag, dann verpasse ich ihm nicht einen Schlag, sondern viele viele kleine Schlägchen