Преобразование логических выражений
Логическая формула имеет нормальную форму, если в ней отсутствуют знаки эквивалентности, импликации, двойного отрицания, при этом знаки отрицания находятся только при переменных.
Основные формулы преобразования логических выражений:
А А.
( А В) А + В.
( А + В) А В.
А В А + В.
А В А В + А В.
А В А В + А В.
А В В А.
А + В В + А.
А + (В + C) (A + В) + C.
А (В C) (A В) C.
А (В + C) A В + A C.
А + (В C) (A + В) (A + C).
A + A B A.
А + А А.
А А А.
А + 1 1.
А 1 А.
А + 0 A.
А 0 0.
А + А 1.
А А 0.
Задача. Упростить следующую логическую формулу:
.
Составление логических схем
Удобным способом представления логических выражений являются схемы: переключательные, логические и др.
З адача 1. Составить переключательную схему, соответствующую логическому выражению АВ + СВ.
П ереключательная схема включает в себя элементы параллельного и последовательного соединений. Параллельное соединение соответствует операции ИЛИ, а последовательное – операции И.
Задача 2. Составить по данной схеме логическое выражение и упростить его.
С оставим логическое выражение: (А + В)(В + СА).
У простим его: (А + В)(В + СА) АВ + АСА + ВВ + ВСА АВ + 0 + + 0 + ВСА АВ + ВСА.
Задача 3. Составить логическое выражение F по данной схеме.
F
В данной логической схеме логические операции И, ИЛИ, НЕ представлены соответствующими обозначениями. Логическое выражение будет следующим:
F = АВ (В + С).
Задача 4. Вычислить значение F, если А=истина, В=ложь.
Подставим на схеме значения логических переменных А и В, обозначив 1 – истина, 0 – ложь, и вычислим значение F.
З адача 5. Составить логическую схему по данному логическому выражению: F = А + В(С + А).
Задача 6. По данной комбинационной схеме устройства составить логическое выражение F.
В данной схеме использованы следующие обозначения: & – конъюнкция, 1 – дизъюнкция, – эквивалентность, М2 – сложение по модулю 2, – отрицание.
F = (А B B) (A A+B).
Логические задачи
При решении логических задач вначале обозначают простые высказывания как логические переменные латинскими буквами, затем составляют логические выражения и упрощают их с помощью формул преобразования логических выражений (см. выше).
Задача 1. Кто из учеников А, В, С и D играет, а кто не играет в шахматы, если известно следующее:
а) если А или В играет, то С не играет;
б) если В не играет, то играют С и D;
в) С играет.
Решение. Определим следующие простые высказывания:
А – «Ученик А играет в шахматы»;
В – «Ученик В играет в шахматы»;
С – «Ученик С играет в шахматы»;
D – «Ученик D играет в шахматы».
Запишем сложные высказывания, выражающие известные факты:
а) ;
б) ;
с) С.
Запишем произведение указанных сложных высказываний:
.
Упростим эту формулу:
Ответ. В шахматы играют ученики C и D, а ученики A и B – не играют.
Задача 2. Один из трех братьев поставил на скатерть кляксу. На вопрос “Кто это сделал?” получены такие ответы:
1. Алеша: “Витя не ставил кляксу. Это сделал Боря.”
2. Боря: “Это Витя поставил кляксу. Алеша не пачкал скатерть.”
3. Витя: “Боря не мог этого сделать. Я сегодня не готовил уроки.”
Оказалось, что двое мальчиков в каждом из двух своих заявлений сказали правду, а один оба раза сказал неправду. Кто поставил кляксу?
Введем обозначения:
А – «Алеша поставил кляксу»;
В – «Боря поставил кляксу»;
V – «Витя поставил кляксу».
Запишем теперь суждения мальчиков формулами:
1 . V B.
2 . V A.
По словам Вити, он не делал сегодня уроки, но это не означает, что он не мог поставить кляксу. Поэтому
3 . B (V+V), т.е. В.
По условию задачи, две формулы истинны, а одна ложна. Следовательно, получим
F =(VB)(VA)B+(VB)(VA)B+(VB)(VA)B.
Преобразуем данное логическое выражение:
F = VBVAB + VBVAB + VBVAB = 0 + 0 + (V +B)VAB =
= (V+B)VAB = VVAB + BVAB = VAB + VAB = VAB.
Таким образом, кляксу поставил Витя.