Вступление
Все же знают навигаторы tomtom? О нем речи не будет, он здесь просто случайно. Ну, как случайно. Те, кто разработал для него алгоритмы, они в главной роли, навигатор лишь их посредник. Но история совсем не здесь…Остров
Кто-то из знакомых говорил что накатал 1500 км за 7 дней на острове, диаметром в 100 км. Переплюнули. Остров о котором пойдет речь не так важен. Главное что он небольшой, и здесь есть горы. Маленькие но гордые горы. И на этом острове никому не нужные экскурсоводы никому действительно не нужны. Сфера аренды автомобилей процветает.Вот и я, и мои родители решили все же взять машину в аренду на пару дней, съездить поглазеть на столицу, горы, и еще пару мест.
— GPS, do you have it?
— Yes sure, €5 additional. Here you are.
Прекрасно. С навигатором надежней. Как бы там ни было. Не так и важно что контакт зарядного хреновый. Дорога простая вроде, не заблудимся.
— Have a map too, here.
— OK, thanks.
Поехали. “Подожди, подожди, не торопись. Сейчас маршрут проложу, потом поедешь” —- “Ну?..”. Ну и отправились мы. За рулем отец был, вроде опытней же, как-никак 30 лет за рулем, и автомат только последние 5, ручная КПП как-нибудь вспомнится.
Путь до столицы был не сложен и вправду. Минут 40 без особых эксцессов, навигатор по дороге мило и ненавящиво указывал на скоростные ограничения. Умный навигатор, хорошо дело знает.
— Как-то тут ничего и нет — говорит отец.
— Помойка вокруг — мать подтверждает — Следующее у нас на пути, городок, в котором где-то там был Шопен.
— Ну поехали.
Городок этот самый в горах. Милейший город, чистый воздух, и то милое место где молодой Шопен проводил время со своей дамой и сочинял музыку.
— Монастырь? Он жил в монастыре, с любовницей, играл светскую музыку бедным монахам?
Горы
— Пап, я как-то совсем почти и не ездил на ручной коробке, хорошая возможность вроде. Давай я за рулем поеду, отдохнешь— Конечно, вперед.
Не прошло и пары минут, всего-то, как я сообразил что я просто еду. Куда-то. О навигаторе должен был думать я, разумеется. Вот только я был занят вождением. Как-то не прельщает на “серпантине” вводить маршрут.
— Остановись, что ты на ходу отвлекаешься все? — не забывает комментировать отец.
— Да ну, нормально все. Пять сек. Как там городишко называется?
— Turn around where first possible
— Ммм… Мам, ты вроде хотела еще куда-то заехать, да?
— Вот если прямо ехать, там еще “сады” должны быть, и городок один, там пишут вид очень красивый. Надо бы проехать через него.
— *Click* *Click* Drive forward
— Отлично. Поехали дальше.
“*Click* *Click*”? Что может быть проще чем сказать навигатору что хочешь другой маршрут…
Насколько другой? Кого это интересует?
Серпантин
Спускались мы долго, медленно и с весельем. С отцом у нас была увеселительная терапия, поскольку мать сзади вжалась в сиденья и кричала “МЕДЛЕННЕЕ! ПРОПАСТЬ!”. А мы спокойно ехали дальше, я осваивался с коробкой передач и машиной, отец комментируя и поправляя что я не так делаю.— Я ДАВАЙТЕ ПОЕДУ! ВЫ БЫСТРО ЕДЕТЕ!
— Как на лыжах ты ездишь? Встанешь посреди горы и скажешь что не могу, страшно? Хах — смеясь отвечали мы с отцом.
Так продолжалось почти час, пока не закончился серпантин, туннель и прочие радости гор.
— Навигатор пишет что приедем в 21:06. Это еще 2 с половиной часа почти.
— Разве мы до сюда в сумме не час добирались всего?
— Без понятия. Навигатор так пишет. Я то что.
Алгоритмы. Точно. Речь о них была.
Дадим вам задачу. Есть граф. Мы прокладываем “Дейкстрой” оптимальный маршрут, а потом говорим что нам нужен “другой”. Что бы это могло значить? Что бы тут сделать?..
Автострада
— Мне кажется, мы все же слишком долго едем.— Ну, навигатор стабильно утверждает, что в 21:06 мы будем на месте.
— Как скажешь…
— Нам вроде сюда свернуть надо было — с заднего сиденья слышен голос матери.
— Да не, навигатор пишет сюда. Ой блин…
— Разворачивайся. — вставил отец.
— Куда? Бетонное заграждение посередине.
— Ладно. Сейчас где-нибудь съезд еще должен быть.
— Approaching exit. After 800 meters keep RIGHT
— Мне кажется, или это вообще какая-то левая дорога?
— На столицу вроде. Мы наверно повернем, и дальше поедем по той же дороге. — отметил отец.
По той же? Удачи, товарищи. Другая. “Другая”…
Через пару километров по этой дороге, навигатор очнулся вновь:
— Turn around where first possible
— Эм… нет, пап, похоже не через город… О, поворот.
— After 2 kilometers, keep RIGHT, enter autostrade
— Мы возвращаемся назад на ту дорогу, мимо которой промазали? Неожиданно, пожалуй.
Вечер
— Час в пути уже. Логично что по автостраде. Так быстрее доедем, наверняка, чем если бы по обычной дороге ехали.— Едь, едь, не отвлекайся. — не забывает комментировать отец.
Еще через полчаса, проехав уже второй указатель на нужную нам дорогу, и уходя плавно и неизбежно в противоположную сторону, мы стали подозревать что здесь что-то нечисто. Навигатор со свойственной ему уверенностью говорил что будем на месте мы в 21:06, без отклонений. Временами он гадал, и допускал что возможно в 21:08, но точно не позже.
Автострада вскоре закончилась. Теперь дорога была сельской, узкой, мимо полей, каменных и железных ограждений и ущелий.
Хорошие вечерние виды. Приятно ехать. Только долго. В дороге навигатор по заверениям навигатора нам еще час.
— Кажется мы сейчас выедем на ту дорогу, по которой ехали в столицу — заметила мама.
— Ну вот. Я же говорил.
— On the roundabout take THIRD exit
— Вот, этот съезд.
— Какой? Это же первый!
— Exit HERE
— Вот, это третий.
— Илья, эта дорога же в другую сторону ведет.
— Как в другую? Все нормально вроде, навигатор говорит правильно мы едем…
*Click* *Click*
“Кажется мы действительно уходим в другую сторону. Маршрут почти подходит к нужной дороге, а затем уходит резко в сторону… Странно выглядит.”
— Знаешь что, кажется до меня дошло…
Другие
Итак. Все же алгоритмы.Так чем же должен быть “другой” маршрут? Настало время ответить на этот вопрос. Оказывается, мой ответ был неверен… И потратив полтора часа на сжигание нефтяных высокооктановых горючих материалов на острове, я все же это осознал.
— Знаешь что, кажется до меня дошло… “Другой” маршрут… Он совсем другой. Понимаешь? Ни одной дороги, ни одного ребра из предыдущего маршрута. Все другое.
— Лошара… Полтора часа…
— Ну, попрактиковался с ручной коробкой зато…
Задача решалась со стороны разработчиков tomtom чрезвычайно просто. Найдем маршрут 1. Если пользователь захотел “другой” маршрут, значит он не шутит. Уберем все ребра, выбранные для маршрута 1 из графа карты и построим новый маршрут 2. Да, он совсем другой. А вы что подумали?
Вот так оно выходит. “Другой” значит другой.
Еще час мы ехали теперь в полном недоверии навигатору. А вдруг еще пару ребер отсутсвует? И мы потратим еще лишшнее время? Никто не хочет в 21:06 приеха1ть. Итак уже 2 часа знает сколько в дороге.
Заключение
Естетвенно, городских дорог это тоже касалось. Мы заехали с противоположной стороны, и долго пытались понять как попасть к нашему отелю, потратив еще минут 15. Но до точки, которую выбрал навигатор как “центр города” мы добрались в 21:07. Всего на минуту ошибся, чертенок.Осталось только забежать на ужин, смеясь, до конца которого осталось 5 минут…
Комментариев нет:
Отправить комментарий