edit: lets say "Start State" instead of "some State A"
Am Dienstag, 4. Juli 2017 09:35:49 UTC+2 schrieb Daniel S: > > Hey Jon, > > thanks for the code. I will work through it. > > I am wondering in general if its possible to encode any arbitrary "state > machine" in minikanren and let minikanren search for a path > between some State A and some State B. > > Similar like Lesslie Lamport can do it with his TLA+ Model checker. > > He explains this principle nicely in this video, with the "Water Jug > Puzzle" as example: > > https://lamport.azurewebsites.net/video/video4.html > > What do you think? > > bye, > > Daniel > > > Am Montag, 3. Juli 2017 22:16:06 UTC+2 schrieb Smock Jonathan: >> >> Hey Daniel, >> >> I realized I could put it behind a gist link: >> https://gist.github.com/jonsmock/3e4abf488bfcc064f33373a3d090e027 >> >> Don't look if you want to think it through, but feel free if you're >> stuck. The invitation to offer hints is still open as well. >> >> I think my code could be cleaned up, but I did get my recursive version >> working (once I noticed I had hardcoded the order of the final solution >> list). >> >> Let me know if you need help! >> >> Thanks, >> Jon >> >> On Mon, Jul 3, 2017 at 3:36 PM, Smock Jonathan <[email protected]> wrote: >> >>> Hi Daniel, >>> >>> I did this one just now: >>> https://en.wikipedia.org/wiki/Fox,_goose_and_bag_of_beans_puzzle >>> >>> It looks like I can solve it, but I'm having trouble making my solution >>> fully recursive. Instead I had to create 8 fresh variables for the initial >>> state, the 6 intermediate states, and the final solution state. With that, >>> my solution comes back very quickly. >>> >>> Do you want to see code, or do you want hints? I don't want to spoil it, >>> if you want to keep working through it. >>> >>> I will say the final gotcha for me was in encoding the final solution. I >>> keep a list of which animals/items are on each side of the river, and while >>> I can give a list of animals/items of the initial state, I can't hardcode >>> the list on the ending state. Instead I use a list with 3 fresh variables. >>> This ensures the farmer ends with all 3 items on the other side, but it >>> doesn't constraint the the order of the list to any particular order. Does >>> that make sense? >>> >>> Let me know how I can help! Good luck! >>> >>> Jon >>> >>> On Mon, Jul 3, 2017 at 11:06 AM, Daniel S <[email protected]> wrote: >>> >>>> Hello, >>>> >>>> anyone solved the River Crossing Puzzle ( >>>> https://en.wikipedia.org/wiki/River_crossing_puzzle) >>>> with minikanren yet? >>>> >>>> bye >>>> >>>> Daniel >>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "minikanren" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To post to this group, send email to [email protected]. >>>> Visit this group at https://groups.google.com/group/minikanren. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> >> -- You received this message because you are subscribed to the Google Groups "minikanren" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/minikanren. For more options, visit https://groups.google.com/d/optout.
