Хотел объединить здесь два замечания, которые оставил к
записям ИП. Но в итоге просто сформулировал кратко задачу, которую однажды придумал себе
в разговоре с
masterwind, и к которой иногда возвращаюсь помедитировать.
Задача сейчас находится примерно в таком состоянии.
Берем ландшафт, покрытый сеткой троп. Весь ландшафт измят, рельеф сложный - разрежения, сгущения, дыры, складки и прочее, чего мы даже пока не знаем. Сложной судьбы ландшафт. И есть в нем устойчивые сложившиеся тропы. Одни тропы нахожены больше, другие меньше, тропы пересекаются, образуют плотные узлы и пр.
Можно снять с ландшафта только карту троп. Разметить тропы (или узлы) по проходимости (весу) - и получить еще один "рельеф" - снятую с ландшафта карту проходимости троп. Однако, действительный рельеф исходного ландшафта, с которого сняты тропы, не выражен в этой карте прямо - он скрыт.
И тогда можно поставить два вопроса:
1. Как получить карту возможных троп, имея на руках только исходный ландшафт?
2. Как восстановить исходный ландшафт, имея на руках только карту троп?
Вот есть два пространства: исходный ландшафт и карта троп. И я так понимаю, что пространство троп непрерывно. Значит между любыми двумя точками карты можно проложить маршрут: прямой, кривой, какой-угодно длинный - неважно какой, главное, что существует путь из одной точки карты в другую. Следовательно, не существует ни одной изолированной точки, т.е. такой, к которой не идет никакая тропа, потому что все точки связаны тропами.
Если же путь из одной точки в другую необратимым, т.е. "движение" по тропе возможно только в одном "направлении" - это значит, что на карте существует хотя бы один "обходной" маршрут (замкнутый), вдоль которого можно вернуться в начальную точку.
И в общем случае получается, что "длина" пути в одну сторону от одной точки к другой не равна длине обратного пути, т.е. длина может быть одинаковой или различной - всяко может быть. Однако, даже если все тропы на карте необратимые (с односторонним "движением"), тем не менее, для любой точки можно указать на карте другую точку - "точку возврата", такую что "длина" пути к ней будет равна "длине" обратного пути. Короче говоря, любая точка из карты троп является "точкой возврата".
Теперь возьмем исходный ландшафт. Вообще говоря, он не обязан быть непрерывным - в нем могут быть и дыры, но тропы все равно будут аккуратно их "огибать". И, кроме того, если в ландшафте присутствуют сильные локальные искажения (высокие плотности/пики или сильные разрежения/ямы), то тропы будут их огибать также как и разрывы. Поэтому можно сказать, что тропа нечувствительна к "знаку" сильного локального искажения ландшафта, т.е. для тропы совершенно неважно огибает ли она бездонную яму или высоченный пик - в обоих случаях тропа поведет себя одинаково, как если бы она огибала локальный разрыв в ландшафте.
Из этого пока что следует, что, глядя только лишь на карту троп, нельзя отличить в ней резкий крутой пик ландшафта от такой же ямы или разрыва. А это, вообще-то, в мои планы не входит - хотелось бы отличать. Только неясно пока, как это можно сделать.
Посмотрим на поведение троп в окрестности пика (или ямы, или разрыва - это пока неважно). Допустим, мы обнаружили у подножья пика точку, от которой необратимая тропа уходит в заоблачные высоты. Можно утверждать, что в окрестности пика существует хотя бы одна обратная тропа, спускающаяся к подножью. А также существует замкнутый маршрут, которому принадлежат обе тропы. И на маршруте существует "точка возврата", пути до которой и обратно, к заданной заданной точке у подножья - равны.
Дальше надо бы поубирать кавычки со слов "длина", "движение", "направление", "путь" и пр. Пока не совсем ясно, что они означают. С ними еще надо определиться. Но вот что понравилось мне уже сейчас. Чтобы описать "огибание" пика тропой, оказалось, что не нужно вводить никакие специфические функциональные ограничения на тропу. Потому что само пространство карты устроено так, что тропы "огибают" дырки, пики или ямы.
Дальше
определение тропы и карты.