Архитектура недоимки

Subsumption architecture — это реактивная роботизированная архитектура, сильно связанная с робототехникой на основе поведения, которая была очень популярна в 1980-х и 90-х годах. Этот термин был введен Родни Брукс и его коллегами в 1986 году. Субсидирование оказало большое влияние на автономную робототехнику и в других местах в режиме реального времени.

обзор
Архитектура Subsumption — это архитектура управления, которая была предложена в противовес традиционному ИИ или GOFAI. Вместо того, чтобы вести поведение посредством символических ментальных представлений о мире, архитектура подчинения сочетает сенсорную информацию с выбором действий в интимном и восходящем порядке.

Он делает это, разлагая полное поведение на под-поведение. Эти под-поведения организованы в иерархию слоев. Каждый уровень реализует определенный уровень поведенческой компетентности, а более высокие уровни могут подразделяться на более низкие уровни (= интегрировать / объединить более низкие уровни в более комплексное целое), чтобы создать жизнеспособное поведение. Например, самый низкий уровень робота может быть «избегать объекта». Второй слой будет «блуждать», который проходит под третьим слоем «исследовать мир». Поскольку робот должен обладать способностью «избегать объектов», чтобы эффективно «блуждать», архитектура subsmption создает систему, в которой более высокие уровни используют компетенции более низкого уровня. Уровни, которые все принимают информацию датчика, работать параллельно и генерировать выходные данные. Эти выходы могут быть командами для исполнительных механизмов или сигналов, которые подавляют или блокируют другие слои.

свойства

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

ситуация
Агенты являются частью их реальной среды, с которой они взаимодействуют. Это влияет на поведение агента.

интеллект
Интеллект агента преимущественно формируется столкновением агента с реальной средой, его реакциями и стимулами.

Появление
интеллект системы в целом возникает по-новому, то есть взаимодействие отдельных ее частей.

Отсутствие явного представления знаний
Архитектура Subsoup не имеет явной модели мира. Это означает, что робот не имеет упрощенного обзора окружающего мира. Преимущества очевидны. Агенты не делают прогнозы о мире, поэтому они могут работать очень хорошо в непредсказуемой среде. Экономия времени на чтение и запись. Это также экономит время алгоритма, используемого этой моделью. Будут также проблемы с мировой моделью, которая не должна соответствовать реальному миру. Но это также имеет свои недостатки. Система тогда является чисто реактивной. Это означает, что он реагирует только на то, что происходит в мире. Другими словами, мир определяет, что он хочет делать.

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

Расслоение
Подповерхностная архитектура состоит из слоев, где каждый реализует определенное поведение и состоит из одного или нескольких конечных автоматов. Архитектура подсистемы считается модульной, поскольку каждый конечный автомат выполняет независимую задачу. Каждая конечная машина имеет ряд входных и выходных линий. Конечные машины — это процессоры, которые отправляют сообщения друг другу и могут хранить структуры данных. Процессоры работают асинхронно и одинаково взаимно эквивалентны. Они контролируют свои входы и отправляют отчеты на выходы. Последняя машина всегда учитывает последнее полученное сообщение. По этой причине сообщение может быть потеряно, если новое сообщение поступит до того, как предыдущий был обработан. Внутри уровня нет контроля, и между процессорами нет другой формы связи, а именно, нет общей памяти. Каждый модуль заботится только о своей задаче. Более высокие уровни имеют доступ к датчикам и влияют на поведение нижних слоев путем ограничения входов или путем подавления выходов некоторых конечных автоматов на более низких уровнях.
Это механизм, с помощью которого более высокие слои включают роль нижних слоев.

навигация
Самая важная способность агента, основанная на архитектуре subsumption, — перемещаться по миру и избегать перемещения и перемещения объектов. Навигация является одной из основных задач, которые должны выполнять агенты, и эта задача чрезвычайно реактивна (по сравнению с другими когнитивными агентами). Навигация в основном выполняется в нескольких слоях. Самый низкий модуль избегает объектов (даже для тех, кто внезапно появляется), а более высокий уровень ведет агента в определенном направлении и игнорирует препятствия. Эта комбинация обеспечивает простой способ получить от A до B без четкого планирования маршрута.

Другой
Агенты работают в режиме реального времени и в первую очередь предназначены для перемещения в реальном, динамичном и сложном мире.

Причины возникновения
Одной из причин создания вспомогательной архитектуры было то, что авторы хотели иметь дело со следующими требованиями и потребностями в создании автономных мобильных роботов.

Многие цели
У робота может быть больше целей, которые противоречат друг другу, и их необходимо каким-то образом решить. Например, робот может попытаться достичь определенной точки перед собой, и в то же время ему необходимо избегать препятствий, которые находятся на пути. Ему также необходимо добраться до места в кратчайшие сроки и в то же время сохранить свои энергетические ресурсы. Поэтому ясно, что важность и приоритетность целей относительно и зависят от контекста. Конечно, более важно снимать дорожки, когда поезд идет, прежде чем проверять шпалы в то время.

