у меня есть:
1) «стартовый набор», мультимножество, например {x, y, z, z},
2) набор преобразований, например. {x, z} => {y}, {z, z} => {z}, {x} => {z}, {y} => {x} и
3) «целевой набор», который я пытаюсь получить, применяя преобразования к начальному набору, например. {z}.
Я бы хотел найти алгоритм для генерации (возможно, бесконечного) возможных применений преобразований к начальному набору, которые приводят к целевому набору. Например:
{ x, y, z, z }, y => x
{ x, x, z, z }, x => z
{ z, x, z, z }, x => z
{ z, z, z, z }, {z, z} => z
{ z, z, z }, {z, z} => z
{ z, z }, {z, z} => z
{ z }
Порядок элементов не имеет значения везде.
Звучит так, как будто это существующая (названная) проблема, но я ее не узнаю. Может кто-нибудь помочь мне отследить его или предложить дальнейшее чтение чего-нибудь подобного?