Страница 1 из 2 Как было показано в главах 7 и 9, базы знаний в форме хорновских выражений имеют желаемые вычислительные свойства. Однако во многих приложениях довольно сложно выполнить выдвигаемое при этом требование, чтобы каждый литерал в теле выражения был положительным. Например, может потребоваться сформулировать утверждение: "На прогулку можно выходить, если нет дождя", не будучи вынужденным изобретать такие предикаты, как NotRaining. В этом разделе рассматривается дополнение к хорновским выражениям в форме явного отрицания, которое основано на идее использования отрицания как недостижения цели. Эта идея состоит в том, что истинность отрицательного литерала not P может быть "доказана" просто на основании того, что попытка доказательства Ρ окончилась неудачей. В этом заключается одна из форм рассуждений по умолчанию, тесно связанная с предположением о замкнутом мире: предполагается, что нечто является ложным, если нельзя доказать, что оно истинно. Для того чтобы можно было отличить отрицание как недостижение цели от логического оператора, для обозначения первого используется оператор "not". В языке Prolog допускается применять оператор not в теле выражения. Например, рассмотрим следующую программу Prolog: (10.4) Первое правило указывает, что если в компьютере имеется жесткий диск, не являющийся диском SCSI, то это должен быть диск IDE. Согласно второму правилу, если это — не диск IDE, то он должен быть диском SCSI. В третьем правиле утверждается, что из наличия в компьютере диска SCSI следует наличие в нем контроллера SCSI, а четвертое утверждает, что в компьютере обязательно должен быть жесткий диск. Эта программа имеет следующие две минимальные модели:
<< В начало < Предыдущая 1 2 Следующая > В конец >> |