Code Monkey home page Code Monkey logo

informaticup2020's People

Contributors

alexpaar avatar bitflipp avatar codingmonkeyn avatar doslp24 avatar jaszlo avatar jonas-peeters avatar jonico avatar markl4yg avatar marvinsxtr avatar sebastianvolk avatar supernascher avatar top-ranger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

informaticup2020's Issues

Timeout bis zur Rückgabe der Antwort

Gibt es eine Zeitbeschränkung wie lange unser Server für die Antwort auf einen Game State brauchen darf? Falls nein, dürfen wir dann in unserer Erklärung zur Ausführung vermerken, dass das Spiel immer mit dem Parameter -t 0 ausgeführt werden muss?

Unveränderliche Eigenschaften

In der Aufgabenstellung ist beschrieben, dass Pathogene und Städte unveränderliche Eigenschaften haben. Heißt das, dass wir (generell und speziell für die Evaluation) annehmen können, dass:

  • Die Städte + Stadtverbindungen identisch sein werden (also keine neuen Städte/Verbindungen eingeführt werden oder bestehende geändert werden)
  • Nur Pathogene verwendet werden, die auch im ic20_* Programm enthalten sind (d.h. eine bestimmte Menge an Pathogenen erwartet werden kann)

Dateinamen bei Dateilogging

Kann es bitte möglich gemacht werden, den Dateinamen anzugeben beim Loggen um eine definierte Datei zu haben und den log nicht unbedingt den Seed zu nehmen. Vielleicht ein Parameter -f mit defaultwert Seed?

command line tool?

wo ist das in der pdf beschriebene command line tool zum testen der ereignisse?

Herzlichen Glückwunsch zum GitHub-Sonderpreis 2020 :tada:

@brownbeer @fysch @SuperNascher: Herzlichen Glückwunsch!

image

Ihr habt mit euren Beitrag in https://github.com/SuperNascher/Pandemie-Inc den GitHub-Sonderpreis des informatiCups 2020 gewonnen 🎉

Besonders gefallen haben uns:

  • die "virtuelle Hausmatte" - README.md, welche einen wunderbaren Kontext zum Projekt darstellt und es damit weiteren Entwicklern auf GitHub erleichtert zum Projekt beizutragen oder den Code für weitere Projekte zu nutzen.
  • eure Nutzung von GitHub Actions zum Bauen des Projektes
  • die Klassifizierung eures Beitrages mit repository topics

Könntet ihr als Team eine email an [email protected] mit euren T-Shirt-Größen (US-Größe, fallen eher groß aus) und einer Lieferadresse schicken?

Liebe Grüße, fröhliche Ostern und ein schönes Wochenende :octocat: ❤️

@lilliSeBe und @jonico

Verwendung des Kommandozeilenwerkzeuges unter MacOS

Hallo,

wie genau verwende ich das Kommandozeilenwerkzeug unter MacOS? Unter Windows kann ich es mit "ic20_windows.exe" in der Konsole aufrufen, aber das funktionert auf MacOS (mit dem entsprechenden Kommandozeilenwerkzeug) nicht.

Ergebnisse

Guten Tag,
ist schon bekannt, wann die Ergebnisse des Wettbewerbs veröffentlicht werden?

Klarstellung wo sich die CLI tools befinden

In der Projektbeschreibung ist lediglich ein Link auf dieses Repo zu finden. Ein kleiner Hinweis darauf, dass die Binaries unter Releases zur Verfügung gestellt sind und nicht im Repo sind (was ja auch durchaus richtig so ist 😅), würde Nutzern die mit Github nicht so vertraut sindm Sucharbeit ersparen.

Parametereingabe bei Windows .exe

Wie kann ich bei der Windows .exe den Parameter --help eingeben? Wenn ich das Programm starte, kann ich nichts eingeben und das Fenster schließt sich auch von selbst wieder.

Amazon Gateway API Logs

Unser Team möchte für das Deployment Amazon AWS Lambda verwenden, mit einer vorgeschalteten Gateway API. Anscheinend gibt es Probleme beim Rückversand der Antwortdaten unseres Programms an das Kommandozeilentool, denn mit Testdaten auf Amazon selbst läuft alles einwandfrei. ("Error: Errors: action type is missing")

Leider finde ich keine Möglichkeit Logs der API anzusehen, wie die ausgehenden Antworten aussehen.
Gibt es dort eine Möglichkeit?

Cannot quarantine city more than once

I am not sure if this is a bug or the intended behavior, but the quarantine event remains in the city even after the defined rounds has passed.

This prevents quarantining the city in any upcoming rounds.

Using the latest version of the windows game binary (2.0.1)

How to reproduce:

from bottle import post, request, run, BaseRequest

quarantine_sent = False
@post("/")
def index():
    game = request.json
    berlin_data = game["cities"]["Berlin"]
    print(f'round: {game["round"]}, Berlin events: {get_quarantine_event(berlin_data)}')

    global quarantine_sent
    action = {"type": "endRound"}
    if not quarantine_sent:
      action = {"type": "putUnderQuarantine", "city": "Berlin", "rounds": 1}
      quarantine_sent = True
    return action

def get_quarantine_event(city):
    events = city.get("events", [])
    return list(filter(lambda e: e["type"] == "quarantine", events))

BaseRequest.MEMFILE_MAX = 10 * 1024 * 1024
run(host="0.0.0.0", port=50123, quiet=True)

After running this code we get the following output:

round: 1, Berlin events: []
round: 1, Berlin events: [{'type': 'quarantine', 'sinceRound': 1, 'untilRound': 2}]
round: 2, Berlin events: [{'type': 'quarantine', 'sinceRound': 1, 'untilRound': 2}]
round: 3, Berlin events: [{'type': 'quarantine', 'sinceRound': 1, 'untilRound': 2}]
round: 4, Berlin events: [{'type': 'quarantine', 'sinceRound': 1, 'untilRound': 2}]
round: 5, Berlin events: [{'type': 'quarantine', 'sinceRound': 1, 'untilRound': 2}]
round: 6, Berlin events: [{'type': 'quarantine', 'sinceRound': 1, 'untilRound': 2}]
round: 7, Berlin events: [{'type': 'quarantine', 'sinceRound': 1, 'untilRound': 2}]
round: 8, Berlin events: [{'type': 'quarantine', 'sinceRound': 1, 'untilRound': 2}]
round: 9, Berlin events: [{'type': 'quarantine', 'sinceRound': 1, 'untilRound': 2}]
...

Nur ein Ausbruch pro Stadt

Nach unseren Tests ist ab Version 1.1.0 nur noch ein Ausbruch pro Stadt möglich. Die vorherigen Versionen (1.0.0 und 1.0.1) erlauben auch mehrere Ausbrüche pro Stadt. Ist dies gewollt?

Lernen der Ereignistypen

Moin,
wir haben uns in der Gruppe die Frage gestellt, ob wir:

  1. die Ereignistypen manuell auswerten sollen

oder

  1. die Software alle Ereignistypen lernen und ihr Handeln an diese Typen anpassen soll

Ich beziehe mich auf folgenden Absatz:

Die verschiedenen Ereignistypen, die während eines Spiels auftreten können, sind Ihnen zunächst nicht bekannt und müssen gelernt werden. Dies umfasst die unterschiedlichen Eigenschaften der Ereignistypen und deren Auswirkungen auf das Spielgeschehen. Manche Ereignisse lassen Rückschlüsse auf vorige Spielzustände zu. Die Menge der Ereignis-Typen ist begrenzt. Nach hinreichend vielen Spielen werden Sie alle Ereignistypen gesehen haben.

Viele Grüße

Maximale Anzahl der Städte

Moin,
wir diskutieren grade den Umfang unseres Programmes und haben uns die Frage gestellt wie viele Städte maximal zu erwarten sind.

Viele Grüße

Schlechtere Ergibnisse mit neuer game.exe

Unsere Lösung hat sich in letzter Zeit verschlechtert, weswegen wir Stunden damit verbracht haben, unseren Code nach dem Grund dafür zu durchsuchen. Nun ist uns aufgefallen, dass es nicht mit dem Code zusammenhängt, sondern mit der neuen game.exe. Mit der, die wir am Anfang bereitgestellt bekommen haben, haben wir eine um 15-25% bessere Lösung als mit der neuen. Wir sind uns nicht sicher, ob das Spiel absichtlich "schwerer" gemacht wurde oder dies unbeabsichtigt durch scheinbar neutrale Bugfixes passiert ist.

Bitte um Aufklärung.

Events in den Städten

Moin zusammen,

wir haben festgestellt, dass die Städte nicht immer ein Event zurückgeben.
Wenn z.B. ein Flughafen geschlossen wird, bekommt man folgende Antwort:
"events": [{"type": "airportClosed", "sinceRound": 1, "untilRound": 2}].
Wenn aber z.B. politischer Einfluss geltend gemacht wird, dann bekommt man im Antwort JSON kein Event mit der letzen Aktion die ausgeführt wurde. Ist das richtig so, dass bei den Aktionen nicht mit einem Event geantwortet wird?

Release Updates

Wäre es möglich zu wissen, was sich zwischen den Releases 2.1.0 und 2.0.2 geändert hat ?

Vielen Dank im Voraus!

Bioterrorismus

Lässt sich Bioterrorismus durch bestimmte Aktionen bekämpfen?

Wir sind uns recht sicher, dass wir dies schon einmal durch Medikamente verteilen erreicht haben, obwohl das Bioterrorismus kein "prevalence" Attribut besitzt.

In einem anderen Seed (53) hatten wir nun aber den Fall, dass der Bioterrorismus ein Pathogen besaß, das bereits im Spiel vorkam und ausgelöscht war. Hier haben wir auf die Stadt alle Aktionen zig fach angewandt (Quarantäne, Medikamente (mehr als 20 mal), Impfung, alle Städtewerte auf ++). Ist das ein Bug, sind wir auf dem falschen Weg oder lässt sich Bioterrorismus schlichtweg nicht bekämpfen?

Zurücksetzen des Error-Status

Wenn in einer Runde mehrere Aktionen durchgeführt werden und eine davon einen Fehler auslöst, dann bleibt der Fehlerzustand in den folgenden Zuständen gesetzt (selbst wenn eine Aktion erfolgreich war).

Zum Beispiel:

  • Request (initial)
  • Response "deployVaccine"
  • Request (error=vaccine is not available)
  • Response "closeConnection"
  • Request (error=vaccine is not available)

Im letzten Request hätte ich erwartet, dass error leer wäre. Wäre es möglich das Programm entsprechend anzupassen?

Schlechte Performance auf einigen Geräten

Ich habe das Beispiel Python-Programm auf einem Laptop und einem PC installiert und beim Ausführen am PC ein komisches Problem mit den Antwortzeiten.
Wenn ich das Python-Programm am Laptop starte und dann die ic20-Datei ausführe, läuft das Programm super schnell durch. Wenn ich es allerdings auf dem PC starte, der deutlich leistungsstärker ist, gibt es zwischen jeder Runde einen Delay von ca. 0,5 Sekunden. Wenn ich die ic20-Datei 20 Mal gleichzeitig starte, ist der Delay immer noch bei 0,5 Sekunden, also kann es eigentlich nicht an der Leistung des PCs liegen. Hat noch jemand das Problem oder kann es ein Problem mit Windows-Sicherheits Einstellungen sein?
PS: Auf dem PC eines Freundes läuft es auch super schnell durch, es liegt also nicht an PC vs Notebook.

Mobilität

Mobilität von Pathogenen wird in der Angabe mit "Wie wahrscheinlich ist der Übergang des Keims auf nicht verbundene Städte?" beschrieben. Hierzu zwei Fragen:

  1. Können Sie nähere Angaben zu "nicht verbundenen Städten" geben? Heißt das, dass jede beliebige Stadt jede andere anstecken kann, oder müssen diese Städte geographisch nah beieinander liegen?
  2. Wie ist dann die Infektionsrate über Flugverbindungen definiert? Ist sie gleich der Mobilität? Oder haben wir diesbezüglich keine Angaben?

Vielen Dank!

Abgabetermin

Ist der endliche Abgabetermin morgen der 15.01. um 23:59 also einschließlich morgen?

Fehlerausgabe bei Input in die Exe

Wenn wir mit der Exe (Kommandozeilenwerkzeug) unsere, in AWS erzeugte, Schnittstelle anfragen, lässt sich in der Logdatei festellen, dass bei der ersten Antwort eine "normale" erste Runde an die Schnittstelle übergeben wird. Die Exe registriert/akzeptiert unsere Antwort ("{"type": "endRound"}") jedoch nicht und gibt uns erneut eine "erste Runde Antwort", diesmal jedoch mit einem error (failed to decode action).
Liegt das daran, dass unsere Schnittstelle den falschen Datentypen zurückgibt bzw. welchen Datentyp erwartet die Exe?

Erste Antwort:
Erster Request

Zweite Antwort mit Fehler:
Zweiter Request mit Fehler

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.