Wie oft wird Prolog / ASP in nicht forschenden Bereichen eingesetzt?


9

Ich habe erst kürzlich von KRR (Knowledge Representation and Reasoning) und ASP erfahren und vorher noch nichts davon gehört (außer ein bisschen über Prolog). Ich habe ein bisschen über sie gelesen und eine ihrer Hauptanwendungen scheinen AIs zu sein.

Meine Frage wäre, wie weit verbreitet ASP oder andere deklarative Sprachen sind, gibt es ein häufig verwendetes Programm, das sie verwendet (wie Suchmaschinen?) Oder hauptsächlich zu Forschungszwecken? Was kann der Grund sein, warum sie nicht so bekannt sind? Liegt es daran, dass die KI-Entwicklung zu einem "fortgeschritteneren Programmierniveau" gehört?


Dies scheint hier nicht zum Thema zu gehören.
Yuval Filmus

2
Es ist der zweite Ort, an dem ich es gepostet habe. Irgendeine Idee, wo es zum Thema stehen würde?
FloriOn

@FloriOn: Was ist der erste Ort und das erste Auftreten Ihrer Frage?
Basile Starynkevitch

Prolog war gut für seine Zeit, ist aber in keinem großen Projekt wirklich schwer zu verwenden. Die Syntax wird in komplexen Begriffen sehr dunkel, außerdem ist es nicht das, was Sie wünschen, immer die gesamte Struktur im Desigion Tree zu interpretieren - das KRR-System könnte weitere Funktionen haben ...
user8426627

Antworten:


4

wie weit verbreitet ASP oder andere deklarative Sprachen sind

Sie können die Aktivität von Prolog sehen, die meiner Meinung nach die häufigste ASP-Programmiersprache ist:

Auf dieser Grundlage ist das Top-Paket von Prolog (483 / 139,326) x 100 = 0,35% so beliebt wie eines der großen Pakete von Node.js. Oder 0,07% so viele Pakete.

ist es meist für Forschungszwecke

IMO ja, es ist hauptsächlich für Forschungszwecke. Aber es ähnelt Ocaml , das meiner Erfahrung nach hauptsächlich zu Forschungszwecken diente, bis Unternehmensbenutzer wie Facebook Flow (typisierte JavaScript-Programmierung) und andere Coq (automatisierte Theoremprüfung) veröffentlichten, was dazu beitrug, Ocaml in den Mainstream zu bringen.

Was kann der Grund sein, warum sie nicht so bekannt sind?

IMO Prolog wird nicht verwendet, weil es (a) ein anderes Paradigma ist, (b) der Paketmanager nicht auf dem neuesten Stand ist (dies ist heutzutage eine große Sache) und (c) es kein evangelisiertes Webframework gibt . Wenn es einen guten Paketmanager wie NPM für Node.js gäbe und ein vermarktetes Webframework sowie eine kleine Gruppe von Evangelisten, würde dies dazu beitragen, es in den Mainstream zu bringen. Ruby hatte 37 Signale und Rails, Python hatte Google usw.

Liegt es daran, dass die KI-Entwicklung zu einem "fortgeschritteneren Programmierniveau" gehört?

Nein nicht wirklich. Einige KI-Forschungen verwenden Prolog zum Modellieren von Dingen , aber es ist keine Voraussetzung für KI. Die KI könnte in zwei Teile unterteilt werden: (1) Modelle für maschinelles Lernen / Wahrscheinlichkeitsmodell, bei denen die Beziehungen gelernt und nicht genau definiert sind, und (2) manuell definierte Modelle. Die meisten KI sind eine Mischung aus beidem, aber die manuell definierten Modelle sind wertvoll und werden größtenteils privat gehalten. Die manuell definierten Modelle könnten mit Prolog definiert werden , und es gibt einige Artikel, die dies tun, aber dies ist nicht erforderlich. Zusammenfassend lässt sich sagen, dass alle KI-Arbeiten in regulären Programmiersprachen ausgeführt werden können, nur dass Prolog das Schreiben in einigen Fällen etwas kompakter macht.


2
1. Ich denke, Coq ist viel weniger Mainstream als OCaml. 2. SWI-Prolog hat einen Web - Framework swi-prolog.org/FAQ/PrologLAMP.txt , pathwayslms.com/swipltuts/html/index.html um es milde auszudrücken, die nicht ausreichend war , um es Mainstream zu machen.
Alexey Romanov

Dang, ich dachte, das könnte helfen: p
Lance Pollard

Ein Teil davon hängt von der einfachen Installation ab, und Prolog und Pakete sind schwer zu installieren und auszuführen .
Lance Pollard

6
In der Programmierwelt gibt es viel mehr als nur Websites. Ich bin mir ziemlich sicher, dass Flow wenig getan hat, um OCamls Adoption zu verbessern, die vorher kaum Probleme hatte. Ähnliches gilt für Coq, jedoch aus verschiedenen Gründen. Coq ist 30 Jahre alt. Soweit ich das beurteilen kann, gibt es eine ziemlich bedeutende Einführung von OCaml im Finanzbereich. Aber Finanzen sind keine Websites, deshalb hört man meistens nichts davon. Betrachten Sie nun Dinge wie Supply Chain und Operations Research, bei denen ASP angewendet werden könnte. Dies ist das Problem bei Fragen wie den OPs. Vermutlich gibt jemand SICStus Geld, um weiterhin ein Unternehmen zu sein.
Derek Elkins verließ SE

2

