Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2042

.pdf
Скачиваний:
36
Добавлен:
07.01.2021
Размер:
2.75 Mб
Скачать

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

Решение.

Пусть xi ( i 1,2,3) – переменное высказывание «член комитета

под номером i голосует «за». Таблица истинности булевой функции f (x1, x2 , x3 ) – «большинство членов комитета голосует «за» имеет вид

(табл. 4.10).

 

 

 

Таблица 4.10

x

x2

x3

f (x1, x2 , x3 )

1

 

 

 

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

1

1

1

1

1

Согласно условиям работы схемы выпишем совершенную ДНФ

функции проводимости : f (x1, x2, x3) x1x2x3 x1 x2x3 x1x2 x3 x1x2x3. Минимизируем функцию проводимости, сгруппировав 1 и 4, 2

и 4, 3 и 4 элементарные конъюнкции и применив законы склеивания и идемпотентности: f (x1, x2, x3) x2x3 x1x3 x1x2 . По полученной

функции вычерчиваем требуемую -схему (рис. 4.15).

x1 x3

x1 x3

x1 x2

Рис. 4.15

Схемы функциональных элементов

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

Функциональные элементы – некоторые абстрактные технические устройства, с помощью которых реализуются основные логические операции – конъюнкция, дизъюнкция, отрицание. Устройства изображаются следующим образом (рис. 4.16).

x

 

&

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

1

 

 

 

x2

 

x1 x2

 

 

 

x1 x2

 

 

 

 

 

x

 

 

 

 

x

 

 

 

 

 

 

Элемент типа «и»

 

Элемент типа «или»

Элемент отрицания

 

 

 

 

 

 

Рис. 4. 16

 

 

 

 

 

 

 

В элементах для конъюнкции имеются два входа, на которые подаются сигналы х1 и х2 (наличие тока), и один выход, с которого

снимается сигнал, соответствующий конъюнкции x1x2 или

дизъюнкции x1 x2 .

В элементе для отрицания имеется один вход для сигнала x и

один выход, на котором снимается инверсный сигнал x .

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

Пример. Построить схему функциональных элементов, реализующую булеву функцию вида

f (x1, x2, x3, x4, x5) x1x3x4 x1x2x4x5 x2x3 .

Решение.

В качестве входной шины используем пять горизонтальных проводников (т.к. имеем пять переменных) и подключим к ним функциональные элементы (рис. 4.17).

x1

x2

x3 x4 x5

 

 

 

 

&1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

&

 

 

 

&

 

 

 

 

 

 

1

 

 

&3

 

 

 

 

 

 

 

 

 

 

&2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 4.17

 

 

 

 

 

 

 

15

 

f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Проводники х1

и х4 подключаем на вход элемента «и», а его

выход вместе с проводником х3 подключаем на вход следующего

элемента «и», на выходе которого получаем реализацию первой конъюнкции формулы х1х3х4 .

Аналогично на элементах типа «и» получаем реализацию

конъюнкций х1х2х4х5 и х2 х3.

Полученные три выхода подключаем на входы элементов типа

«или».

На выходе последнего функционального элемента получаем реализацию заданной булевой функции f .

Контрольные вопросы

1.Что представляет собой релейно-контактная схема?

2.Перечислите основные задачи теории релейно-контактных схем.

3.Какими схемами задаются основные логические операции – конъюнкция, дизъюнкция и отрицание?

4.Что понимается под -схемами?

5.Опишите алгоритм анализа релейно-контактных схем.

6. Как, зная условия работы, синтезировать -схему?

Упражнения

1.По заданным -схемам найти функцию проводимости и записать условия работы.

x

y

z

y

z

x

2.Построить -схемы по заданным функциям проводимости:

а) (xy z x )(x y); б) xyz yz (y x );

в) ((z xzy u x v)xz.

3. Синтезируйте -схемы по заданным условиям работы:

а) f (0,0,0) f (1,0,1) 1;

