Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
искуственный интелект.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
2 Мб
Скачать
☆

1.2. Логические модели

Г. С. Плесневач

Основные определения

Постановка и решение любой задачи всегда связаны с ее «погружением» в подходящую предметную область. Так, решая задачу составления расписания обработки деталей на металлорежущих станках, мы вовлекаем в предметную область такие объекты, как конкретные станки, детали, интервалы времени, и общие понятия «станок», «деталь», «тип станка» и т. п. Все предметы и собы­тия, которые составляют основу общего понимания необходимой для решения задачи информации, называются предметной областью. Мысленно предметная область представляется состоящей из реальных или абстрактных объектов, на­зываемых сущностями.

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

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

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

Описания предметных областей, выполненные в логических языках, назы­ваются (формальными) логическими моделями.

Рассмотрим логический язык, называемый многосортным исчислением пре­дикатов первой ступени (или многосортной логикой первого порядка). Приве­дем пример описания в этом языке предметной области, связанной с обработ­кой деталей на станках.

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

дет:Операция ->-Деталь, ст:Операция ->Станок (1)

нач:Операция -»-Время, кон:Операция -*Время (2)

тип_дет:Деталь -+-ТипДетали, тип_ст:Станок -*-ТипСтанка (3)

ток: ->-ТипСтанка, фрез -мГипСтанка (4) 14

(5) (6) (7) (8) (9)

вал шест: ->-ТипДетали, ставал: ->ТипДетали

0: -^-Время, 1: -^Время t: ->Время .

+ :ВремяХВремя -НВремя

<; ;ВремяХВремя -*-Т

фрез_торц:Операция -+-Т, ток_обр:Операция -*Т

Выражения (1) — (9), составляющие так называемую сигнатуру, имеют сле­дующий смысл:

  1. задает две функции дет (деталь) и ст (станок), которые, будучи при­ менены к объекту е сорта Операция, дают деталь дет(е) и станок ст(е), участ­ вующие в операции е;

  2. задает функции начала и конца операции е, причем нач(^) и кон(е) есть объекты сорта Время;

  3. задает функции, значениями которых служат типы деталей и типы станков;

  4. задает две константы: ток (токарный станок) и фрез (фрезерный ста­ нок) сорта ТипСтанка (эти константы рассматриваются как нуль-местные функции);

  5. задает константы вал-шест (вал-шестерня) и ст_вал (ступенчатый вал) сорта ТипДетали;

  6. задает счетное множество констант, обозначающих натуральные числа (эти константы принадлежат сорту Время);

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

  8. задает двуместный предикат на объектах сорта Время (предполагае­ мая интерпретация предиката — двуместное отношение «меньше или равно» между натуральными числами);

  9. задает два одноместных предиката фрез_торц (фрезерование торцов) и ток_обр (токарная обработка); эти предикаты представляют свойства опе­ раций; фрез_торц(е) = 1 тогда и только тогда, когда е есть операция фрезеро­ вания торцов (и аналогично для ток_обр).

В общем случае сигнатурой называется множество 2 выражений* вида f:AiXA2X -XAn -*-В, где А}, В — сорта, а / — функция, или предикат. Имя / есть имя предиката в 2, если В = Т, т. е. если значением / служит «истина» или «ложь» (обычно обозначаемые 1 и 0).

Сорта сигнатуры интерпретируются как множества. Сорт Т является осо­ бым в том смысле, что он всегда интерпретируется как множество истинност- ных значений {0, 1}. Остальные сорта сигнатуры могут интерпретироваться по-разному. Таким образом, предикат рассматривается как функция, заданная на объектах (вообще говоря, разных сортов) и принимающая значение «истина» или «ложь». Предикат можно рассматривать также как многоместное отноше* ние между объектами (разных) сортов: объекты еи е%,..., еп находятся в от­ ношении р, что записывается как p(ei, е2 еп) тогда и только тогда, когда

р(еи е2,...,е„)=*1. Заметим, что для двуместных предикатов часто использует­ся инфиксная запись: вместо р(еи е2) пишут eipe2 (например, пишут х<# для предиката «меньше или равно»).

Сигнатура задает структурные связи между понятиями предметной обла­сти, представленными предикатами и функциями. Логические связи между этими понятийми задаются формулами, которые записываются в сигнатуре. Структурные и логические связи выражают некоторое знание о предметной об­ласти. Таким образом, сигнатура формально представляет одну часть знания о предметной области, а формулы, записанные в этой сигнатуре, представляют другую часть знания.

Рассмотрим, например, как формально представляется в языке многосорт­ного исчисления предикатов следующее знание:

15

Зн1 — каждая деталь должна сначала пройти фрезерование торцов, а за­тем токарную обработку;

Зн2 — станки не должны все вместе простаивать ни в какой момент вре­мени до того момента, когда нее станки прекратят работу;

ЗнЗ — токарная обработка ступенчатого вала длится 7 мин, а вала-шестер­ни— 12 мин; фрезерование торцов ступенчатого вала длится 5 мин, а вала-ше­стерни — б мин;

Зн4 — на производственном участке имеется три станка: два токарных и один фрезерный;

Зн5 — всего было совершено восемь операций;

Знб — было обработано четыре детали: два ступенчатых вала и два вала-шестерни;

Зн7 — станок стЗ является фрезерным;

Зн8 — операция оперЗ совершалась над деталью дет2 на станке стЗ в те­чение интервала времени от момента 5 до момента 10.

Для того чтобы формально представить Зн1, перефразируем его следую­щим образом: для каждой детали х существуют операции у и г, такие, что конец операции у наступает не позже начала операции z, операция у есть фре­зерование торцов, операция г — токарная обработка и в обеих операциях уча­ствует одна и та же деталь х. Соответствующая формула будет такой:

еталь) (д у, г£ Операция), [(кон (у) < нач (г)) Д (дет (у) =*)) Л

(дет (г) = х) Л Фрез_торц (у) Д ток_обр(г)] (10)

