Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You can do cool stuff with s(CASP).

See https://swish.swi-prolog.org/p/non-monotonic_ilp.swinb

For an example. The potential hypothesis here are pre generated, but you can imagine an algorithm or adapt an existing one with a tight generalise/specialise loop.

But the scasp finds the two potential rules that cover both positive examples but not the negative example.

i.e.

flies(X,h8):-not penguin(X).

and

flies(X,h17):-bird(X),not penguin(X).

Which is cool.



Thanks, that's a nice example.

>> For an example. The potential hypothesis here are pre generated, but you can imagine an algorithm or adapt an existing one with a tight generalise/specialise loop.

Yes! I'm thinking of how to adapt Louise (https://github.com/stassa/louise) to do that. The fact that s(CASP) is basically a Prolog-y version of ASP (with constraints) could make it a very natural sort of modification. Or, of course, there's always Well-Founded Semantics (https://www.swi-prolog.org/pldoc/man?section=WFS).

What's hyp_gen.pl?


I don't have a working hyp_gen.pl anymore I think but it was just a simple search given the atoms to add to a rule and its negations.


And adapting Louise would be an interesting thing to work on for sure. Why is it called Louise?


There was an earlier system called Thelma (https://github.com/stassa/thelma), an acronym for "Theory Learning Machine". Then I created a new system and, well, I couldn't resist a bad pun. They're a bit of a tradition in ILP.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: