Я пытался провести некоторое исследование искусственного интеллекта, основанного на правилах, но не могу найти большого различия между производственной и экспертной системами. Они оба используют правила, чтобы диктовать свои решения, и они оба могут использовать прямую или обратную цепочку. Тем не менее, о них говорят так, как если бы они были отдельными сущностями.
Кроме того, я не могу найти ничего другого, что подходило бы под зонтик «системы, основанной на правилах»; что-нибудь еще?
Любое понимание этого очень ценится. Спасибо!
Производственная система — это тип языка программирования. Экспертные системы - это тип программы.
Производственные системы — это форма декларативного программирования, в которой вы указываете, что вы хотите сделать, но не указываете, как это делается. Декларативное программирование работает лучше всего, когда ваша программа может быть естественно выражена с использованием продуктов/правил (когда/тогда), и вам нужно иметь возможность часто добавлять или удалять продукты. Например, многие почтовые программы позволяют добавлять правила обработки писем по мере их поступления. Удобно использовать продукцию/правила для обработки электронных писем, поскольку то, что вы хотите сделать, может быть выражено естественным образом в виде продукции (когда тема содержит «нигерийский принц», затем переместите сообщение в почтовый ящик для нежелательной почты), но поскольку вы будете добавлять/удалять продукцию, это также удобно поддерживать их в этой форме и позволять автоматизировать процесс применения продукции для вас.
Как правило, экспертные системы относятся к программам, имитирующим специализированный человеческий опыт (например, диагностику заболеваний). Такой опыт часто может быть выражен с помощью правил и может постепенно добавляться или удаляться, поэтому эти типы или программы часто реализуются с использованием производственных систем, поскольку это удобно.
Таким образом, хотя производственные системы тесно связаны с экспертными системами, не все программы, написанные с использованием производственных систем, являются экспертными системами, и не все экспертные системы написаны с использованием производственных систем.
Языки производственной системы являются относительно высокоуровневыми в том смысле, что вам пришлось бы реализовывать множество функций для кодирования продукции на более традиционном языке программирования. Как правило, это не экспертная система, если нет эксперта в предметной области, предоставляющего знания для правил. Использование правил для обработки ваших писем — это не экспертная система. Использование правил для ценообразования бизнес-продуктов — это не экспертная система. Использование правил для уведомления об изменении цены акций не является экспертной системой.
Спасибо за ваш ответ. То есть, по сути, экспертные системы и системы, основанные на правилах, структурно идентичны, но базы знаний из экспертных систем строятся экспертами?
да. Думайте об экспертной системе как о передаче знаний от человека к компьютеру, а не от человека к другому человеку.
Большое спасибо за объяснение. Учитывая, что делкаративное программирование не определяет, как будет решаться задача, будет ли правильно предположить, что языки производственной системы являются относительно высокоуровневыми? Кроме того, у меня возникли проблемы с пониманием того, что может и не может считаться «экспертной системой». Что может быть примером программы, основанной на правилах, которая не является экспертной системой? Конечно, каждая система правил зависит от правил систем, данных ей «экспертом» того, что программа пытается решить, не так ли? Еще раз большое спасибо за вашу помощь.