Zettel a2B2a1A1a1

By openmedi on 31. Juli 2016 — 8 mins read

An dieser Stelle passt vielleicht die folgende Überlegung zu einer (naiven) Theorie des Puzzle-Spiels.


Theorie des Puzzlespiels

Beschreibung des Gegenstands

Ein Puzzlespiel (kurz: Puzzle) ist ein in spezifischer Weise zerschnittenes Bild, das es gilt aus den durch das Zerschneiden entstandenen Einzelteilen (wieder) zusammenzusetzen (“zu legen”). Als Material für Puzzles wird häufig besonders starke Pappe verwendet, die einige Millimeter dick ist. Die meisten Puzzles sind einseitig bedruckt, es gibt jedoch auch solche, die Motive auf beiden Seiten zeigen. Die Teile eines Puzzle-Spiels sind ihrer Grundform nach zumeist viereckige Bruchstücke des Bildes, die sich durch charakteristische “Nasen” bzw. “Löcher”, an allen vier Seiten auszeichnen, wobei jeweils immer nur entweder eine Nase, oder ein Loch an einer Seite vorkommen kann. Zusätzlich zu diesen Standardteilen, gibt es noch die Randstücke, die entweder an einer Seite, oder an zweien – wenn es sich um eine der vier Ecken handelt – weder Nase, noch Loch aufweisen. Für die Ecken ist klar, dass sich die beiden glatten Seiten nicht einander gegenüber befinden können. Ein Puzzlespiel wird in den meisten Fällen in einem flachen Karton aufbewahrt, der denen von Brettspielen gleicht. Auf dem Karton ist zumeist eine verkleinerte Darstellung des zu legenden Motivs (die “Übersicht”) abgedruckt, die als Spielhilfe verwendet werden kann. Prinzipiell wäre das Legen auch ohne diese möglich, jedoch erhöht dies den Schwierigkeitsgrad erheblich und findet daher selten Anwendung.

Puzzles haben verschiedene Umfänge, wobei die uns hier interessierenden Normalpuzzles, mit den oben genannten Charakteristika, von ca. 500 bis 3000 Teilen als zutreffender Gegenstand dieser Theorie betrachtet werden können. Die Aufgabe des Zusammensetzens des Bildes erfordert eine Menge Geduld. Die erforderliche Zeit steigt mit zunehmendem Teilumfang erheblich. Grundsätzlich besteht das Legen eines Puzzles aus dem Heraussuchen eines Teiles und dem tastenden Aneinanderfügen an ein anderes, bereits auf die Spielfläche gelegtes. Das Spiel beginnt mit dem Auslegen des ersten Teils und endet mit Anfügen des letzten. Die Anzahl der Spieler ist hauptsächlich durch den Raum, in dem das Puzzlespiel stattfindet begrenzt, jedoch stellen sich, dem eigentlichen Puzzlespiel vermutlich nicht unähnliche, organisatorische Probleme, versuchte man über Gebühr Spieler_innen an einem Puzzlespiel zu beteiligen. Im Standardfall finden sich 1 bis 3 Spieler_innen zur Lösung eines Puzzles ein. Selbst im Standardfalle mit mehr als einer Spieler_in ist ein bestimmtes Maß an Organisation und Kommunikation vonnöten, um ein erfolgreiches, d.h. zügiges Spielen zu gestatten. “Zügigkeit” ist dabei das Maß für den Grad der Optimierung der Spielstrategie auf “Legeerfolge”. Legeerfolge sind erfolgreiche Auslagen von Puzzleteilen und daher für den Abschluss des Spiels erforderlich, d.h. erwünscht.

Zur Strategie

Die Erzeugung von Legeerfolgen kann durch eine nicht-triviale Strategie des Auslegens intensiviert werden. Erfolgreiche Strategien setzen sich dabei aus einer Reihe von Manövern zusammen, die im Folgenden kurz skizziert werden sollen:

Vergleich

Es ist möglich unter Zuhilfenahme der Übersicht den Ort einzelner Teile genau, oder wenigstens in etwa zu bestimmen. Durch genaues Absuchen der Übersicht lassen sich charakteristische Merkmale des Teils auf dem Gesamtbild wiedererkennen. Durch das Auslegen des Randes (siehe dort), lässt sich mindestens die Region, bei fortgeschrittenem Spiel vermehrt auch der Platz des Teils bestimmen. Nicht immer ist diese Strategie erfolgreich. Sehr viele farblich oder typologisch ähnliche Teile vermögen eine Identifizierung zum Zeitpunkt des Identifizierungsversuchs zu verunmöglichen.

Sortierung

