6. USE OF PROLOG AS A LANGUAGE

6.1. PROLOG today

The Tiobe language ranking puth Prolog in the 21th place.
some complementary questions
Notes
Prolog is not alone to struggle Its not just Prolog that is suffering as a programming language:

6.2. SOME GOOGLE STATS

Some Google statistics on the frequency of terms in search by all the world

QUERY Results Notes
logic programming, constraint satisfaction, constraint programming, swi prolog


same pattern for logic programming and swi prolog
comparisons of implementations


swi prolog leadds the race
variants of computer languages


the concept is clear
Erlang has a significant propularity

7. SOME COMPANIES WORKING WITH PROLOG AND SUCCESSORS

Many companies have developped products, libraries and frameworks around Prolog and its successors.
More precisely

7.1. AllegroGraph

Franz Is There a Smarter Path to Artificial Intelligence? Some Experts Hope So
Sells also Common Lisp

7.2. Kyndi

Explainable AI
article 2019 kyndi-raises-20-million-for-explainable-ai-that-derives-insights-from-documents\\

7.3. GraphStax

GraphStax Tox21 leaderboard

7.4. LPA

Logic Programming associates 100% owner of Visirule
WIN-PROLOG Products

7.5. Visirule

cf LPA web site
examples

7.6. Visual Prolog

VIsual Prolg is inherited from Turbo Prolog web_site

7.7. SICStus

provides sicstus Prolog

8. EXPECTATIONS AND REALITIES OF PROLOG

8.1. Modern Prologs

There are many variants advantages of modern implementations

8.2. Critères d'évaluation

critère Attendu Remarque Réel
readability compact foirmalism for complex problems programs unreadable, except the one who wrote them.
programs with with unsufficient documentation
links between model and reality not always clear ('representations are poorly documented)
simplicity
efficiency
dialog with user
generality of use logic should solve all problems fuzzy prologs ?
speed ?
NN base systems more efficient ?
need of fuzzy logic
need to evaluate solutions with a avlue to be optimized
need of functional or imperative programing
natural language produce texts for explanations modèles avec des RN plus souples ? toujours un sujet plutôt absent, peut-être par manque de systèmes capables de raisonner de façon non triviale.
learning in opposition with hand-written rules well understood in simple cases but not in complex ones
impact on the cost of the computing is often not measured.
integration with other algorithmic processes

NOTES

8.3. Nouveaux axes

8.3.1. stats + neuronal

Via Eric de la Clergerie
Nom Outil Lien Info notes
Pedro Domingos Alchemy https:\\alchemy.cs.washington.edu\\ software package providing a series of algorithms for statistical relational learning and probabilistic logic inference, based on the Markov logic representation. Alchemy allows you to easily develop a wide range of AI applications, including:
  • Collective classification
  • Link prediction
  • Entity resolution
  • Social network modeling
  • Information extraction
Jason Eisner Dyna https:\\dyna.readthedocs.io\\en\\latest\\ Dyna is an new declarative programming language developed at Johns Hopkins University. logic + solver
ProbLog2 was developed in the DTAI group of KULeuven, Problog https:\\dtai.cs.kuleuven.be\\problog\\ Probabilistic logic programs are logic programs in which some of the facts are annotated with probabilities. ProbLog is a tool that allows you to intuitively build programs that do not only encode complex interactions between a large sets of heterogenous components but also the inherent uncertainties that are present in real-life situations. tutorial
ProbLog2 was developed in the DTAI group of KULeuven, DeepProbLog https:\\github.com\\ML-KULeuven\\deepproblog DeepProbLog is an extension of ProbLog
that integrates Probabilistic Logic Programming with deep learning by introducing the neural predicate. The neural predicate represents probabilistic facts whose probabilites are parameterized by neural networks. For more information, consult the papers listed below.
en python besoin de
  • ProbLog
  • PySDD
  • PyTorch
  • TorchVision
  • PySwip

8.3.2. Use of prolog inside frameworks

Exemple notes
Jupyter does it work nicely really ?