Ein Buch über die grundlegenden Funktionsprinzipien von Algorithmen, ein zweites über die Bedienung eines beliebten Open-Source-Zeichenprogramms.
Ob wir es merken oder nicht – Algorithmen greifen zunehmend in unser Leben ein, beispielsweise in sozialen Netzen, beim Online-Einkauf oder der Partnersuche im Web, bei Bankgeschäften oder Versicherungsabschlüssen. Da ist es sicherlich von Vorteil, zu wissen, wie diese regelbasierten Handlungsanweisungen für Rechner prinzipiell funktionieren. Auch dem nicht bereits speziell Vorgebildeten dieses Verständnis nahezubringen, ist das Anliegen des Buches von Aditya Y. Bhargava.
Der Autor beginnt mit der Erklärung einfacher Such- und Sortieralgorithmen, die er gleich mit dazu benutzt, die übliche Klassifikation der Laufzeiten nach der so genannten Landau-Notation zu erklären. Der Leser wird also danach abschätzen können, wie viel schneller etwa O(log n) im Vergleich zu O(n!) ist.
Die Beispiele sind gut verständlich und werden durch besonders viele Illustrationen noch besser erklärt. Der Autor schwört nämlich darauf, dass sich visualisierte Inhalte besser einprägen. Ein Wermutstropfen ist allerdings, dass ausgerechnet das erste Listing auf Seite 27 fehlerhaft abgedruckt ist und so nicht funktioniert.
Die Beispielprogramme nutzen übrigens durchweg Python statt Pseudocode. Das hat den Vorteil, dass sie unmittelbar ausführbar sind. Allerdings ist die gegebenenfalls erwünschte Übertragung in eine andere Programmiersprache unter Umständen nicht ganz leicht – in Perl beispielsweise könnte man so einfach weder Arrays an Funktionen übergeben noch sie als Werte in Hashtabellen speichern, wie es die Beispiele tun.
Weiter geht’s mit grundlegenden Techniken für Algorithmen, etwa der Rekursion, und mit elementaren Datenstrukturen wie etwa der Hashtabelle. Dann folgt ein Abstecher in die Graphentheorie, der die Breitensuche und den Dijkstra-Algorithmus anschaulich beschreibt.
Ein anschließendes Kapitel wendet sich Näherungslösungen zu, die man dort braucht, wo noch kein algorithmisches Vorgehen bekannt ist oder wo es vielleicht prinzipiell unmöglich ist, eine solche Lösung zu finden, oder wo die Berechnung zu lange laufen würde.
Besprochen wird das schon anspruchsvollere Verfahren der dynamischen Programmierung. Es folgen die Diskussion von k-Nearest-Neighbours als Beispiel für einen Algorithmus, der sich für Klassifikation und Regression eignet, und ein kurzer Ausblick auf Techniken des Machine Learning sowie zehn kurz vorgestellte weitere Algorithmen.
Das Buch ist dank guter Übersetzung aus dem Amerikanischen angenehm zu lesen, verständlich, ohne trivial zu sein, gespickt mit originellen Beispielen und Bildern und dabei außerordentlich informativ – ergo eine Empfehlung für jeden IT-Interessierten.
Handbuchersatz
Das zweite Buch ist der klassische Handbuchersatz, nützlich für alle, die mit der Onlinehilfe nicht zurechtkommen und sich etwas Gedrucktes neben die Tastatur legen wollen. Im vorliegenden Fall geht es um ein Manual für das freie Vektorgrafikprogramm Inkscape.
Das Buch hangelt sich mehr oder weniger chronologisch vom Starten und Beenden der Software über die verschiedenen Menü- und Werkzeugleisten sowie Tastenkombinationen weiter zum Zeichnen von Grafikobjekten, deren Transformation, der Verwendung von Ebenen und Pfaden und weiter zu Farben und Filtern. Alles wird narrensicher erklärt, jede Menge Illustrationen demonstriert die Effekte auch im Bild.
Allerdings gehen die Ambitionen des Autors nicht über die reine Handhabung der Software hinaus. Tipps zur grafischen Gestaltung oder gar ganze Workflows für die Umsetzung spezieller grafischer Techniken sucht man vergebens. Es geht immer nur darum, was ein Button oder Menüpunkt im engeren Sinne bewirkt. Immerhin folgen ganz am Ende des Buches noch einige Praxisbeispiele, die eine Reihe von Funktionen im Zusammenspiel beleuchten.
Das Buch ist allen zu empfehlen, die noch keine Inkscape-Profis sind und ein Nachschlagewerk suchen, dem zu entnehmen ist, welches der vielen Werkzeuge man wofür und wie benutzen soll. Wer sich dagegen in Gestaltungsfragen gern von einem Grafiker beraten lassen würde, kommt hier zu kurz und muss sich zusätzlich nach einem weiteren Titel umsehen.
Info 1

Aditya Y. Bhargava:
Algorithmen kapieren
mitp Verlag, 2019
270 Seiten
30 Euro
ISBN 978-3-95845-813-0






