Eine komplexe Frage?

Halbrecht  08.07.2024, 17:34

WICHTIG: ändere den gegebenen spielplane so wenig wie möglich ab

was soll das GENAU bedeuten ?

Freezy953 
Beitragsersteller
 08.07.2024, 18:01

dass die paarungen an den jeweiligen spieltagen nicht stark abweichen sollen, also Gladbach - Leverkusen sollte wenn möglich auch am 1. Spieltag stattfinden, aber nur wen möglich

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Es ist ratsam zunächst eine Dreiecksmatrix über die 17 Spielpläne anzulegen.

Bild zum Beitrag

Dann erweitert man diese Dreiecksmatrix um zwei Spalten und zwei Zeilen und verschiebt jeweils ein einziges Spiel in eine der beiden neuen Spalten. Als nächstes nimmt man den jeweils anderen neuen Partner, Köln bzw. Schalke, und generiert das zusätzliche 10. Spiel im Spielplan. Wenn man das 17 mal durchdekliniert hat, werden die 20 frei gewordenen Plätze in der Dreiecksmatrix mit den Einträgen für die Spielpläne des 18. und 19. Tages besetzt.

Bild zum Beitrag

Auf diese Weise wurden folgende Spielpläne gewonnen.

Bild zum Beitrag

Bild zum Beitrag

Bild zum Beitrag

Bild zum Beitrag

Woher ich das weiß:Hobby
 - (Mathematik, Fußball, Rätsel)  - (Mathematik, Fußball, Rätsel)  - (Mathematik, Fußball, Rätsel)  - (Mathematik, Fußball, Rätsel)  - (Mathematik, Fußball, Rätsel)  - (Mathematik, Fußball, Rätsel)

Freezy953 
Beitragsersteller
 09.07.2024, 19:53

ich liebe dich, du weißt gar nicht wie sehr du mir damit hilfst. Und vielen Dank, dass du dir die Zeit dafür genommen hast

ProfFrink  12.07.2024, 07:35
@Freezy953

Habe meinen Fehler gesehen und arbeite gerade an der Korrektur

Freezy953 
Beitragsersteller
 16.07.2024, 18:00
@ProfFrink

was denkst du ungefähr, wann deine korrektur fertig sein wird? (ohne dich jetzt stressen zu wollen)

ProfFrink  17.07.2024, 09:48
@Freezy953

Kein Witz. Ich arbeite immer noch daran. Es ist wirklich ein komplexes Problem. Und es muss ein wenig Software programmiert werden. Ohne dem ist dieses Problem nicht zu knacken. Leider kann ich nicht durchgehend daran arbeiten. Immer nur, wenn meine Frau mich lässt. Und über das Wochenende bekomme ich Besuch. Vielleicht bis Samstag, den 20.07. sonst Dienstag, der 23.07.

ProfFrink  23.07.2024, 15:15
@Freezy953

Die Sache ist komplexer als ich dachte; aber hoch interessant. Ich habe bisher so eine Art Kombinations-Explorer geschrieben. Der erzeugt mir alle möglichen Spieltagskombinationen, von denen man mit bestimmten Regeln eine Untermenge bilden muss. Bei 20 Mannschaften müssen dabei rund 650 Mio Kombinationen durchsucht werden. Bei 18 Mannschaften aber nur 34 Mio. Leider gestaltet sich der Suchalgorithmus nicht so ganz trivial. Ich mache Versuche mit 8 bzw. 10 Mannschaften und habe leider festgestellt, dass die Gewinnung eines Erweiterungsspielplans von 8 Mannschaften auf 10 Mannschaften bereits mehr Klimmzüge erfordert als anfangs gedacht. Sobald aber die kleine Nummer läuft, läuft auch die große Nummer, abgesehen von möglichen Laufzeitproblemen. Zwischendurch muss ich aber auch meine Frau bei Laune halten. Und heute Nachmittag sind wir zu einer Grillparty eingeladen. Ich bleibe dran.

Freezy953 
Beitragsersteller
 23.07.2024, 17:55
@ProfFrink

Wow, klingt auch sehr interessant. Ich kann aber auch gar nicht oft genug dir für die Mühe danken und die Zeit die du dafür aufopferst. Vielen Dank.

ProfFrink  29.07.2024, 08:51
@Freezy953

Ich melde, dass ich ein gutes Stück voran gekommen bin. Jetzt kommt eine mindestens 2wöchige Urlaubszeit. In dieser Zeit komme ich noch seltener zu dieser komplexen Frage. Aber soviel ist schon mal sicher, dass der Zugang zur Lösung in dieser Dreieckmatrix liegt. Habe aber leider noch keinen effizienten Besetzungsalgorithmus gefunden. Die Software, alles in Octave geschrieben, stellt zwar einen brute force Angriff auf das Problem dar. Damit sie aber auch 20 Vereine wuppen kann, muss ich noch besondere Klimmzüge unternehmen. Ich bleibe dran.

Freezy953 
Beitragsersteller
 29.07.2024, 19:10
@ProfFrink

Alles klar! Nochmals vielen Dank für deine Mühe und weiter so!

ProfFrink  22.08.2024, 11:10
@Freezy953

Heute habe ich zum ersten Mal eine sichere Methode gefunden um kollisionsfreie Lösungen zu erzeugen. Einfach ist es nicht. Aber es funktioniert. Nun muss ich das ganze noch auf die Größe von 20 Vereinen hochskalieren. Bist Du nur an einer Lösung interessiert oder auch an der Methode?

Freezy953 
Beitragsersteller
 26.08.2024, 15:41
@ProfFrink

Hi, danke erstmal für deine Rückmeldung.

Tatsächlich bin ich an beiden interessiert, da mich das Thema jetzt auch sehr gepackt hat

ProfFrink  27.08.2024, 08:52
@Freezy953

Gestern bin ich einen entscheidenden Schritt voran gekommen. Es führt kein Weg daran vorbei rund 650 Mio Kombinationen durchzuscannen. Das Programm dafür steht. Der Scan dauert 5 Tage. Ich werde das Programm jetzt noch in der Weise optimieren, dass es jederzeit unterbrochen werden kann und wieder neu gestartet werden kann um dann an der unterbrochenen Stelle weiter zu machen. Nicht ganz trivial wenn Schleifen enthalten sind, die durch rekursive Programmaufrufe realisiert wurden. Nur auf diese Weise kann ich mich vor unerwarteten Programmabstürzen schützen. Andernfalls müsste ich ja immer erst fünf Tage warten um zu schauen, ob es funktioniert hat oder nicht.

ProfFrink  06.09.2024, 18:08
@ProfFrink

Jetzt endlich läuft der Scan über 650 Mio Tageskombinationen. Es hat etwas Mühe gekostet das Programm einigermassen stabil zu bekommen. Jetzt heisst es fünf Tage auf die Ernte zu warten.

ProfFrink  22.09.2024, 17:14
@ProfFrink

Ich glaube es wird Zeit für einen Zwischenbericht. Der Scan über 650 Mio Tageskombinationen ist längst gelaufen. Der Laptop meiner Frau, den sie eh selten braucht ist 5 Tage und 5 Nächte durchgelaufen. Die Ausbeute beträgt genau 401 Tageskombinationen. Der grobe Filter hat anscheinend funktioniert. Nun muss ich aus dieser Edelmenge die 19 gesuchten Tageskombinationen noch herausfiltern. Anfangs dachte ich, dass ich das "von Hand" erledigen kann. Das hat sich aber als zu mühsam und fehlerträchtig erwiesen. Was mich dazu nötigt einen zweiten Filter zu programmieren. Wobei sich herausgestellt hat, dass das auch dieses Programm nicht so en passent gemacht werden kann. Auch hier müssen alle Register der Softwareentwicklung gezogen werden.

Freezy953 
Beitragsersteller
 30.09.2024, 20:55
@ProfFrink

Unglaublich, dass du so hartnäckig bist und immer noch dran bleibst. Nochmals vielen Dank für deine Mühe und sag bescheid wenn du weitere Ergebnisse hast.

Freezy953 
Beitragsersteller
 02.02.2025, 15:55
@ProfFrink

Hallo, ich bins mal wieder, gibt es mittlweile ein Update?

Freezy953 
Beitragsersteller
 11.07.2024, 12:46

verdammt, bei den letzten beiden spieltage ist dir ein fehler unterlaufen. union spielt am 18. spieltag zweimal und mainz spielt am 19. spieltag zweimal

1. Spieltag
  • Gladbach - Leverkusen
  • Dortmund - Frankfurt
  • Leipzig - Bochum
  • Hoffenheim - Hertha
  • Freiburg - Stuttgart
  • Augsburg - Hannover
  • Wolfsburg - München
  • Mainz - Union
  • Hamburg - Heidenheim
  • Köln - Schalke
