Трассировка по линии переходов, с произвольной точкой входа. Пример применения на двумерной структуре
Сразу стоит отметить, что аналогичная структура с списком не даёт возможности входа в произвольную позицию структуры. Написано, что вход с произвольной точки , что имеется ввиду - что вход может быть выполнен не от начала, а с любой точки и на любой отрезок - именно это позволяют пустые ячейки. Ячейки с числом шагов, или индексом сделаны для того, чтобы не перебирать пустое пространство - для быстродействия. На тот момент когда я создавал запись в блоге, всё что мне было известно - из книг, что существует волновой алгоритм, что используется в области AI работает так-то так-то. Ну и суть его была описана как алгоритм распространения волны. Про этап восстановления пути мне известно не было, а может и было, но не найдя ничего общего я решил игнорировать эту часть. В моём коде том, где я его сделал - тот мой обратный волновой, он выполнял функцию идентификации известного. Исследование объектов в программе выполнялось не волновым алгоритмом, но это не столь важно. По сути у меня некий алгоритм трассировки, но одномерной, по нескольким рядам одновременно, что мне и напомнило весы нейросетей. Но это не важно. У меня трассировка отличается от волнового алгоритма. Ранее мной была предпринята попытка использовать мой алгоритм к графике на примере символа, но неудачно. Теперь когда я начал разработку графического движка моя трассировка мной была успешна применена на карте, в комплексе из двух массивов. На изображениях два варианта реализации, но есть ещё третий - без пустых ячеек в массивах (пустые просто пропускать, а в непустых записаны или координаты карты или шаги до следующей точки). На изображениях один массив с синими ячейками, а второй - с зелёными. Так я решил сделать для того, чтобы программа могла быстро обозревать всю карту "сразу", точнее не всю, а необходимые конкретно выделенные на ней участки участки. То-есть попадая в конкретный пункт программа получает точную инструкцию как попасть в следующий пункт без дополнительных операций, что становится возможным благодаря ..... единому формату её действий и обрабатываемых ею данных, необходимых для осуществления этого действия. Или иначе говоря, программа осуществляет поток обрабатываемых данных черпая параметр его обработки из него-же. Я не знаю как описать суть, но короче общий принцип я описал. Выбора у программы нет, параметр обработки потока данных она черпает из него-же. Единственное исключение - если исключить все пустые клетки, тогда это становится просто чтением структурированных данных. В предыдущих двух вариантах данные так-же структурированы, но без пропуска пустот. Я не знаю как это назвать, но это применимо. Сказать что это просто трассировка - ничего не сказать, потому что это конкретная структура с конкретным механизмом её обработки...я спрашивал ещё сколько там лет назад, как это называется, мне эксперты сказали - как хочешь так и называй, мы не знаем что это такое, но это точно не нейросети... Я-бы назвал это наверное...после интеграции в карту... Во-"Трассировка по линии переходов, прыжков, с произвольной точкой входа. Пример применения на двумерной структуре.", додумался. Не техническое название, то что от меня - трассировка "Сталкер" (преследование крадучись). . |
Всего комментариев 4
Комментарии
-
Запись от Hretgir размещена 20.02.2021 в 12:20 -
Ну я поправился - последовательно связанные.
Третий вариант...ну по сути перечисление, и отношение к мало имеет к трассировке. Хотя...то как оно связанно в двух массивах - я не встречал, поэтому третий вариант - та же трассировка...
Массив икс игрик - то самое, но там нет меток на следующий шаг, и даже на корды я не встречал указатели, обычно задаётся обычный двумерный массив, так во всех учебниках.Запись от Hretgir размещена 21.02.2021 в 16:59
Обновил(-а) Hretgir 21.02.2021 в 17:47 -
Запись от Hretgir размещена 21.02.2021 в 17:54
Обновил(-а) Hretgir 21.02.2021 в 17:57 -
Трассировку можно усложнять:
наделать сопроводительных осевых нессиметричных массивов, и трассировка может стать многопроходной, практически бесконечной.
Это я расписывать не буду, достаточно того, что был выложен самый простой пример.
На базе любого элементарного блока строятся более сложные, и углубляться тут смысла нет, так-же как нет смысла изучать кирпич (с учётом того, что он искусственный, а не природный).Запись от Hretgir размещена 24.02.2021 в 07:02
Обновил(-а) Hretgir 24.02.2021 в 07:04