| Teil einer Serie über |
| Künstliche Intelligenz (KI) |
|---|
Historisch gesehen wurden einige Programmiersprachen speziell für Anwendungen der künstlichen Intelligenz (KI) entwickelt . Heutzutage verfügen auch viele universelle Programmiersprachen über Bibliotheken , die zur Entwicklung von KI-Anwendungen genutzt werden können.
Allgemeine Sprachen
- Python ist eine universelle , höhere Programmiersprache , die in der künstlichen Intelligenz weit verbreitet ist. [ 1 ] Sie zeichnet sich durch eine einfache, flexible und gut lesbare Syntax aus. [ 2 ] Ihre Popularität hat zu einem umfangreichen Ökosystem an Bibliotheken geführt , darunter solche für Deep Learning wie PyTorch , TensorFlow , Keras und Google JAX . Die Bibliothek NumPy dient der Manipulation von Arrays, SciPy der wissenschaftlichen und mathematischen Analyse, Pandas der Analyse von Tabellendaten, Scikit-learn verschiedenen Aufgaben des maschinellen Lernens , NLTK und spaCy der Verarbeitung natürlicher Sprache , OpenCV der Computer Vision und Matplotlib der Datenvisualisierung . [ 3 ] Die Transformers-Bibliothek von Hugging Face ermöglicht die Manipulation großer Sprachmodelle . [ 4 ] Jupyter Notebooks können Python-Code-Zellen ausführen und dabei den Kontext zwischen den Ausführungen beibehalten, was die interaktive Datenexploration erleichtert. [ 5 ]
- Elixir ist eine funktionale Programmiersprache höherer Ebene, die auf der Erlang- VM basiert. Ihr Ökosystem für maschinelles Lernen umfasst Nx für Berechnungen auf CPUs und GPUs, Bumblebee und Axon für das Bereitstellen und Trainieren von Modellen, Broadway für verteilte Verarbeitungspipelines, Membrane für die Bild- und Videoverarbeitung, Livebook für das Prototyping und Veröffentlichen von Notebooks sowie Nerves für die Einbettung in Geräte.
- R findet breite Anwendung in der modernen künstlichen Intelligenz, insbesondere in statistischen Berechnungen, numerischer Analytik, Bayes'scher Inferenz , neuronalen Netzen und allgemein im maschinellen Lernen . In Bereichen wie Finanzen, Biologie, Soziologie und Medizin gilt R als eine der wichtigsten Standardsprachen. Es bietet verschiedene Programmierparadigmen wie Vektorrechnung, funktionale Programmierung und objektorientierte Programmierung .
- Lisp war die erste Sprache, die für künstliche Intelligenz entwickelt wurde. Sie beinhaltet Merkmale, die Programme unterstützen sollen, die allgemeine Problemlösungen durchführen können, wie Listen, Assoziationen, Schemata (Frames), dynamische Speicherverwaltung, Datentypen , Rekursion, assoziativer Abruf, Funktionen als Argumente, Generatoren (Streams) und kooperatives Multitasking.
- MATLAB ist eine proprietäre Programmiersprache für numerische Berechnungen, entwickelt von MathWorks . MATLAB bietet zahlreiche Toolboxes speziell für die Entwicklung von KI, darunter die Statistics and Machine Learning Toolbox und die Deep Learning Toolbox. Diese Toolboxes stellen APIs für die Implementierung und Anwendung verschiedenster Machine-Learning -Modelle auf hoher und niedriger Ebene bereit, die sich nahtlos in das übrige MATLAB-Ökosystem integrieren lassen. Die Bibliotheken unterstützen zudem die Codegenerierung für eingebettete Systeme.
- C++ ist eine kompilierte Sprache , die mit hardwarenaher Ebene interagieren kann. Im Kontext der KI wird sie insbesondere für eingebettete Systeme und Robotik eingesetzt . Bibliotheken wie TensorFlow C++, Caffe oder Shogun können verwendet werden. [ 1 ]
- JavaScript wird häufig für Webanwendungen verwendet und kann insbesondere mit Webbrowsern ausgeführt werden . Zu den Bibliotheken für KI gehören TensorFlow.js, Synaptic und Brain.js. [ 6 ]
- Julia ist eine 2012 eingeführte Programmiersprache, die Benutzerfreundlichkeit und Leistung vereinen soll. Sie wird hauptsächlich für numerische Analysis , Computerwissenschaften und maschinelles Lernen eingesetzt. [ 6 ]
- Mit C# lassen sich mithilfe der Microsoft .NET Suite leistungsstarke Modelle für maschinelles Lernen entwickeln . ML.NET wurde entwickelt, um die Integration in bestehende .NET-Projekte zu erleichtern und den Entwicklungsprozess für bestehende Software auf der .NET-Plattform zu vereinfachen.
- Smalltalk wird häufig für Simulationen, neuronale Netze, maschinelles Lernen und genetische Algorithmen eingesetzt . Es implementiert eine reine und elegante Form der objektorientierten Programmierung mittels Message Passing .
- Haskell ist eine rein funktionale Programmiersprache. Lazy Evaluation sowie die Listen- und LogicT- Monaden erleichtern die Formulierung nichtdeterministischer Algorithmen, was häufig der Fall ist. Unendliche Datenstrukturen sind nützlich für Suchbäume . Die Sprachmerkmale ermöglichen eine kompositionelle Darstellung von Algorithmen. Die Arbeit mit Graphen gestaltet sich aufgrund der funktionalen Reinheit anfangs jedoch etwas schwieriger.
- Wolfram Language umfasst ein breites Spektrum integrierter Funktionen für maschinelles Lernen, von hochautomatisierten Funktionen wie „Vorhersagen“ und „Klassifizieren“ bis hin zu Funktionen, die auf spezifischen Methoden und Diagnosen basieren. Die Funktionen können mit vielen Datentypen arbeiten, darunter numerische, kategoriale, Zeitreihen-, Text- und Bilddaten. [ 7 ]
- Mojo kann einige Python- Programme ausführen und unterstützt die Programmierbarkeit von KI-Hardware. Es zielt darauf ab, die Benutzerfreundlichkeit von Python mit der Leistungsfähigkeit von Low-Level-Programmiersprachen wie C++ oder Rust zu kombinieren . [ 8 ]
Fachsprachen
- Prolog [ 9 ] [ 10 ] ist eine deklarative Sprache, in der Programme mithilfe von Relationen ausgedrückt werden und die Ausführung durch Abfragen dieser Relationen erfolgt. Prolog eignet sich besonders für symbolisches Schließen, Datenbanken und Sprachanalyse.
- Artificial Intelligence Markup Language (AIML) [ 11 ] ist ein XML- Dialekt [ 12 ] zur Verwendung mit Chatbots vom Typ Artificial Linguistic Internet Computer Entity (ALICE) .
- Planner ist eine Mischform aus prozeduralen und logischen Sprachen. Es bietet eine prozedurale Interpretation logischer Sätze, wobei Implikationen mittels musterorientierter Inferenz interpretiert werden.
- STRIPS ( Stanford Research Institute Problem Solver ) ist eine Sprache zur Beschreibung von Problemen der automatisierten Planung . Sie beschreibt einen Anfangszustand, die Zielzustände und eine Menge von Aktionen. Für jede Aktion werden Vorbedingungen (was vor der Ausführung der Aktion erfüllt sein muss) und Nachbedingungen (was nach der Ausführung der Aktion erfüllt sein muss) spezifiziert.
- POP-11 ist eine reflektierende , inkrementell kompilierte Programmiersprache mit vielen Merkmalen einer interpretierten Sprache. Sie ist die Kernsprache der Programmierumgebung Poplog , die ursprünglich von der University of Sussex und später von der School of Computer Science der University of Birmingham entwickelt wurde, welche auch die Poplog-Website betreibt . POP-11 wird häufig verwendet, um Programmierern konventionellerer Sprachen wie Pascal symbolische Programmiertechniken näherzubringen , da ihnen die POP-Syntax vertrauter ist als die von Lisp . Eine Besonderheit von POP-11 ist die Unterstützung von Funktionen erster Klasse .
- CycL ist eine Spezialsprache für Cyc .
Siehe auch
- Glossar der künstlichen Intelligenz
- Liste der Constraint-Programmiersprachen
- Liste der Computeralgebrasysteme
- Liste der Logikprogrammiersprachen
- Liste der konstruierten Sprachen
- Programmiersprache der fünften Generation
Anmerkungen
- ^ a b Wodecki, Ben (5. Mai 2023). „7 KI-Programmiersprachen, die Sie kennen sollten“ . AI Business .
- ^ Lopez, Matthew (11. Januar 2021). „Top 10 Gründe, warum Python gut für künstliche Intelligenz ist“ . Technology Sumo .
- ^ Kanade, Vijay (6. Mai 2022). „Beste Python ML-Bibliotheken 2022“ . Spiceworks . Abgerufen am 3. Februar 2024 .
- ^ Chauhan, Nagesh Singh (16. Februar 2021). „Hugging Face Transformers-Paket – Was ist das und wie benutzt man es?“ . KDnuggets . Abgerufen am 3. Februar 2024 .
- ^ Perkel, Jeffrey M. (30.10.2018). „Warum Jupyter das bevorzugte Computer-Notebook von Data Scientists ist“ . Nature . 563 (7729): 145–146 . Bibcode : 2018Natur.563..145P . doi : 10.1038/d41586-018-07196-1 . PMID 30375502 .
- ^ a b Wodecki, Ben (5. Mai 2023). „7 KI-Programmiersprachen, die Sie kennen sollten“ . AI Business .
- ^ Wolfram Language
- ^ Yegulalp, Serdar (7. Juni 2023). „Ein erster Blick auf die Mojo-Sprache“ . InfoWorld .
- ^ Geschichte der logischen Programmierung:
- Crevier 1993 , S. 190–196.
- ^ Prolog :
- Poole, Mackworth & Goebel 1998 , S. 477–491,
- Luger & Stubblefield 2004 , S. 641–676, 575–581
- ^ Laut der Einführungsseite des AIML-Repositorys ( archiviert am 14.04.2015 in der Wayback Machine unter nlp-addiction.com)
- ^ Siehe die AIML-Einführungsseite (Web), archiviert am 29.10.2013 im Internetarchiv (Wayback Machine) unter www.alicebot.org
Referenzen
Wichtige KI-Lehrbücher
- Siehe auch die KI-Lehrbuchumfrage
- Luger, George ; Stubblefield, William (2004), Künstliche Intelligenz: Strukturen und Strategien zur Lösung komplexer Probleme (5. Aufl.), The Benjamin/Cummings Publishing Company, Inc., ISBN 0-8053-4780-1
- Nilsson, Nils (1998), Künstliche Intelligenz: Eine neue Synthese , Morgan Kaufmann Publishers, ISBN 978-1-55860-467-4
- Russell, Stuart J.; Norvig , Peter (2003), Künstliche Intelligenz: Ein moderner Ansatz (2. Aufl.), Upper Saddle River, New Jersey: Prentice Hall, ISBN 0-13-790395-2
- Poole, David; Mackworth, Alan; Goebel, Randy (1998), Computational Intelligence: A Logical Approach, New York: Oxford University Press, ISBN 0-19-510270-3
- Winston, Patrick Henry (1984), Artificial Intelligence, Reading, Massachusetts: Addison-Wesley, ISBN 0-201-08259-4
History of AI
- Crevier, Daniel (1993). AI: The Tumultuous Search for Artificial Intelligence. New York, NY: BasicBooks. ISBN 0-465-02997-3.
- McCorduck, Pamela (2004), Machines Who Think (2nd ed.), Natick, Massachusetts: A. K. Peters, ISBN 1-5688-1205-1