2011-12-21 2 views
5

Я сейчас читаю «Искусственный интеллект: современный подход». Хотя терминология факторизована, структурированное и атомное представление запутывает то, что это значит точно?Структурированное, факторизованное и атомное представление?

В связи с программированием ...

Благодаря

ответ

7

Я не в восторге от линий, что Рассел и Норвиг рисовать, но: Как правило, когда вы используете методы искусственного интеллекта, чтобы решить проблему, у вас будет запрограммированная модель ситуации. Атомная/факторизованная/структурированная - это качественная мера того, насколько «внутренняя структура» этих моделей имеет, по крайней мере, самое большее.

Атомные модели не имеют внутренней структуры; государство либо делает, либо не соответствует тому, что вы ищете. Например, в головоломке с чередованием вы либо имеете правильное выравнивание плиток, либо нет.

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

Структурированные модели имеют еще больше; опять же, именно то, что зависит от проблемы, но они часто являются отношениями либо компонентов модели к себе, либо компонентами модели к компонентам среды.

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

+0

Они пишут загадочным способом. Таким образом, атомная модель представляет собой структуру среды, в которой отсутствует уровень детализации, который может потребоваться агенту. то есть вождение от одного города к другому, такие как автомобильный манометр и акселерометр, не различимы при определении определения проблемы из-за неопределенности, правильно? Таким образом, фактор-представление делает эти данные доступными для агента. Затем структурированная модель определяет отношения между действиями и состояниями в среде? – Hmm

+1

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

1

Мне нравится объяснение, данное Novak. Мои 2 цента - сделать ясность разницы между factored vs структурировано. Вот выдержка из определений:

  • Атомное представление представляет собой атомное представление, в котором каждое состояние рассматривается как черный ящик .
  • Факторизованное представление - это состояние, в котором находятся состояния , определенные набором функций.
  • Структурированное представление - это такое, в котором состояния выражаются в виде объектов и отношений между ними. Такие знания об отношениях называются фактами.

Примеры:

atomicState == goal: Y/N // Is goal reached? 

Это единственный вопрос, который мы можем попросить черный ящик.

factoredState{18} == goal{42}: N // Is goal reached? 
diff(goal{42}, factoredState{18}) = 24 // How much is difference? 
// some other questions. the more features => more type of questions 

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

[email protected]{John(Math=A-), Marry(Music=A+), Job1(doMath)..} == goal{50% ready for jobs} 

Ключ здесь - структурированное представление, позволяющее более высокий уровень формального логического рассуждения при поиске. См. First-Order Logic @berkley для вводной информации.

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