isi-vista / adam

Abduction to Demonstrate an Articulate Machine
MIT License
10 stars 4 forks source link

Consider switching to a multi-digraph representation for perception graphs #751

Open gabbard opened 4 years ago

gabbard commented 4 years ago

We currently cannot represent multiple relationships between the same objects, which sometimes leads to errors when learning actions. We should asses what the consequences would be of switching to MultiDiGraphs. Will our matching algorithms still work? Will it slow down a lot?

gabbard commented 4 years ago

A further challenge occurred to me about this: not only do we need to change the matching code itself, but we also need to change the code responsibly for identifying the cause of failed pattern matching (and its uses in places like pattern intersection) to account for a single edge causing a failure even when all nodes would match (e.g. there is one edge present of two requested in the pattern, so to relax the pattern we need to remove just one of the edges, and not either of the nodes).

denizbeser commented 4 years ago

Note: One big challenge with this is the conversion of the matching algorithm to use EdgePredicates, i.e also checking if the edges match, as currently we only look at the nodes and then check feasibility of edges. A possible alternative is to convert all the edges to nodes, and pretend the relations are also nodes in the graph.