Эту задачу поставили на работе. Как решить? Общий вид задачи: Есть множество сущностей, которые взаимодействуют с помощью транзакций. Однако, на одну транзакцию приходится несколько операций, каждая из которых применима только 1 раз на реализацию ОДНОЙ транзакции. ЗАДАЧА: Найти операцию, наиболее приемлемую для данного вида транзакции. ОГРАНИЧЕНИЕ: 1. В данной задаче транзакция считается завершенной, если в операции отражения (Reflection) участвуют данные ОДНОГО типа. Обмен данными разных типов считается ошибкой. Какую литературу читать, с чего начинать решение?
Добавлю: Я структуру вижу так (может и не правильно): SetOfEntity | | |--------Entity1 | |--Operation [1] | |--Operation [N] | |--------Entity[N]
Переформулирую: Пусть Set of Entity = A {d,e,f,g,h....x} Set of Variants = B { (d,e),(e,f)....(z,x)} - я так вижу На предприятии есть множество сотрудников (А), множество задач и множество вариантов их решения (B) Определить НАИБОЛЕЕ МИНИМАЛЬНОЕ количество вариантов, при которых транзакция (выполненная задача) будет считаться завершенной. Пусть имеется некая абстрактная транзакция (свод действий для достижения результата), тогда один из путей ее реализации (см. ACID) может быть: d-----e | f Это в идеале, а в реале d------e------x | | f-------h Наглядно видно, что идеальную транзакцию можно записать как d--->e---->f, но бывает, что сотрудники не видят этого и выполняют d--->e---->x---->h----->f, что верно, но долго. Я не математик, поэтому, прошу, помогите найти толчок к решению задачи. Щас копаю википедию на предмет разных алгоритмов... ниче подобного не вижу. P.S.: если совсем коротко: Как доехать из Оренбурга в Свердловск, не заворачивая в Челябинск?
device P.S.: если совсем коротко: Как доехать из Оренбурга в Свердловск, не заворачивая в Челябинск? Такого рода проблемы решаются с помощью графов. Например города обозначаются узлами, дороги между ними - ребрами (с расстоянием в качестве веса). Потом ищется оптимальный относительно каких-то граничных условий путь, для этого существуют стандартные алгоритмы. Попробуй сформулировать свою задачу в виде графа.