5 ms·
Is this related to Answer Set Programming? Seems like there’s an overlap.
by fumeux_fume 3y ago
Is this related to Answer Set Programming? Seems like there’s an overlap.
- sterlind 3y agothey're syntactically related in that both come from the Prolog world, and you can indeed use ASP to do planning (there's examples of Towers of Hanoi and Blockworld in the ASP guidebook), and you can incorporate heuristics into ASP. ...but actually they're really different! ASP isn't Turing-complete - it's a lot more like an SMT solver. crucially, there's a grounding stage, where the set of every expressible term in the model (its Herbrand universe) is explicitly written down. so if you have e.g. `f(a;b). g(X,Y) :- f(X),f(Y).` then it will write out every expansion of g during pre-processing. this makes ASP very powerful, and very fast even at complex problems, but it dooms the solver if the universe is large. in contrast, Picat is basically a souped up Prolog. it's a full programming language, and it doesn't require grounding so infinite state spaces are okay. it leverages its tabling mechanism to memo-ize predicates evaluation, and it automatically manages the time/space tradeoff with search, which is nifty. but at the end of the day it's brute force, not deep witchcraft like Z3.
- fumeux_fume 3y agoI see, thanks for your explanation!
- sgt101 3y agosorry what is Z3?
- phi-go 3y agohttps://github.com/Z3Prover/z3 https://github.com/Z3Prover/z3 Here is an actual description: https://z3prover.github.io/papers/programmingz3.html#sec-intro https://z3prover.github.io/papers/programmingz3.html#sec-int...