Искусственный интеллект - агент разведки, который чистит и красит

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

Я пытаюсь изучить эту проблему, так как это было очень интересно, когда я увидел ее в колледже, однако я не могу ничего найти в Википедии или где-либо в Интернете. Знаете ли вы конкретное название этой проблемы? Или, может быть, это было просто что-то, что мой учитель придумал для класса.

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

Если вы знаете, где я могу найти больше информации об этой проблеме, я был бы признателен. Спасибо.


person user69514    schedule 25.09.2010    source источник
comment
Я думаю, это называется Roomba ;)   -  person Dagg Nabbit    schedule 25.09.2010


Ответы (3)


Возможно, подход «стигмергия» тесно связан с вашей проблемой. Отправной точкой является здесь, и вы можете найти что-нибудь, выполнив поиск по запросу "dead муравьи" и "роботы" на ученый Google.

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

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

  • конечное количество «чистых» тайлов
  • количество шагов, сделанных роботом

конечно, если робот "умирает" от голода, он автоматически удаляет себя из генофонда, а-ля дарвиновская премия :)

Вы можете начать с моделирования очень простого генотипа, который будет «вычислен» в поведение. Рассмотрите возможность использования простого GA, такого как этого от Inman. Харви, затем каждому гену приписать либо часть стратегии, либо полное поведение. Например: если ген А повернут в 1, то робот будет пытаться блуждать случайным образом; если ген B также повернут в 1, то он будет отдавать приоритет самозарядке, если только на расстоянии X нет грязных тайлов. Или использовать поплавки и вероятность модели. Ваш пробег может отличаться, но я могу заверить, что это будет весело :)

person lorenzog    schedule 25.09.2010

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

Если «проблемное пространство» (или комната) достаточно маленькое, вы можете найти оптимальное решение, используя простой поиск на основе A*, но, скорее всего, этого не произойдет, поскольку это не оставит очень интересных задач.

Предлагаемый здесь подход к машинному обучению с использованием генетических алгоритмов представляет собой интересный подход. Учитывая проблемную область, у вас будет только одно «правило» (действие move-to, поскольку clean можно исключить, неявно очищая любую грязную клетку, на которую вы перемещаетесь), поэтому ваш ученик, по сути, будет учиться перемещаться по окружающей среде. Проблема заключалась бы в том, чтобы создать ученика, который мог бы адаптироваться к любому заданному плану этажа, вместо того, чтобы просто научиться убирать очень конкретное пространство.

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

Можете ли вы использовать методы для создания данных для использования в автономном режиме? В этом случае я бы даже подумал о создании «базы данных» оптимальных маршрутов для уборки определенных площадей (от 1x1 до, скажем, 5x5), которая включает все возможные начальные и конечные квадраты. Это похоже на «базы данных эндшпиля», которые игровые ИИ используют для эффективного «решения» игр, когда они достигают определенной глубины (см. ="nofollow">Чинук).

person Shaggy Frog    schedule 25.09.2010

Эта проблема напоминает мне это. Похожая проблема кратко упоминается в книге Complexity. как пример генетического алгоритма. Правда, эти версии упрощены, они не учитывают расход топлива.

person GWW    schedule 25.09.2010