sequence function: find-path-between
description:
find-path-between(ket, sp)
find the path between the ket, and the given superposition
currently, potentially quite slow! But this is fixable.
examples:
load fred-sam-friends.sw
find-inverse[friends]
find-path-between(|Fred>, |Sam>)
|op: friends> . |op: inverse-friends>
find-path-between(|Fred>, |Julie>)
|op: friends> . |op: inverse-friends> . |op: friends>
learn-map[10,10]
find-path-between(|grid: 1: 1>, |grid: 3: 7>)
|op: E> . |op: E> . |op: E> . |op: E> . |op: SE> . |op: SE>
load george.sw
find (*) #=> find-path-between(|person: George>, |_self>)
find |person: Andrew>
|op: friends>
find (|person: Sarah> + |person: David> + |person: Frank>)
|op: family>
find (|person: Emily> + |person: Fred>)
|op: family-and-friends>
find (|person: Frank> + |person: Emily>)
|op: siblings>
future:
optimize it with Dijkstra's algorithm
(since current algorithm is horrible!)
make it work with path-ways between sequences too.
see also:
finding-a-path-between-early-us-presidents worked example
Home