Das Sortierproblem als eine Begegnung mit dem axiomatischen

Werbung
Das Sortierproblem als eine Begegnung mit dem
axiomatischen Denken
Martin Epkenhans
June 29, 2009
Abstract
Ausgehend vom Sortierproblem für endliche Folgen, sollen die für eine
Sortierung notwendigen Eigenschaften von Relationen entwickelt werden,
um so eine axiomatische Theorie zu erhalten.
Keywords Sortieren · Axiomatisches Denken
1
Einführung
Die theoretische Informatik ist nicht nur aus der Mathematik entstanden, sondern nutzt stärker als andere Bereiche der Informatik weiterhin mathematische
Schreib- und Denkweisen. Genannt seien an dieser Stelle etwa die Beschreibung
formaler Sprachen, endlicher Automaten und die Chomsky-Hierarchie. Hierbei
gibt man gewöhnlich gewisse Mengen vor (z.B. Terminalsymbole, Nichtterminalsymbole, Zustände, Funktionen, etc.)und fordert ggf. weitere Eigenschaften
(z.B. | u |≤| v | für die Ableitungsregeln u → v bei kontextsensitiven Sprachen).
In einem weiteren Schritt betrachtet man Beispiele für die definierten Begriffe
und sieht so u.a., dass die Definitionen nicht inhaltsleer sind. Danach werden
Zusammenhänge studiert und bewiesen, z.B. Zusammenhänge zwischen Automaten und Sprachen. Dieses Denken und Arbeiten ist dem axiomatischen
Arbeiten der Mathematik sehr verwandt. Nun hat sich der Mathematikunterricht nach den Erfahrungen mit der ”Neuen Mathematik” sehr stark von diesem
Arbeiten abgewandt. Der Mathematikunterricht leistet aktuell keinen Beitrag
zum Verständnis axiomatischer Theorien. Dabei wäre gerade dies im Bereich
der theoretischen Informatik von Vorteil.
Nun ist die Entwicklung axiomatischer Theorien in der Mathematik ein
gewöhnlich langer Prozess. So erkennt man erst durch das Studium vieler
Beispiele und Gegenbeispiele, welche Begriffsbildung sinnvoll zu sein scheint.
Dass die Chomsky-Hierarchie eine sinnvolle Einteilung von Sprachen ist, ist
a priori im Schulunterricht nicht einleuchtend. Warum soll man kontextfreie
Sprachen von kontextsensitiven Sprachen abgrenzen?
An dieser Stelle soll nun an einem kleinen Beispiel, das in einer Unterrichtsreihe realisiert werden kann, der Weg zu einer kleinen axiomatischen Theorie
1
2
von Schülern entdeckt werden. Dabei benutzen wir in dieser Arbeit Begriffe
wie axiomatische Theorie nur zur Verständigung mit dem kundigen Lehrer, zur
korrekten Einordnung der zu behandelnden Inhalte in den wissenschaftlichen
Gesamtzusammenhang. Für den Unterricht selbst sind solche Begriffe nicht
erforderlich.
Man startet mit einem bekannten, leicht verständlichen Problem und erkennt
mit der Zeit die Notwendigkeit allgemeiner Zugänge und Aussagen zu dieser
Thematik und entwickelt eine kleine Theorie.
Dabei haben wir uns bewusst für ein gängiges Thema des Informatikunterrichts entschieden, das Sortieren. Im Gegensatz zu anderen Themen der
theoretischen Informatik ist das Sortieren auch außerhalb des Informatikunterrichts leicht und ohne Vorkenntnisse verständlich. Daher bietet sich für die
hier vorgestellte Unterrichtseinheit neben dem Informatikunterricht auch der
Mathematikunterricht an.
Diese Arbeit stellt kein Plädoyer für eine Rückkehr zur Strukturmathematik im Schulunterricht dar. Es soll hier keine konkrete Unterrichtseinheit
zu diesem Thema vorgestellt werden. Wir stellen die fachlichen Voraussetzungen zusammen und geben danach Tipps für die Umsetzung im Unterricht,
die bereits erfolgreich in Informatikleistungskursen realisiert worden sind. Gleichzeitig soll diese Arbeit auch ein Diskussionsanreiz zum Thema ”Welchen Einfluß können informatische Fragestellungen auf die Inhalte des Mathematikunterrichts haben?” sein. Mathematikdidaktiker haben wich wiederholt gegen ein
eigenes Unterrichtsfach Informatik ausgesprochen, da die wichtigen informatischen Inhalte im Mathematikunterricht bereits behandelt werden. Aus Sicht
der Informatik kann man daher die Frage stellen, ob diese starke Abkehr der
Strukturmathematik tatsächlich das richtige Fundament für eine erfolgreiche
Beschäftigung mit Informatik liefert. (siehe hierzu die Tagungsbände des Arbeitskreis ”Mathematikunterricht und Informatik ” in der GDM).
2
Fachsystematische Hintergründe
Zunächst wollen wir die fachsystematischen Hintergründe zusammenstellen. Als
Literatur empfehlen wir an dieser Stelle [LS97].
Definition 1 Sei M eine nichtleere Menge und sei ∼ eine Relation auf M .
Wir nennen ∼
• reflexiv, falls x ∼ x für alle x ∈ M .
• irreflexiv, falls x 6∼ x für alle x ∈ M .
• antisymmetrisch, falls aus x ∼ y und y ∼ x folgt, dass x = y.
• transitiv, falls x ∼ y und y ∼ z impliziert x ∼ z.
• konnex, falls für alle x, y ∈ M gilt: x = y, x ∼ y oder y ∼ x.
• linear, falls für alle x, y ∈ M gilt x ∼ y oder y ∼ x.
3
• trichotom, falls für alle x, y ∈ M entweder x = y oder x ∼ y oder y ∼ x
gilt.
• Eine reflexive Ordnungsrelation ist eine reflexive, antiysmmetrische und
transitive Relation. Ist die reflexive Ordnung zusätzlich noch linear, so
spricht man von einer reflexiven totalen oder linearen Ordnung auf M .
Entsprechend sind die Begriffe irreflexive Ordnung und irreflexive lineare
Ordnung erklärt.
Bekannte Beispiele für Ordnungen sind etwa die üblichen ≤ bzw. <-Relationen
auf den natürlichen Zahlen, den ganzen Zahlen, den rationalen und reellen
Zahlen. Dabei ist ≤ reflexiv und < irreflexiv. Hinzu kommt die Teilmengenbeziehung von Mengen und die Teilbarkeitsrelation von natürlichen Zahlen.
Im Zusammenhang mit Sortierproblemen stellt die lexikographische Ordnung
auf verschiedenen später noch zu präzisierenden Mengen ein weiteres wichtiges
Beispiel dar.
Zunächst wollen wir davon ausgehen, dass auf der betrachteten Menge M
nur eine Relation besteht, die notwendigen Eigenschaften im Hinblick auf die
Sortierbarkeit sollen einzeln herausgearbeitet werden. Daher unterscheiden wir
an dieser Stelle zwischen partiell sortierten und (vollständig) sortierten Folgen.
Da wir auf Ordnungsrelationen abzielen, wählen wir von nun ab ≺ als Relationszeichen.
Definition 2 Sei M eine Menge mit einer Relation ≺.
1. Eine Folge x1 , . . . , xn von Elementen von M heißt partiell sortiert bzgl.
≺, falls für alle i = 1, . . . , n − 1 gilt xi = xi+1 oder xi ≺ xi+1 .
2. Die Folge heißt (vollständig) sortiert bzgl. ≺, falls aus i ≤ j folgt xi ≺ xj
oder xi = xj .
3. Ein Element a ∈ M heißt Maximum (Minimum), falls für alle x ∈ M aus
a ≺ x (x ≺ a) folgt a = x.
4. Ein Element m ∈ M heißt größtes (kleinstes) Element, falls x ≺ m (m ≺
x) für alle x ∈ M gilt.
5. Entsprechend sind maximale, minimale, kleinste und größte Elemente von
endlichen Folgen definiert.
Sei nun M eine Menge mit einer Relation ≺.
Satz 1
1. Jede sortierte Folge ist partiell sortiert.
2. Die Umkehrung gilt im Allgemeinen nicht.
3. Ist ≺ transitiv, so ist jede partiell sortierte Folge auch vollständig sortiert.
4
Beweis: (1) ist trivial, da es sich um eine Abschwächung handelt. Zum Beweis von (2) sei M = {a1 , a2 , a3 } eine dreielementige Menge mit der Relation
a1 ≺ a2 , a2 ≺ a3 und a3 ≺ a1 . Dann ist a1 ≺ a2 ≺ a3 eine partiell sortierte,
aber nicht vollständig sortierte Folge.
(3) folgt durch Induktion über den Abstand j − i ≥ 1 der Elemente mit Hilfe
der Transitivität.
Satz 2 Sei ≺ eine lineare oder eine konnexe Relation auf M .
1. Dann kann jede endliche Teilmenge N 6= ∅ von M als partiell sortierte
Folge geschrieben werden. Die Folge ist im Allgemeinen nicht vollständig
sortiert und nicht eindeutig.
2. Ist die Relation ≺ jedoch linear, transitiv und antiysmmetrisch, so gibt
es genau eine partiell sortierte Folge der Teilmenge N , die dann auch
vollständig sortiert ist.
3. Ist die Relation ≺ trichotom und transitiv, so gibt es genau eine partiell
sortierte Folge der Teilmenge N , die dann auch vollständig sortiert ist.
Beweis: Zu 1) Die Existenz einer partiell sortierten Folge beweisen wir durch
Induktion nach der Kardinalität n = ]N der Teilmenge N ⊂ M . Der Induktionsanfang n = 1 ist klar. Sei also n > 1 und sei x1 R . . . Rxn−1 eine partiell
sortierte Folge von n − 1 Elementen von N . Eine solche Folge existiert nach
Induktionsvoraussetzung. Hierbei steht das Relationszeichen R für ≺ oder =.
Sei xn ∈ N das verbleibende Element aus N .
Sei zunächst ≺ konnex. Falls xn−1 ≺ xn oder xn−1 = xn gilt, so ist x1 R . . . xn−1 Rxn
eine partiell sortierte Folge von N . Anderenfalls sei i ≤ n−1 der minimale Index
mit xn ≺ xi . Dann ist x1 R . . . xi−1 Rxn ≺ xi R . . . Rxn−1 eine partiell sortierte
Folge. Im Fall i = 1 beginnt die Folge mit xn .
Der Beweis für eine lineare Relation ergibt sich analog zum obigen Beweis, wobei
man hier die Fälle xn−1 ≺ xn und xn ≺ xn−1 unterscheidet.
Im Beweis von Satz 1(2) haben wir eine konnexe Relation auf einer dreielementigen Menge angegeben. Die Folgen a1 ≺ a2 ≺ a3 und a2 ≺ a3 ≺ a1 sind
partiell sortierte, aber nicht vollständig sortierte und voneinander verschieden.
Die Relation kann leicht zu einer linearen Relation erweitert werden.
Zu 2) Wegen Satz 1(3) müssen wir nur noch die Eindeutigkeit nachweisen. Seien
x1 R . . . Rxn und y1 R . . . Ryn zwei sortierte Folgen, bestehend aus den gleichen
n Elementen aus M . Dann gibt es Indizes i, j ≤ n mit xi = yn und yj = xn .
Aus yn = xi ≺ xn und xn = yj ≺ yn folgt mit der Antisymmetrie xn = yn . Die
Eindeutigkeit der Folge ergibt sich nun durch Induktion über n.
Zu 3) Wir argumentieren wie oben. Bei einer trichotomen Relation kann der
Fall yn = xi ≺ xn und xn = yj ≺ yn nicht eintreten. Daher muss xn = yn
gelten.
5
2.1
Die lexikographische Ordnung
Die alphabetische Sortierung von Wörtern ist eine alltäglich anzutreffende Ordnungsstruktur. Aber nicht nur Wörter werden so sortiert, in einem Computer
kann man die Dateien innerhalb eines Ordners nach Namen sortieren, diese Namen dürfen jedoch mehr als die Buchstaben des Alphabets enthalten. So ist es
üblich geworden, Dateinamen mit Versionsnummern oder dem Erstellungsdatum zu versehen. Wie geschieht in diesen Fällen die Sortierung, wie wird die
Reihenfolge festgelegt? Diese Fragestellung führt auf eine Verallgemeinerung
der alphabetischen Ordnung, die sogenannte lexikographische Ordnung.
Definition 3 Sei Σ eine endliche Mengen von Zeichen, auch Buchstaben genannt. Die Menge L(Σ) der endlichen Folgen von Zeichen aus Σ, auch Wörter
genannt, nennt man die Sprache über dem Alphabet Σ. Für die Zeichen im
Alphabet Σ wird nun eine Reihenfolge vorgegeben. Seien nun x = x1 . . . xk und
y = y1 . . . yl zwei Wörter der Sprache L(Σ). Dann gilt genau dann x < y, wenn
• xi = yi für 1 ≤ i ≤ k < l oder
• es existiert ein i mit 1 ≤ i ≤ k, l und xi = yi für 1 ≤ j < i und xi < yj .
Ein Wort x kommt somit vor dem Wort y, falls x kürzer ist als y und genau
einem Anfangsteil von y entspricht oder falls x und y bis zu einem gewissen
Index übereinstimmen und an der ersten Stelle, an der sie sich unterscheiden,
das entsprechende Zeichen von x in der gewählten Reihenfolge von Σ vor dem
entsprechenden Zeichen von y kommt.
Betrachten wir hierzu einige Beispiele. Setze Σ = {a, b, . . . , z, 0, 1, . . . , 9}
und sei die Reihenfolge der Zeichen entsprechend. Dann gilt etwa ordnung <
ordnungen, 14april < 15april, 14 < 15, aber auch 0100 < 100. Man beachte,
dass die Zeichenketten in keiner Weise interpretiert werden, somit 0100 und 100
zwei verschiedene Zeichenketten sind.
Betrachten wir nun Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} mit der entsprechenden Reihenfolge der Zeichen. Gibt man Kalenderdaten in der Form TTMMJJJJ an,
z. B. 11122006, 11102007 und 12122005, so gilt etwa 11102007 < 11122006 <
12122005. Gibt man hingegen ein Datum im Format JJJJMMTT an, so werden
die Daten chronologisch geordnet. Dies läßt sich leicht mit Dateinamen in einem
Computer überprüfen. Man kann der Deutlichkeit halber auch noch den Punkt
als Trennzeichen aufnehmen.
3
Hinweise zur schulischen Umsetzung
Im Unterricht sollten möglichst die Transitivität und eine der Eigenschaften
linear, konnex bzw. trichotom herausgearbeitet werden. Hinzu kommen ggf.
die Antisymmetrie, Reflexivität und die Irreflexivität. Letzteres ist mit Blick
auf etwa das Interface comparable aus JAVA essentiell für die Entwicklung allgemeiner Sortierprogramme. Viele Sortieralgorithmen wie etwa Bubble-Sort,
6
Insertion-Sort, Selection-Sort vergleichen nicht jedes Element mit jedem, sondern nutzen die Transitivität aus. Lauffähig sind sie aber auch ohne diese Eigenschaft der Relation, nur mit welchem Ergebnis hinsichtlich der Problemstellung?
Daneben sollte zumindest ein Teil der obigen Sätze in ihrem Wesensgehalt erarbeitet werden.
Zu Beginn muss zum einen geklärt werden, ob gleiche Elemente in einer Folge
vorkommen dürfen und wie sie dann behandelt werden sollen. Eine wichtige
Aufgabe ist die Klärung der Frage, was unter einer Lösung des Sortierproblems
überhaupt verstanden werden soll. Gewöhnlich bestehen die ersten Beispiele aus
Zahlen oder Wörtern, evtl. allgemein aus Zeichenketten. Hier ist die eigentliche
Problematik den Schülerinnen und Schülern nicht sofort ersichtlich, daher wirkt
die getroffene Unterscheidung in partiell sortierte und sortierte Folgen zunächst
sehr künstlich und ist anfangs sicherlich noch nicht erforderlich. Wichtig ist
es, dass die Schülerinnen und Schüler erkennen, das die Transitivität eine zu
fordernde Eigenschaft ist. ”Zum wirklichen Begriffsverständnis ist stets ein
kritischer Bezug auf vorhandene oder zu suchende Objekte im Sinne einer Einteilung in Beispiele und Gegenbeispiele erforderlich”, so H. Hischer in [His02]
S. 153. Diese These gilt besonders bei der eigenständigen Entwicklung von Begriffen. Dazu müssen Beispiele präsentiert oder durch geeignete Denkanstöße
von den Schülerinnen und Schüler entwickelt werden, die der Forderung der
Transitivität bzw. der Eindeutigkeit nicht genügen.
Bei vielen Sortierproblemen werden verschiedene Objekte nach einem Schlüssel
sortiert, etwa Personen nach dem Geburtsdatum. Auch an dieser Stelle kann
anfangs ein Klärungsbedarf bestehen.
3.1
Das topologische Sortieren
Arbeits- oder Handlungsabläufe bestehen häufig aus einzelnen Schritten, bei denen es teilweise eine Abhängigkeit in der Durchführungsreihenfolge gibt. Diese
Schritte sollen in eine sinnvolle Reihenfolge gebracht werden. So muss beim
Kaffeekochen mit einer Kaffeemaschine die Filtertüte vor dem Einfüllen des
Kaffeepulvers eingelegt werden. Hingegen kann man das Wasser vorher oder
nachher einfüllen, das Einschalten sollte aber am Ende des Vorgangs erfolgen.
Damit ergeben sich verschiedene sinnvolle Handlungsabläufe beim Kaffeekochen.
Mathematisch spricht man hier vom topologischen Sortieren. Diese Fragestellungen führen in die Graphentheorie und die Informatik, können an dieser Stelle
jedoch geeignete Beispiele zur Verfügung stellen.
3.2
Linearität und Trichotomie
Nicht beide Begriffe müssen entwickelt werden. Eine offene Fragestellung im
Unterricht kann Fragestellungen von Schülerinnen und Schülern produzieren,
die auf beide Begriffe hinauslaufen.
Stellt man im Unterricht eine kleine Anzahl verschieden großer Gegenstände
mit der Aufforderung, diese der Größe nach zu sortieren, auf den Tisch, so
wird gewöhnlich zuerst zielsicher der größte Gegenstand gegriffen, dann der
7
zweitgrößte usw.. Der gewünschte paarweise Vergleich findet nicht statt. Es
bedarf daher gewisser Hilfskonstruktionen. Bewährt hat sich an dieser Stelle
das Arbeiten mit Gewichten. Dabei sollten die Gegenstände so beschaffen sein,
dass sie unterschiedlich schwer sind, dies aber äusserlich nicht erkennbar ist.
Eine Balkenwaage leistet weitere Hilfsdienste. Hierdurch kann man erkennen,
dass beim Sortieren die Vergleichbarkeit zweier beliebiger Folgenelemente von
Vorteil ist. Ebenso kann man erkennen, dass man zwischen der Gleichheit von
Objekten und der Gleichheit des gewählten Vergleichschlüssels unterscheiden
muss.
Hat man einen unterrichtlichen Bezug zum Fach Informatik, so kann etwa
das Einbinden einer Schnittstelle Comparable in JAVA diese Erkenntnis liefern.
Sportturniere werden teilweise nach einem K.o.-System durchgeführt. Warum
kann man nach diesem System die Spiele bzw. Mannschaften nicht bezüglich
ihrer gezeigten Leistungen in eine Reihenfolge bringen?
3.3
Die Transitivität
Sucht man, motiviert durch die bekannten linearen Ordnungen, nach einem
geeigneten Axiomensystem, so wird man zum einen das topologische Sortieren
zu Recht als eigenständiges Problem ausgliedern und die Linearität, Konnexität
bzw. Trichotomie als erste Forderung erheben. Es ist kaum zu erwarten, dass
man an Beispielen von linearen Ordnungen den Begriff der Transitivität entdeckt.
Stellen wir uns daher eine Sportliga vor, in der jeder Sportler einmal gegen
jeden Sportler spielt, wobei ein Unentschieden als Ergebnis nicht zugelassen ist.
Die den Ligatabellen zugrunde liegenden Punktesysteme sind den Schülerinnen
und Schülern gewöhnlich bekannt. Die Aufforderung, die Spieler in eine Reihenfolge zu bringen, wird daher die gebräuchlichen Verfahren reproduzieren und an
dieser Stelle so nichts zur Klärung beitragen. Der Arbeitsauftrag sollte daher
etwa wie folgt lauten:
• Wieso wird an dieser Stelle ein Punktesystem eingeführt?
• Wieso kann allein mit Hilfe der durch die Spiele festgestellten Relationen
zwischen den Spielern keine eindeutige Tabelle erstellt werden?
• Erstelle mit Hilfe der erspielten Relation eine sortierte Folge der Sportler
und betrachte die Spielergebnisse von in der Folge nicht benachbarter
Spieler.
• Die UEFA-Richtlinien bei Gruppenspielen erstellen die Tabelle u.a. nach
den den folgenden Kriterien: Bei Punktgleichheit von zwei oder mehreren
Mannschaften zählt als nächstes der direkte Vergleich nach Punkten. Läßt
sich mit diesen Kriterien immer eine eindeutige Tabelle erstellen?
8
Literaturverzeichnis
[His02] Horst Hischer. Mathematikunterricht und Neue Medien. Franzbecker,
2002.
[LS97] I. Lehmann and W. Schulz. Mengen- Relationen- Funktionen. TeubnerVerlag Stuttgart- Leipzig- Wiesbaden, 1997.
Herunterladen