Insgesamt lautet die Antwort Nein, aber die aktuellen Paradigmen sind LISP sehr zu verdanken. Die heute am häufigsten verwendete Sprache ist Python.
Relevante Antworten:
LISP leistete Pionierarbeit bei vielen wichtigen Konzepten für das, was wir heute als funktionale Programmierung bezeichnen. Ein Hauptanreiz ist die Nähe der Programme zur Mathematik. Viele dieser Funktionen wurden inzwischen in moderne Sprachen integriert (siehe Wikipedia-Seite)). LISP ist sehr aussagekräftig: Es hat sehr wenig Syntax (nur Listen und einige elementare Operationen), aber Sie können kurze prägnante Programme schreiben, die komplexe Ideen darstellen. Dies überrascht Neulinge und hat es als Sprache für KI verkauft. Dies ist jedoch eine Eigenschaft von Programmen im Allgemeinen. Kurzprogramme können komplexe Konzepte darstellen. Und während Sie in LISP leistungsstarken Code schreiben können, wird Ihnen jeder Anfänger sagen, dass es auch sehr schwierig ist, den LISP-Code anderer zu lesen oder Ihren eigenen LISP-Code zu debuggen. Anfänglich gab es auch Leistungsaspekte bei der funktionalen Programmierung, und es erwies sich als ungünstig, diese durch imperative Sprachen auf niedriger Ebene wie C zu ersetzen ein neues Objekt erstellt werden. Ohne gute Speicherbereinigung, Dies kann unhandlich werden. Heute haben wir gelernt, dass eine Mischung aus funktionaler und zwingender Programmierung erforderlich ist, um guten Code zu schreiben und moderne Sprachen wie Python, Ruby und Scala zu unterstützen. An diesem Punkt, und dies ist nur meine Meinung, gibt es keinen Grund, LISP Python vorzuziehen.
Das Paradigma für die KI, das derzeit die meiste Aufmerksamkeit erhält, ist das maschinelle Lernen, bei dem wir aus Daten lernen, im Gegensatz zu früheren Ansätzen wie Expertensystemen (in den 80er Jahren), bei denen Experten Regeln für die KI aufstellten. Python ist derzeit die am häufigsten verwendete Sprache für maschinelles Lernen und verfügt über viele Bibliotheken, z. B. Tensorflow und Pytorch, sowie eine aktive Community. Um die enormen Datenmengen verarbeiten zu können, benötigen wir Systeme wie Hadoop, Hive oder Spark. Code für diese ist in Python, Java oder Scala geschrieben. Häufig werden die zeitintensiven Kernunterprogramme in C geschrieben.
Der KI-Winter der 80er Jahre war nicht, weil wir nicht die richtige Sprache hatten, sondern weil wir nicht die richtigen Algorithmen, genügend Rechenleistung und genügend Daten hatten. Wenn Sie versuchen, KI zu lernen, sollten Sie sich mit Algorithmen und nicht mit Sprachen befassen.
LISP wird immer noch in erheblichem Umfang verwendet, jedoch immer weniger. Es gibt immer noch eine Dynamik, weil so viele Menschen in der Vergangenheit damit beschäftigt waren, die immer noch in der Industrie oder Forschung tätig sind (Anekdote: Der letzte Videorecorder wurde im Juli 2016 von einem japanischen Hersteller hergestellt, ja). Die Sprache wird jedoch (meines Wissens) für die Art von KI verwendet, die das maschinelle Lernen nicht nutzt, typischerweise als Nachschlagewerke von Russell und Norvig. Diese Anwendungen sind immer noch sehr nützlich, aber das maschinelle Lernen wird heutzutage immer beliebter.
Ein weiterer Grund für den Rückgang ist, dass LISP-Praktizierende teilweise zu Clojure und anderen neueren Sprachen gezogen sind.
Wenn Sie etwas über KI-Technologien lernen, ist LISP (oder Schema oder Prolog) eine gute Wahl, um zu verstehen, was mit "KI" im Allgemeinen vor sich geht. Aber wenn Sie möchten oder sehr pragmatisch sein müssen, sind Python oder R die Wahl der Community
Hinweis: Dem obigen Beispiel und der Referenz fehlen konkrete Angaben. Mir sind Arbeiten an Universitäten und einige Unternehmen bekannt, die von LISP inspiriert sind oder LISP direkt nutzen.
Um die Antwort von @ Harsh zu ergänzen, hat LISP (und Scheme und Prolog) Eigenschaften, die es so aussehen ließen, als ob es besser für die Schaffung intelligenter Mechanismen geeignet wäre - nämlich die KI, wie sie in den 60er Jahren wahrgenommen wurde.
Eine der Eigenschaften war, dass das Sprachdesign den Entwickler dazu veranlasste, sehr elegant zu denken, ein großes Problem in kleine Probleme usw. zu zerlegen. Ganz "clever" oder "intelligent", wenn man so will. Im Vergleich zu einigen anderen Sprachen bleibt fast keine andere Wahl, als sich auf diese Weise zu entwickeln. LISP ist eine Listenverarbeitungssprache und "rein funktional".
Ein Problem ist jedoch in der Arbeit im Zusammenhang mit LISP zu sehen. Eine bemerkenswerte in der KI-Domäne ist die Arbeit am Situationskalkül , bei der (kurz) Objekte und Regeln in einer "Welt" beschrieben werden und die sich entwickeln kann, um Situationen zu berechnen - Zustände der Welt. Es ist also ein Modell für das Überlegen von Situationen. Das Hauptproblem heißt Frame-Problem , was bedeutet, dass dieser Kalkül nicht sagen kann, was nichtändern --- nur was ändert sich. Alles, was nicht in der Welt definiert ist, kann nicht verarbeitet werden (beachten Sie hier den Unterschied zu ML). Erste Implementierungen verwendeten LISPs, da dies damals die AI-Sprache war. Und da waren an das Rahmenproblem gebunden. Aber, wie @Harsh bereits erwähnt hat, ist es nicht die Schuld von LISP: Jede Sprache würde mit dem gleichen Rahmenproblem konfrontiert sein (ein konzeptionelles Problem des Situationskalküls).
Die Sprache spielt also aus der AI / AGI / ASI-Perspektive keine Rolle. Auf die Konzepte (Algorithmen usw.) kommt es wirklich an.
Auch beim maschinellen Lernen ist die Sprache nur eine praktische Wahl. Python und R sind heute beliebt, vor allem aufgrund ihres Bibliotheks-Ökosystems und des Fokus wichtiger Unternehmen. Versuchen Sie jedoch, mit Python oder R ein Modell für eine RaspberryPI-basierte Anwendung auszuführen, und Sie werden mit einigen schwerwiegenden Einschränkungen konfrontiert sein (aber dennoch möglich, ich mache es :-)). Die Wahl der Sprache brennt also auf Pragmatismus nieder.
quelle
Meiner Meinung nach haben Python und Java LISP abgelöst. Viele Leute benutzen sie, es gibt eine große Anzahl von Bibliotheken. Und was noch wichtiger ist, sie lassen sich leicht in Webtechnologien integrieren.
quelle