Montag, 18. April 2011

Ich hab's gern perfekt

Der Titel sagt eigentlich schon alles. Ich habe lange überlegt, ob und wie ich diesen Artikel schreibe, immerhin soll er möglichst perfekt werden (oder gar nicht) und sollte natürlich auch mit Maiks wunderbaren Artikeln irgendwie mithalten können, aber versprochen ist versprochen.

Ich plane gern. Vor allen Dingen liegt mir die Streckenoptimierung. Ob es nun beim Decken des Frühstückstisches darum geht, möglichst wenig Strecke zurückzulegen, möglichst selten Schubläden und Schränke zu öffnen und möglichst selten hineinzugreifen, dabei möglichst nie „Leertouren“ zu unternehmen und möglichst viel zu parallelisieren. Oder ob es darum geht in einem Tellergeschäft meiner Wahl den optimalen Weg durchs Labyrinth zu finden um größtmögliche Zeit in meiner Lieblingsabteilung zu haben bevor die Tellergeschäft-Toleranzgrenze bei meinem Mann soweit überschritten ist, dass auch ich keinen Spaß mehr am Besuch haben kann.

Mit besonderem Interesse habe ich im Informatik-Studium die Vorlesungen über Algorithmen zum Finden des kürzesten Pfades in Graphen verfolgt. Die Gedanken, die sich verschiedene Leute um dieses Thema gemacht haben (ich sage nur Dijkstra), waren ja schon mal nicht schlecht. Aber mal ehrlich. So macht man das doch nicht! Das ist doch, als ob ein Computer Vivaldi spielt, oder als ob man einer Gummipuppe beibringen will Spaß zu haben, oder als ob man Memory mit nicht verdeckten Karten spielt!

Ok, ok, bevor sich die Beschwerden häufen, ich gebs ja zu, es mag Anwendungsfälle geben, da haben diese Algorithmen ihre Berechtigung ;-). Aber im Alltag gibt es doch nichts Schöneres als zu wissen, keinen Handgriff, keine Sekunde mit Warten oder Umwegen verschwendet zu haben.
Erst die Knobelei, wie macht man es am besten? Dann das Glücksgefühl, wenn die Lösung naht. Und dann dieses wunderbare Gefühl wenn der Plan Wirklichkeit wird und sich die einzelnen Schritte wie kleine Zahnräder ineinander fügen und am Ende das Ergebnis großartig - nämlich perfekt ist!

Dieses Prinzip ist so super, weil es quasi überall anwendbar ist, wenn man einmal verstanden hat, wie es funktioniert. Beim Duschen, beim Wäsche Zusammenlegen und in den Schrank räumen (völlig unabhängig, ob man sich nun für Queues oder Stacks entscheidet) oder beim Aufwärmen des Mittagessens in der Mikrowelle (durch Parallelisierung der Tasks, passt da plötzlich locker ein Kicker-Match dazwischen).

Optimierung für Fortgeschrittene ist, wenn man nicht nur die eigenen Wege und Arbeitsschritte einbezieht sondern auch gleich die potentielle Arbeitskraft anderer Anwesender mit einplant. Ok, hin und wieder stößt man auf Unverständnis, vor allem, da es manchmal ja um Sekunden geht und man gezwungen ist möglichst schnell die jeweiligen Anwesenden über die (eigentlich völlig offensichtlichen) nächsten Schritte zu informieren. Diese gut gemeinte Hilfestellung und Information (um den Plan doch noch zu retten), erscheint den Anwesenden aufgrund der Eile und auch aufgrund meiner fehlenden Geduld ob der völlig eindeutigen Lage manchmal wohl wie ein Befehl (es geht ja auch um eine wichtige Sache, die auf keinen Fall an stümperhafter Ausführung scheitern darf!). Dieses Unverständnis gepaart mit Unmut weicht aber meist schnell, wenn auch diese ignoranten Deppen die Perfektion des Ergebnisses, an dem sie ungewollt selbst Anteil hatten, letztendlich anerkennen müssen.

Also, probiert es doch einfach mal aus, es lohnt sich!


PS: Aber Vorsicht, nicht jedes Ergebnis wird durch diese Art der Optimierung perfekt. Als Faustregel gilt: Überall, wo gilt „der Weg ist das Ziel“, sollte man über andere Möglichkeiten der Optimierung nachdenken ;-)