Как выйти из лабиринта. Как найти выход из лабиринта: "Уралстудент" побывал в Зеркальном лабиринте

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

Надо ходить по лабиринту, все время касаясь его стенки одной и той же рукой.

Это значит, что при входе в лабиринт вы должны коснуться его стенки одной рукой (все равно, правой или левой) и во все время блуждания в нем продолжать касаться стенки той же самой рукой.

Попробуйте - чтобы испытать этот способ-применить "правило одной руки" для мысленной прогулки по плану Гемптонского лабиринта. Вооружившись спичкой, вообразите, что вы входите в этот садовый лабиринт и все время прикасаетесь одной рукой его стенок. Вы довольно скоро доберетесь от наружного входа до центра лабиринта. Не опускайте здесь вашей руки, продолжайте идти дальше, касаясь ею стенок, и безошибочно выберетесь из его закоулков снова к наружному входу.

Откуда взялось это удобное правило? Постараемся понять это. Представьте, что вы входите с завязанными глазами в комнату, в которую имеется только один вход (рис. 2). Как должны вы поступить, чтобы обойти ее всю и снова выбраться из нее? Проще всего идти вдоль стен, не отрывая руки от стены (рис. 3), тогда вы непременно добредете снова до двери, через которую вы вошли. Здесь разумность "правила одной руки" понятна сама собою. Вообразите теперь, что стены комнаты имеют выступы, как показано на рис. 4 и 5. Перед вами уже не простые комнаты, а настоящие лабиринты. Но "правило одной руки" должно, конечно, и в этих случаях сохранять свою силу, надежно приводя вас снова к выходу из помещения.

"Правило одной руки" имеет и свои неудобства. Пользуясь им, вы можете войти в любой лабиринт и наверняка из него выйти. Но это не значит, что вы обойдете все закоулки лабиринта без исключения. Вы побываете только в тех местах, стенки, которых так или иначе связаны с наружной стеной лабиринта,- составляют как бы ее продолжение. Но вы пройдете мимо тех участков лабиринта, стенки которых не имеют связи с наружными его стенами. В садовом лабиринте Гемптона как раз имеется такой участок, и потому, пользуясь правилом "одной руки", вы не можете пройти по всем дорожкам этого лабиринта: одна дорожка остается не пройденной. На рис. 6 пунктирные линии показывают путь вдоль стен живой изгороди, если пользоваться "правилом одной руки", а звездочка отмечает ту аллею, которая при этом остается не пройденной.

Разоблачаем! Можно ли пройти этот лабиринт? November 29th, 2014

Вот такая картинка сейчас бродит по всему интернету. Зачастую это сопровождается таким текстом: "В израильской военной разведке есть специальное подразделение, в котором служат юноши и девушки, страдающие разными нарушениями аутического спектра. Аутисты занимаются в основном анализом карт и аэрофотоснимков, появляющихся на экранах компьютеров. В силу особенностей мышления они обращают внимание на мельчайшие подробности, учет которых при подготовке военных операций на местности позволяет не допустить возможных потерь личного состава. Таким образом аутисты-разведчики спасают жизни солдат."

Вы пробовали проходить этот лабиринт?

Давайте выясним подробнее этот вопрос..

еще при упоминании этого лабиринта уточняется, что "Аутист способен обрабатывать визуальную и текстовую информацию в несколько раз быстрее, чем человек, не страдающий заболеваниями аутического спектра. Эта их особенность оказалась незаменимой в хайтеке. В датской компании Specialisterne, специализирующейся на технологическом консультировании, 75 процентов работников - аутисты и люди, у которых диагностирован синдром Аспергера, также относящийся к аутическому спектру. От обычных работников они отличаются невероятным вниманием к деталям, сверхчеловеческой сосредоточенностью, способностью быстро обрабатывать огромные массивы информации. Эти умения особенно полезны для тестировщиков программ. Качество работы аутистов, занимающихся этой работой, в несколько раз выше, чем качество работы обычных людей. Аутисты могут проверить техническую документацию на 4000 страниц в 10 раз быстрее обычных людей и не пропустить ни одной ошибки."

Но оставим в стороне аутистови выясним в конце концов как можно пройти этот лабиринт! А вот как...

Задача нерешаема! У нас 3 комнаты с нечетным количеством дверей (аналогия с рисунками "не отрывая карандаша"). Что бы задача имела решение необходимо, что бы было не более 2 точек(в нашем случае комнат) с нечетным количеством линий (в нашем случае проходов)

Если построить граф этого лабиринта, то мы увидим, что это Эйлеров путь, так как у него 3 вершины с нечётным числом рёбер (дверей), а для выполнения условий теста их может быть только две.

Проблема семи мостов Кёнигсберга или Задача о кёнигсбергских мостах (нем. Königsberger Brückenproblem ) - старинная математическая задача, в которой спрашивалось, как можно пройти по всем семи мостам Кёнигсберга, не проходя ни по одному из них дважды. Впервые была решена в 1736 году немецким и русским математиком Леонардом Эйлером.

Издавна среди жителей Кёнигсберга была распространена такая загадка: как пройти по всем мостам (через реку Преголя), не проходя ни по одному из них дважды. Многие кёнигсбержцы пытались решить эту задачу как теоретически, так и практически, во время прогулок. Впрочем, доказать или опровергнуть возможность существования такого маршрута никто не мог.

В 1736 году задача о семи мостах заинтересовала выдающегося математика, члена Петербургской академии наук Леонарда Эйлера, о чём он написал в письме итальянскому математику и инженеру Мариони от 13 марта 1736 года. В этом письме Эйлер пишет о том, что он смог найти правило, пользуясь которым, легко определить, можно ли пройти по всем мостам, не проходя дважды ни по одному из них. Ответ был «нельзя».

На упрощённой схеме части города (графе) мостам соответствуют линии (дуги графа), а частям города - точки соединения линий (вершины графа). В ходе рассуждений Эйлер пришёл к следующим выводам:


  • Число нечётных вершин (вершин, к которым ведёт нечётное число рёбер) графа должно быть чётно. Не может существовать граф, который имел бы нечётное число нечётных вершин.

  • Если все вершины графа чётные, то можно, не отрывая карандаша от бумаги, начертить граф, при этом можно начинать с любой вершины графа и завершить его в той же вершине.

  • Граф с более чем двумя нечётными вершинами невозможно начертить одним росчерком.

Граф кёнигсбергских мостов имел четыре (синим) нечётные вершины (то есть все), следовательно, невозможно пройти по всем мостам, не проходя ни по одному из них дважды.

Созданная Эйлером теория графов нашла очень широкое применение в транспортных и коммуникационных системах (например, для изучения самих систем, составления оптимальных маршрутов доставки грузов или маршрутизации данных вИнтернете).

В 1905 году был построен Императорский мост, который был впоследствии разрушен в ходе бомбардировки во время Второй мировой войны. Существует легенда о том, что этот мост был построен по приказу самого кайзера, который не смог решить задачу мостов Кёнигсберга и стал жертвой шутки, которую сыграли с ним учёные умы, присутствовавшие на светском приёме (если добавить восьмой мост, то задача становится разрешимой). На опорах Императорского моста в 2005 году был построенЮбилейный мост. На данный момент в Калининграде семь мостов, и граф, построенный на основе островов и мостов Калининграда, по-прежнему не имеет эйлерова пути

Вот еще такой вариант решения предлагал xlazex

Посмотрим на картинку1: окружим квадратами каждую отдельную часть, исключим "лишние" точки, т.е. те точки, использование которых повысило бы возможное количество путей, и исключение которых не повлияет на количество дверей, пройденных линией и замкнутость контура. За начало пути возьмем, к примеру, точку 2 .
Посмотрим на картинку2: на ней я изобразил тот же контур, но так, чтобы были виднее связи начальной точки с последующими. На изображении явно видно, что часть контура, обведенная синим цветом не может быть единожды замкнута, т.е. даже если бы эта часть контура была единственна, то не существовало бы путей, по которым можно было бы построить замкнутую линию.
Итог: задача не имеет решения в двумерной системе координат.

Более того, здесь же можно прикоснуться к таинственному миру зазеркалья.

В самом сердце города, на улице Вайнера, 15 открылись лабиринты зеркал и страха.

Заходя сюда с оживленного "Екатеринбуржского Арбата", не чувствуешь никакого подвоха. Приветливая девушка-администратор предлагает испытать себя: сумеешь ли ты войти в лабиринт зеркал с одного входа и выйти через другой? Со стороны кажется, что все просто. Достаточно всего лишь внимательно смотреть по сторонам: с одной все равно будешь отражаться неверно. Но это невозможно: одно неправильное движение - и ты попадаешь в тупик.