Больше датчиков
У робота могут быть несколько датчиков (камеры, инфракрасные датчики, акустические датчики и т. Д.). Все датчики могут потенциально ошибиться. Кроме того, часто нет прямой аналитической зависимости между значениями датчиков и требуемыми физическими величинами. Некоторые датчики могут перекрываться в тех областях, которые они измеряют. Непосредственные показания часто могут возникать — иногда из-за сбоя датчика и иногда из-за условий измерения — если датчик используется вне его объема. Часто точные аналитические характеристики области недоступны. Робот должен быть в состоянии принять решение в вышеуказанных условиях.

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

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

Цель
Архитектура Subsumption атакует проблему интеллекта с существенно иной точки зрения, чем традиционный ИИ. Разочарованный работой Shakey робота и аналогичных проектов, вдохновленных сознанием, Родни Брукс начал создавать роботы, основанные на другом понятии интеллекта, напоминающем процессы бессознательного разума. Вместо того, чтобы моделировать аспекты человеческого интеллекта посредством манипулирования символами, этот подход направлен на взаимодействие в реальном времени и жизнеспособные ответы на динамическую лабораторную или офисную среду.

Цель была проинформирована четырьмя ключевыми идеями:

Ситуация. Основная идея размещения ИИ заключается в том, что робот должен реагировать на окружающую среду в человекоподобный период времени. Брукс утверждает, что расположенный мобильный робот не должен представлять мир через внутренний набор символов, а затем действовать на эту модель. Вместо этого он утверждает, что «мир — это собственная лучшая модель», а это означает, что правильные установки восприятия в действии могут использоваться для непосредственного взаимодействия с миром, а не для его моделирования. Тем не менее, каждый модуль / поведение по-прежнему моделирует мир, но на очень низком уровне, близко к сенсомоторным сигналам. Эти простые модели обязательно используют жестко сформулированные предположения о мире, закодированном в самих алгоритмах, но избегайте использования памяти для прогнозирования поведения в мире, вместо этого полагаясь на прямую сенсорную обратную связь как можно больше.

Воплощение — Брукс утверждает, что построение воплощенного агента выполняет две вещи. Во-первых, это заставляет дизайнера тестировать и создавать интегрированную физическую систему управления, а не теоретические модели или моделируемые роботы, которые могут не работать в физическом мире. Во-вторых, он может решить проблему заземления символа, философскую проблему, с которой сталкиваются многие традиционные ИИ, путем непосредственного связывания смысловых данных с значимыми действиями. «Мировой регресс», а внутреннее отношение поведенческих слоев напрямую связано с миром, который воспринимает робот.

Интеллект. Взглянув на эволюционный прогресс, Брукс утверждает, что развитие навыков восприятия и мобильности является необходимой основой для человекоподобного интеллекта. Кроме того, отклоняя представления сверху вниз как жизнеспособную отправную точку для ИИ, кажется, что «интеллект определяется динамикой взаимодействия с миром».

Появление. Обычно отдельные модули сами по себе не считаются интеллектуальными. Это взаимодействие таких модулей, оцениваемых путем наблюдения за агентом и его средой, которое обычно считается интеллектуальным (или нет). «Разум», следовательно, «находится в глазу наблюдателя».

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

Слои и расширенные конечные машины
Каждый слой состоит из набора процессоров, которые дополняют конечные машины (AFSM), добавление дополняемых переменных экземпляра для хранения программируемых структур данных. Слой — это модуль и отвечает за единую поведенческую цель, например «блуждать». Внутри или между этими поведенческими модулями нет центрального контроля. Все AFSMs непрерывно и асинхронно принимают входные сигналы от соответствующих датчиков и посылают выходные данные на исполнительные механизмы (или другие AFSM). Входные сигналы, которые не считываются к тому времени, когда новый доставлен, в конечном итоге отбрасываются. Эти отброшенные сигналы являются общими и полезны для производительности, поскольку они позволяют системе работать в режиме реального времени, имея дело с самой непосредственной информацией.

Поскольку центральное управление отсутствует, AFSMs связывают друг с другом посредством сигналов подавления и подавления. Сигналы ингибирования блокируют сигналы от достижимых исполнительных механизмов или AFSM, а сигналы подавления блокируют или заменяют входы на слои или их AFSM. Эта система связи AFSM заключается в том, как более высокие уровни охватывают более низкие (см. Рис. 1), а также то, как архитектура имеет дело с приоритетом и арбитражем выбора действий в целом.

Развитие слоев следует интуитивной прогрессии. Сначала создается, тестируется и отлаживается самый низкий уровень. Как только этот самый низкий уровень работает, один создает и прикрепляет второй слой с соответствующими соединениями подавления и торможения с первым слоем. После тестирования и отладки комбинированного поведения этот процесс можно повторить для (теоретически) любого числа поведенческих модулей.

Характеристики
Признавая вышесказанное, авторы решили следовать процедуре, лежащей в основе архитектуры подчинения. Они рассматривали проблему создания робота вертикально на основе желаемых внешних проявлений системы управления, а не внутренней работы робота. Затем они определили так называемые уровни компетентности. Уровень компетенции — это спецификация требуемого уровня поведения робота в отношении всех сред, в которых он движется. Более высокий уровень компетентности означает более конкретный уровень поведения. Основная идея уровней компетенций заключается в том, что можно создать слои системы управления, соответствующие данному уровню компетенции, и просто добавить новый слой в существующий набор.

Р. Брукс и его команда определили следующие уровни компетентности в 1986 году:

Избегайте контакта с объектами (независимо от того, движутся они или неподвижны)
1. Бесцельно просыпаться, не сталкиваясь с объектами
2. «Исследуйте» мир, ища места в пределах досягаемости
3. Создайте карту окружающей среды и спланируйте свое путешествие из одного места в другое
4. Запись изменений в статических средах
5. Рассматривайте мир с точки зрения идентифицируемых объектов и выполняйте задачи, связанные с этими объектами
6. формулировать и осуществлять планы, требующие изменения в состоянии мира желательным образом
7. Рассмотрим поведение объектов в мире и соответственно измените

Авторы сначала построили полную систему управления роботами, которая обеспечивает нулевые уровни компетенции и тщательно изучает. Другой слой назвал первый уровень системы управления. Он способен обрабатывать данные с нулевого уровня системы, а также позволяет вставлять данные в внутренние интерфейсы нулевого уровня, что ограничивает нормальный битрейт. Принцип заключается в том, что нулевой уровень продолжает работать и ничего не знает о слое поверх него, иногда мешая путям данных. Этот уровень способен достичь компетенций первого уровня с помощью нулевого уровня. Тот же процесс повторяется для достижения более высокого уровня компетентности. Посмотрите на рисунок 3. На момент создания первого слоя функционирующая часть системы управления уже доступна. Дополнительные слои могут быть добавлены позже, и система не может быть изменена.

Многие цели
Отдельные слои могут одновременно работать с отдельными целями. Механизм подавления затем опосредует действия, которые принимаются во внимание. Преимущество заключается в том, что не может быть предварительного решения о том, какую цель принять.
Несколько датчиков
Все датчики не могут быть частью центрального представления. В центральное представление может быть добавлено только показание датчика, которое идентифицируется как чрезвычайно надежное. В то же время, однако, значения датчика могут использоваться роботом. Другие слои могут обрабатывать и использовать результаты для достижения своих целей независимо от того, как разнятся разные слои.
прочность
Наличие нескольких датчиков, очевидно, повышает надежность системы, когда их результаты могут быть разумно использованы. Существует еще один источник надежности в архитектуре subsumption. Более низкие уровни, которые были хорошо проверены, продолжают работать, даже если добавлены более высокие уровни. Поскольку более высокий уровень может только подавлять выходы нижнего уровня, активно вмешиваясь в альтернативные данные, а в тех случаях, когда он не может дать результаты соответствующим образом, более низкие уровни будут по-прежнему давать результаты, которые являются разумными даже на более низком уровне компетенции.
растяжимость
Очевидный способ справиться с масштабируемостью — позволить каждому новому слою работать на своем собственном процессоре.

Роботы
Ниже приведен небольшой список роботов, которые используют архитектуру subsumption.

Аллен (робот)
Герберт, сода может собирать робот
Чингис, крепкий гексаподальный ходок
Вышеописанные подробно описаны вместе с другими роботами в слонах «Не играть в шахматы».

Сильные и слабые стороны
Основными преимуществами архитектуры являются:

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

Основными недостатками архитектуры являются:

сложность разработки адаптивного выбора действия через высокораспределенную систему торможения и подавления: 139-140 и
отсутствие большой памяти и символическое представление, которое, по-видимому, ограничивает архитектуру от понимания языка;

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

расширение
В 1989 году Брукс разработал архитектуру подчинения, главным образом в области ограничения ввода и подавления выходов конечными автоматами. В 1991 году Брукс приступил к внедрению гормональной системы. Отдельные слои должны быть подавлены или ограничены наличием или отсутствием гормона. В 1992 году Mataric придумал идею архитектуры, основанной на поведении. Эта архитектура должна учитывать отсутствие явного представления мира без потери устойчивости и реактивности.