Jump to content

Система, основанная на правилах

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

В 1970-х годах в области искусственного интеллекта возникли два разных типа систем, основанных на правилах :

Различия и взаимоотношения между этими двумя видами систем, основанных на правилах, были основным источником недопонимания и путаницы.

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

Правила производственной системы

[ редактировать ]

Классическим примером производственной системы, основанной на правилах, является экспертная система, специфичная для предметной области , которая использует правила для выполнения выводов или выбора. [1] Например, экспертная система может помочь врачу поставить правильный диагноз на основе совокупности симптомов или выбрать тактические ходы для игры.

Системы, основанные на правилах, могут использоваться для выполнения лексического анализа для компиляции или интерпретации компьютерных программ или для обработки естественного языка . [2]

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

Строительство

[ редактировать ]

Типичная система, основанная на правилах, состоит из четырех основных компонентов: [3]

  • Сопоставление: на этом первом этапе стороны условий всех постановок сопоставляются с содержимым рабочей памяти. В результате набор ( конфликтный набор получается ), состоящий из экземпляров всех удовлетворенных продукций. Реализация производства — это упорядоченный список элементов рабочей памяти, который удовлетворяет условию производства.
  • Разрешение конфликтов : на втором этапе для выполнения выбирается один из экземпляров производства в наборе конфликтов. Если ни одна продукция не удовлетворена, интерпретатор останавливается.
  • Действие: На этом третьем этапе выполняются действия производства, выбранные на этапе разрешения конфликта. Эти действия могут изменить содержимое рабочей памяти. В конце этой фазы выполнение возвращается к первой фазе.

В то время как фаза сопоставления машины вывода имеет логическую интерпретацию, фазы разрешения конфликта и действий — нет. Вместо этого «их семантика обычно описывается как серия приложений различных операторов изменения состояния, которые часто становятся весьма сложными (в зависимости от выбора, сделанного при принятии решения о том, какие правила ECA срабатывают, когда и т. д.), и их вряд ли можно рассматриваться как декларативный». [5]

Правила логического программирования

[ редактировать ]

Семейство компьютерных систем логического программирования включает в себя язык программирования Prolog , язык баз данных Datalog и язык представления знаний и решения проблем программирования набора ответов (ASP). Во всех этих языках правила записаны в виде предложений :

A :- B1, ..., Bn.

и читаются как повествовательные предложения в логической форме:

A if B1 and ... and Bn.

В простейшем случае предложений Хорна (или «определенных» предложений), которые являются подмножеством логики первого порядка , все A, B 1 , ..., B n являются атомарными формулами .

Хотя логические программы предложений Хорна являются полными по Тьюрингу , [6] [7] для многих практических приложений полезно расширить программы предложений Хорна, допустив отрицательные условия, реализуемые отрицанием как отказ . Такие программы расширенной логики обладают возможностями представления знаний немонотонной логики .

Различия и взаимосвязи между продукционными правилами и правилами логического программирования.

[ редактировать ]

Наиболее очевидное различие между двумя типами систем состоит в том, что производственные правила обычно записываются в прямом направлении, если A, то B , а правила логического программирования обычно записываются в обратном направлении, B, если A. В случае правил логического программирования это различие поверхностное и чисто синтаксическое. На семантику правил это не влияет. используются ли правила для обратного рассуждения в стиле Пролога, чтобы свести цель B к подцелям A , или же они используются в стиле Datalog для получения B из A. Это также не влияет на то ,

В случае производственных правил прямое направление синтаксиса отражает характер стимула-реакции большинства производственных правил, при этом стимул предшествует реакции B. A Более того, даже в тех случаях, когда ответом является просто сделать вывод B из предположения A как в modus ponens , цикл сопоставления-решения-действия ограничивается рассуждениями вперед от A к B. , Обратные рассуждения в производственной системе потребовали бы использования совершенно другого типа машины вывода.

В своем «Введении в когнитивную науку» [8] Пол Тагард рассматривает логику и правила как альтернативные подходы к моделированию человеческого мышления. Он не рассматривает логические программы в целом, но считает Пролог не системой, основанной на правилах, а «языком программирования, который использует логические представления и дедуктивные методы» (стр. 40).

Он утверждает, что правила, имеющие форму ЕСЛИ условие, ТО действие , «очень похожи» на логические условные выражения, но они проще и имеют большую психологическую правдоподобность (стр. 51). Среди других различий между логикой и правилами он утверждает, что логика использует дедукцию, а правила используют поиск (стр. 45) и могут использоваться для рассуждений как вперед, так и назад (стр. 47). Предложения в логике «должны интерпретироваться как универсально истинные », но правила могут быть значениями по умолчанию , допускающими исключения (стр. 44). Он не замечает, что все эти особенности правил применимы к системам логического программирования.

См. также

[ редактировать ]
  1. ^ Крина Гросан; Аджит Авраам (29 июля 2011 г.). Интеллектуальные системы: современный подход . Springer Science & Business Media. стр. 149–. ISBN  978-3-642-21004-4 .
  2. ^ Син-Вай Чан (13 ноября 2014 г.). Энциклопедия технологий перевода Routledge . Рутледж. стр. 454–. ISBN  978-1-317-60815-8 .
  3. ^ «Что такое система, основанная на правилах?» . j-paine.org .
  4. ^ Кабица Ф. и Даль Сено Б. (2005). «Промежуточное программное обеспечение DJess-A для обмена знаниями для развертывания распределенных систем вывода». Международный журнал компьютерной и информационной инженерии . 2 : 66–69. дои : 10.1109/PERSER.2005.1506416 . S2CID   27323155 . {{cite journal}}: CS1 maint: несколько имен: список авторов ( ссылка )
  5. ^ Майер Д., Текле К.Т., Кифер М. и Уоррен Д.С., 2018. Журнал данных: концепции, история и перспективы. В декларативном логическом программировании: теория, системы и приложения (стр. 3–100).
  6. ^ Тэрнлунд, С.О. (1977). «Вычислимость предложения Хорна». БИТ Численная математика . 17 (2): 215–226. дои : 10.1007/BF01932293 . S2CID   32577496 .
  7. ^ Андрека, Х.; Немети, И. (1978). «Обобщенная полнота предикатной логики Хорна как языка программирования» . Акта Кибернетика . 4 (1): 3–10.
  8. ^ Тагард, Пол (2005). Разум: введение в когнитивную науку . Массачусетский технологический институт Пресс. п. 11. ISBN  9780262701099 . https://www.google.co.uk/books/edition/Mind_second_edition/gjcR1U2HT7kC?hl=en&gbpv=1&pg=PP11&printsec=frontcover
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 07838223a9c6016638f19f3c2ede2c3d__1709076960
URL1:https://arc.ask3.ru/arc/aa/07/3d/07838223a9c6016638f19f3c2ede2c3d.html
Заголовок, (Title) документа по адресу, URL1:
Rule-based system - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)