Ich habe gerade 354 Studenten, hauptsächlich SEs, durch die Installation von SWI-Prolog geführt. Hatte ungefähr ein Dutzend Installationsprobleme. Die meisten fanden den Prozess ziemlich einfach.

Ich gebe zu, wenn SWI-Prolog 100x so viele Benutzer hätte, würde die Installation besser werden. Aber niemand scheut sich, weil die Installation zu schwierig ist.

Um ein Paket zu installieren, fragen Sie pack_install (my_pack) ab.

Das ist einfacher als die Installation von Rubinsteinen.

Nun, wie oft es in Bereichen außerhalb der Forschung verwendet wird - die d / l-Statistiken bedeuten nichts a), weil http://swi-prolog.org über ein CDN bereitgestellt wird (dass wir mehrere Server verwenden müssen und ein CDN sagt etwas) und b) wir wissen, dass die Mehrheit der Benutzer Studenten sind, die einen PL-Theorie- / Umfragekurs belegen.

Kommerzielle Nutzung wird immer häufiger. Ich schreibe jetzt seit ein paar Jahren nur Prolog und bin kein Akademiker (manchmal arbeitete ich als Auftragnehmer für eine Universität, aber nicht als Akademiker, als Ingenieur).

Die meisten Anwendungen befinden sich in KI- oder maschinellen Lernumgebungen. Harte ML-Probleme profitieren oft von einer Beimischung symbolischer KI.


2

Lesen Sie mehr über KI-Winter und mehr über die Geschichte der KI .

In den 1980er Jahren dominierte die symbolische KI . In dieser Zeit vermehrte sich das Expertensystem . Viele von ihnen wurden in Prolog codiert.

Heute haben wir (in einigen Bereichen) noch Geschäftsregelsysteme und Geschäftsregel-Engines sowie den Geschäftsregelansatz, der in Geschäftsregelverwaltungssystemen verwendet wird , die meiner Meinung nach die direkten Nachfolger von Expertensystemen aus den 1980er Jahren sind. AFAIK, viele geschäftsorientierte Software basiert auf ähnlichen Prinzipien. Ich glaube, dass viele Kredit- (oder Versicherungs-) Entscheidungen heute automatisch (und täglich) in Banken mit solchen Systemen getroffen werden. Umschreibungssysteme wie XSLT werden ebenfalls täglich verwendet und sind Nachkommen der Expertensystemideen der 1980er Jahre. Deklarative Programmierung (einschließlich CLIPS oder sogar make oder andereregelbasierte Systeme können als Auflösung symbolischer KI-Ideen in der allgemeinen Programmier- und Softwareindustrie angesehen werden (sobald etwas "einfach" und "weit verbreitet" wird, kann es nicht mehr als KI bezeichnet werden).

Heutzutage wird die KI auf Ansätze des maschinellen Lernens (einschließlich neuronaler Datenverarbeitung ) reduziert . Was vor den 1980er Jahren (allgemein) AI genannt wurde, heißt derzeit AGI .

Der nächste KI-Winter könnte ein abstrakter Interpretationswinter sein . Abstrakte Interpretation ist eine Theorie und Denkweise zur statischen Programmanalyse . Heutzutage ist diese KI zu einem Schlagwort geworden und wird manchmal als Lösung für die meisten Sicherheitsbedenken in Bezug auf Software dargestellt (was meiner Meinung nach nicht der Fall ist).

Einige Personen (einschließlich mir) glauben, dass die symbolische KI nicht vollständig tot ist (zumindest in Kombination mit anderen Paradigmen). Eine interessante Ansicht ist die von Jacques Pitrat (einem pensionierten Forscher und französischen KI-Pionier) in seinem Blog .

KI- Systeme (sowohl als "künstliche Intelligenz" im Sinne von Dartmouth 1956 als auch als "fortgeschrittene Informatik") sind jedoch schwer zu bauen. Viele Jahre Anstrengungen sind erforderlich, um sie zu entwickeln. Erinnern Sie sich an Brooks Einsicht: "Während eine Frau neun Monate braucht, um ein Baby zu bekommen, können neun Frauen in einem Monat kein Baby bekommen." Dies gilt für komplexe und herausfordernde Softwaresysteme (deren Fertigstellung möglicherweise neun Jahre dauert, aber wir leben in einer Welt, die es sich nicht leisten kann, neun Jahre lang ein kleines Team talentierter Softwareforscher zu bezahlen). Aus sozialen und wirtschaftlichen Gründen, die ich nicht vollständig verstehe (aber die ich zutiefst bedauere), hat Software kein Äquivalent zu großen langfristigen Projekten wie ITER(und hat nicht einmal kleine langfristige Forschungsprojekte mit einer Laufzeit von mehr als 4 oder 5 Jahren mit einem Dutzend Forschern). Siehe auch das Softwareheritage- Projekt und stellen Sie fest, dass die Software-Domäne heute insgesamt weniger kreativ ist als die vielen Ideen, die in den 1980er Jahren florierten. Sehen Sie Liam Provens FOSDEM 2018-Vortrag The Circuit Less Traveled

Was meist im vorigen Jahrhundert (XX genannt wurde th Jahrhundert) ist AI heute genannt AGI . Die Terminologie hat sich geändert, und der Ehrgeiz ist heute fast verschwunden. In diesen Tagen, in den frühen 2020er Jahren, geht es bei AI hauptsächlich um neuronale Netze und maschinelles Lernen . Mein Gefühl im Jahr 2019 ist , dass die KI ein nutzloses Buzzword wurde heute (es ist nicht mehr über A Syntetisch I ntelligence ).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.