Алгебра логики

Алгебра логики

Реферат выполнили ученики 10 класса «В» Криницин Валерий, Урбанович Дмитрий

Министерство науки УР

Средняя школа № 12

Сарапул, 2004 г.

1. Введение

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

В реферате будут рассмотрены следующие вопросы:

1) Возникновение логики.

Здесь приводится краткая историческая справка возникновения логики как науки.

2) Булевы функции.

Здесь будут рассмотрены особые математические функции от логических аргументов.

3) Преобразование выражений, состоящих из булевых функций.

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

4) Нахождение исходного выражения по его значениям.

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

5) Применение в вычислительной технике и информатике.

2. Алгебра логики.

Возникновение логики.

Понятие логики как науки появилось ещё в  XIX в., т.е. задолго до появления науки информатики и компьютеров. Элементы математической логики можно найти уже в работах древнегреческих философов. В XVII в. Г. В. Лейбниц высказал идею о том, что рассуждения могут быть сведены к механическому выполнению определенных действий по установленным правилам. Однако как самостоятельный раздел математики логика начала формироваться только с середины XIX в..

Для того чтобы рассуждать, человеку необходим какой-либо язык. Не удивительно, что математическая логика начиналась с анализа того, как говорят и пишут люди на естественных языках. Этот анализ привёл к тому, что выяснилось существование формулировок, которые невозможно разделить на истинные и ложные, но, тем не менее, выглядят осмысленным образом. Это приводило к возникновению парадоксов, в том числе в одной из фундаментальных наук математики. Тогда было решено создать искусственные формальные языки, лишённого «вольностей» языка естественного.

Булевы функции.

Пусть имеется некоторый набор высказываний, о которых можно говорить определённо, что они истинные или ложные. Обозначим их латинскими буквами A, B, C, D … .

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

- знак дизъюнкции v 

- знак конъюнкции & (иногда используется ^)

Таким образом, из утверждений A, B с помощью знаков дизъюнкции и конъюнкции получим новые утверждения:

- A v B («A или B»)

- A & B («A и B»)

Утверждение A v B считается истинным тогда и только тогда, когда истинно хотя бы одно из исходных утверждений; утверждение A & B – когда истинны оба утверждения.

Дизъюнкцию и конъюнкцию можно рассматривать как особые операции, определённые не на числах, а на логических значениях ИСТИНА и ЛОЖЬ. Для этих операций существуют таблицы, подобные таблице умножения.

A

B

A v B

ИСТИНА

ИСТИНА

ЛОЖЬ

ЛОЖЬ



ИСТИНА

ЛОЖЬ

ИСТИНА

ЛОЖЬ



ИСТИНА

ИСТИНА

ИСТИНА

ЛОЖЬ



A

B

A & B

ИСТИНА

ИСТИНА

ЛОЖЬ

ЛОЖЬ



ИСТИНА

ЛОЖЬ

ИСТИНА

ЛОЖЬ



ИСТИНА

ЛОЖЬ

ЛОЖЬ

ЛОЖЬ





Логические значения ИСТИНА и ЛОЖЬ называют также булевыми значениями – в честь английского математика Джорджа Буля, который в XIX в. заложил основы современной математической логики. Функции с булевыми аргументами называют булевыми функциями. Всего булевых функций от 2 переменных – 16. Для всех булевых функций от двух переменных имеются соответствующие конструкции на русском языке. В информатике в основном используются следующие булевы функции:

- логическое ИЛИ (дизъюнкция)

- логическое И (конъюнкция)

- логическое отрицание («НЕ», обозначается ~ и противоположно своему аргументу)

- исключающее ИЛИ

Из этих основных складываются комбинированные функции: ИЛИ-НЕ, И-НЕ. Именно они получили наибольшее распространение в логической электронике, в компьютерах.

Преобразование выражений, состоящих из булевых функций.

В математической логике преобразование выше указанных выражений проводится для различных целей – от упрощения исходного до доказательства утверждений. В информатике же оно используется в основном для упрощения, ведь при производстве цифровой электроники, как и любого другого товара, требуются наименьшие затраты. Для упрощения булевых выражений используются те же методы, что и при упрощении алгебраических. Для начала была проведена аналогия между алгебраическими операторами от двух аргументов (сложение, вычитание, умножение и т.д.) и булевыми. Было выяснено, что умножение и логическое «И» обладают сходными свойствами:

- от перестановки мест аргументов результат не изменяется

A & B = B & A

- существует следующий закон

A & (B & C)  = (A & B) & C

Также существуют некоторые тождества, опирающиеся на особые свойства функции, например:

1) A & (~A) = ЛОЖЬ

2) (~A) & (~B) = ~ (A v B)

Аналогично, сложение и логическое «ИЛИ»:

- от перестановки мест аргументов результат не изменяется

A v B =  B v A

- существует следующий закон

(A v B) v С = A v (B v C)

- можно выносить общий множитель за скобки

(A & B) v (С & B) = B & (A v C)

И также некоторые собственные законы:

1) A v (~A) = ИСТИНА

2) (~A) v (~B) = ~ (A & B)

Когда вычисляется значение булевого выражения, то выполняется определённая очерёдность действий: на очерёдность влияют скобки, сначала считаются «И», затем «ИЛИ». Благодаря этой очерёдности возможно создание электронных цифровых схем.

Нахождение исходного выражения по его значениям.

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

X1

X2

X3

F

0

1

0

1

0

1

0

1

0

0

1

1

0

0

1

1

0

0

0

0

1

1

1

1

0

0

0

1

0

1

0

1



Составим для неё таблицу и условимся обозначать ИСТИНУ - 1, а ЛОЖЬ – 0.

Для начала выпишем все аргументы функции, при которых функция равна 1.

Это:

F (1, 1, 0) = 1

F (1, 0, 1) = 1

F (1, 1, 1) = 1

Теперь запишем 3 таких выражения (функция принимает значение 1 три раза), что они принимают значение 1 только при вышеуказанных значениях.

X1 & X2 & (~X3)

X1 & (~X2) & X3

X1 & X2 & X3

И запишем их логическую сумму:

(X1 & X2 & (~X3)) v  (X1 & (~X2) & X3) v (X1 & X2 & X3) – это выражение принимает значение 1 при тех же значениях, что и исходная функция. Полученное выражение можно упростить.

(X1 & X2 & (~X3)) v  (X1 & (~X2) & X3) v (X1 & X2 & X3) = 

= X1 & ((X2 & (~X3)) v ((~X2) & X3) v (X2 & X3)) = 

= X1 & ((X2 & (~X3)) v X3 & ((~X2) v X2)) =

= X1 & ((X2 & (~X3)) v X3) – эта формула несколько длиннее исходной, но намного проще полученной в первый раз. Дальнейшие пути упрощения более сложны и представляют большой интерес для проектировщиков интегральных микросхем, т.к. меньшее число операций требует меньшее число элементов, их которых состоит ИС.

Применение в вычислительной технике и информатике.

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

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

3. Заключение.

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

Список литературы

1. «Компьютер» Ю. Л. Кетков, изд. «Дрофа» 1997 г.

2. «Математика» Ю. Владимиров, изд. «Аванта+» 1998 г.