Система рассуждения

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

Описание

В повседневном языке практически любую компьютерную систему можно назвать системой рассуждения, поскольку все они автоматизируют различные виды логики или принятия решений. Однако в профессиональной лексике в области информационных технологий этот термин обычно применяется к более сложным системам рассуждения. К примеру, вычисление налога с продаж или скидки покупателя относится к более простым видам рассуждения, в то время как логический вывод при медицинской диагностике или доказательстве математической теоремы требует более сложных методов. Системы рассуждения могут работать в двух режимах: интерактивном и пакетном. Интерактивные системы взаимодействуют с пользователем, задавая уточняющие вопросы и позволяя пользователю направлять процесс рассуждения. Пакетные системы получают всю имеющуюся информацию сразу и выдают наилучший возможный ответ без участия пользователя[1].

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

История

Первые системы рассуждения появились как автоматические доказатели теорем — системы, представляющие аксиомы и утверждения в логике первого порядка и выводящие новые утверждения по правилам логики, например, по модусу поненс. Другим ранним типом были обобщённые решатели задач, такие как Обобщённый решатель задач, разработанный Ньюэллом и Саймоном. Обобщённые решатели задач предоставляли общий механизм поиска решения для структурированных проблем, разбивая их на подзадачи и объединяя частичные решения в итоговый ответ. Примером подобных систем также является семейство SOAR.

На практике автоматические доказатели теорем и обобщённые решатели задач редко применялись для решения прикладных задач, требовали специальных знаний и навыков работы с логикой. Первым практически применимым результатом исследований по автоматизированному рассуждению стали экспертные системы. Они фокусировались на достаточно узких предметных областях, например: медицинская диагностика или поиск неисправностей в авиационной технике. Экспертные системы ограничивались относительно простым набором логических правил, чаще всего реализованных в виде правил вида «ЕСЛИ — ТО». Такое ограничение и специализация позволили добиться высокой производительности и сделать системы рассуждения практичными. Для автоматизированного рассуждения в экспертных системах применялись так называемые инференсные механизмы, тогда как для более общего логического вывода — автоматические доказатели теорем[2].

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

Использование логики

Понятие «система рассуждения» может охватывать практически любые сложные системы поддержки принятия решений, как это иллюстрируют примеры ниже. Тем не менее, чаще всего под этим термином понимают компьютерные реализации логики. Различные реализации отличаются по степени формализации, типу применяемой логики и другим параметрам. Большинство систем рассуждения реализуют различные варианты пропозициональной и символической (предикатной) логики. Иногда это строгие математические модели (например, логика первого порядка), иногда — расширенные или гибридные версии этих моделей (например, вежливая логика[3]). Системы рассуждения могут явно реализовывать дополнительные виды логики (например, модальную, деонтическую, темпоральную). Однако многие системы прибегают к неточным или полуформальным приближённым моделям известных логик, поддерживая как процедурные, так и полу-декларативные методы для моделирования различных стратегий рассуждений. Для этих систем важнее практичность, чем строгость, поэтому они часто используют модифицированные или расширенные механизмы.

Многие системы рассуждения реализуют дедуктивное рассуждение, позволяющее делать логические выводы на основе имеющихся знаний. Инференсные механизмы поддерживают как прямой (forward reasoning), так и обратный (backward reasoning) вывод через модус поненс. Методы, основанные на рекурсии, чаще всего называют 'прямым цепированием' и 'обратным цепированием' соответственно. Хотя наиболее широко распространено дедуктивное рассуждение, в отдельных случаях используются абдуктивное, индуктивное, опровержимое рассуждение и другие методы. Для поиска приемлемых решений в сложных задачах могут использоваться эвристические методы.

Системы рассуждения могут базироваться на принципе замкнутого мира (CWA) либо на принципе открытого мира (OWA). OWA часто применяется при представлении знаний в онтологиях и используется, в частности, в семантической паутине. В разных системах используются различные подходы к отрицанию: помимо обычного логического или побитового отрицания, реализуются сильные и слабые формы отрицания, включая отрицание как неудача и 'инфляционное' отрицание (негирование негрунтовых атомов). Также системы могут поддерживать монотонное и немонотонное рассуждение, стратификацию и иные логические техники.

Рассуждение при неопределённости

Многие системы рассуждения поддерживают рассуждение при неопределённости. Это особенно важно при построении распределённых рассуждающих агентов, которым приходится работать с неполными или неопределёнными знаниями об окружающем мире. Существует несколько распространённых подходов к учёту неопределённости: коэффициенты уверенности, вероятностные методы (например, байесовский вывод или теория Демпстера — Шефера), многозначная (нечёткая логика) логика и различные коннекционистские подходы[4].

Типы систем рассуждения

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

Решатели ограничений

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

Доказатели теорем

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

Логические программы

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

Правиловые движки

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

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

Дедуктивные классификаторы

Дедуктивные классификаторы появились чуть позже правиловых систем и стали частью новых средств представления знаний — языков фреймов. Язык фреймов описывает предметную область как совокупность классов, подклассов и отношений между ними — аналогично объектно-ориентированным моделям. Однако языки фреймов имеют формальную семантику, основанную на логике первого порядка.

На основе этой семантики классификатор анализирует модель (такую как онтология), определяя, насколько отношения между объектами согласованы. Если в модели есть несогласованные утверждения, классификатор их обнаруживает. Если данные согласованы, классификатор позволяет проводить дальнейший логический анализ и делать дополнительные выводы — например, относить объект к дополнительным классам на основе структуры связей, явно не заданных пользователем. Классификаторы — ключевая технология анализа онтологий, используемых в семантической паутине[6][7].

Машинное обучение

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

Кейс-базированные системы рассуждения

Кейс-базированное рассуждение (CBR) решает задачи путём поиска сходства с другими заданиями, для которых уже известны решения. Кейс-базированное рассуждение оперирует верхними (поверхностными) признаками сходства — объектами, признаками и значениями. От аналогического рассуждения его отличает именно использование «поверхностных» признаков, в то время как аналогия использует «глубинные», то есть отношения между объектами или даже отношения между отношениями. По этой причине кейс-базированное рассуждение применимо только в пределах одной предметной области, тогда как аналогическое — и к разным отраслям, если их отношения совпадают. CBR-системы широко применяются в службах технической поддержки, колл-центрах, а также в промышленности, сельском хозяйстве, медицине, праве и других сферах.

Процедурные системы рассуждения

Процедурная система рассуждения (PRS) использует приёмы рассуждения для выбора планов из базы процедурных знаний. Каждый план описывает последовательность действий для достижения определённой цели. PRS реализует модель убеждения–желания–намерения: по набору «убеждений» выбираются подходящие планы («намерения») для данных целей («желаний»). Типичные способы применения PRS — системы управления, мониторинга и обнаружения неисправностей.

Примечания

  1. Wos, Larry. Automated Reasoning: Introductions and Applications / Larry Wos, Ross Owerbeek, Ewing Lusk … [и др.]. — Prentice Hall, 1984. — P. 4. — ISBN 978-0-13-054453-7.
  2. Hayes-Roth, Frederick. Building Expert Systems / Frederick Hayes-Roth, Donald Waterman, Douglas Lenat. — AddisonWesley, 1983. — ISBN 978-0-201-10686-2.
  3. Grosof, Benjamin N. Courteous Logic Programs: Prioritized Conflict Handling For Rules (англ.). IBM Research Report (30 декабря 1997). Дата обращения: 30 июня 2024.
  4. Moses, Yoram. Reasoning About Knowledge : [англ.] / Yoram Moses, Moshe Y Vardi, Ronald Fagin … [et al.]. — MIT Press, 2003. — ISBN 978-0-262-56200-3.
  5. Schalkoff, Robert. Intelligent Systems: Principles, Paradigms and Pragmatics : [англ.]. — Jones & Bartlett Learning, 2011. — ISBN 978-0-7637-8017-3.
  6. MacGregor, Robert (июнь 1991). “Using a description classifier to enhance knowledge representation”. IEEE Expert [англ.]. 6 (3): 41—46. DOI:10.1109/64.87683. Проверьте дату в |date= (справка на английском)
  7. Berners-Lee, Tim; Hendler, James; Lassila, Ora (17 мая 2001). “The Semantic Web: Новая форма контента Всемирной паутины, понятная компьютерам, откроет революцию новых возможностей”. Scientific American [англ.]. 284 (5): 34—43. DOI:10.1038/scientificamerican0501-34. Архивировано из оригинала 2013-04-24. Используется устаревший параметр |url-status= (справка)

Литература

  • Аршинский, Л. В. Особенности работы машины вывода системы моделирования правдоподобных рассуждений "Гераклит" / Л. В. Аршинский // Информационные и математические технологии в науке и управлении. — 2016. — № 2. — С. 18-29.
  • Вольфенгаген, В. Э. Логика : конспект лекций: техника рассуждений / В. Э. Вольфенгаген. — изд. 2-е, доп. и перераб. - Москва : Центр ЮрИнфоР, 2004 (ГУП ИПК Ульян. Дом печати). — 227, [1] с. : ил., табл.; 23 см. — (Библиотека "ЮрИнфоР" / Ин-т актуал. образования "ЮрИнфоР-МГУ", Каф. перспектив. компьютер. исслед. и информ. технологий).
  • Голубниченко, А. Н. Г.В. Лейбниц и автоматизация рассуждений / А. Н. Голубниченко // Вестник Омского университета. — 2011. — № 3(61). — С. 66-67.
  • Найденова, К. Организация правдоподобных рассуждений в интеллектуальных системах / К. Найденова // Управление знаниями и технологии семантического веба. — 2010. — № 1. — С. 40-48.
  • Разумов, В. И. Автоматизация рассуждений: программирование мутаций ДИС-компьютера уровня 2 / В. И. Разумов, В. П. Сизиков // Сибирский философский журнал. — 2016. — Т. 14, № 1. — С. 53-69.
  • Разумов, В. И. Новые технологии естественного интеллекта в задачах автоматизации рассуждений / В. И. Разумов, Ю. П. Дусь // Вестник Томского государственного университета. Философия. Социология. Политология. — 2024. — № 77. — С. 53-61.
  • Разумов, В. И. Категориальная методология в формировании аппарата концептуализации / В. И. Разумов // Вестник Карагандинского университета. Серия: История. Философия. — 2024. — Т. 115, № 3. — С. 399-408.
  • Соснин, П. И. Моделирование рассуждений : конспект лекций для студентов направления "Информатика и вычислительная техника" / П. И. Соснин; М-во образования Российской Федерации. Ульяновский гос. технический ун-т. - Ульяновск, 2000. - 74 с.