Die CS-Abteilung an meiner alten Universität hat seit den siebziger Jahren ein historisches Interesse an von der Natur inspirierten Algorithmen (ich glaube, der korrekte akademische Begriff lautet Natürliche Berechnungen . So kam ich mit einigen dieser Algorithmen in Berührung, insbesondere Entwicklungsstrategien die weithin bekannten neuronalen Netze, und die exotische Kunst der Membrane Computing . Ich habe auch einen Kurs über Data Mining belegt, in dem wir einige Algorithmen untersucht haben, die es einem Computersystem ermöglichen, aus einer Reihe von Daten zu lernen.
Ich würde sagen, dass jede Art von Algorithmus, der den Computer "lernen" etwas fällt in die Kategorie, die von der Natur abgeleitet ist. Daher fallen auch die eher einfachen Algos wie Naive Bayes in diese Kategorie, und wir alle nutzen sie wahrscheinlich auf die eine oder andere Weise, z. B. um Spam-E-Mails herauszufiltern.
Ich persönlich habe diese Art von Algorithmen nur in Universitätskursen oder bei meinen persönlichen Programmierexperimenten eingesetzt. Ich denke, es wird allgemein gelehrt, dass sie leistungsfähig sind, wenn auch in vielen Fällen weniger effizient als "klassische" deterministische Algorithmen. Daher sollte ein deterministischer Algorithmus immer bevorzugt werden - wenn es einen gibt, der das Problem löst! Nur wenn das Problem zu komplex ist, um mit deterministischen Algorithmen gelöst zu werden, kann die natürliche Berechnung eine bessere Lösung bieten. Nach meiner persönlichen Erfahrung ist dies tatsächlich der Fall. Ein kleines Beispiel: Die Evolutionsstrategie, die ich zur Lösung von Sudoku-Rätseln implementiert habe, hat mich einen halben Tag gekostet und lief mehrere Stunden, um die gleiche Lösung zu finden, die der klassische Backtracking-Algorithmus in weniger als einer Sekunde gefunden hat (für dessen Erstellung ich weniger als dreißig Minuten gebraucht habe ;-))
Ich erinnere mich nur daran, dass ein Kommilitone Evolutionsstrategien verwendet hat, um das Problem zu lösen, wie man einen Satz von Dateien optimal auf mehrere DVDs für die Archivierung verteilt, was, glaube ich, eine Anwendung des Knapsack-Problems oder des Bin-Packing-Problems ist, und es hat recht gut funktioniert. Offensichtlich können auch Ameisenkolonie-Algorithmen für dieses Problem verwendet werden. Jedenfalls vielen Dank für diese interessante Frage.