Für das Programm ist das leider nicht so offensichtlich. Das probiert fleißig herum - obwohl es für uns Menschen sofort klar ist. Das liegt daran, dass das Programm alles in ganz kleine "atomare" Gleichungen (Klauseln) kodiert, das hat Vorteile, aber auch Nachteile. SAT-Solver haben generell ein Problem mit dem sogenannten "pigeon hole" - Prinzip (n Elemente ohne Dopplung auf n+1 Plätze verteilen).Meine 1. Frage:
Ich habe die Anzahl der Schienen zunächst auf maximal 10 gesetzt. Es gibt aber eine Fachwahl, die 11 Schienen benötigt. Das Programm rechnet eifrig weiter, eine Lösung gibt es aber offensichtlich nicht. Gibt es keine scharfe Abbruchbedingung mehr wie bei dem alten Programm, wenn das Problem unlösbar ist?
Aufgrund von Wartungsarbeiten wird das Forum am Montag, dem 28.07.2025 vorübergehend nicht erreichbar sein.
NEUE VERSION: 'Kurs42_To_CNF'
Moderator: wschrewe
-
- Fachberater*in
- Beiträge: 321
- Registriert: Dienstag 4. Dezember 2018, 14:14
- Schulform: Gymnasium
Re: NEUE VERSION: 'Kurs42_To_CNF'
B. Bartsch
-
- Fachberater*in
- Beiträge: 749
- Registriert: Montag 1. Oktober 2018, 20:30
- Schulform: Gymnasium
- Kontaktdaten:
Re: NEUE VERSION: 'Kurs42_To_CNF'
Evtl. wäre es daher sinnvoll dem SAT-Solver eine Vorabprüfung vorzuschalten, die bestimmte Kriterien ohne Gleichungen prüft.
-
- Fachberater*in
- Beiträge: 321
- Registriert: Dienstag 4. Dezember 2018, 14:14
- Schulform: Gymnasium
Re: NEUE VERSION: 'Kurs42_To_CNF'
Ja, könnte man, aber ich mache das lieber nicht, es könnte fälschlicherweise Sachen verhindern wie: Nur eine Person mit 11 Wahlen und der Benutzer erlaubt 1 Umwahl, dann ist das Problem wieder lösbar.Evtl. wäre es daher sinnvoll dem SAT-Solver eine Vorabprüfung vorzuschalten, die bestimmte Kriterien ohne Gleichungen prüft.
B. Bartsch
-
- Fachberater*in
- Beiträge: 749
- Registriert: Montag 1. Oktober 2018, 20:30
- Schulform: Gymnasium
- Kontaktdaten:
Re: NEUE VERSION: 'Kurs42_To_CNF'
Hallo Herr Bartsch,
mit einer solchen Vorabprüfung meinte ich nicht, dass man die Blockung zum Lösen nicht an den Solver schickt. Vielmehr hatte ich an einen Hinweis an den User gedacht. Bspw: "Die Anzahl der Schienen ist für die Fachwahlen zu gering. Eine Blockung ohne Umwähler ist nicht möglich. Fortfahren?"
mit einer solchen Vorabprüfung meinte ich nicht, dass man die Blockung zum Lösen nicht an den Solver schickt. Vielmehr hatte ich an einen Hinweis an den User gedacht. Bspw: "Die Anzahl der Schienen ist für die Fachwahlen zu gering. Eine Blockung ohne Umwähler ist nicht möglich. Fortfahren?"
-
- Fachberater*in
- Beiträge: 321
- Registriert: Dienstag 4. Dezember 2018, 14:14
- Schulform: Gymnasium
Re: NEUE VERSION: 'Kurs42_To_CNF'
Finde ich gut ... anbei die neue Version.Vielmehr hatte ich an einen Hinweis an den User gedacht.
- Neu: Visuelle Warnung wenn "Schienenanzahl < max. Fachwahlen".
- Dateianhänge
-
- Kurs42_To_CNF_2019_05_07.jar
- (172.7 KiB) 88-mal heruntergeladen
B. Bartsch
-
- Fachberater*in
- Beiträge: 749
- Registriert: Montag 1. Oktober 2018, 20:30
- Schulform: Gymnasium
- Kontaktdaten:
Re: NEUE VERSION: 'Kurs42_To_CNF'
Das ging aber schnell. Danke.
Re: NEUE VERSION: 'Kurs42_To_CNF'
Die Qualtität der Lösungen ist im Vergleich zur Kurs42-Routine wirklich beeindruckend und die Lösung rasend schnell gefunden, sagenhaft!
mfG, D.Jakel
-
- Fachberater*in
- Beiträge: 321
- Registriert: Dienstag 4. Dezember 2018, 14:14
- Schulform: Gymnasium
Re: NEUE VERSION: 'Kurs42_To_CNF'
Das freut mich. Aus Interesse, könnten Sie das konkretisieren.Die Qualtität der Lösungen ist im Vergleich zur Kurs42-Routine wirklich beeindruckend und die Lösung rasend schnell gefunden, sagenhaft!
Schienenanzahl, Stufe, SchülerInnen in der Stufe, Umwähler vorher/nachher, Kursdifferenz vorher/nachher. Haben Sie von vorne rechnen lassen, oder haben Sie die "100%, 90%, 80%, ..." Buttons benutzt um eine vorhandene Lösung weiter zu optimieren?
B. Bartsch
-
- Fachberater*in
- Beiträge: 749
- Registriert: Montag 1. Oktober 2018, 20:30
- Schulform: Gymnasium
- Kontaktdaten:
Re: NEUE VERSION: 'Kurs42_To_CNF'
Hallo Herr Bartsch,
Eine Nachfrage: Werden die GK Werte (Umwähler und Differenz) auch auf die ZK angewendet? Zumindest habe ich den Eindruck.
Die Situation ist nämlich, dass durch Abwahlen zur Q2 bei den bestehenden GKs durchaus Differenzen von z. B. 8 SuS entstehen können. Wenn nun zum Einblockungen der ZKs alle Kurse und Teilnehmer bis auf die ZKs fixieren werden und man dann die Größendifferenz der GKs auf einen Wert unterhalb der aktuellen GK Differenzen setzt, gibt es sehr schnell ein UNSAT zurück (was logisch ist).
Damit erhält man aber unter Umständen keine optimierten ZKs zurück, sprich, auch wenn dort eine Differenz von 3 möglich wäre, wird vom Solver im obigen Beispiel auch 8 akzeptiert.
Oder kann man über Regeln hier eine Optimierung der ZKs erreichen?
Eine Nachfrage: Werden die GK Werte (Umwähler und Differenz) auch auf die ZK angewendet? Zumindest habe ich den Eindruck.
Die Situation ist nämlich, dass durch Abwahlen zur Q2 bei den bestehenden GKs durchaus Differenzen von z. B. 8 SuS entstehen können. Wenn nun zum Einblockungen der ZKs alle Kurse und Teilnehmer bis auf die ZKs fixieren werden und man dann die Größendifferenz der GKs auf einen Wert unterhalb der aktuellen GK Differenzen setzt, gibt es sehr schnell ein UNSAT zurück (was logisch ist).
Damit erhält man aber unter Umständen keine optimierten ZKs zurück, sprich, auch wenn dort eine Differenz von 3 möglich wäre, wird vom Solver im obigen Beispiel auch 8 akzeptiert.
Oder kann man über Regeln hier eine Optimierung der ZKs erreichen?
-
- Fachberater*in
- Beiträge: 321
- Registriert: Dienstag 4. Dezember 2018, 14:14
- Schulform: Gymnasium
Re: NEUE VERSION: 'Kurs42_To_CNF'
GK = Alles außer LKEine Nachfrage: Werden die GK Werte (Umwähler und Differenz) auch auf die ZK angewendet? Zumindest habe ich den Eindruck.
Sie können einer FachArt eine individuelle Kursdifferenz geben, dann wird die globale GK-Kursdifferenz ignoriert bzw. für diese Fachart überschrieben.Oder kann man über Regeln hier eine Optimierung der ZKs erreichen?
B. Bartsch