2. Spieltag
  • Leverkusen - Leipzig
  • Stuttgart - Mainz
  • München - Freiburg
  • Frankfurt - Hoffenheim
  • Heidenheim - Augsburg
  • Hannover - Dortmund
  • Union - Hamburg
  • Bochum - Gladbach
  • Hertha - Wolfsburg
  • Schalke - Köln
3. Spieltag
  • Leipzig - Union
  • Dortmund - Heidenheim
  • Hoffenheim - Leverkusen
  • Freiburg - Bochum
  • Augsburg - Hamburg
  • Wolfsburg - Frankfurt
  • Mainz - Hannover
  • Gladbach - Stuttgart
  • Hertha - München
  • Köln - Schalke
4. Spieltag
  • Leverkusen - Wolfsburg
  • Stuttgart - Dortmund
  • Frankfurt - Gladbach
  • Heidenheim - Freiburg
  • Hannover - München
  • Augsburg - Mainz
  • Union - Hoffenheim
  • Bochum - Hertha
  • Hamburg - Leipzig
  • Schalke - Köln
5. Spieltag
  • München - Leverkusen
  • Leipzig - Augsburg
  • Dortmund - Bochum
  • Hoffenheim - Hannover
  • Freiburg - Hamburg
  • Wolfsburg - Stuttgart
  • Mainz - Heidenheim
  • Gladbach - Union
  • Hertha - Frankfurt
  • Köln - Schalke
6. Spieltag
  • Leverkusen - Hertha
  • Stuttgart - Hoffenheim
  • Frankfurt - München
  • Heidenheim - Leipzig
  • Hannover - Freiburg
  • Augsburg - Gladbach
  • Union - Dortmund
  • Bochum - Wolfsburg
  • Hamburg - Mainz
  • Schalke - Köln
7. Spieltag
  • Leverkusen - Frankfurt
  • München - Stuttgart
  • Dortmund - Hamburg
  • Hoffenheim - Bochum
  • Freiburg - Augsburg
  • Wolfsburg - Hannover
  • Mainz - Leipzig
  • Gladbach - Heidenheim
  • Hertha - Union
  • Köln - Schalke
8. Spieltag
  • Stuttgart - Hertha
  • Leipzig - Freiburg
  • Heidenheim - Hoffenheim
  • Hannover - Leverkusen
  • Augsburg - Dortmund
  • Mainz - Gladbach
  • Union - Frankfurt
  • Bochum - München
  • Hamburg - Wolfsburg
  • Schalke - Köln
9. Spieltag
  • Leverkusen - Stuttgart
  • München - Union
  • Dortmund - Leipzig
  • Frankfurt - Bochum
  • Hoffenheim - Hamburg
  • Freiburg - Mainz
  • Wolfsburg - Augsburg
  • Gladbach - Hannover
  • Hertha - Heidenheim
  • Köln - Schalke
10. Spieltag
  • Stuttgart - Frankfurt
  • Leipzig - Gladbach
  • Heidenheim - Wolfsburg
  • Hannover - Hertha
  • Augsburg - Hoffenheim
  • Mainz - Dortmund
  • Union - Freiburg
  • Bochum - Leverkusen
  • Hamburg - München
  • Schalke - Köln
11. Spieltag
  • Leverkusen - Heidenheim
  • Stuttgart - Bochum
  • München - Augsburg
  • Dortmund - Freiburg
  • Frankfurt - Hannover
  • Hoffenheim - Leipzig
  • Wolfsburg - Union
  • Gladbach - Hamburg
  • Hertha - Mainz
  • Köln - Schalke
12. Spieltag
  • Leipzig - Wolfsburg
  • Dortmund - München
  • Heidenheim - Frankfurt
  • Hannover - Stuttgart
  • Freiburg - Gladbach
  • Augsburg - Bochum
  • Mainz - Hoffenheim
  • Union - Leverkusen
  • Hamburg - Hertha
  • Schalke - Köln
13. Spieltag
  • Leverkusen - Hamburg
  • Stuttgart - Union
  • München - Heidenheim
  • Frankfurt - Augsburg
  • Hoffenheim - Freiburg
  • Wolfsburg - Mainz
  • Gladbach - Dortmund
  • Bochum - Hannover
  • Hertha - Leipzig
  • Köln - Schalke
14. Spieltag
  • Leipzig - Frankfurt
  • Dortmund - Hoffenheim
  • Heidenheim - Stuttgart
  • Freiburg - Wolfsburg
  • Augsburg - Leverkusen
  • Mainz - München
  • Gladbach - Hertha
  • Union - Bochum
  • Hamburg - Hannover
  • Schalke - Köln
15. Spieltag
  • Leverkusen - Freiburg
  • Stuttgart - Hamburg
  • München - Leipzig
  • Frankfurt - Mainz
  • Hoffenheim - Gladbach
  • Hannover - Union
  • Wolfsburg - Dortmund
  • Bochum - Heidenheim
  • Hertha - Augsburg
  • Köln - Schalke
16. Spieltag
  • Leipzig - Hannover
  • Dortmund - Leverkusen
  • Hoffenheim - Wolfsburg
  • Heidenheim - Union
  • Freiburg - Hertha
  • Augsburg - Stuttgart
  • Mainz - Bochum
  • Gladbach - München
  • Hamburg - Frankfurt
  • Schalke - Köln
17. Spieltag
  • Leverkusen - Mainz
  • Stuttgart - Leipzig
  • München - Hoffenheim
  • Frankfurt - Freiburg
  • Hannover - Heidenheim
  • Wolfsburg - Gladbach
  • Union - Augsburg
  • Bochum - Hamburg
  • Hertha - Dortmund
  • Köln - Schalke
18. Spieltag
  • Köln - Gladbach
  • Schalke - Dortmund
  • Hamburg - Leipzig
  • Heidenheim - Augsburg
  • Hoffenheim - Hertha
  • Wolfsburg - München
  • Mainz - Union
  • Hannover - Freiburg
  • Stuttgart - Bochum
  • Frankfurt - Leverkusen
19. Spieltag
  • Köln - Wolfsburg
  • Schalke - München
  • Leipzig - Union
  • Hamburg - Dortmund
  • Heidenheim - Stuttgart
  • Hoffenheim - Bochum
  • Augsburg - Mainz
  • Hannover - Frankfurt
  • Freiburg - Gladbach
  • Hertha - Leverkusen

Ericdraven28  08.07.2024, 22:27
Vergiss meine Letzte Antwort, ich hab was auch immer für einen Fehler gemacht. War letztlich gar nicht so einfach, wie ich erst dachte. Naja, ich hoff du bist zufrieden (so wenig wie möglich Änderungen, sind halt trotzdem ne Menge.)1. Spieltag:
  • Gladbach - Leverkusen
  • Dortmund - Frankfurt
  • Leipzig - Bochum
  • Hoffenheim - Hertha
  • Freiburg - Stuttgart
  • Augsburg - Hannover
  • Wolfsburg - München
  • Mainz - Union
  • Hamburg - Heidenheim
  • Köln - Schalke
2. Spieltag:
  • Gladbach - Dortmund
  • Leverkusen - Köln
  • Frankfurt - Leipzig
  • Bochum - Hoffenheim
  • Hertha - Freiburg
  • Stuttgart - Augsburg
  • Hannover - Wolfsburg
  • München - Mainz
  • Union - Hamburg
  • Heidenheim - Schalke
3. Spieltag:
  • Gladbach - Frankfurt
  • Dortmund - Bochum
  • Leverkusen - Hoffenheim
  • Leipzig - Hertha
  • Freiburg - Hannover
  • Augsburg - Mainz
  • Wolfsburg - Union
  • Köln - Hamburg
  • Stuttgart - Schalke
  • München - Heidenheim
4. Spieltag:
  • Gladbach - Bochum
  • Dortmund - Leverkusen
  • Frankfurt - Hertha
  • Hoffenheim - Freiburg
  • Leipzig - Augsburg
  • Hannover - Union
  • Mainz - Stuttgart
  • Hamburg - Wolfsburg
  • Heidenheim - Köln
  • Schalke - München
5. Spieltag:
  • Gladbach - Hoffenheim
  • Dortmund - Leipzig
  • Frankfurt - Augsburg
  • Bochum - Hannover
  • Freiburg - Mainz
  • Leverkusen - Union
  • Hertha - Hamburg
  • Wolfsburg - Schalke
  • Köln - Stuttgart
  • München - Heidenheim
6. Spieltag:
  • Gladbach - Hertha
  • Dortmund - Freiburg
  • Leverkusen - Augsburg
  • Leipzig - Hannover
  • Hoffenheim - Mainz
  • Frankfurt - Wolfsburg
  • Union - Köln
  • Stuttgart - Hamburg
  • Schalke - Bochum
  • Heidenheim - München
7. Spieltag:
  • Gladbach - Freiburg
  • Dortmund - Augsburg
  • Leverkusen - Hannover
  • Leipzig - Mainz
  • Hoffenheim - Union
  • Hertha - Wolfsburg
  • Köln - Stuttgart
  • Hamburg - Schalke
  • Bochum - Frankfurt
  • München - Heidenheim
