3 ms·
This sounds like the lessons of Prolog. And Prolog needs hints once it gets real. Naive search generates too large a space.
by michael1999 4y ago
This sounds like the lessons of Prolog. And Prolog needs hints once it gets real. Naive search generates too large a space.
- daniel-cussen 4y agoYou know what? A brute-force formula finding engine I made, which I call the Guesser 2.0 (it's the second version), might speed that up a lot, like twice the number of symbols in the functions it finds, in the same amount of time. Can you elaborate on the Prolog problem so I can tell if it's a good fit? Guesser 2.0 specifically reduces the search space of naive search.
- michael1999 4y agoProlog is a declarative logic system. As a result, implementing something like a list equality operator means that you can also run the code in "reverse" -- generate a list that is equal to this list. But as soon as the problem becomes complicated, the order you traverse the search space, and which branches of the search space you exclude early are critical to practical solutions. Prolog solves with cuts and other hints. A quick google produces this example - https://en.m.wikibooks.org/wiki/Prolog/Cuts_and_Negation https://en.m.wikibooks.org/wiki/Prolog/Cuts_and_Negation https://www.cs.uleth.ca/~gaur/post/prolog-cut-negation/ https://www.cs.uleth.ca/~gaur/post/prolog-cut-negation/