Since the number input has a list-like format1 (e.g. ([[0,1,2],[0,1,2],[0,1,2]],[[0],[1],[2]])), it is probably possible to allow more than just numbers as agent names. I might write a parser that just parses whatever as agent names. A canonical representation for this format (using numbers) would also be nice then, e.g. ([[alice, bob], [bob, carol], [[alice], [bob], [carol]]) → ([[0, 1], [1, 2]], [[0], [1], [2]])
1 It's basically (List (List Int), List (List Int)) (or ([[Int]], [[Int]]) in Haskell style)
Since the number input has a list-like format1 (e.g.
([[0,1,2],[0,1,2],[0,1,2]],[[0],[1],[2]])
), it is probably possible to allow more than just numbers as agent names. I might write a parser that just parses whatever as agent names. A canonical representation for this format (using numbers) would also be nice then, e.g.([[alice, bob], [bob, carol], [[alice], [bob], [carol]])
→([[0, 1], [1, 2]], [[0], [1], [2]])
1 It's basically
(List (List Int), List (List Int))
(or([[Int]], [[Int]])
in Haskell style)