б) f (1,1,0) f (0,0,0) f (1,0,0) 1.

4. Постройте -схему с пятью переключателями, которая проводит ток тогда и только тогда, когда замкнуты все ее переключатели или когда не замкнут ни один из них.

Лекция 4.5. Логика предикатов

Предикаты и кванторы. Формулы логики предикатов. Равносильные

преобразования формул. Применение логики предикатов к логикоматематической практике.

Предикаты и кванторы

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

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

Пусть Mi – множество значений предметной переменной xi , i 1,n. n-местным предикатом P(x1, x2, …, xn) называется логическая функция вида P(x1, x2,..., xn ) : М M1 М2 ... Мn {И, Л}.

Пример. Пусть имеется ряд простых высказываний:

Р1 – «х1>A»; Р2 – «х2>A;… ;Рn – «хn>A».

Вместо высказываний Р12, …, Рn

можно ввести одноместный

предикат Р(х), для которого переменная х принимала бы значения из

предметной области x x1, x2,..., xn , а

сама предикатная функция

записывалась бы так: Р(х)= «х>A».

Теперь изменим исходный ряд высказываний на другой:

Р1 – «х1>y1; Р2 – «х2>y2»; …;Рn – «хn>yn».

Здесь можно ввести двухместный предикат Р(х)= «х>y» c дополнительной предметной областью y y1, y2,..., yn .

Введем трехместный предикат Р(x,y,z)= «x=y+z». Если какойнибудь переменной задать конкретное значение, скажем, х=5, то трехместный предикат превратится в двухместный Р(5,y,z)= «5=x+z».

При х=5

и y=3 получим

одноместный

предикат: Р(5,3,z)=

«5=3+z».

 

 

 

 

Наконец, если добавить условие z=2, то исходный предикат

становится

нуль-местным

предикатом

(константой

или

высказыванием), который в данном случае принимает истинное значение: Р(5,3,2)= «5=3+2». Но могло получиться, что z=1, тогда имело бы место ложное высказывание: Р(5,3,1)= «5=3+1».

Таким образом, при

замещении переменной xi предметной

переменной ai происходит

превращение n-местного предиката в

(n-1)-местный предикат. Приписав конкретные значения всем аргументам предикатной функции, получаем предикатную константу.

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

Пусть Р(х) – предикат, определенный на М, т.е. х М . Высказывание «для всех х из М Р(х) истинно» обозначается

( х)Р(х). Знак называется квантором общности.

Высказывание «существует такой х из М, что Р(х) ложно» обозначается ( х)Р(х). Знак называется квантором существования.

Переход от Р(х) к ( х)Р(х) или ( х)Р(х) называется связыванием переменной х, или навешиванием квантора на переменную х (или на предикат Р), или квантификацией переменной х.

Переменная, на которую навешен квантор, называется связанной, несвязанная квантором переменная называется свободной.

Вставляя кванторы перед предикатами, мы как бы усиливаем или ослабляем их действие. Если выражение Р(х) – переменное

высказывание, зависящее от х, то выражения ( х)Р(х) или ( х)Р(х) не зависят от переменной х и при фиксированных значениях Р и М превращают одноместный предикат в высказывание.

Пример. Пусть х определен на множестве людей М, а Р(х)

предикат «х – смертен». Тогда выражение ( х)Р(х) означает «все люди смертны». Оно не зависит от переменной х, а характеризует всех людей в целом, т.е. выражает суждение относительно всех х множества М.

Выражение, на которое навешивается квантор, называется

областью действия квантора.

Пример. Пусть Р(х) – «х – четное число». Тогда высказывание ( х)Р(х) истинно на любом множестве М четных чисел и ложно, если

М содержит хотя бы одно нечетное число. Высказывание ( х)Р(х) истинно на любом множестве, содержащем хотя бы одно четное число, и ложно на любом множестве нечетных чисел.

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