Teile können nach verschiedenen Kriterien sortiert werden. Häufigste Varianten sind dabei sicherlich die Sortierung nach Farbe und die Sortierung nach Teiltyp. Darüber hinaus lassen sich zuweilen durch besonders auffällige Muster einzelner Bildelemente des Motivs auch verhältnismäßig sichere elementgebundene Zuordnungen machen. Weiters kann man die Typensortierung durch die Sortierung nach der charakteristischsten Nase/des charakteristischsten Lochs intensivieren.

Farbsortierung

Die Sortierung nach Farben ist – häufig parallel zur Aussortierung des Randes (siehe dort) – der erste Schritt des Auslegens. Ein Grund dafür könnte in der Form der Puzzleteile liegen: Ihrer Form nach nimmt die Oberfläche den größten Platz des Teils ein. Sie ist mit einem Teil des Motivs bedruckt, allerdings lässt sich gegenständlich häufig nur sehr wenig erkennen und dementsprechend schnell springt einem die Farbe des Stücks ins Auge. Die grundsätzliche Aufteilung von Farben kann vollständig ohne Übersicht geschehen und bietet daher die Möglichkeit zur Arbeitsteilung, wenn man mit mehreren Leuten puzzlet. Problematisch ist die Sortierung nach Farben durch XXX Faktoren: Erstens durch die Spezifika menschlicher Farbwahrnehmung. So ist der Farbvergleich von Teilen anfällig für Einflüsse wie etwa Licht, Umgebung, Unterlage, Dauer des Sortiervorgangs und das “Umfeld” der zu sortierenden Teile. Der zweite wesentliche Faktor ist die Entscheidung welche Farbe als dominant in einem bestimmten Puzzleteil angesehen wird. Die meisten Puzzleteile sind nicht monochrom sondern enthalten wenigstens vereinzelt andere Fabrsprenkel. Nun mag die Situation entstehen, dass der Hauptteil der zusehenden Farbe auf der Oberfläche des Teils z.B. schwarz ist (wie bei vielen anderen Teilen; der Hintergrund des Motivs ist schwarz), jedoch sich gelbe Sprenkel auf dem Teil befinden. Auch wenn der Großteil der Oberfläche schwarz ist, so ist es dennoch angebracht nach den gelben Sprenkeln zu sortieren, weil eine reine Sortierung nach schwarz, ob der schieren Masse schwarzer Teile, einen zu geringen Unterschied machen würde. Es ist daher erforderlich und in vielen Fällen sinnvoll nicht nur die erste Farbe, sondern wenigstens auch noch die zweite Farbe zu sortieren. Es wird leicht ersichtlich wie sich über diesen Weg die Gesamtheit des Puzzles in immer kleinere Häufchen gleichfarbiger Teile aufteilen lässt. Die implizite Annahme, dass einander ähnliche Teile farblich ähnlich sind, ist in vielen Fällen berechtigt.

Typensortierung

Es gibt in Standardpuzzles, wenn man von den Rändern absieht (siehe dort), folgende sechs Teiltypen: keine Nase, eine Nase, zwei Nasen (gegenüberliegend), zwei Nasen (rechtwinklig), drei Nasen und vier Nasen. Eine Sortierung nach diesen eindeutigen Merkmalen ist möglich und insbesondere als Untersortierung einer Farbsortierung vielversprechend. Durch das Aneinanderfügen von Teilen entstehen nämlich immer wieder die gleichen Legesituationen, in die im optimalsten Falle nur ein Teiltyp passt. Aber selbst wenn das Optimum nicht erreicht wird, lassen sich auf diese Weise zumindest verschiedene Teile ihrem Typus nach Aussieben, was wiederum zur Zügigkeit des Spielablaufs beiträgt.

Nasen/Löcher-Sortierung

Diese Sortierung findet seltener Anwendung, weil sie sich mit der Typensortierung zuweilen beißt. Es ist jedoch möglich die Form von Nasen/Löchern zu sortieren. Da man mit der Konzentration auf Nasen die Zügigkeit des Auslegens bereits erhöht und sich das Auftauchen interessanter Löcher als serendip erweist, empfiehlt sich die Konzentration auf Nasen ODER Löcher, aber nicht auf beides. Der Einfachheit halber wird hier nur von Nasen ausgegangen. Grundsätzlich ist dabei aber zu beachten, dass eine Sortierung nach allen verfügbaren Nasen (bis zu vier!) zu wenig oder gar “falsch” diskreminiert. Es empfiehlt sich daher stets nur die charakteristischste Nase zu ermitteln. Zwei Haupttypen können dabei unterschieden werden: runde Nasen und eckige Nasen. Anschließend ließe sich noch die Größe (die Kategorien klein, mittel, groß empfehlen sich) und die Position (links, mittig, rechts bzw. oben, mittig, unten) unterscheiden.