Люди у нас часто теряются, -

рассказывает управляющая Екатерина Луч-Демченко.

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

Один упорный мужчина блуждал целых полтора часа. Знал, что все равно выберется.

Пока мы разговариваем, зашли две женщины с маленькими девочками.

Дети в восторге: они вызвались сами прокладывать путь своим мамам. На удивление, не прошло и 30 минут, как раздались радостные возгласы: "Ура, нашли!" . Это значит, что блуждающим удалось-таки обнаружить единственный проход на другую сторону.

- Наш лабиринт даже длиннее, чем в Москве и Питере , - продолжает Екатерина. - Уборщицы теряются, пытаясь найти обратный выход. Теперь находим их по проводу от пылесосов. Кстати, у них теперь самые модные "селфи" - то и дело фотографируются на фоне зеркал.



Поблуждав какое-то время, спрашиваем то, что нас интересует еще больше. Так ли страшен второй лабиринт, как рассказывают о нем те, кто уже побывал?


- А вы посмотрите сами, - предлагает Екатерина. Вдруг из-за стены (именно там и находится "Лабиринт страха") раздаются душераздирающие вопли и громкие стуки

- Наверное, люди просто слишком эмоциональны , - усмехаюсь я, еще не представляя, что нас ждет.

Итак, на всякий случай отправив фотографа Женю идти первым, ступаю вслед за ним. Все, как в настоящих фильмах ужаса: нарастающая тревожная музыка, чарующая темнота, тусклое мерцание света. Ты самонадеянно думаешь, что пугать тебя будут фигуры скелетов и страшных кукол, но уже после первого поворота понимаешь, как сильно ошибался.


Я визжу от ужаса и вцепляюсь в фотографа. Женя ступает уже мене уверенно, но все равно идет вперед. Пока на его обрушивается новая опасность, меня она настигает как идущую позади. И я вспоминаю, что по законам фильмов ужасов, никакое положение не гарантирует тебе безопасности.

Наше путешествие в мир страха продлилось минут 15, но они показались мне вечностью. Я выхожу и истерично смеюсь, тогда как внутри все сжимаетя от пережитого ужаса.

-Ну как? - улыбаетя Екатерина.

Никакие комнаты страха из "Луна-парков" не идут в сравнение с лабиринтом на Вайнера, 15. Ведь даже взрослые мужчины истошно кричат в его стенах. Поэтому, приводя сюда на свидание свою девушку, имейте ввиду, что неизвестно еще, кому придется защищать другого.

Сейчас в лабиринт приходят в среднем 200 человек за день. Цена билетов одинакова и для детей и взрослых: 200 рублей за лабиринт зеркал и 300 - за вход в лабиринт страха. Если посещаете оба, приготовьте 450 рублей. Детям от 6 до 12 лет вход в лабиринт страха возможен только в присутствии родителей.



Нововведение из российских столиц уже появляется в других крупных городах. В Екатеринбурге же в ближайшее время планируется еще несколько проектов. Так, в июне пойдут два флеш-моба. Один из них - собрание самых жутких персонажей фильмов ужасов.

Секретом остается появление в нашем городе нового заведения от создателей лабиринтов.

- Это будет не менее интересный проект для горожан, - утверждает Екатерина.

Кристина Ермак,
фото Евгения Брюховецкого

Мне нравится

Цель Изучить историю возникновения лабиринтов
Найти связь лабиринтов с нашей жизнью.

Задачи

Провести отбор материала, связанного с лабиринтами.
Выявление различных методов нахождения выходов из
лабиринтов и применение их к решению задач.

Гипотеза

Идя по жизни, мы понятия не имеем, где окажемся
завтра. Мы стремимся к цели, но не знаем, как ее
достичь. Плутаем, рискуя оказаться в тупике. Ломаем
голову: какую дорогу выбрать? Символ нашей жизни лабиринт. История лабиринтов длинна, сложна и
запутанна. Как и жизнь человека.
Сократ.

Введение

Многие из нас встречали в каких - либо журналах или
газетах такое занимательное развлечение, как лабиринты.
Но не все знают - что такое «лабиринты» и откуда они
появились. Хотя с лабиринтами встречаемся довольно
часто: в рисунках ребенка, чертежах конструкторов,
схемах работы городского транспорта можно заметить тот
или иной вариант лабиринта. Так что же это такое
«лабиринт»?
images.yandex.ru

Что такое лабиринт?

Слово «Лабиринт» произошло от
греческого и означает ходы в
подземельях. Действительно,
существует очень много природных
подземных пещер с таким огромным
количеством перекрещивающихся
коридоров, закоулков и тупиков, что
нетрудно в них заблудиться и
потеряться.

Виды лабиринтов.

Церковные лабиринты
Европы
Ранние христианские
церкви с энтузиазмом
переняли традицию
лабиринта. В первую
очередь это был символ
самой церкви, например
выбитый на каменных
стенах собора в Лукке
(Италия) или вышитый на
облачении усопших
епископов, которые были
изображены лежащими в
лоне церкви.

Лабиринты в других областях человеческой деятельности.

Заметим, что далеко не все
лабиринтные структуры
поддаются
непосредственному
наблюдению. Есть
любопытная теория, что
структурой именно такого
рода является, например,
модель развития
индоевропейских языков, а
также любой языковый
(лингвистический)
лабиринт.

Дерновые лабиринты.

«Живой» лабиринт
В 18-19 веках
лабиринтами называли
особого рода садовые
украшения, состоящие
из более или менее
высоких живых
изгородей или из
трельяжей, обсаженные
растениями, которые
расположены так, что
между ними образуются
дорожки, ведущие к
одному центру.

10. Лабиринт как геометрическая сеть.

Аллеи, дорожки,
коридоры, галереи,
шахты и т. п.. Лабиринты
тянутся, изгибаясь во все
стороны,
перекрещиваются,
расходятся по
всевозможным
направлениям,
ответвляются, образуют
тупики и т. п..

11. Способы выхода из лабиринта.

Теорема Тремо.
Выйдя из любой точки лабиринта, надо
сделать отметку на его стене (крест) и
двигаться в произвольном направлении до
тупика или перекрестка; в первом случае
вернуться назад, поставить второй крест,
свидетельствующий, что путь пройден
дважды - туда и назад, и идти в
направлении, не пройденном ни разу, или
пройденном один раз; во втором - идти по
произвольному направлению, отмечая
каждый перекресток на входе и на выходе
одним крестом; если на перекресте один
крест уже имеется, то следует идти новым
путем, если нет - то пройденным путем,
отметив его вторым крестом.

12. Способы выхода из лабиринта.

Правила правой и
левой руки.
Одним из самых простых правил для
прохождения лабиринта является правило
"одной руки": двигаясь по лабиринту, надо
все время касаться правой или левой
рукой его стены. Этот алгоритм, вероятно,
был известен еще древним грекам.
Придется пройти долгий путь, заходя во
все тупики, но в итоге цель будет
достигнута.

13. Примеры задач на лабиринты.

Клад.
На рис.9 представлена схема
лабиринта. Стороны пяти квадратов,
вписаны один в другой,- это
коридоры, ведущие к наименьшему
внутреннему квадрату, где закрыт
клад. Клад обладает таким
свойством, что получить его может
только тот, кто придет за ним и
выйдет из лабиринта, пройдя все
коридоры по одному разу. Ни один
коридор, даже частично, нельзя
пройти дважды. Попытайте счастья.
Решение:
Путь к кладу и обратно показан на
рисунке 10.

14. Примеры задач на лабиринты.

Среди роз.
Садовник имел квадратную клумбу
4*4 метра, на которой он вырастил
16 кустов роз. Расстояние между
кустами было 1 метр. Пока кусты
еще не расцвели, цветовод обходил
все кусты, идя по кратчайшему
пути, но когда чудесные цветы
распустились, садовник обходил их
по самому длинному пути. К
каждому цветку он подходил всего
один раз. Как выглядел самый
короткий путь от куста к кусту, а как
самый длинный?

15.

Вопрос
4 класс
5 класс
6 класс
7
класс
8 класс
9 класс 10 класс
1.Знаете ли вы что
такое лабиринт?
да
да
да
да
да
да
да
2.Известны ли вам
головоломные
лабиринты?
да
да
да
да
да
да
да
3. Знаете ли вы как
выйти из
лабиринта?
не совсем
немного
немного
да
да
да
да
4. Известна ли вам
теорема Тремо?
нет
нет
нет
нет
нет
нет
нет
5. Слышали ли вы
когда-нибудь о
«Правиле правой и
левой руки?»
нет
нет
нет
нет
нет
нет
возможно
да, но не
всегда
удавалось
да
да
да
да
да
да
да
да
да
да
6. Вы когда-нибудь да, но не
проходили
всегда
лабиринты? Если
удавалось
«да» - то удавалось
ли вам найти выход
из них?

16. Заключение.

Лабиринты – это странные явления природы или затейливые
постройки человека, которые заставляют задумываться над
поиском выхода из них.
Проведя свое исследование, мы выяснили, что далеко не все
знают, как выйти из лабиринта и практически никто не слышал
о способах выхода из них. Потому, мы думаем, что эта тема
будет очень интересна для учеников нашей школы и когданибудь эти знания пригодятся нам.

Доброго времени суток, уважаемое сообщество.

Предыстория

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

Вот собственно и он:

Рабочий день был скучный, настроение было отличное. Цель, средства и желание имеются. Вывод очевиден, будем проходить.

История

Для удобного решения, необходимо имеющееся изображение лабиринта, привести к типу двумерного массива. Каждый элемент которого может принять одно из 3-ех значений:

Const WALL=-1; BLANK=-2; DEADBLOCK=-3;

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

Сканирование изображения:

Var N:integer=600; LABIRINT:array of integer; ... var bit:TBitmap; i,j:integer; begin bit:=TBitmap.Create; If OpenDialog1.Execute then begin bit.LoadFromFile(OpenDialog1.FileName); for i:=0 to N do for j:=0 to N do if bit.Canvas.Pixels=clWhite then LABIRINT:=BLANK else LABIRINT:=WALL; bit.Free; ... end; end; ...

Генерация изображения:

Var N:integer=600; LABIRINT:array of integer; ... procedure genBitmap; var bit:TBitmap; i,j:Integer; begin bit:=TBitmap.Create; bit.Width:=N+1; bit.Height:=N+1; for i:=0 to N do for j:=0 to N do begin if LABIRINT=BLANK then bit.Canvas.Pixels:=clWhite // else if LABIRINT=WALL then bit.Canvas.Pixels:=clBlack else bit.Canvas.Pixels:=clRed; end; bit.SaveToFile("tmp.bmp"); bit.Free; end; ...

Для начала, необходимо пересохранить изображение, как монохромный bmp, для того, чтоб иметь 2 цвета белый или черный. Если присмотреться к лабиринту, то он имеет стенку толщиной в 2 пикселя, а дорогу толщиной в 4 пикселя. Идеально было бы сделать, чтоб толщина стенки и дороги была 1 пиксель. Для этого необходимо перестроить изображение, разделить изображение на 3, то есть удалить каждый 2рой и 3тий, ряд и столбик пикселей из рисунка (на правильность и проходимость лабиринта это не повлияет).

Подготовленный рисунок:

Ширина и высота изображения: 1802 пикселя.

1. Используем функцию сканирования изображения.
2. Перестраиваем изображение:

Var N:integer=1801; LABIRINT:array of integer; ... procedure rebuildArr2; var i,j:integer; begin for i:=0 to ((N div 3)) do for j:=0 to ((N div 3)) do LABIRINT:=LABIRINT; N:=N div 3; end; ...

3. Генерируем перестроенное изображение.

Результат работы процедуры:

Ширина и высота изображения: 601 пиксель.

И так, у нас есть изображение лабиринта нужного вида, теперь самое интересное, поиск всех вариантов прохождения лабиринта. Что у нас есть? Массив с записанными значениями WALL - стена и BLANK - дорога.

Была одна неудачная попытка найти прохождение лабиринта с помощью волнового алгоритма. Почему неудачная, во всех попытках данный алгоритм приводил к ошибке «Stack Overflow». Я уверен на 100%, что используя его, можно найти прохождение, но появился запал придумать что-то более интересное.

Идея пришла не сразу, было несколько реализаций прохождения, которые по времени, работали приблизительно по 3 минуты, после чего пришло озарение: «а что, если искать не пути прохождения, а пути которые не ведут к прохождению лабиринта и помечать их как тупиковые».

