Die Schönheit von Algorithmen und warum KI damit Probleme hat

Früher haben wir Algorithmen und deren Komplexität gepaukt, gebaut, getestet, gemessen. Alleine für das Sortieren einer simplen Liste gibt es zig Varianten, die zu ganz verschiedenen Laufzeiten führen.

In der Informatik hat man hierfür die sog. O-Notation eingeführt, die bewertet, wie starkt die Zeit- oder Platzkomplexität mit wachsender Eingabemenge zunimmt und eine obere Schranke für Laufzeit oder Ressourcenverbrauch bildet. Klingt kompliziert, ist eber im Endeffekt nur der „Worst-Case“.

Hat man bspw. O(n), also lineare Komplexität, dann wächst der Ressourceverbrauch direkt proportional zur Anzahl Eingabedaten. Klingt auch noch kompliziert… Auf gut Deutsch: 100 Elemente sortieren dauert 10 Sekunden, 200 Elemente sortieren dauert 20 Sekunden, 300 dann 30 Sekunden, usw.

Nun gibt es Verfahren, die bei größeren Datenmengen besser, aber bei kleineren Datenmengen schlechter sind – und welche, bei denen es genau umgekehrt ist. Super Aufgaben im Programmierpraktikum….

Neuerdings würde man KI verwenden und sagen „sortier mal die Liste“. Man würde nicht sagen „sortier mal die Liste mit Bubble-Sort“ oder „Merge-Sort“ oder irgendeinem anderen Verfahren, weil man die im Zweifel nicht mehr kennt. Oder gar nicht auf die Idee kommt, dass das Sortieren einer Liste auf verschiedene Arten passieren kann. Man würde sich auf die KI verlassen….. und wenn’s dann langsam wird? Dann drehen wir einfach den Hardware-Schieberegler unserer Cloud hoch.

Und warum kann die KI nicht einfach den besten Algorithmus wählen?

Na ja – auch hierfür müsste sie die Daten, deren Umfang und Nutzung kennen. Das kann sie aber zur Entwicklungszeit noch nicht „wissen“ – außer wir sagen es ihr. Aber das würde ebenfalls wieder bedeuten, dass wir beim Prompt „sortier mal die Liste“ die Rahmenbedingungen mitgeben müssen „… und berücksichtige, dass ich hier von einer Größe von 10.000-20.000 Datensätzen ausgehe“. Je exakter wir dies der KI mitteilen, desto höher die Wahrscheinlichkeit, dass die mit der Info auch tatsächlich was anfängt….

…. aber was, wenn sie die Frage stellt „soll ich dann Bubble-Sort dafür nehmen?“ – dann sind wir wieder am Anfang und müssen uns mit der O-Notation, den Algorithmen, usw. auskennen.

Oder wir drehen den Schieberegler einfach hoch. Ist entspannter…. und Energie / CPU / etc. zahlt eh die Firma…. !?!

Den Spagat zwischen dem, was man heute noch „wissen muss“ und den neuen Möglichkeiten der KI hinzubekommen, ist echt nicht einfach… aber: ich mag Algorithmen und ihre Eleganz. Hoffentlich sieht die KI das genauso 😉

informatikersindcoolalgorithmensindelegant