News for hackers. Stuff that matters.
Re:Is There a Smarter Path to Artificial Intelligence? Some ... by randcraw on Friday June 22, 2018 @02:29AM (#17371855)
But its not clear to me that encoding productions in source code adds any value over encoding them in the various other forms used by expert systems of old. Prolog also compels binary constraint satisfaction, recursive descent parsing, backtracking, and depth-first resolution — all undesirable constraints that are easily avoided using other fact representations or resolution engines.

Until the startup in question can make a compelling case for using prolog, much less avoiding the brittleness inherent in expert systems' resolution model, count me a disbeliever that their 'better way' really is.

Re:Is There a Smarter Path to Artificial Intelligence? Some ... by YeGoblynQueenne on Friday June 22, 2018 @03:53AM (#17372265)
I wouldn't say that backtracking and depth first search (not resolution) are undesirable. Far as I'm concerned they're pragmatic choices that minimise the amount of resources necessary to perform resolution theorem-proving.
Re:Is There a Smarter Path to Artificial Intelligence? Some ... by PaulTarau on Monday July 02, 2018 @08:56PM (#17446639)
One can encapsulate backtracking simply as an iterator over a stream of answers to a query. The SWI_prolog ecosystem provides a nice "logic engine" abstraction for that, see http://www.swi-prolog.org/pldoc/man?section=engines . That gives something similar to Python's yield operation. Backtracking inside an engine allows one to implement some neat algorithms in space proportional to your data, without invoking garbage collection.
Re:Is There a Smarter Path to Artificial Intelligence? Some ... by randcraw on Friday June 22, 2018 @02:13PM (#17376055)
I would hate for my logic engine to be required to backtrack every time a candidate interpretation was evaluated. AFAIK, prolog allows no alternative. Nor can it support the many powerful probabilistic extensions for rule-based reasoning that arose 25(?) years ago, nor the many improvements and variations on impasse resolution.

IMHO, the choice of prolog unnecessarily straitjackets a modern production system, making the engineering approach of this startup that much less powerful, flexible, or viable than it should be.

Re:Is There a Smarter Path to Artificial Intelligence? Some ... by eazar001 on Monday July 02, 2018 @09:55PM (#17446874)
The SWI-Prolog ecosystem supports some probabilistic extensions such as http://www.swi-prolog.org/pack/list?p=ccprism, and http://www.swi-prolog.org/pack/list?p=cplint.

Also, the (!/0) operator allows you to prune choice-points and control backtracking so that it is not unconditional. Many Prolog implementations support (->/2) operator, as well as ((*->)/2) -- the soft cut, for more fine-grained control. SWI has a nice library for even further control over backtracking as well: http://www.swi-prolog.org/pldoc/man?section=solutionsequence....

Also good Prolog programmers usually are not overly concerned with backtracking, as they usually have strong knowledge of modes and determinism. See: http://www.swi-prolog.org/pldoc/man?section=modes. This is mostly second-nature to a skilled Prolog developer.

Re:Is There a Smarter Path to Artificial Intelligence? Some ... by PaulTarau on Monday July 02, 2018 @08:31PM (#17446546)
These days Prolog is general purpose, powerful, pattern driven programming language that (once properly learned!) can put together database, persistence, networking, NLP crunching in one modular program unit. Associating it with expert-system or rule-based programming is a typical AI-winter misconception. Well, a similar one was also floating about deep-learning during the same frosty season :-)
Re:Is There a Smarter Path to Artificial Intelligence? Some ... by dhab on Saturday June 23, 2018 @09:19PM (#17384432)
what would be a better alternative to Prolog?