Künstliche Intelligenz vs. klassische algorithmische Programmierung

Hin zur Künstlichen Intelligenz von der klassischen algorithmischen Programmierung

Anthony Quattrone, PhD 30. April 2022

Fortschritte in der künstlichen Intelligenz haben es ermöglicht, komplexe rechnergestützte Probleme effizient zu lösen, die zuvor schwierig, unlösbar oder stark kombinatorisch waren. Zu diesen Problemen gehören Gesichtserkennung, Objekterkennung, Routenplanung und hochgradig personalisierte Online-Empfehlungssysteme.

Die Herausforderung für Organisationen auf dem Weg in die Zukunft besteht für strategische Entscheidungsträger darin, sich zwischen traditionellen klassischen Ansätzen und Ansätzen der Künstlichen Intelligenz zur Lösung komplexer rechnerischer Probleme zu entscheiden. Beide Methoden haben einzigartige Herausforderungen bei der Bereitstellung eines robusten Systems in den Dimensionen Genauigkeit, Kosten, Implementierungsschwierigkeit und Wartbarkeit.

Der klassische algorithmische Programmieransatz zur Problemlösung

Das klassische Programmierparadigma beinhaltet die Lösung von Problemen durch präskriptive Algorithmen und die Verwendung einer genau definierten Abfolge von Anweisungen. Eingaben werden definiert und eingeschränkt, wobei Algorithmen entwickelt werden, um Eingaben über definierte Programmierparadigmen (prozedural, objektorientiert, funktional und logisch) zu verarbeiten und Ausgaben zu erzeugen.

Die Entdeckung von Algorithmen zur Lösung zeitlich und räumlich effizienter Probleme ist notorisch schwierig. In der Komplexitätstheorie werden Probleme entweder als P (Polynomial), NP (Nichtdeterministisch Polynomial), NP-Complete oder NP-Hard eingestuft. Polynomiale Probleme können schnell gelöst und verifiziert werden, während nicht-polynomiale Probleme dies nicht können. NP-Probleme lassen sich durch klassische algorithmische Ansätze nur schwer lösen.

Ein Beispiel für ein P-Problem ist das Finden des kürzesten Wegs zwischen zwei Punkten, während ein Beispiel für ein NP-Problem das Problem des Handlungsreisenden ist, bei dem bei einer Reihe von Standorten der optimale Weg gefunden werden muss, um alle Orte auf der kürzestmöglichen Strecke zu besuchen. Es passiert sich, dass viele der Probleme, die derzeit rechnerisch gelöst werden müssen, in die NP-Kategorie fallen. In den meisten Fällen ist eine Näherungslösung für praktische Zwecke oft ausreichend. Im Alltag finden Menschen immer Näherungslösungen, d. h. bei der Navigation.

Es gibt Implementierungsherausforderungen bei der effizienten Lösung von Problemen unter einem klassischen algorithmischen Paradigma. Algorithmische Komplexität ist ein Zweig der Informatik, der sich damit befasst, wie effizient Algorithmen im zeitlichen (Zeitkomplexität) und räumlichen Bereich (Raumkomplexität) laufen.

Während es viele verschiedene Möglichkeiten gibt, Algorithmen zu implementieren, wird eine offensichtliche, aber potenziell ineffiziente Methode zur Implementierung eines Algorithmus oft als „naiver“ Algorithmus bezeichnet. Die effizientesten Algorithmen sind nicht leicht zu entdecken, und Informatiker arbeiten seit vielen Jahren daran, die besten Algorithmen zur Lösung von Problemklassen zu finden. Algorithmen in Produktionssystemen werden auf zeitlich und räumlich effiziente Weise implementiert. Die größten Softwareunternehmen stellen höchste algorithmische Standards durch Peer-Programming sicher, ähnlich dem Peer-Review. Es erfordert viele Jahre der Ausbildung und ein hohes Maß an Können, um Algorithmen effizient zu implementieren.

In praktischer Hinsicht haben sich zwar Programmiertechniken weiterentwickelt und Programmiersprachen (d. h. C, C++, Java, JavaScript, PHP, Python) in ihrer Beliebtheit verändert, doch die Grundlagen sind seit den 1970er Jahren, als die Bell Labs die ersten C-Module schrieben, gleich geblieben. Es gibt einige praktische Möglichkeiten, theoretisch anspruchsvolle Probleme in der Produktion zum Laufen zu bringen, wie etwa die Verwendung verteilter Systeme. Fortgeschrittene Ansätze sind mit höheren Kosten verbunden und übersteigen die Möglichkeiten aller außer der technologisch fortschrittlichsten Organisationen.

Angesichts der Komplexität klassischer algorithmischer Programmierungsansätze haben Organisationen schon lange Schwierigkeiten, effektive Teams aufzubauen, um solche Systeme intern zu entwickeln. Darüber hinaus haben viele auch Schwierigkeiten gehabt, externe Anbieter zu finden, um Nischenherausforderungen zu lösen, die theoretisch umsetzbar sind. Das Entwerfen eines spezifischen Algorithmus wird mit zunehmender Problemdauer deutlich komplexer. Dies gilt insbesondere für multivariate Probleme. Es ist am besten, klassische algorithmische Ansätze für Situationen zu verwenden, in denen ein Algorithmus ein Problem schnell lösen kann und für die meisten Fälle funktioniert.

Der AI-Ansatz zur Problemlösung

Das Paradigma der Künstlichen Intelligenz versuchte, Probleme generisch zu lösen, indem Eingaben und gewünschte Ausgaben in ein System eingespeist wurden und das System lernen ließ, wie Probleme zu lösen sind. Aktuelle AI-Ansätze laufen auf klassischen Computern über klassische Programmierverfahren. Die spannendsten AI-Methoden sind neuronale Netze und bestärkendes Lernen.

Künstliche neuronale Netze nutzen das menschliche Verständnis darüber, wie der menschliche Geist lernt und Probleme verallgemeinert. Bestärkendes Lernen verwendet Agenten, denen ein Zielzustand und eine Reihe von Szenarien zugeführt werden. Der Lernalgorithmus behält bevorzugte Ergebnisse bei und verwirft nachteilige Ergebnisse über mehrere Iterationen. Bestärkendes Lernen ist analog zur operanten Konditionierung. Der Agent lernt über viele Trainingsiterationen, wie das Ziel erreicht wird.

Eine Voraussetzung für das Training von Künstliche-Intelligenz-Lösungen ist entweder ein gut definierter, umfangreicher Datensatz, der normalerweise unter Verwendung einer Kombination aus verschiedenen Data Warehouses oder Crowdsourcing zusammengestellt wird, oder ein System kann lernen, einen Zielzustand zu erreichen, indem es eine Reihe von Iterationen durchläuft. Ein Beispiel hierfür ist ein System, das ein Spiel gegen sich selbst spielt, wie Schach oder Go, um weiter zu lernen, wie es Strategien zur Verbesserung der Ergebnisse entwickelt. Künstliche Netzwerke und bestärkendes Lernen werden beide auf Szenarien angewendet, für die sie nicht trainiert wurden, und ähnlich wie andere Ansätze des maschinellen Lernens evaluiert. Diese Ansätze generalisieren gut und bieten effiziente Lösungen für eine bestimmte Klasse von Problemen. Auf Künstlicher Intelligenz basierende Lösungen eignen sich für Probleme, die nicht einfach durch eine Abfolge von Anweisungen definiert werden können; stattdessen erfordern sie mehr „Intuition“ und Werturteile.

Normalerweise werden KI-Systeme mithilfe von Datensätzen trainiert und anschließend anhand eines Evaluationssets bewertet. Je mehr qualitativ hochwertige Trainingsdaten in ein KI-System eingegeben werden, desto höher ist die Wahrscheinlichkeit, dass das System auf hohem Niveau performt. Der Vorteil von KI-Ansätzen besteht darin, dass sie sich im Laufe der Zeit kontinuierlich verbessern können, während das System mehr lernt. So können komplexe Probleme von Computersystemen generalisiert und gelöst werden. Dazu gehören auch Probleme, die traditionell durch menschliche Eingabe gelöst wurden, wobei Narrow AI als Ergänzung zu bestehenden menschlichen Eingaben betrachtet werden kann, um bessere Ergebnisse zu erzielen.

Künstliche Intelligenz und Maschinelles Lernen werden von Organisationen seit langem mit Vorsicht betrachtet, da solche Systeme die Rückverfolgbarkeit und Bestimmbarkeit fehlt, wie sie auf Anwendungsfälle reagieren werden. Daher kann KI in seltenen Situationen agieren und unerwartet reagieren, wenn man es am wenigsten erwartet. Deshalb ist es wichtig, klar definierte Anwendungsfälle dafür zu haben, wann KI eingesetzt wird, welche Fehlergrade akzeptiert werden und wie die von KI-Systemen erzeugten Ausgaben durch menschliche Eingabe begutachtet werden, um die Genauigkeit zu gewährleisten.

Insgesamt prognostizieren wir, dass die verbesserte Genauigkeit, die AI-Systeme bieten werden, gekoppelt mit den Effizienzgewinnen durch die Erweiterung menschlicher Eingaben, einen zu großen finanziellen Anreiz für viele Organisationen darstellen wird, um sie in den kommenden Jahren zu ignorieren; AI-Systeme werden allgegenwärtig werden.

Wann man Artificial Intelligence wählt und wann man den klassischen algorithmischen Programmierungsansatz zur Problemlösung auswählt

Während es keine festen Regeln dafür gibt, wann welcher Ansatz zu verwenden ist, gilt als allgemeine Regel, dass Probleme, die näherungsweise Lösungen erfordern und zielgerichtetes langfristiges Planen, komplexe Mustererkennung und die Verarbeitung einer Vielzahl von Variablen beinhalten, besser für AI geeignet sind. Klassische algorithmische Ansätze eignen sich besser für exakte oder nahezu optimale Lösungen, die komplexe Logik und Berechnungen erfordern.

Die Wahl des richtigen Ansatzes kann erhebliche Vorteile für Ihre Organisation bringen, während die Wahl einer weniger optimalen Methode zu erheblichen Kapitalverlusten führen kann, da Technologieprojekte teuer sind. Oft kann die Entscheidung für bewährte und demonstrierbare Systeme wie Telemus AI™ Organisationen dabei helfen, den Erfolg ihrer digitalen Transformation im Bereich Künstliche Intelligenz sicherzustellen.

Kontaktieren Sie uns noch heute für eine kostenlose Beratung zur Integration von Telemus AI™ in Ihre Organisation.