Алгоритм сокращения очереди?

У меня есть очередь действий, разделенных между клиентами, фиксирующих действия пользователей и выполняемых роботом на другом сайте. Примером действий может быть следующее:

CREATE FOLDER  /docs
CREATE FILE    /docs/journal.txt
DELETE FILE    /docs/blog.txt
MOVE   FOLDER  /docs/images /docs/photos
...

Часто есть действия, которые можно свести к одному или ни к одному. Например:

CREATE FOLDER /docs
RENAME FOLDER /docs /documents

Можно просто изменить на:

CREATE FOLDER /documents

И что-то вроде:

CREATE FOLDER /docs
RENAME FOLDER /documents
DELETE FOLDER /documents

Можно полностью удалить из очереди.

Этот вид редукции/оптимизации кажется очень общей проблемой, и прежде чем приступить к ней, я хотел бы попробовать какое-нибудь общее решение. Это похоже на проблему оптимизации поиска пути.

Есть идеи?

5
задан Pedro Werneck 31 May 2012 в 22:10
поделиться