Структурированное, факторизованное и атомарное представление? - PullRequest
8 голосов
/ 22 декабря 2011

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

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

Спасибо

Ответы [ 2 ]

10 голосов
/ 22 декабря 2011

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

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

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

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

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

2 голосов
/ 19 июня 2017

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

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

Примеры:

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

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

11grade@schoolA{John(Math=A-), Marry(Music=A+), Job1(doMath)..} == goal{50% ready for jobs}

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

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

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