Как называется алгоритм оптимизации последовательности изменений множества?
Есть ли такой описанный алгоритм, который оптимизирует последовательность изменений множества? В отличии от алгоритма поиска растояния Левенштейна, у меня нет ни начального множества, ни конечного. Есть множество изменений, которое нужно оптимизировать, которое после может применяться уже к изменяемым множествам.
Вот для примера такая последовательность действий:
1. insert to 5: A
2. insert to 6: B
3. delete from 5: A
4. delete from 4: C
Действия 1 и 3 лишние. Действие 4 подразумевает, что в исходном множестве в позиции 4 должна быть буква C, т.е. не каждое множество действий применимо к любому исходному множеству, но это уже детали. После оптимизации должно остаться:
1. insert to 5: B
2. delete from 4: C
Т.е. исходные 1 и 2 удалились, и соответственное для исходного действия 3 поменялась позиция.
Есть ли что-либо подобное где-нибудь?
Источник: Stack Overflow на русском