Пример. Пусть Р(х) – « x y » – двухместный предикат на множестве М. Навешивая квантор общности x(x y) , получаем

одноместный предикат

от y – «для всех х из множества М

высказывание « x y »

истинно». Если

М – множество

положительных чисел, то этот предикат истинен в единственной точке y=0. Если навесим квантор на вторую переменнуюx y(x y), то тогда истинность получим лишь на множестве,

состоящем из одного элемента.

При перестановке кванторов общности и существования меняется смысл высказывания, т.е. кванторы не обладают в общем случае свойством коммутативности.

Пример. Пусть предикат Р(х,y) описывает отношение « х любит y». Рассмотрим предложения, соответствующие различным вариантам навешивания кванторов:

1) х yP(x, y) – «для любого человека х существует человек y, которого он любит» или «всякий человек кого-нибудь любит»;

2)y xP(x, y) – «существует такой человек y, что его любят все х»;

3)y xP(x, y) – «для всякого человека существует человек, который

его любит» или « каждого человека кто-то любит»;

4) x yP(x, y) – «существует человек, который любит всех людей».

Множеством истинности предиката P(x1, x2,..., xn ), заданного над множествами M1,M2,...,Mn , называют совокупность упорядоченных наборов (a1,a2,...,an ) M1 M2 ... Mn , таких, что

данный предикат обращается в истинное высказывание P(a1,a2,...,an )

при подстановке x

a ,..., x

n

a

n

. Обозначается Р+.

1

1

 

 

Пример. Рассмотрим

 

квадратное уравнение x2 4x 4 0.

Выражение можно рассматривать как одноместный предикат, где

М=R. Так как x2 4x 4 0 (x 2)2

(x 2)(x 2) 0, то

P 2 .

 

Область определения предиката может искусственно уменьшаться, если это диктуется контекстом задачи.

Пример.

Выражение «(x 1)(x 2)(x

2) 0» можно

рассматривать на следующей области определения:

 

1) М=N, тогда

P 1 ; 2) М=Z, тогда P 1, 2 ; 3) М=R, тогда

P 1, 2, 2 .

 

 

Пример. Найти множество истинности предиката « x2 y2 0»,

если M1 3, 2, 1,0,1,2,3 ;

M2

3,1,2 .

 

 

 

Решение.

 

 

 

 

 

 

 

 

Множеством истинности этого предиката будет подмножество

декартова

произведения

множеств М1 М2 ,

т.е.

множество,

состоящее

из

 

всех таких

упорядоченных

пар

(x1, x2 ), что

x M

; x M

2

и

x2 y2 0.

 

 

 

1

1

2

 

 

 

 

 

 

 

Р ( 3, 3), ( 3,1), ( 3,2), ( 2, 3), ( 2,1), ( 1, 3), (0, 3), (1, 3), (2, 3)

Предикаты называются:

тождественно истинными, если М=Р+;

тождественно ложными, если Р+= ;

выполнимыми (опровержимыми), если Р+(если М–Р+≠ ).

Пример. Исследуем на выполнимость трехместный предикат

xP(x, y, x) .

Рассмотрим множество натуральных чисел с нулем N0.

Если Р – предикат суммы S, то для формулыxS(x, y, x)существует подстановка константы вместо свободной

переменной y=0, при которой формула

xS(x,0, x)

становится

истинной.

 

 

Если Р – предикат произведения

П, то для

формулы

(x, y, x)существует подстановка константы вместо свободной переменной y=1, при которой формула (x,1, x) становится истинной. Таким образом, предикат xP(x, y, x) выполним, так как

Р+≠ .

Два n-местных предиката P и Q , заданных на одном и том же множестве М М1 М2 ... Мn , называются равносильными, если

Р+=Q+ . Обозначается P Q.

Предикат Q называется следствием предиката Р, если и только если Р Q . Обозначается P Q.

Пример. Рассмотрим два предиката P(x) – « x2 1» и Q(x )– «(x 1)(x 2)(x 1,5)(x 1) 0».

На множестве N P Q 1 , т.е. предикаты равносильны. На множестве Z P Q 1,1 , т.е. предикаты равносильны.

На множестве R P 1,1 ,

Q 1,1,

2, 1,5 , т.е.

предикаты не равносильны.

Формулы логики предикатов

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

1.Каждая 0-местная предикатная переменная есть формула.

2.Всякий n-местный предикатный символ Р(х1, х2 ,..., хn ) есть

формула, в котором предметные переменные x1, x2,..., xn

являются свободными переменными.

3. Если F1 и F2 – формулы, то F, F1 F2, F1 F2, F1 F2 также формулы.

4.Если F – формула со свободной переменной х, то (х)(F) и (x)(F) также формулы со связанной переменной х.

5.Других формул в логике предикатов, кроме перечисленных, нет.

Формулы, перечисленные в пп. 1–2, элементарные, остальные

составные.

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

Решение.

Имеем составное высказывание, являющееся формулировкой свойства транзитивности отношения делимости целых чисел: «если а делится на b и b делится на с, то а делится на с».

Введем простые высказывания: P(a,b) – « а делится на b», Р(b,c)

– « b делится на с», P(a,c) – « а делится на с». Тогда транзитивное свойство, записанное формулой логики предикатов, будет иметь вид

(P(a,b) P(b,c)) P(a,c).

Формула логики предикатов превращается в конкретный предикат при подстановке вместо всех ее предикатных переменных конкретных предикатов.

Формула логики предикатов называется выполнимой (опровержимой) на множестве М, если при некоторой подстановке вместо предикатных переменных конкретных предикатов, заданных на М, она обращается в выполнимый (опровержимый) предикат.

Пример. Определить выполнимость формул

(x)(y)(P(x) P(y));(x)(Р(х) Р(y)) .

Решение.

Пусть область определения – N0, Р(х) означает «х – четное число». Тогда формула ( x)( y)(P(x) P(y)) превращается в

высказывание «Среди натуральных чисел существуют как четные, так

и нечетные

числа», которое истинно. Следовательно, формула

выполнима.

Формула

( x)(Р(х) Р(y))

превращается

в

высказывание «Любое натуральное число одновременно является четным и нечетным», которое ложно. Следовательно, формула опровержима на N0.

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

Пример. Доказать тождественную истинность формулыx((P(x) Q(x)) P(x)).

Доказательство. Предположим противное. Пусть формула ложна, т.е. не для всех х (P(x) Q(x)) P(x) истинно. Тогда

существует константа а М , подстановка которой в формулу сделает ее ложной, т.е. (Р(а) Q(a)) P(a) 0. Это возможно лишь тогда,

когда Р(а)=0 (правая часть импликации), а Р(a) Q(a) 1 (левая

часть), но последнее требует, чтобы Р(а)=1 и Q(a)=1. Таким образом, требуется, чтобы существовала константа а в области М такая, что Р(а)=0 и Р(а)=1, что невозможно.

Принятое предположение относительно ложности формулы привело к противоречию, поэтому оно неверно и, следовательно, формула x((P(x) Q(x)) P(x)) тождественно истинна.

Формула логики предикатов называется тавтологией, если при подстановке вместо предметных переменных любых предикатов, заданных на каких угодно множествах, она превращается в тождественно истинный предикат.

Заметим, что в алгебре высказываний есть общий метод определения, является ли формула тавтологией или нет – составление таблиц истинности. В логике предикатов такого общего метода нет (доказано в 1936 г. А.Черчем). Полезно знать основные тавтологии

логики предикатов:

( y)( x)(F(x, y)) ( x)( y)(F(x, y); ( x)( f (x)) F(t); F(t) ( x)(F(x)).

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