![]() |
![]() |
renesko1 |
![]()
Сообщение
#1
|
![]() поиск ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 346 Пол: Мужской Реальное имя: nir Репутация: ![]() ![]() ![]() |
Я решил поэксперементировать и реализовать некое сущестово, которое осущ. поиск еды на матрице.
В принципе все легко, но я решил сделать с минимум хода то есть без правил левой-правой ноги, обхода спиралью и тд. Я заполнил матрицу едой и сделал массив из 4 функций: право, лево, верх и вниз. По моему условию животное "слепое" те не видит, где еда. Пока я сделал след. :наугад берется команда если она выполнена успешно(не врезались в стену) и съедена еда, то команда выполняется еще раз(мне кажется что это логично и для простейшего существа). Если стена или нет еды выберается наугад команда, пока не найдем еду. Так же я пытался записываь команды которые привели к нахождению еды и если ннет еды то выполнять их. Сам вопрос, какой алгоритм поиска пищи у насекомых или какие нибудь идеи.? Я искал про муравьев, но увы не нашел, хотя искал не очень долго. У меня есть пару мыслей : к примеру помечать клетки, где мы оно было и если встретили их идти от них до стены... бррррр бред.Ведь насекомые вроде не дигаются спиралью от центра норки ? ps Самое главное, что оно слепое, и без обояния. ![]() -------------------- typedef void Śūnyatā ;
|
![]() ![]() |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Я бы сделал муравью всетаки область видимости/унюхиваемости например относительно муравья на n клеток вверх вниз влево и вправо (фактически квадрат n*n), а из этой области уже выбирал бы клетку с едой к которой нужно отправиться и съесть ее, можно выбирать например самую ближнюю или случайно выбранную или еще как-нибудь, в случае если в области видимости нету еды, то совершить рандомный шаг в любую соседню клетку.
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
![]() ![]() |
![]() |
Текстовая версия | 8.07.2025 8:06 |