Seite 5 von 6

Re: Wettbewerb / Vergleich von Blockungsprogrammen

Verfasst: Mittwoch 24. Juni 2020, 11:54
von wschrewe
Falko Müller hat geschrieben: Mittwoch 24. Juni 2020, 10:54Was steckt denn hinter der Bewertungszahl?
Das ist die interne Bewertung der Blockung. Je niedriger, desto besser.
Außerdem ist mit aufgefallen, dass nach dem Blocken in Kurs 42 die Kurse zwar auf die Schienen verteilt sind, aber der Eintrag "Schiene(n)" leer bleibt.
Das ist mir noch gar nicht aufgefallen, ;) werde ich aber umgehend ändern.

Re: Wettbewerb / Vergleich von Blockungsprogrammen

Verfasst: Mittwoch 24. Juni 2020, 14:44
von wschrewe
wschrewe hat geschrieben: Mittwoch 24. Juni 2020, 11:54werde ich aber umgehend ändern.
Grund gefunden und beseitigt.

Re: Wettbewerb / Vergleich von Blockungsprogrammen

Verfasst: Mittwoch 24. Juni 2020, 14:49
von Volker_Dirr
Wo stellt man bei Kurs42 den neuen Algorithmus ein?

Re: Wettbewerb / Vergleich von Blockungsprogrammen

Verfasst: Mittwoch 24. Juni 2020, 15:36
von W.Maßmann
Hallo Herr Dirr,
Extras > Einstellungen...> Allgemeines > Blocken: Blockungsalgorithmus neu.

Re: Wettbewerb / Vergleich von Blockungsprogrammen

Verfasst: Mittwoch 24. Juni 2020, 15:51
von Volker_Dirr
ah.. Danke. Ich hatte die alte Kurs42 Version, daher hatte ich es wohl nicht gesehen. Habe jetzt die Juni Version.
Dummerweise kann ich jetzt keine Dateien mehr importieren. Ich erhalte immer 'Feld "IdNr" nicht gefunden'. :-(

Re: Wettbewerb / Vergleich von Blockungsprogrammen

Verfasst: Mittwoch 24. Juni 2020, 20:51
von wschrewe
Volker_Dirr hat geschrieben: Mittwoch 24. Juni 2020, 15:51Dummerweise kann ich jetzt keine Dateien mehr importieren.
Dann müssen die aber uralt sein. Die Daten von Herrn Müller funktionieren.

Re: Wettbewerb / Vergleich von Blockungsprogrammen

Verfasst: Mittwoch 24. Juni 2020, 21:39
von Volker_Dirr
Ja, alte Daten.
Habe es gerade mal mit den Daten von Herrn Müller ausprobiert.
Kurs42 ist ja richtig schnell geworden. Sehr gut gemacht.
Ich habe nur grob getestet, keine genauen Messungen.
Aber der Datensatz von Herrn Müller ist am langsamsten mit Kurs42_To_CNF. In der Mitte liegt Kurs42 und am schnellsten mein Programm.
Unterschied zwischen den Programmen jeweils etwa Faktor 10.
Da muss ich wohl noch ein paar Optimierungen suchen.

Wo ordnet sich etwa Untis ein? (Ich vermute das meinte Herr Müller mit anderem Programm; leider habe ich das nicht und kann nicht testen.)
Wie sieht es mit dem Programm von Herrn Friebe aus?

Re: Wettbewerb / Vergleich von Blockungsprogrammen

Verfasst: Samstag 27. Juni 2020, 06:53
von B. Bartsch
Ab 120-150 scheint der CNF Algorithmus massive Probleme zu haben. Theoretisch müsste diese Blockung mit 200 SuS und ohne wirkliche Einschränkungen extrem leicht sein. Denn je mehr Schüler (und implizit auch Kurse), desto leichter wird Blockung, da die Kombinationsmöglichkeiten steigen.

Sobald ich Zeit habe, werde ich zwei Sachen probieren.
1) Die Kodierung in CNF ändern.
2) Eine neues Programm schreiben, dass eine Hybrid-Version mehrerer Algorithmen ist.

Re: Wettbewerb / Vergleich von Blockungsprogrammen

Verfasst: Samstag 27. Juni 2020, 07:16
von Volker_Dirr
Wenn Sie so einen plötzlichen Einbruch ab 120 Schüler festgestellt haben, dann vermute ich eher, dass ihre (wichtigen) Daten nicht komplett in den Cache passen und in den Hauptspeicher ausgelagert werden. Evtl. sollten Sie als ersten versuchen etwas sparsamer mit dem Speicher umzugehen.

Warum ist der neue Kurs42 Algorithmus noch nicht "offiziell"?
a) Weil er noch mehr getestet werden soll.
b) Weil es einen Datensatz gibt, bei dem der neue Algorithmus schlechter ist als der alte Algorithmus. (Dann würde ich mich freuen so einen Datensatz mal zu sehen, weil ich gerne ausprobieren würde wie die anderen Programme darauf reagieren.)
c) Weil...

Re: Wettbewerb / Vergleich von Blockungsprogrammen

Verfasst: Samstag 27. Juni 2020, 10:08
von B. Bartsch
Wenn Sie so einen plötzlichen Einbruch ab 120 Schüler festgestellt haben, dann vermute ich eher, dass ihre (wichtigen) Daten nicht komplett in den Cache passen und in den Hauptspeicher ausgelagert werden. Evtl. sollten Sie als ersten versuchen etwas sparsamer mit dem Speicher umzugehen.
Nein, mein Programm ist extrem effizient Programm. Eigentlich besteht es nur aus GUI und Kodierungs/Dekodierungsteil. Das JAVA so viel Speicher beansprucht liegt an JAVA, es gibt Speicher erst dann frei, wenn er knapp wird, das kann auch erst bei 4-12 GB passieren.

Die Ursache liegt an der Art (aller) sogenannter SAT-Solver. Diese können von sich auch nicht Nebenbedingungen wie <=, = und >=. Das muss man erst selber "bauen" durch logische Schaltkreise. Diese Kodierung ist extrem schwer, darüber gibt es auch sehr viel Fachliteratur. Meine Kodierung nimmt ein Sortiernetzwerk als Basis. Die Kodierung hat damit eine Effizient von O(n * log_2(n)²), d.h. es gibt einen Sprung bei allen Potenzen von 2. Deswegen wird es komplizierter ab 128. (Das ist eine Vermutung, ggf. liegt es auch an anderen Dingen).

Ich werde es in den Ferien versuchen zu analysieren.
Warum ist der neue Kurs42 Algorithmus noch nicht "offiziell"?
... ich schätze, weil man für den Produktiveinsatz keine Beta-Version freigeben sollte.