Алгоритм такой:
Выполнять рекурсивную функцию по всем точкам дорог лабиринта:
1. Если мы стоим на дороге и вокруг нас 3 стены, помечаем место где мы стоим как тупик, в противном случае выходим из функции;
2. Переходим на место которое не является стенкой из пункта №1, и повторяем пункт №1;

Программная реализация:

Var N:integer=600; LABIRINT:array of integer; ... procedure setBlankAsDeadblockRec(x,y:integer); var k:integer; begin k:=0; if LABIRINT=blank then begin if LABIRINT<><><><>BLANK then k:=k+1; if k=4 then LABIRINT:=DEADBLOCK; if k=3 then begin LABIRINT:=DEADBLOCK; if LABIRINT=BLANK then setBlankAsDeadblockRec(x-1,y); if LABIRINT=BLANK then setBlankAsDeadblockRec(x,y-1); if LABIRINT=BLANK then setBlankAsDeadblockRec(x+1,y); if LABIRINT=BLANK then setBlankAsDeadblockRec(x,y+1); end; end; end; procedure setDeadblock; var i,j:integer; begin for i:=1 to N-1 do for j:=1 to N-1 do setBlankAsDeadblockRec(i,j); end; ...

Заключение

Я получил «полный» рабочий алгоритм, который можно использовать для поиска всех прохождений лабиринта. Последний по скорости работы превзошел все ожидания. Надеюсь моя маленькая работа, принесет кому-то пользу или подтолкнет к новым мыслям.

Программный код и пройденный лабиринт:

//Прошу не бить ногами за использованный язык программирования. unit Unit1; interface uses Windows, Graphics, Forms, Dialogs, ExtCtrls, StdCtrls, Controls, Classes; const WALL=-1; BLANK=-2; DEADBLOCK=-3; type TForm1 = class(TForm) Button1: TButton; OpenDialog1: TOpenDialog; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; N:integer=600; LABIRINT:array of integer; implementation {$R *.dfm} procedure genBitmap; var bit:TBitmap; i,j:Integer; begin bit:=TBitmap.Create; bit.Width:=N+1; bit.Height:=N+1; for i:=0 to N do for j:=0 to N do begin if LABIRINT=BLANK then bit.Canvas.Pixels:=clWhite // else if LABIRINT=WALL then bit.Canvas.Pixels:=clBlack else bit.Canvas.Pixels:=clRed; end; bit.SaveToFile("tmp.bmp"); bit.Free; end; procedure rebuildArr2; var i,j:integer; begin for i:=0 to ((N div 3)) do for j:=0 to ((N div 3)) do LABIRINT:=LABIRINT; N:=N div 3; end; procedure setBlankAsDeadblockRec(x,y:integer); var k:integer; begin k:=0; if LABIRINT=blank then begin if LABIRINT<>BLANK then k:=k+1; if LABIRINT<>BLANK then k:=k+1; if LABIRINT<>BLANK then k:=k+1; if LABIRINT<>BLANK then k:=k+1; if k=4 then LABIRINT:=DEADBLOCK; if k=3 then begin LABIRINT:=DEADBLOCK; if LABIRINT=BLANK then setBlankAsDeadblockRec(x-1,y); if LABIRINT=BLANK then setBlankAsDeadblockRec(x,y-1); if LABIRINT=BLANK then setBlankAsDeadblockRec(x+1,y); if LABIRINT=BLANK then setBlankAsDeadblockRec(x,y+1); end; end; end; procedure setDeadblock; var i,j:integer; begin for i:=1 to N-1 do for j:=1 to N-1 do setBlankAsDeadblockRec(i,j); end; procedure TForm1.Button1Click(Sender: TObject); var bit:TBitmap; i,j:integer; begin bit:=TBitmap.Create; If OpenDialog1.Execute then begin bit.LoadFromFile(OpenDialog1.FileName); for i:=0 to N do for j:=0 to N do if bit.Canvas.Pixels=clWhite then LABIRINT:=BLANK else LABIRINT:=WALL; bit.Free; setDeadblock; genBitmap; end; end; end.

Для поиска кратчайшего пути, планируется применить волновой алгоритм к найденным прохождениям лабиринта. Было-бы интересно услышать, какие еще алгоритмы можно применить, для быстрого поиска пути в большом лабиринте?