Eintragsdetails ansehen
ID | Projekt | Kategorie | Sichtbarkeit | Meldungsdatum | Zuletzt aktualisiert |
---|---|---|---|---|---|
0002640 | Eressea | LERNE/LEHRE | öffentlich | 2020-02-15 14:03 | 2020-03-01 14:36 |
Reporter | Xolgrim | Bearbeitung durch | Enno | ||
Priorität | normal | Schweregrad | kleinerer Fehler | Reproduzierbar | nicht getestet |
Status | erledigt | Lösung | erledigt | ||
Produktversion | 3.22.1 | ||||
Zielversion | 3.23 | Behoben in Version | 3.23 | ||
Zusammenfassung | 0002640: Fehlerhaftes LEHRE AUTO | ||||
Beschreibung | Ich habe in Runde 1154 zwei Einheiten in einer Region den Befehl "LERNE AUTO Segeln" gegeben EINHEIT sww; Segler [20,0$] kämpft nicht ; Segeln 16, Schiffbau 6, Ausdauer 2 LERNE AUTO Segeln EINHEIT f8iu; Segler [1000,310000$] kämpft nicht ; Segeln 10, Schiffbau 5, Ausdauer 1 LERNE AUTO Segeln Nach meinem Verständniss will LERNE AUTO die maximal mögliche Lernzeit rausholen, also sollten hier in dem Fall die 20 T16er komplett Lehren. In 1155 ist die 20er EInheit jedoch aufgestiegen. Da in dieser Einheit niemand gelernt haben dürfte und sich beide EInheiten auch nicht auf einem Schiff befinden, sollte dies nicht passieren dürfen. Es sei denn ich habe etwas grundlegend falsch verstanden. Einheitne in 1155: EINHEIT sww; Segler [20,0$] kämpft nicht ; Segeln 17 (+1), Schiffbau 6, Ausdauer 2 LERNE AUTO Segeln EINHEIT f8iu; Segler [1000,300000$] kämpft nicht ; Segeln 10, Schiffbau 5, Ausdauer 1 LERNE AUTO Segeln | ||||
Tags | Keine Tags zugeordnet. | ||||
Partei | ioen | ||||
Spiel | E2 | ||||
Report | 1155 | ||||
Ich sehe. Der Code findet, beide Einheiten sollten lehren, und weil sie dann keine Schüler haben, lernt das "überzählige" Lehrpersonal dann, wie das so bei LERNE AUTO ist, wenn nicht jede Person 10 Schüler hat. |
|
Mein erster Versuch einer Reparatur klappt zwar für diesen Fall, aber schlägt dann bei einem anders konstruierten wie erwartet wieder fehl: Man nehme statt einer Schülereinheit mit 1000 Personen zwei Einheiten mit 500 bzw. 100 Personen. Erwartetes Ergebnis: In beiden werden 100 Personen gelehrt. Leider nicht :-( Da ist etwas fundamental falsch, was zuschlägt, wenn die erste Einheit die einzige ist, die Lehren kann, aber zu klein, um alle Schüler zu lehren. |
|
Ich glaube, der Algorithmus funktioniert einfach nicht. Der argumentiert falsch herum. Das läuft so ab: Einheit A: 20 Personen T16 Einheit B: 100 Personen T10 Einheit C: 500 Personen T10 Der Code sieht die erste Einheit, die hat 20 Personen. Da bräuchten wir 2 Lehrer, um die zu lehren. Der Code entscheidet daher, dass die erste Einheit ein Lehrer sein soll (obwohl man sich nicht selbst lehren kann, oops). Das an sich ist also schon ein Fehlverhalten. Dann sieht er die zweite Einheit mit 100 Personen. Jetzt haben wir also 120 Studierende, davon müssen 11 Lehrer sein um die übrigen 109 zu lehren. Soweit ginge das also, wenn die erste Einheit die zweite lehrt. Im Falle von Xolgrim's Leuten nicht, weil die zweite Einheit 1000 Leute hat, und bei 1020 Studierenden braucht man mehr als mehr als 20 Lehrer (93 wären gut), weshalb der Code sich da entschieden hat, dass beide Einheiten lehren sollen (im Prinzip der gleiche Fehler wie eben). Mit der dritten Einheit sind es 620 Studierende, die brauchen 57 Lehrer für ein optimales Lehrer/Schüler Verhältnis, weshalb auch hier die zweite Einheit zu Lehrern erklärt wird. Dabei können sie die dritte Einheit gar nicht lehren, die hat ja das gleiche Talent! Wir finden jetzt, dass der erste Schüler (Einheit C) niedrig genug ist, um vom ersten Lehrer (Einheit A) gelehrt zu werden, lehren daher 200 Personen, und wählen einen neuen Lehrer. Der kann den Schüler nicht lehren, weshalb sie selber lernen. Das wird aber auf den selben Wert addiert! learning und teaching erhöhen beide scholars[i].learn! Da haben wir also noch einen Fehler. Oh weia. Anschliessend müssten noch alle ungelehrten Einheiten "normale" Punkt für einfaches lernen kriegen, und alle Lehrer, die niemanden gelehrt haben, was aber scheinbar auch nicht passiert. Dritter Bug. |
|
Ich habe einen Fix, der funktioniert. Hurrah! |
|
Änderungsdatum | Benutzername | Feld | Änderung |
---|---|---|---|
2020-02-15 14:03 | Xolgrim | Neuer Eintrag | |
2020-02-21 20:20 | Enno | Bearbeitung durch | => Enno |
2020-02-21 20:20 | Enno | Status | neu => zugewiesen |
2020-02-21 20:20 | Enno | Notiz hinzugefügt: 0008714 | |
2020-02-21 21:20 | Enno | Notiz hinzugefügt: 0008715 | |
2020-02-22 09:44 | Enno | Notiz hinzugefügt: 0008718 | |
2020-02-22 09:48 | Enno | Notiz bearbeitet: 0008718 | |
2020-03-01 10:44 | Enno | Produktversion | => 3.22.1 |
2020-03-01 10:44 | Enno | Zielversion | => 3.23 |
2020-03-01 14:36 | Enno | Status | zugewiesen => erledigt |
2020-03-01 14:36 | Enno | Lösung | offen => erledigt |
2020-03-01 14:36 | Enno | Behoben in Version | => 3.23 |
2020-03-01 14:36 | Enno | Notiz hinzugefügt: 0008721 |