Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
9-10-137.doc
Скачиваний:
7
Добавлен:
01.05.2019
Размер:
1.1 Mб
Скачать

Контрольні питання

1. Що таке резольвента двох диз’юнктів?

2. Що таке вивід порожнього диз’юнкту з множини диз’юнктів?

3. Що таке піддиз’юнкт (наддиз’юнкт) диз’юнкту?

4. Які існують засоби обмеження перебору при перевірці суперечності множини диз’юнктів методом резолюцій?

Метод двійкових діаграм рішень

Нехай F, F0, F1 – формули. Розгалуженням називається вираз виду FF1,F0, який визначається так: FF1,F0=(FF1)(FF0). Формула F називається перевірним виразом,  – оператором розгалуження, F1,F0гілками розгалуження. Будемо називати розгалуження формулою.

З наведеного означення випливає, що логічні зв’язки , , , ,  можуть бути виражені через оператор розгалуження й логічні константи 0 та 1 таким чином, що: а) перевірні вирази є атомами, б) атоми зустрічаються лише у перевірних виразах. Дійсно, маємо: Р=(Р0,1); PQ=P(Q1,0),0; РQ=P(Q1,0),(Q0,1); PQ=P1,(Q1,0); PQ=P(Q1,0),1. Зазна-чимо також, що кожна формула F може бути записана у вигляді F1,0.

Формула F є у нормальній формі розгалуження (нфр), якщо F побудована лише з атомів, операторів розгалуження й логічних констант 0 та 1, перевірними виразами є атоми, атоми зустрічаються лише як перевірні вирази.

Наприклад, формула P(Q0,(R0,1)),(R(P1,0),(Q1,0)) є у нфр, а формули (РQ)R,0 та Р(RQ),(QP) – ні.

Позначимо F[0/P] (F[1/P]) формулу, що є результатом заміни у формулі F атома Р на 0 (1). Тоді формулу F, що містить атом Р, можна подати у вигляді

F=РF[1/P],F[0/P]. (1)

Користуючись цим співвідношенням (застосовуючи його спочатку до формули F, а потім до гілок розгалуження й т.д.), можна кожну формулу логіки висловлень привести до нфр. Нехай, наприклад, F=(PQ)(QR). Виберемо за перевірний вираз атом Р та застосуємо перетворення (1). Тоді гілки розгалуження мають вигляд F[1/P]=(1Q)(QR)=Q(QR), F[0/P]=(0Q)(QR)=QR, а F=P(Q(QR)), (QR). Позначимо F1= F[1/P], F0=F[0/P]. Виконуючи далі підстановки 1 замість атома Q у F1 й F0 та 0 замість атома Q у F1 та F0, маємо:

F1=QF1[1/Q], F1[0/Q]= QÞ(1(1R)),(0(0R))= QÞ0,R;

F0=QÞF0[1/Q], F0[0/Q]= QÞ(1R),(0R)= QÞ1,R.

Оскільки R=R1,0, то маємо: F= PÞ(Q0, (R1,0)),(QÞ 1,(R1,0)).

Назвемо орграфом упорядковану пару множин виду (V,E), де V – довільна непорожня множина, EV2. Множина V називається множиною вершин орграфу, її елементи називаються вершинами, а множина Е називається множиною дуг орграфу, її елементи (якщо ця множина непорожня), називаються дугами. Якщо (u,v) – дуга орграфу, то вершина u називається початком, а вершина v – кінцем цієї дуги, а дуга (u,v) – інцидентною вершинам u та v. Напівстепенем виходу вершини u орграфу називається потужність множини дуг орграфу, для яких вершина u є початком. Вершина, напівстепінь виходу якої дорівнює 0, називається кінцевою. Орграф (V,E) називається позначеним, якщо задана деяка множина Р (множина позначок) й задано відображення h множини V у множину Р. Шляхом у орграфі (V,E) називається така скінченна послідовність вершин орграфу v1,…vn, що (vi,vi+1)E, 1in-1. Якщо у орграфі існує шлях виду v1,…vn, то будемо говорити, що вершина vn досяжна з вершини v1. Орграф (V,E) називається ациклічним, якщо у ньому не існує жодного шляху v1,…vn, такого що n2 й v1=vn. Орграф називається кореневим, якщо у ньому існує єдина вершина, що не є кінцем жодної дуги, й з якої досяжна будь-яка інша вершина даного орграфу. Орграф, множина вершин якого скінченна, може бути поданий у вигляді діаграми. Щоб подати орграф у вигляді діаграми, треба для кожної його вершини вибрати точку на площині (різні вершини позначаються різними точками), позначити точку іменем вершини, для якої ця точка вибрана, й з’єднати ті пари точок u та v, для яких виконується (u,v)Е, відрізком лінії зі стрілкою, що вказує на точку v.

Двійковою діаграмою рішень (ДДР) називається ациклічний кореневий позначений орграф, у якому є одна чи дві кінцеві вершини (тобто вершини, напівстепені виходу яких дорівнюють нулю), що мають (різні) позначки 0 або 1, напівстепені виходу некінцевих вершин дорівнюють двом, на множині некінцевих вершин визначено функції var, low, high такі, що коли u – некінцева вершина, то її позначкою є var(u), а (u, low(u)) та (u, high(u)) – дуги, інцидентні вершині u. Областю значень функції var є деяка множина позначок, область значень функцій high, low – множина вершин ДДР.

Двійкова діаграма рішень називається упорядкованою (УДДР), якщо для усіх її шляхів між кореневою та кінцевою вершиною зберігається один і той самий лінійний порядок позначок некінцевих вершин. Двійкова діаграма рішень (упорядкована або ні) називається приведеною (П(У)ДДР), якщо для усіх її некінцевих вершин u, v виконується:

(var(u)=var(v))(low(u)=low(v))(high(u)=high(v))u=v й low(u)high(u).

Визначимо рекурсивну процедуру побудови формули Fu, що визначається вершиною u деякої ПУДДР. Кінцева вершина визначає логічну константу, некінцева вершина u з позначкою Р визначає розгалуження, перевірним виразом якого є Р, а суміжні вершини визначають гілки розгалуження, тобто F0=0, F1=1, Fu=var(u)Fhigh(u),Flow(u).

За формулою у нфр очевидним чином можна побудувати орграф, який після злиття кінцевих вершин з однаковими позначками перетворюється на ДДР. На рис.1 зображено УДДР, що не є приведеною, бо вона містить дві надлишкові вершини, що позначені перевірними виразами х1 та х2. Діаграма на рис.2 є УДДР для формули х1х3 з однією надлишковою вершиною. Дуги виду (u,high(u)) зображено суцільними лініями, дуги виду (u,low(u)) – пунктирними.

Теорема 5. Для будь-якої формули F(A1,…,An) логіки висловлень існує єдина ПУДДР з лінійним упорядкуванням позначок A1…An, така що для кореневої вершини u Fu=F.

Н

Рис. 2

аведені результати забезпечують такий спосіб перевірки тавтологічності (суперечності) формули логіки висловлень. Побудуємо для даної формули F її нормальну форму розгалуження, вибравши певний лінійний порядок атомів (це можна зробити для будь-якої формули логіки висловлень). Потім за нфр побудуємо УДДР, при потребі здійснивши її приведення. Якщо результатом є діаграма, що складається з однієї кінцевої вершини, яка має позначку 1 (0), то формула F є тавтологією (суперечністю). Якщо побудована ПУДДР має некінцеві вершини, то формула F не є ні тавтологією, ні суперечністю, але має моделі.

Розглянемо формулу (х1y1)(x2y2). Зафіксуємо лінійний порядок атомів: x1<y1<x2<y2. На рис.3 зображено ПУДДР даної формули. Діаграма показує, що формула не є тавтологією й не є суперечністю. За допомогою цієї діаграми можна побудувати моделі формули, наприклад, х1=y1=1, х2=y2=0.

Рис.1

Рис.2

Рис. 3

Доведення теореми 5 проведемо індукцією за кількістю n атомів у формулі F(A1,…,An). Нехай n=0. Існує лише дві формули, що не містять атомів: тотожно істинна формула (1) й тотожно хибна формула (0). Оскільки будь-яка ПУДДР, що має хоча б одну некінцеву вершину, визначає формулу, яка не є логічною константою, то для кожної з констант існує лише одна ПУДДР: кінцева вершина з позначкою 1 для 1 та кінцева вершина з позначкою 0 для 0.

Нехай теорема правильна для усіх формул, що містять n атомів. Розглянемо формулу F(A1,…,An+1), що містить n+1 атомів. Надаючи значення 0 або 1 першому атому (A1), одержимо формули F0 та F1, що мають по n атомів: Fb(A2,…,An+1)=F(b,A2,…,An+1), b{0,1}. Для цих формул виконується умова: F(A1,A2,…,An+1)=A1F1(A2,…,An+1),F0(A2,…,An+1). Оскільки F0 (F1) має n атомів, за припущенням індукції існує єдина ПУДДР, така що для кореневої вершини u0 (u1) Fu0=F0 (Fu1=F1). Розглянемо два випадки. Якщо ПУДДР з коренями u0 та u1 збігаються, то F0=F1=F. Отже, маємо ПУДДР для F, причому єдину. Якщо ПУДДР з коренями u0 та u1 не збігаються, то, згідно з припущенням індукції, Fu0Fu1. Побудуємо УДДР з коренем u так, що var(u)=A1, low(u)=u0, high(u)=u1. Тоді Fu=A1Fu1,Fu0, а побудована діаграма є, очевидно, приведеною. За припущенням, Fu1=F1 й Fu0=F0, отже, Fu=F. Припустимо, що існує інша ПУДДР, скажімо, з коренем v, така що Fv=F. Тоді Fv має залежати від A1, тобто Fv0Fv1, тому що інакше маємо суперечність: F0=(Fv)0=(Fv)1=F1. Згідно з порядком, заданим на множині атомів формули F, var(v)=A1=var(u). З того, що Fv=F, випливає: Flow(v)=F0=Fu0 й Fhigh(v)=F1=Fu1. Отже, за припущенням індукції, low(v)=u0=low(u) й high(v)=u1=high(u). Оскільки діаграма є приведеною, то u=v. Теорему доведено.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]