alesgaroth / juv

flow programming environment
1 stars 0 forks source link

Equivalency of algorithms #3

Open alesgaroth opened 1 week ago

alesgaroth commented 1 week ago

Ideas on how to check the equivalency of two DAGs.

Adjacency matrix where a 1 indicates the direction y to x

If we sort it so that all y nodes point to higher x, it can be represented in half the space.

We can create column groups so that each all nodes in the group point to subsequent groups. (No node in a group points to another node on the same group or lower numbered groups.)

Within each group we can sort by which groups it points into. Can we sort by which node within those groups? What if we sort the down stream nodes? Can we sort downstream groups first? How would we sort the leaves? They are already sorted based if they are retvals, but network connections/IO wouldn't be.

Equivalency would mean each group's adjacency slice is similar....

alesgaroth commented 4 days ago

Actually, network connections affect the world so the world model has to be returned.... So we can do this. The only time we would have nodes without some output would be comments .. and we can deal with those and equivalency check them by their contents