В (10) использованы следующие формальные обозначения: (у) —квантор общности (вдля всех х из А*); (дх^Л) —квантор су­ществования („существует х из А'у, /\—коньюнщия („аи Р"). Вместо блока кванторов (yXjGА) (ух2^А) ... (ухр^А) сокращенно можно писать (\xt, ха, ..., XpEzA); аналогично для блока кванторов д.

Перефразируем знание Зн2: существует момент времени х, такой, что: а) существует операция у, заканчивающаяся в момент х, б) каждая операция г заканчивается не позже момента х, в) не существует момента и, такого, что и<х, и какова бы ни была операция v, интервал ее исполнения не содержит и (т. е. неверно, что нач(£>Хы и и^кон(о)). Соответствующая формула

(3*е Время). (ЗУGE Операция) (кон(#)=х) Д

(уг €~ Операция) (кон (г)<х) Д 1 (3«Е Время). (и<х)Д

(yv€? Операция) ~1 [(нач (с)< и)М(«< кон (и)) (11)

(Здесь точка выполняет роль скобок, отделяя соответствующую подформулу, стоящую в ряду слева от точки.)

В (11) использован символ ~|> обозначающий логическое отрицание (~|а читается: «не верно, что а»).

Перифразируем знание ЗнЗ: для любой операции х, если х есть токарная обработка и тип детали, участвующей в операции х, есть ступенчатый вал, то нач(х)+7=кон(дг) и т. д. Соответствующая формула

(V*£ Операция). [ток_обр (х) Д (тип„_дет (дет (х)) = ст_вал) ->

(нач (х) +7 = кон (х))1 Д

[ток_обр (х) Д (тип_дет (дет (х)) =■ вал-шест) -» (нач (х) + 12 = кон (х))1Д

[фрез_торц (х) Д (тип_дет (дет (х)) — ст_вал) -♦ (нач(х) + 5 = кон(х))] Д

[фрез_торц (х) V (тип_дет (дет (х)) = вал-шест) ->

(нач (а)+6 = кон (х))] (12)

16

Для того чтобы формально представить знание Зн4, введем три констан­ты ст1, ст2 и стЗ сорта Станок. Получим

(VX6 Станок). [(х= ст1)\/(* = ст-2) V(* = стЗ)1Д (тцп_ст (ст1) = ток) V

(тип_ст (ст2) == ток) Д(тип_ст (стЗ) = фрез) (13)

В (12) и (13) появились два новых логических символа — V и ->-, назы­ваемых дизъюнкция и импликация (aVP читается: «а или |3»; а-^Р читается: «если а, то р»).

Знание Знб формализуется аналогично, если ввести константы, обозначаю­щие операции:

(ух €= Операция). (х = опер!) V (х — опер2) \J (х= оперЗ) V (х = опер4) V (х = опер5) \/ (х = оперб) V (v = опер7)\/(х= опер8) (14)

Знание Знб представляется формулой

(V*^Деталь) \(х = дет1)\/(х = дет2) V (х =- детЗ) V(* = Дет4)] Д

(тип_дет (дет1) = ст_вал) Д (тип_дет (дет2) = ст_вал) Д (тип_дет (детЗ) = вал-шест)Д(тип_дет (дет4) = вал-шест) (15)

Знание Зн7 передается формулой (тип_ст(стЗ) =фрез) (16)

Наконец, знание Зк8 передается формулой (дет(оперЗ)=дет2)Л(ст(оперЗ)=стЗ)Л<нач(оперЗ)=5)Л (17)

Рассмотрим общий случай, когда задана произвольная сигнатура 2. Через °&i обозначим множество всех формул языка многосортного исчисления пре­дикатов (первого порядка), построенных на основе сигнатуры 2. Произволь­ная формула ££ составляется из атомарных формул (атомов) с использо­ванием логических связок ~~|, Д, V. -*■ и кванторов по следующим правилам:

П1. Каждый атом есть формула. Всякая входящая в атом переменная яв­ляется свободной в этом атоме.

П2. Если а и Р — уже построенные формулы, то выражения ~| а, (рДР), (aVP). (а-»-Р) —также формулы. Всякая переменная, входящая свободно (связанно) в а или Р, входит свободно и в новые формулы.

ПЗ. Если a — уже построенная формула, в которую свободно входит переменная х, значения которой принадлежат к сорту А, то выражения (у*е еЛ)а и (дхеЛ)а также являются формулами. Переменная х считается свя­занной в новых формулах.

Атомы SSX составляются из термов, предикатных символов и символа равенст­ва по следующим правилам:

П4. Если сигнатура 2 содержит выражение р: А1ХА2Х. — У\Ап~+Т н Ti, т2,..., тп — термы сортов А\, Аг,...,Ап соответственно, то p(ti, T2,.... тп) — атом;

П5. Если т и а — термы одинакового сорта, то выражение т=о* есть атом.

Термы составляются по следующим правилам:

Пб. Переменная, принимающая значения из сорта А, есть терм сорта А.

П7. Если сигнатура 2 содержит выражение /: А\Х^2 Х- ХАп-+В, причем ВфТ, и Т], Тг, ...,т„ — уже построенные термы сортов At, А?,..., Ап соответст­венно, то выражение /(ti, Tj, .... тп) есть терм сорта В.

Рассмотренный пример механообработки иллюстрирует общую ситуацию построения логической модели с использо^*игагяэы*сэ многосортного исчис­ления предикатов. Разработчик на ochqjs# тгредв&рительногс анализа предмет­ной области дает имена для констант,' ерртов, функций и предикатов. Имена эти выбирают так, чтобы их мнемоники ^оответстврвала наэвалиям неформаль-

Ь К::'ч:;л'-: ■'-■•■;.; : "■ 17

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

Другие связи между понятиями предметной области представляются фор­мулами из 2. Пусть Я обозначает множество формул, -построенных для пред­метной области. Эти формулы должны быть истинны в той формальной струк­туре, которая представляет предметную область (если это представление ей адекватно). Структура, интерпретирующая заданную сигнатуру 2, строится следующим образом. Указывается непустое множество U, называемое универсу­мам. Для каждого имени сорта А из сигнатуры 2 указывается некоторое под­множество универсума, которое также обозначается A (A^U). Для каждого выражения /: А1ХА2Х ••• ХАп-+В из сигнатуры указывается функция, отобра­жающая множество Л|ХЛгХ-ХЛп в множество В; эта функция также обо­значается /.

Для примера формализации фрагмента предметной области «механообра­ботка» структура может быть построена следующим образом:

£/={дет^, ctj, onepj\j^N, /^1}U{tok, фрез, ст-вал, вал-шест}иЛГ (где N=

=0, 1,2,...);

Деталь =iдет 1, дет2, детЗ, дет4}; Станок = {ст1, ст2, стЗ};

Операция = {onepl, опер2 опер8};

ТипСтанка = {ток, фрез); ТипДетали={ст_вал, вал-шест}; Время=jV

Функции дет, ст, нач, кон, тип_дет, тил_ст, фрез-торц и ток_обр указаны в табл. 1.2—1.4. Предикат < имеет смысл отношения «меньше или равно» на множестве ./V натуральных чисел; функция -| смысл операции сложения на­ туральных чисел. В указанной структуре истинны все формулы (10)—(17). Как говорят в математической логике, структура эта является моделью мно­ жества формул Я={(10), (11),..., (17)}. Но здесь термин «модель» означает не то, что в словосочетании «логическая модель».

Таблица 1.2

Операция

дет

ст

нач

кон

ток_обр

фрез_торц

onepl

дет!

стЗ

0

5

0

1

опер2

дет!

ст!

5

12

1

0

оперЗ

дет2

стЗ

5

10

0

1

опер4

дет2

ст2

10

17

1

0

опер5

детЗ

стЗ

10

16

0

1

опер 6

детЗ

ст1

16

24

!

0

опер7

дет4

стЗ

16

22

0

1

оперв

дет4

ст2

22

28

1

0

Станок

тип_ст

сг! ст2 стЗ

ТОК ТОК фрез

Таблица 1.4

Таблица 1.3

Деталь

тип_дет

дет1 дет2 детЗ дет4

ст-вал ст-вал вал-шест вал-шест

18

Пусть 2—произвольная сигнатура и М — интерпретирующая ее структура. Каждая замкнутая формула а. £Е S6 (т. е. формула, не включающая свобод­ные переменные) в структуре М истинна или ложна. Если а истинна в М, то пишут М \—а. Формальное определение истинности или ложности замкнутой формулы а в структуре М выполняется по индуктивным правилам П8 и П9. Для применимости этих правил нужно расширить исходную сигнатуру 2, при­соединив к ней выражения а: ~*-А для каждого элемента а сорта А и каж­дого сорта А из 2. Другими словами, расширенная сигнатура 2' включает все литеральные константы, обозначающие элементы тех множеств, которые ин­терпретируют в М сорта. Благодаря такому расширению множество всех фор­мул SS ' оказывается замкнутым относительно подстановок любых литераль­ных констант вместо свободных переменных.

Базу индуктивных правил П8 и П9 составляют константные (т. е. не со­держащие переменных) атомарные формулы. Истинность или ложность каж­дого такого атома устанавливается в М непосредственно.

П8. Для любых замкнутых формул а, р€Е<2? ; М |=~] а тогда и только тогда, когда не имеет места М \==а-, М |=(« А Р) тогда и только тогда, когда М |= а и М |= р; М | — (а V р) тогда и только тогда, когда М |= а или М |=Р; М j=(a -+ Р) тогда и только тогда, когда не имеет места М \ = а или имеет место

П9. Для любой формулы а£2Е', содержащей одну свободную переменную х, т. е. a = o[jc], полагаем

•М \~ (ЗЯ^Л) a Т0ГДа и только тогда, когда М | = afa], для хотя бы одной константы а сорта А из 2'.

Структура М, интерпретирующая сигнатуру 2, называется модельной структурой для заданной совокупности замкнутых формул Sc^1, если все

формулы из Q истинны в М, т. е. М\—а для всех aeQ.

Обращаясь к примеру сигнатуры 2 = {(1), <(2),..., (9)}, которая была по­ строена для фрагмента предметной области «механообработка», видим, что указанная для этой сигнатуры структура является модельной структурой для совокупности формул Q = {(10), (11) (17)}.

Совокупность замкнутых формул может не иметь ни одной модельной структуры. Тогда она называется логически невыполнимым (или просто невы­полнимым) множеством. Другими словами, для невыполнимого множества фор­мул нельзя указать такую интерпретацию, что в ней будут истинны все фор­мулы множества. Синонимом термина «невыполнимое» является термин «про­тиворечивое».