** Brainfuck Interpreter Contest ** [abgeschlossen]
-
Dravere schrieb:
Ehm, müssen alle Fragen zum Contest öffentlich gestellt werden?
*Angst hat seine Idee zu verraten*Natürlich nicht. Jeder der Fragen hat kann mir auch gerne eine Mail über's Forum schicken oder über die Email Adresse im 1. Beitrag. Ich verspreche diese Mails auf jeden Fall nicht vor Ende des Contests zu veröffentlichen, und auch danach nicht ohne guten Grund (Drohungen, gröbere Beschimpfungen, jemand braucht ein Alibi
etc.).
Wenn es darum gehen sollte dass jemand etwas ausnutzen möchte, was in den Vorgaben unklar formuliert ist, dann müsst derjenige natürlich damit rechnen dass ich die Vorgaben anpasse bzw. deutlicher formuliere. Was dann natürlich jeder lesen kann.
Wobei ich versuchen kann eine Formulierung zu finden, die den "Trick" nicht verrät wegen dem die Frage aufgekommen ist.
---------------
Was ich gleich vorwegnehmen kann: das Testsystem wird zur Bewertung noch modifiziert, und zwar in folgender Weise:
- Eventuell neue Test-Cases, die nicht vor Ende des Contest bekanntgegeben werden.
- Zumindest der Name des Namespace in dem das Testsystem liegt wird angepasst.
Sinn: es sollen Brainfuck-Implementierungen verglichen werden, und nicht Programme die über Reflection/... versuchen das Testsystem zu bescheissen.
Werde ich auch noch im Kopfbeitrag updaten vor dem offiziellen Start.
-
UPDATE
Es gibt zwei Änderungen:
- Ende bis 17. September verlängert. Beim eher mässigen Anklang den der Contest bisher gefunden hat, will ich auch nicht auf "nur" 1-2 zusätzliche Teilnehmer verzichten.
- Die genaue Signatur von "I.R" ist nicht mehr vorgeschrieben.
Der Kopfbeitrag wurde entsprechend angepasst. Weiters hab' ich zwecks Übersichtlichkeit ein wenig umformatiert, und ein paar Unklarheiten beseitigt.
Ein neues Testsystem gibt es auch:
Das neue Testsystem enthält aber keine wesentlichen Änderungen, bloss ein paar zusätzliche Checks in der RunTest Funktion: Exceptions aus "I.R" werden kontrolliert gefangen und als Fehler gewertet, und es wird erstmal gecheckt ob überhaupt eine passende Funktion "R" gefunden wurde, bevor diese "invoked" wird. Also kein Grund zur Panik.
-
Achja, ich kann natürlich nicht gut etwas "mir selbst einreichen", nachdem ich schon andere Beiträge bekommen habe. Das wäre nicht so wirklich ganz fair
Daher werde ich mit meinem aktuellen Stand teilnehmen (bzw. falls ich bis Sonntag Abend noch was krüzeres hinbekomme dann damit).
Interpreter_1_1252.cs (Source in Codepage 1252):
SHA-256 = 9bda27b6d64fb9032ac3db270b0101d49424e1251ce332495fca1ea484421e5c
Länge verrate ich natürlich noch nichthttp://www.webutils.pl/index.php?idx=sha1
http://www.xorbin.com/tools/sha256-hash-calculator
-
Folgender Vorschlag: Veröffentliche stets eine anonymisierte Liste der Längen bisher eingereichter Codes, und erlaube jedem Spieler, dass er unbegrenzt nachgebesserte Lösungen einreicht.
Ich würde damit gern mehr Aktivität erreichen. Wenn man sieht, dass die eigene Lösung nicht die beste ist kann man weiter kürzen. Ansonsten wird jeder kurz vor Abgabe seine Lösung einreichen und es passiert sonst nicht viel. Ich habe jetzt schon nichts mehr zu tun, würde mich aber wieder dran setzen wenn ich sähe, dass jemand etwas kürzeres gebaut hat.
Da setzt ein gewisses Fairplay voraus, s.d. niemand der die kürzeste Lösung in der Hand hat, bis 23:59 wartet.
-
Running tests on interpreter 'I'...
Running test Empty... PASSED.
Running test Null... PASSED.
Running test SingleNewline... PASSED.
Running test ExitByLoopStart1... PASSED.
Running test ExitByLoopStart2... PASSED.
Running test ExitByLoopStart3... PASSED.
Running test ExitByLoopEnd1... PASSED.
Running test ExitByLoopEnd2... PASSED.
Running test HelloWorld... PASSED.
Running test Primes1... PASSED.
Running test Primes5... PASSED.
Running test Primes15... PASSED.
Running test Primes30... PASSED.Results for interpreter 'I':
All 13 tests passed.
Nice
-
Und schon ist es passiert, jemand hat was eingereicht. Ich hätte dazuschreiben sollen "bitte nicht vor dem offiziellen Start einreichen!". Hätte ich auch, wenn ich dran gedacht hätte.
Damit ist meine Chance dahin unbefangen bis Sonntag Abend weiterzutüfteln. Naja OK, auch kein Beinbruch.
-
Interpreter_2_1252.cs (noch unbefangen):
SHA-256 = 5eb32307b9ad38054d0e4bb87974b4b8797ba309780617acd46d6e81310e5317
Interpreter_3_1252.cs (2 Tricks abgeguckt):
SHA-256 = 5f2117f05d1217977bb843f94d574726dad3d034b92dcdf07fccc5efe7f51636
-
µ schrieb:
Folgender Vorschlag: Veröffentliche stets eine anonymisierte Liste der Längen bisher eingereichter Codes, und erlaube jedem Spieler, dass er unbegrenzt nachgebesserte Lösungen einreicht.
Ich würde damit gern mehr Aktivität erreichen. Wenn man sieht, dass die eigene Lösung nicht die beste ist kann man weiter kürzen.
Könnte auch das Gegenteil bewirken: Leute demotivieren, wenn sie sehen dass sie zu weit hinten sind.
Hmmmm.....
-
hustbaer schrieb:
µ schrieb:
Folgender Vorschlag: Veröffentliche stets eine anonymisierte Liste der Längen bisher eingereichter Codes, und erlaube jedem Spieler, dass er unbegrenzt nachgebesserte Lösungen einreicht.
Ich würde damit gern mehr Aktivität erreichen. Wenn man sieht, dass die eigene Lösung nicht die beste ist kann man weiter kürzen.
Könnte auch das Gegenteil bewirken: Leute demotivieren, wenn sie sehen dass sie zu weit hinten sind.
Hmmmm.....Also auf Spieleprogrammierer.de sah es eher motivierend aus. Dort wurden während dem Wettbewerb auch aktuelle Resultate von den Teilnehmern selbst veröffentlicht, ohne den Code anzugeben. Das spornt die Leute an, ihre Lösung noch weiter zu optimieren.
Sonst hat man keine Ahnung, wo man steht. Schreibt etwas, gibt dies ab und der Wettbewerb ist für einem vorbei. Wenn man dagegen sieht, dass jemand etwas besseres hinbekommen hat, dann setzt man sich nochmals an den eigenen Code und probiert ihn nochmals zu optimieren
Grüssli
-
Mir soll's Recht sein
Dann fang ich gleich mal an...
Interpreter_2_1252.cs = 254 Zeichen
-
Ich stehe noch bei 267.
-
Ich bin auch bei 267 und sehe kein Land mehr
-
346 Zeichen *lol*
Aber habe auch erst wenig Zeit investiert. Ich sehe durchaus noch PotentialGrüssli
-
259 und ich stecke in einem lokalen Minimung. Ich kriege mit dem Ansatz kein Zeichen mehr weg und schon garkeine 6 für die Führung.
Brauche eine neue Idee.
-
7 tests passed, 6 tests failed.
Naja fast
-
Meiner schafft alle Tests, ist aber leider 311 Zeichen lang -.-
-
Es ist gerade echt faszinierend. Jede Idee die Zeichen einspart erzeugt an anderer Stelle genauso viele neue Zeichen.
-
8 tests passed, 5 tests failed.
Ich verbessere mich, obwohl ich direkt in ideone programmiere
-
UPDATE:
Es ist die Frage aufgetaucht ob "unsafe" erlaubt ist.So wie ich die Regeln ursprünglich formuliert hatte ("sämtliche C# Features die von Visual C# 2010 (Express) unterstützt werden"), muss es eigentlich erlaubt sein.
Also jetzt offiziell: "unsafe" ist erlaubt. Das verhindert natürlich eine Demonstration mit ideone.com (zumindest finde ich keine Möglichkeit den nötigen Compiler-Switch mitzugeben - falls jmd. weiss wie das geht bitte hier posten). Vielleicht bringt es aber nochmal etwas Bewegung hier rein, nachdem einige ja schon anstehen.
-
Bringt
unsafe
denn etwas? Bei meinen Versuchen damit wurde der Code nur länger.