Brute Force

Kommt keine Sortierung, kein Vergleich, schlicht gar keine Verengung des Möglichkeitsraumes durch die Anwendung von wahrscheinlichkeitserhöhenden Manövern zur Anwendung, dann verfährt man naiv oder nach dem Brute-Force-Verfahren, was so viel bedeutet wie, dass man jedes Teil mit jedem Teil in jeder möglichen Position ausprobiert. Man kann sich vorstellen, dass der Aufwand schnell ins sinnlose steigt.

Brute Force nach Sortierung

Eine hingegen sinnvolle Anwendung des naiven Vorgehens ist das Vorgehen nach der erfolgten Sortierung (und häufig vor dem Versuch des Erkennens, siehe dort). Wenn die Anzahl der Teile auf ein erträgliches Maß geschrumpft wurde, dann sind die so möglichen Kombinationen ebenfalls im erträglichen Rahmen. Außerdem ist das Ausprobieren durch farbliche Sortierung serendip. Da außerdem die möglichen Legesituationen begrenzt sind, sind die Kosten für das Austesten eines Teils an einer anderen als der aktuell fokussierten Stelle sehr gering, was wiederum die Zügigkeit des Auslegens erhöht. Auch hier lässt sich im übrigen arbeitsteilig vorgehen.

Erkennen

Schließlich sind Teile zuweilen als bestimmten Bildelementen zugehörig identifizierbar, d.h. man erkennt die Puzzlesstücke “für sich” als Teil des Bildes. Man sagt dann z.B.: “Das ist doch ein Stück des Rasens!” Durch Familiarität mit dem Motiv (d.h. Dauer des Spiels) erhöht sich die Erkennungsrate, ebenso wie durch das zunehmende Ausgelegtsein (ebenfalls von der Dauer des Spiels abhängig), weil sich dadurch das Verhältnis des Abgebildeten zur Größe des Puzzlebildes ergibt. Ein wichtiger Schritt ist daher auch das Auslegen des Randes (siehe dort).

der Rand

Der Rand ist insofern besonders, als dass er verhältnismäßig wenige Teile umfasst, die sich dank ihrer glatten Seite (oder bei Ecken: Seiten) verhältnismäßig leicht aussortieren lassen. Die Aussortierung aus der Masse normaler Puzzleteile und ihre Auslegung erlaubt daher frühe Erfolge und darüber hinaus entsteht der Rahmen in dem alle weiteren Teile ihren Platz finden. Eine Sortierung nach Farben, sowie der Vergleich mit der Übersicht, reicht hier häufig schon um die nötige Zügigkeit zu erreichen.

Das Vorgehen

Hier das Vorgehen in Pseudocode:

def sort_puzzle(puzzle):
    for tile in puzzle do:
        if tile.type is border:
            #sort by color
        else: #is normal piece
            #sort by color
                #sort by number of noses
                    # sort by angular or round (most characteristic nose)
                        # sort by nose_size (most characteristic nose)
                            # sort by position on side (most characteristic nose)

def play_puzzle(puzzle):
    sort_puzzle(puzzle)
    for pieces.border in puzzle:
        compare(piece, map)
        recognize(piece)
        try_piece(piece, location)        
    for pieces.normal in puzzle:
        compare(piece, map)
        recognize(piece)
        try_piece(piece, location)
    return picture_of_puzzle

Dieser naive Algorithmus lässt sich nun noch verbessern. Das zu puzzelnde Motiv ist ein Bild und man kann spätestens, wenn man den Rand ausgelegt und die restlichen Teile vorsortiert hat, anfangen mit den Teilen “zu malen”: Das heißt, man ordnet die vorsortierten Häufchen (bzw. Behältnisse, in denen sich die gewünschten Teile befinden…), ihrem Ort im Puzzle zu. Auch wenn die Teile dann natürlich noch nicht perfekt an ihrem Platz liegen, kombiniert diese Technik auf einen Schlag viele Strategien und ist darüber hinaus ein serendipes Verfahren. Sind die Teile aufs (oder neben das) Bild “gemalt”, dann heißt es schließlich im dauernden Wechselspiel zwischen Vergleichen, Erkennen und Ausprobieren, die Teile an ihren Ort zu verfrachten. Es empfiehlt sich zwischendurch Pausen zu machen und außerdem ab und an eine schöne Tasse Tee zu trinken.

Posted in: Zettel

Leave a comment

%d Bloggern gefällt das: