Прямая цепочка (или прямое рассуждение ) является одним из двух основных методов рассуждения при использовании машины вывода и может быть логически описана как повторное применение modus ponens . Прямая цепочка является популярной стратегией реализации для экспертных систем , систем бизнес-правил и производственных правил . Противоположностью прямой цепочки является обратная цепочка .
Прямая цепочка начинается с доступных данных и использует правила вывода для извлечения большего количества данных (например, от конечного пользователя) до тех пор, пока не будет достигнута цель. Механизм вывода , использующий прямую цепочку, ищет правила вывода, пока не найдет тот, где известно, что антецедент ( предложение If ) является истинным. Когда такое правило найдено, механизм может заключить или вывести следствие ( предложение Then ), что приводит к добавлению новой информации к его данным. [1]
Механизмы вывода будут повторять этот процесс до тех пор, пока не будет достигнута цель.
Предположим, что цель состоит в том, чтобы определить цвет домашнего животного по имени Фриц, учитывая, что он каркает и ест мух, и что база правил содержит следующие четыре правила:
Давайте проиллюстрируем прямую цепочку, следуя образцу компьютера, оценивающего правила. Предположим следующие факты:
Используя метод прямого рассуждения, механизм вывода может сделать вывод о том, что Фриц зеленый, за несколько шагов:
1. Поскольку базовые факты указывают, что «Фриц каркает» и «Фриц ест мух», антецедент правила № 1 выполняется путем замены X на Фрица , и машина вывода заключает:
Фриц — лягушка.
2. Затем условие правила № 3 выполняется путем замены X на Fritz , и машина вывода заключает:
Фриц зеленый
Название «прямая цепочка» происходит от того факта, что механизм вывода начинает с данных и рассуждает о своем пути к ответу, в отличие от обратной цепочки , которая работает наоборот. При выводе правила используются в обратном порядке по сравнению с обратной цепочкой . В этом примере правила № 2 и № 4 не использовались при определении того, что Фриц зеленый.
Поскольку данные определяют, какие правила выбираются и используются, этот метод называется управляемым данными , в отличие от управляемого целью обратного вывода цепочки. Подход прямой цепочки часто используется экспертными системами , такими как CLIPS .
Одним из преимуществ прямого вывода по сравнению с обратным выводом является то, что получение новых данных может инициировать новые выводы, что делает движок более подходящим для динамических ситуаций, в которых условия могут меняться. [2] [3]
Прямая цепочка — это мощная стратегия рассуждений с многочисленными применениями в ИИ и смежных областях. Некоторые из известных применений включают: