Cтраница 2
Отметим, что даже в системе PLANNER явные эффекты действия представляются в форме утверждений. Кроме того, как нам кажется, если эффекты действий полностью утеряны в процедурном представлении, очень трудно использовать стратегию анализа целей и средств или стратегию обратного прослеживания. [16]
После этого рассматриваются включенное в состав многих современных Лисп-систем объектно-ориентированное программирование и как пример такой системы объектно-ориентированная система Flavor, являющаяся расширением Коммон Лиспа. Явными аналогами объектно-ориентированной организации данных и методов программирования являются используемые в представлении знаний фреймовые структуры и механизмы наследования в семантических сетях, процедурное представление ( демоны) и так далее. Объектно-ориентированная модель может с успехом использоваться и в системном программировании, и в моделировании. [17]
Описание осуществляется на основе формульных постановок задач. Соотношения между элементами формул описываются в терминах арифметических, групповых и других операций, позволяющих зафиксировать статические связи между отдельными элементами без процедурного представления процессов обработ-331 информации. Описание соотношений производится без ориентации на машинную технологию обработки данных. Элементами описания являются показатели, состоящие из основы, идентифицирующей смысл вычисляемого показателя, и одного или нескольких признаков, специфицирующих иерархические уровни, в разрезе которых предусматривается обработка показатели. [18]
Различные авторы по-разному классифицируют продукционные системы с точки зрения дихотомии декларативность / процедурность. По нашему мнению, даже в самом простом продукционном правиле ( т.е. правиле, не содержащем присоединенных процедур) есть элемент процедурности, так как предполагается, что правило будет использовано для выполнения некоторого действия. Именно это и отличает процедурное представление от декларативного, поскольку декларативные знания не несут никакой информации о том, как они будут использованы. [19]
На декларативном этапе составляющие навыка представляются как декларативные факты, которые обрабатываются общими продукциями. На этом этапе действие выполняется шаг за шагом. На этапе компиляции знаний декларативное пошаговое описание заменяется на более специализированное процедурное представление. На этом этапе факты, относящиеся к навыку ( пошаговые инструкции), по существу трансформируются в процедуры. Затем, на стадии настройки, по мере того, как навык воспроизводится все более надежно, соответствующее декларативное представление может полностью исчезнуть. [20]
Важно иметь в виду, что в принципе любой способ кодирования информации в схему данных или процедур так же хорош, как и все остальные, в том смысле, что все то, что можно сделать, работая с одной схемой, можно сделать и с другой - если вас не слишком волнует эффективность. Взгляните, например, на следующий аргумент в пользу исключительно процедурного представления: Когда вы пытаетесь закодировать достаточно сложную информацию в виде данных, вам приходится развивать для этого нечто вроде нового языка или формализма. Таким образом, на самом деле, структура ваших данных начинает напоминать программу, части которой работают как интерпретатор. [21]
При отсутствии в мире других вызывающих изменения агентов никаких изменений вообще не происходит до тех пор, пока их не вызовет сам робот. Робот располагает набором действий, которые он может выполнить, и для любой исходной ситуации он может предсказать эффекты каждого из них. Физика такого мира простым образом описывается с помощью утвердительного или процедурного представления действий робота. При наличии же других агентов набор физических законов становится значительно более сложным. Другие агенты вызывают изменения в среде, и мы предполагаем, что можем предсказать их. Нам требуется система представления ( снова процедурная или утвердительная), позволяющая описать условия, при которых эти изменения происходят, и эффекты, которые они вызывают в среде. [22]
Форма операторов STRIPS в виде утверждений позволяет нам запоминать план в удобном формате треугольных таблиц. Эти таблицы показывают структуру плана в таком представлении, что при решении сходных задач легко выделять части плана. Трудно сказать, можно ли найти столь же удобное представление плана и при процедурном представлении операторов. Можно было бы предложить использовать операторы, представленные в форме утверждений, как грубую модель для операторов, определенных более точно посредством процедур. Тогда планирование на высшем уровне могло бы выполняться так, как это делается сейчас в системе STRIPS, а найденные планы затем могли бы проверяться с использованием более точного процедурного представления. [23]
Суть проблемы [ Рафаэль, 1971; Попов и Фнрдмаи, 1976 ] состоит в том, как система может эффективно ( без полного перебора) определить, какие факты должны измениться в результате некоторого действия, а какие нет. Необходимо отметить, что проблема границ не является следствием какого-либо конкретного способа представления знания. Эта проблемы носит принципиальный характер, отражая взаимосвязи п взаимообусловленности в моделируемом мире. Имеет место ошибочное мнение, что проблема границ существует только в декларативном представлении и не свойственна процедурному представлению. Действительно, в процедурном представлении эта проблема длк юго, что явно указано в процедуре, решается просто. Однако в связи с боковыми эффектами невозможно в процедуре задать явно все ее последствия. Для действий же, явно не указанны к; в процедуре, проблема границ остается. [24]
Заметим, что механизм фокусирования внимания на классе объектов и ( или) правил может рассматриваться как механизм планирования. Действительно, план можно представить либо декларативно, либо процедурно. При декларативном представлении план задается последовательностью состояний: начальное ( начальные) состояние, промежуточные состояния от 1 до k, конечное состояние. В G2 промежуточные состояния могут быть заданы декларативно последовательностью focus, фокусирующейся на соответствующих классах объектов. При процедурном представлении план задается последовательностью исполняемых утверждений ( процедур, правил, действий), переводящих начальное состояние в конечное. В G2 последовательность исполняемых утверждений может быть задана последовательностью действий invoke и scan над соответствующими классами правил. [25]
Суть проблемы [ Рафаэль, 1971; Попов и Фнрдмаи, 1976 ] состоит в том, как система может эффективно ( без полного перебора) определить, какие факты должны измениться в результате некоторого действия, а какие нет. Необходимо отметить, что проблема границ не является следствием какого-либо конкретного способа представления знания. Эта проблемы носит принципиальный характер, отражая взаимосвязи п взаимообусловленности в моделируемом мире. Имеет место ошибочное мнение, что проблема границ существует только в декларативном представлении и не свойственна процедурному представлению. Действительно, в процедурном представлении эта проблема длк юго, что явно указано в процедуре, решается просто. Однако в связи с боковыми эффектами невозможно в процедуре задать явно все ее последствия. Для действий же, явно не указанны к; в процедуре, проблема границ остается. [26]
Основным недостатком данного подхода является его более низкая эффективность по сравнению с методами традиционного программирования. Различные авторы по-разному классифицируют продукционные системы. Одни относят их к декларативному представлению, другие - к процедурному или декларативно-процедурному. По нашему мнению, даже в самом простом продукционном правиле ( т.е. правиле, не содержащем присоединенных процедур) есть элемелт процедурности, так как предполагается, что правило будет использовано для выполнения некоторого действия. Именно это и отличает процедурное представление от декларативного, поскольку декларативные знания не несут никакой информации о том, как они будут использованы. [27]
Форма операторов STRIPS в виде утверждений позволяет нам запоминать план в удобном формате треугольных таблиц. Эти таблицы показывают структуру плана в таком представлении, что при решении сходных задач легко выделять части плана. Трудно сказать, можно ли найти столь же удобное представление плана и при процедурном представлении операторов. Можно было бы предложить использовать операторы, представленные в форме утверждений, как грубую модель для операторов, определенных более точно посредством процедур. Тогда планирование на высшем уровне могло бы выполняться так, как это делается сейчас в системе STRIPS, а найденные планы затем могли бы проверяться с использованием более точного процедурного представления. [28]
Индивидуальные знания естественным образом задаются в словаре в декларативной форме. Действительно, вто позволяло бы, не меняя алгоритм ( программу) разбора, заменять правила грамматики, подбирая наиболее приемлемые. Хомского), для которых не существует указанного выше универсального алгоритма [ Хомскии, 1966, с. Кроме того, даже если бы универсальный алгоритм мог быть построен, он ( в связи со сложностью грамматики ЕЯ) обладал бы существенной избыточностью по сравнению с алгоритмом разбора, ориентированным на конкретную грамматику. Высказанные соображения не отвергают возможности использования любого из вариантов представления, в том числе и смешанного. Следует отметить, что процедурное представление, по мнению автора, удобнее для восприятия читателями, так как оно одновременно вводит и правила грамматики и способ их применения, в отличие от декларативного представления, разделяющего грамматику и способ ее использования. Ниже при описании русского языка будет использовано в основном смешанное представление. [29]
Различные авторы по-разному классифицируют продукционные системы с точки зрения дихотомии декларативность / процедурность. По нашему мнению, даже в самом простом продукционном правиле ( т.е. правиле, не содержащем присоединенных процедур) есть элемент процедурности, так как предполагается, что правило будет использовано для выполнения некоторого действия. Именно это и отличает процедурное представление от декларативного, поскольку декларативные знания не несут никакой информации о том, как они будут использованы. Однако в продукционных правилах и даже в модулях, управляемых образцами, есть и элемент декларативности, так как способ использования правил и модулей в самих правилах и модулях не указывается. В общем можно считать, что так же, как и представления в виде фреймов и иерархических сетей, продукционные правила объединяют в себе свойства и декларативного и процедурного представления. Ниже будет показано на примере действующих систем, что продукционное правило может быть представлено в виде фрейма или сети. [30]