Рассмотрим задачу о переливании с 3-я конечными сосудами. Попробуем определить, какие состояния достижимы с помощью переливаний, а какие - нет.
Используем предложенную выше геометрическую интерпретацию. Если в
-м сосуде налито
литров жидкости, то
- целая точка в 3-хмерном пространстве.
- это соотношения ограничивают треугольник в
, далее, если
- объем
-й банки, то получим еще ограничения
- это 3 плоскости, при отсечении ими можем получить 3,4,5- или 6-иугольник. Фигуру и ее внутренности обозначим
, пересечение
обозначим
. Допустимым переливаниям из банки в банку соответствуют отображения
точек из
в
по прямым, лежащим внутри
, параллельным какой-то координатной плоскости. Действие отображений незачем ограничивать только целыми точками
, лучше распространить его сразу на все
.
Задача о переливании примет вид: дана точка
в
и отображения
. Определить, достижима ли или нет какая-то точка
.
У
есть собственно внутренность, границы и вершины. Ясно, что если исходная точка лежит на внутренности
, то любое действие переводит ее на границу
, причем не более чем 3-я способами. Далее рассматриваем только точки на границе.
Рассмотрим произвольную граничную точку из
, не являющуюся вершиной. Из нее можно сделать 4 варианта хода: 2 переводят точку в вершины, еще 2 - в другую граничную точку, не являющуюся вершиной. Первые 2 хода не рассматриваем. После того, как выбран один из 2-х вариантов хода, все последующие нетривиальные ходы (не отменяющие предыдущие) определяются единственным образом. Т.обр., у нас получается класс граничных точек, изоморфный
по связности. Точки внутри класса достижимы. Достижимость точек, не явлющихся вершинами - отношение эквивалентности, так что граница
разбивается на классы. Если мы учтем еще и вершины, то мы получим, что граница фигуры
разбивается на 2 множества:
,
- множество вершин
и достижимых из них точек,
. Все точки
достижимы из любой точки
, обратное неверно.
представляет собой один класс эквивалентности по отношению достижимости, а
может оказаться разбитым на множество классов.
Ясно, что все точки
достижимы, остается рассмотреть
.
Будем рассматривать самый общий случай, когда
- 6-иугольник.
Покажем, что на длины сторон 6-иугольника можно наложить некоторые ограничения, не уменьшающие общности. Рассмотрим пары параллельных сторон 6-иугольника. Если в одной из пар стороны достаточно длинные, то их можно "уменьшить" следующим образом. Пусть
- 6-иугольник (
здесь - это не та
, которая выше, а другая). Пусть
и
достаточно длинны. Тогда, если исходная точка
например, то ее путь в границе
в результате отображений имеет вид:
, где
, а
. Если параллелограмм
"влазит" (существует) в
, то его можно "вырезать" - построить новый 6-иугольник, получающийся склеиванием кусков
и
, причем классы
в новом 6-иугольнике являются ограничениями классов
старого 6-иугольника (это несложно показать, я не буду это писать, а то длинно будет).
Будем применять подобную операцию "обрезания" исходного 6-иугольника до тех пор, пока она возможна. Полученный в результате 6-иугольник обозначим
. Заметим, что исходная задача на
может быть сведена к рассмотрению аналогичной задачи в
- вместо исходных точек в ней лишь следует брать их образа после преобразования "обрезания"
. В итоге, мы можем изначально считать
обрезанным.
Далее, рассмотрим действие
на
. Это действие не является даже группоидом. Однако, действие можно свести к рассмотрению действия некоей группы на некотором множестве.
В качестве множества выберем 2 некоторых смежных ребра
-
и
(точнее - все их точки из
) - "ломаная"
. В качестве действия на
выберем такую степень
(возможно, зависящую от
), что
снова лежит в
(т.е. просто отображаем точку, пока она не вернется снова куда-то в
). Такое
действительно существует для каждой точки (я, честно говоря, доказательство не писал явно, однако Вы можете убедиться в этом сами. Для этого нужно перебрать все возможные варианты сторон, в которые может попадать
в результате действия
какое-то количество раз и увидеть, что какой-то образ
опять попадает в
. (я специально выбрал в качестве
две смежные стороны, одной стороны недостаточно. А вот для 5-иугольника можно выбрать одну сторону - у меня есть явный расчет) Далее, я замечу, что число шагов
ограничено - в "обрезанном" 6-иугольнике верхняя его граница не зависит от параметров
, потому в
попадает множество точек класса достижимости "конечного индекса").
Обозначим отображение, действующее в пределах
буквой
. Действие
на пары точек в
локально сохраняет метрику, потому
тоже ее сохраняет в
, потому, если
- локальная координата в
, то
. Значит
- кусочно-линейная функция на
. Докажем, что число кусков в
, на которых
линейна, ограничено абсолютной константой, не зависящей от параметров фигуры (т.е., что
- перестановка). Для этого вернемся к рассмотрению
и вспомним, что стороны 6-иугольника - целые числа (а значит существует их НОД). Возьмем произвольную сторону
6-иугольника. Рассмотрим ее образ
. Если он лежит внутри стороны 6-иугольника, то все нормально - отображаем дальше. Если он попал на несколько разных сторон 6-иугольника, то разобъем его на несколько отрезков так, чтобы отрезки отображались целиком внутрь своего ребра. Т.к. число сторон 6-иугольника ограниченно, то число таких отрезков тоже будет ограниченно. После нескольких разбиений отрезки из
снова попадут в
. Если
и его образ пересекаются - разобъем их их пересечением. Получим, что каждая сторона
была разбита на ограниченное число кусков, на которых
действует линейно.
Таким образом,
действует на
кусочно-линейно, причем число кусков ограниченно абсолютной константой. Значит при действии
на целую точку в
мы получим орбиту ограниченной мощности. Поскольку 6-иугольник был "обрезан", то в "обрезанном" 6-иугольнике орбита каждой точки имеет ограниченную мощность.
Теперь уже понятно, что орбита вершин также имеет ограниченную мощность.
Отсюда следует, что если параметры 6-иугольника будут достаточно велики, то мы получим, что
имеет
класса достижимости. В результате получаем, что задача может быть решена следующим образом - "обрезаем" нашу фигуру, после чего число достижимых состояний в результате переливаний станет равным
- все достижимые точки можно тупо вычислить. Если искомая точка находится среди достижимых, то задача имеет решение и его можно явно найти, иначе - нет.
Кроме того, для достаточно больших параметров
существуют как 6-иугольники, в которых все точки достижимы, так и 6-иугольники, в которых некоторые точки недостижимы.
Надеюсь, что этот текст понятен
Могу пояснить детально.
Времени мало, но я могу еще подумать и написать более понятно.