Gruppenarbeit zum Heiratsproblem

Applet zum Heiratsproblem

Autor/Innen: Rolf Bruderer

Dieses Applet visualisiert den Algorithmus zum Finden einer Mann-optimalen Lösung des Heiratsproblems.

Das Applet kann im Unterricht eingesetzt werden, um den Algorithmus und auch seine Vor- und Nachteile auf spielerische Art und Weise zu verstehen. Die SchülerInnen können mit dem Applet verschiedene Szenarien durchspielen.

Bedienungsanleitung

Hauptfenster

Das Hauptfenster besteht aus drei Teilen:

  • Präferenz-Tabellen: Zuunterst befinden sich zwei Tabellen. Die obere Tabelle enthält die Männer, die untere Tabelle die Frauen. In den Tabellen ist zu jeder Person eine Präferenzliste (Preferences) angegeben. Eine Präferenzliste gibt an, wen eine Person am liebsten zum Ehepartner hätte, wen am zweit liebsten und so weiter. Je weiter rechts eine Person in einer Präferenzliste steht, desto weniger wird sie begehrt.
  • Visualisierungs-Fenster: Im Fenster oben links wird der Algorithmus visualisiert. Frauen werden als Ringe dargestellt, Männer als gefüllte Kreise. Die Frauen stehen verteilt im Raum und warten auf Heiratsanträge der Männer. Die Männer gehen von Frau zu Frau bis alle eine Ehepartnerin gefunden haben.
  • Steuerungs-Fenster: Links vom Visualisierungs-Fenster befinden sich ein paar Knöpfe um die Animation des Algorithmus zu steuern.

Steuerung

Mit dem start-Knopf wird die Animation gestartet respektive fortgesetzt.
Mit dem stop-Knopf kann die Animation jederzeit angehalten werden.
Mit dem step-Knopf kann die Animation Schritt für Schritt durchgeführt werden. Sobald jemand einen Heiratsantrag macht, hält die Animation wieder an.
Mit dem reset-Knopf wird die Animation wieder an den Anfang zurückgesetzt.

Bearbeiten der Präferenztabellen

Die Präferneztabellen können beliebig verändert werden. So können eigene Eingabedaten für den Algorithmus kreiert werden um beliebige Szenarien durchzuspielen.

Editieren mit Drag & Drop: Eine Person kann in einer Präferenzliste an eine beliebige Stelle verschoben werden. Einfach mit der Maus anklicken und bei gedrückter Maustaste an gewünschte Stelle verschieben.

Zufälliges Mischen: Präferenzlisten einer Tabelle können auch einfach zufällig gemischt werden. Mit der rechten Maustaste auf die Tabelle klicken und mix all auswählen, um alle Präferenzlisten der Tabelle zufällig zu wählen. Mit mix row kann auch nur die ausgewählte Präferenzliste zufällig gemischt werden.

Im Kontextmenü welches mit der rechten Maustaste auf einer Tabelle geöffnet werden kann (siehe Bild) gibt es noch weitere Möglichkeiten:

  • unmix all: Alle Präferenzlisten der Tabelle werden sortiert. Das heisst zuerst kommt jeweils die erste Person, dann die zweite, etc.
  • unmix row: Nur die ausgewählte Zeile wird sortiert.
  • invert all: Alle Präferenzlisten der Tabelle werden einfach umgedreht.
  • invert row: Nur die ausgewählte Zeile wird umgedreht.

Achtung: Wenn die Präferenz-Tabellen verändert werden, muss der Algorithmus neu gestartet werden. Es wird deshalb automatisch ein Reset durchgeführt wenn etwas verändert wird.

Überigens können auch die Namen der Personen frei gewählt werden. Einfach in den Tabellen auf den Namen einer Person klicken, um ihn zu bearbeiten.

Einstellungen

Mit dem Options-Knopf wird das Optionen Fenster geöffnet. In diesem Fenster können verschiedene Einstellungen vorgenommen werden.

Anzahl Männer und Frauen

Unter Number of Women / Men kann man einstellen wieviele Männer und Frauen verheiratet werden sollen.

Geschwindigkeit

Unter Normal Speed kann man die Geschwindigkeit einstellen, mit welcher die Männer von einer Frau zur nächsten laufen.

Mit Slow Motion Speed kann die Geschwindigkeit eingestellt werden, mit welcher die Aktionen wie Heiratsantrag oder Verheiratung stattfinden.

Anzeige der Namen

Unter Show Names in Animation kann eingestellt werden, welche Personennamen im Visualisierungs-Fenster angezeigt werden:

  • for married persons bedeutet dass die Namen der verheirateten Personen angezeigt werden.
  • for persons in action bedeutet dass die Namen der Personen angezeigt werden, welche an einem Heiratsantrag beteiligt sind.

Anzeige der Präferenzen

Unter Show Preferences in Tables as kann eingestellt werden, wie die Personen in den Präferenzlisten der Tabellen angezeigt werden:

  • Symbols only bedeutet dass nur die Symbole angezeigt werden.
  • Names only bedeutet, dass nur die Namen angezeigt werden.
  • Symbols and Names bedeutet, dass die Symbole und die Namen angezeigt werden.

History Fenster

Mit dem History-Knopf wird das History Fenster geöffnet.

Im History Fenster werden alle Aktionen aufgeschrieben, die wärend der Durchführung des Algorithmus passiert sind. Es ist ist eine Art Logbuch. Hier kann man nachlesen, was alles passiert ist. Wer mit wem geheiratet hat. Wer wieder von wem geschieden wurde und so weiter.

Das History Window wird jedes Mal wieder gelöscht, wenn der Algorithmus zurückgesetzt wird.

Acknowledgments

Ich möchte mich bei folgenden Personen für ihre freundliche Unterstützung bei diesem Projekt herzlich bedanken:

  • Werner Hartmann: Für eine vorzügliche und hervorragende Betreuung wärend des gesamten Projektes.
  • Olivier Jeger: Für wertvolles Feedback und Ideen, insbesondere zum GUI-Design.