8. Spieltag:
  • Gladbach - Augsburg
  • Dortmund - Hannover
  • Frankfurt - Hoffenheim
  • Freiburg - Wolfsburg
  • Leipzig - Union
  • Mainz - Schalke
  • Köln - Hamburg
  • Stuttgart - Bochum
  • Hertha - Leverkusen
  • Heidenheim - München
9. Spieltag:
  • Gladbach - Hannover
  • Dortmund - Mainz
  • Leverkusen - Wolfsburg
  • Leipzig - Freiburg
  • Hoffenheim - Köln
  • Frankfurt - Stuttgart
  • Augsburg - Union
  • Hamburg - Schalke
  • Bochum - Hertha
  • München - Heidenheim
10. Spieltag:
  • Gladbach - Wolfsburg
  • Dortmund - Köln
  • Frankfurt - Hoffenheim
  • Leipzig - Augsburg
  • Freiburg - Mainz
  • Hannover - Schalke
  • Bochum - Hamburg
  • Union - Stuttgart
  • Hertha - Leverkusen
  • Heidenheim - München
11. Spieltag:
  • Gladbach - Union
  • Dortmund - Stuttgart
  • Leverkusen - Heidenheim
  • Leipzig - Wolfsburg
  • Hoffenheim - Freiburg
  • Frankfurt - Augsburg
  • Köln - Schalke
  • Mainz - Bochum
  • Hertha - Hamburg
  • München - Hannover
12. Spieltag:
  • Gladbach - Mainz
  • Dortmund - Köln
  • Leverkusen - Schalke
  • Leipzig - Bochum
  • Freiburg - Hoffenheim
  • Hannover - Wolfsburg
  • Frankfurt - Stuttgart
  • Augsburg - Hamburg
  • Union - Hertha
  • Heidenheim - München
13. Spieltag:
  • Gladbach - Leipzig
  • Dortmund - Hoffenheim
  • Leverkusen - Augsburg
  • Freiburg - Hertha
  • Bochum - Wolfsburg
  • Stuttgart - Schalke
  • Köln - Hamburg
  • Mainz - Union
  • Hannover - Frankfurt
  • München - Heidenheim
14. Spieltag:
  • Gladbach - Heidenheim
  • Dortmund - Schalke
  • Leverkusen - Köln
  • Leipzig - Hamburg
  • Hoffenheim - Augsburg
  • Frankfurt - Union
  • Freiburg - Mainz
  • Hannover - Bochum
  • Stuttgart - Hertha
  • Wolfsburg - München
15. Spieltag:
  • Gladbach - Schalke
  • Dortmund - Heidenheim
  • Leverkusen - Hamburg
  • Leipzig - Mainz
  • Hoffenheim - Union
  • Freiburg - Augsburg
  • Frankfurt - Köln
  • Hannover - Stuttgart
  • Bochum - Wolfsburg
  • Hertha - München
16. Spieltag:
  • Gladbach - Köln
  • Dortmund - Hamburg
  • Leverkusen - Schalke
  • Leipzig - Stuttgart
  • Hoffenheim - Mainz
  • Freiburg - Frankfurt
  • Augsburg - Hertha
  • Union - Bochum
  • Hannover - Wolfsburg
  • Heidenheim - München
17. Spieltag:
  • Gladbach - Stuttgart
  • Dortmund - Mainz
  • Leverkusen - Hertha
  • Leipzig - Köln
  • Hoffenheim - Augsburg
  • Frankfurt - Wolfsburg
  • Freiburg - Schalke
  • Union - Hannover
  • Bochum - Heidenheim
  • Hamburg - München
18. Spieltag:
  • Gladbach - Augsburg
  • Dortmund - Schalke
  • Leverkusen - Freiburg
  • Leipzig - Hertha
  • Hoffenheim - Wolfsburg
  • Frankfurt - Mainz
  • Köln - Bochum
  • Union - Stuttgart
  • Hannover - Hamburg
  • Heidenheim - München
19. Spieltag:
  • Gladbach - Heidenheim
  • Dortmund - Köln
  • Leverkusen - Hoffenheim
  • Leipzig - Schalke
  • Freiburg - Augsburg
  • Hannover - Union
  • Bochum - Stuttgart
  • Mainz - Wolfsburg
  • Hertha - Hamburg
  • München - Frankfurt
Ericdraven28  08.07.2024, 22:25

aktualisiert.., danke für den Hinweis