<<
>>

Вычисление функции стоимости

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

В разделе 4 мы увидем, что мы фактически только нуждаемся в вычислении стоимости некоторой грани один раз, так что никакая двойная работа не будет выполняться по сравнению с превычислением всех стоимостей граней. Лучше еще если, очень большой процент стоимостей граней никогда не будет обычно вычисляться вообще. Если все атрибуты для вершины могут быть сохранены в приблизительно том же самом объеме памяти как стоимость грани, тогда много памяти может быть сохранено при помощи сохранения атрибутов вместо явных стоимостей грани. Это так поскольку число вершин только одна восьмая часть числа граней.

32 битное целое число без знака должно быть достаточно, чтобы сохранить любой путь и стоимость грани в формате с фиксированной запятой. Специальное значение, бесконечность, используется, чтобы представить ¥. Оно равно половине максимального значения типа данных так, чтобы ее можно было безопасно добавлять к любому значению стоимости без любого риска переполнения и так, чтобы мы могли фиксировать бесконечность снова. Это соответствует алгебраической операции ¥+x = ¥ "xÏ{±¥}

5.2.2.1

<< | >>
Источник: F. Markus Jonsson. Поиск оптимального пути для транспортных средств на оцифрованых картах реальной местности. 1998

Еще по теме Вычисление функции стоимости: