Lernfähige Software
Die Idee der lernfähigen Software orientiert sich grundsätzlich an der Idee des Lernens an sich, nämlich des Zugewinns an Wissen durch Erfahrung und die daraus resultierende Fähigkeit, auf Grund dieser hinzu gewonnenen Erfahrung zukünftig effizienter komplexere Aufgaben bewältigen zu können - ohne, im Falle eines Computerprogramms, von außen neu programmiert werden zu müssen.
Lernfähige Software kann auf diese Weise eine Vielzahl von Funktionen erfüllen, sogar so selbst-referentielle wie die Modifizierung und Verbesserung des eigenen algorithmischen Codes. Ihre Schwachpunkte sind, wie bei allen Systemen, die auf der Basis künstlicher Intelligenz operieren, dass ihnen eine quasi innere Motivation zur Wissenserweiterung auf der Basis von realer, intellektueller Neugierde nicht einprogrammierbar ist.
Nichtsdestotrotz sind die Beispiele für die Entwicklungen und das Potential lernfähige Software erstaunlich, und haben sich in den letzten Jahren zunehmend am praktischen Einsätzen bewiesen.
So hilft zum Beispiel Spracherkennungssoftware nicht nur bei regulären Textverarbeitungsvorgängen, sondern unterstützt behinderte Menschen, einen Großteil ihrer Kommunikationsautonomie zurückzugewinnen. Spracherkennungsprogramme können sich extrem präzise auf die jeweiligen linguistischen Spezifika eines Menschen einstellen, indem sie einen kontinuierlichen "Trial and Error"-Prozess durchlaufen.
Programmiertechnisch wird bei Spracherkennungssoftware natürliche menschliche Sprache in Datenflüsse übersetzt, die der Computer "verstehen" kann. Ist dieser Punkt erreicht, können die Daten in beliebige andere linguistische, regelhafte Sprachen übersetzt werden.
Einen anderen, semiotischen Ansatz wählt das sogenannte "Data Mining" und das verwandte "maschinelle Lernen". Beim Data Mining wird ein Datenbestand auf der Suche nach - und das ist das interessante - neuen, also bisher ungekannten Mustern durchkämmt. Hier liegt der Unterschied zum maschinellen Lernen, das bekannte Muster automatisch wiedererkennen helfen soll. Das Data Mining basiert auf der Programmierung statistischer Verfahren oder auch sogenannter genetischer Algorithmen, die Regeln und ihre auffälligen Abweichungen erkennen lernen sollen; letzterer Ausdruck trägt die Anlage zur Selbstevolution ja bereits in sich. Auch das sogenannte Fuzzy-Clustering-Verfahren dient in diesem Zusammenhang zur Erzeugung lernfähiger Software.
Besonders interessant ist die Entwicklung künstlicher neuronaler Netze im Kontext lernfähiger Computerprogramme. Diese haben eine fast unlimitierte Fähigkeit, "zu lernen". Modelliert sind sie nach tatsächlichen organischen neuronalen Netzwerken, wie sie im Gehirn lokalisiert sind. Gleich diesen, simulieren sie den Spannungsaustausch der neuronalen Zellen im Hirn, indem sie statt diesen Abermillionen winziger Prozessoren verwenden.