Is Julia good language to program expert systems ? Rete Algorithm ? Rules engine

636 views
Skip to first unread message

Frank

unread,
Mar 13, 2016, 2:06:57 PM3/13/16
to julia-users
Hi,

I like to develop a product recommendation engine. Is Julia a good match for that?
Prolog seems to be a little outdated nowadays/little momentum, thought I might give Julia a try. However, it seems its completely different area and Julia doesnt apply here...  

A. Given a set of facts, I want to deduce a list of possible products that fit some criteria
B. Also, i like to deduce the missing facts that i need to provide in order to be able to propose some products.

Should I rather use Prolog or Droles or some other rules engine?

Thanks a lot in advance
Frank




Páll Haraldsson

unread,
Mar 13, 2016, 5:52:39 PM3/13/16
to julia-users
On Sunday, March 13, 2016 at 6:06:57 PM UTC, Frank wrote:
Hi,

I like to develop a product recommendation engine. Is Julia a good match for that?

I guess you can, as with any other non-logic-based programming language, but maybe that is not preferred (on it's own) .
 
Prolog seems to be a little outdated nowadays/little momentum, thought I might give Julia a try. However, it seems its completely different area and Julia doesnt apply here...  

This is the only logic-programming related thing I seen for Julia:


I do not know much about MiniKanren, or if this is a good implementation, I just understand it's a library-implementation of logic-programming.

Never heard of Droles. Maybe it's something you could embed in Julia, just as some Prolog implementations can be embedded in other languages; including Julia should be possible, I'm just not aware that it has been done yet.

Jeffrey Sarnoff

unread,
Mar 13, 2016, 6:13:15 PM3/13/16
to julia-users
Is the product recommendation engine developing its recommendations strictly by following rules, or by property+condition+action logic, or by probing a database of what others have preferred and matching the requestor to some subset of qualities tracked within the database, or another way, or some combination?

Cedric St-Jean

unread,
Mar 13, 2016, 6:41:42 PM3/13/16
to julia-users
Frank,

I spent a few years on theorem proving in Common Lisp, and I think that Julia is one of the best languages right now for implementing and optimizing classical AI algorithms, but you would have to start from scratch. If that doesn't sound fun, then you should probably look at other languages and solvers. FWIW, there's a Z3 wrapper in Julia.

I'm curious to know the field where product recommendation is done through logic and not ML! What are you working on?
Reply all
Reply to author
Forward
0 new messages