Элементы математической логики
История возникновения математической логики. Основное содержание, формулы, элементы, символы. Таблицы истинности, логические функции, основные логические операции. Законы логики и упрощение логических выражений. Решения задач по математической логике.
Рубрика | Математика |
Вид | реферат |
Язык | русский |
Дата добавления | 06.06.2012 |
Размер файла | 738,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
История возникновения математической логики
элемент математическая логика
Математическая логика тесно связана с логикой и обязана ей своим возникновением. Основы логики, науки о законах и формах человеческого мышления (отсюда одно из ее названий - формальная логика), были заложены величайшим древнегреческим философом Аристотелем (384--322 гг. до н. э.), который в своих трактатах обстоятельно исследовал терминологию логики, подробно разобрал теорию умозаключений и доказательств, описал ряд логических операций, сформулировал основные законы мышления, в том числе законы противоречия и исключения третьего. Вклад Аристотеля в логику весьма велик, недаром другое ее название - Аристотелева логика. Еще сам Аристотель заметил, что между созданной им наукой и математикой (тогда она именовалась арифметикой) много общего. Он пытался соединить две эти науки, а именно свести размышление, или, вернее, умозаключение, к вычислению на основании исходных положений. В одном из своих трактатов Аристотель вплотную приблизился к одному из разделов математической логики - теории доказательств.
В дальнейшем многие философы и математики развивали отдельные положения логики и иногда даже намечали контуры современного исчисления высказываний, но ближе всех к созданию математической логики подошел уже во второй половине XVII века выдающийся немецкий ученый Готфрид Вильгельм Лейбниц (1646 - 1716), указавший пути для перевода логики «из словесного царства, полного неопределенностей, в царство математики, где отношения между объектами или высказываниями определяются совершенно точно» . Лейбниц надеялся даже, что в будущем философы, вместо того чтобы бесплодно спорить, станут брать бумагу и вычислять, кто из них прав . При этом в своих работах Лейбниц затрагивал и двоичную систему счисления.
Следует отметить, что идея использования двух символов для кодирования информации очень стара. Австралийские аборигены считали двойками, некоторые племена охотников-сборщиков Новой Гвинеи и Южной Америки тоже пользовались двоичной системой счета. В некоторых африканских племенах передают сообщения с помощью барабанов в виде комбинаций звонких и глухих ударов. Знакомый всем пример двухсимвольного кодирования - азбука Морзе, где буквы алфавита представлены определенными сочетаниями точек и тире.
После Лейбница исследования в этой области вели многие выдающиеся ученые, однако настоящий успех пришел здесь к английскому математику-самоучке Джорджу Булю (1815--1864), целеустремленность которого не знала границ. Материальное положение родителей Джорджа (отец которого был сапожным мастером) позволило ему окончить лишь начальную школу для бедняков. Спустя какое-то время Буль, сменив несколько профессий, открыл маленькую школу, где сам преподавал. Он много времени уделял самообразованию и вскоре увлекся идеями символической логики. В 1847 году Буль опубликовал статью «Математический анализ логики, или Опыт исчисления дедуктивных умозаключений», а в 1854 году появился главный его труд «Исследование законов мышления, на которых основаны математические теории логики и вероятностей».
Буль изобрел своеобразную алгебру - систему обозначений и правил, применимую ко всевозможным объектам, от чисел и букв до предложений. Пользуясь этой системой, он мог закодировать высказывания (утверждения, истинность или ложность которых требовалось доказать) с помощью символов своего языка, а затем манипулировать ими, подобно тому, как в математике манипулируют числами. Основными операциями булевой алгебры являются конъюнкция (И), дизъюнкция (ИЛИ) и отрицание (НЕ).
Через некоторое время стало понятно, что система Буля хорошо подходит для описания электрических переключательных схем. Ток в цепи может либо протекать, либо отсутствовать, подобно тому, как утверждение может быть либо истинным, либо ложным. А еще несколько десятилетий спустя, уже в XX столетии, ученые объединили созданный Джорджем Булем математический аппарат с двоичной системой счисления, заложив тем самым основы для разработки цифрового электронного компьютера.
Отдельные положения работ Буля в той или иной мере затрагивались и до, и после него другими математиками и логиками. Однако сегодня в данной области именно труды Джорджа Буля причисляются к математической классике, а сам он по праву считается основателем математической логики и тем более важнейших ее разделов - алгебры логики (булевой алгебры) и алгебры высказываний.
Большой вклад в развитие логики внесли и русские ученые П.С. Порецкий (1846-1907), И.И. Жегалкин (1869-1947).
В XX веке огромную роль в развитии математической логики сыграл Д. Гильберт (1862-1943), предложивший программу формализации математики, связанную с разработкой оснований самой математики. Наконец, в последние десятилетия XX века бурное развитие математической логики было обусловлено развитием теории алгоритмов и алгоритмических языков, теории автоматов, теории графов (С.К. Клини, А. Черч, А.А Марков, П.С. Новиков и многие другие).
Основное содержание, формулы, элементы, символы
Алгебра логики (логика высказываний) - один из основных разделов математической логики, в котором методы алгебры используются в логических преобразованиях высказываний.
Высказывание - это термин математической логики, которым обозначается предложение какого-либо языка (естественного или искусственного), рассматриваемого лишь в связи с его истинностью. Например:
«Земля -- планета солнечной системы.» |
Истина |
|
«2+8<5» |
Ложь |
|
«Всякий квадрат есть параллелограмм.» |
Истина |
|
«Каждый параллелограмм есть квадрат.» |
Ложь |
Приведем примеры, предложений не являющихся высказываниями:
«Посмотрите в окно.»
«Который час?»
«2x+7>12»
Отличительным признаком любого высказывания является его свойство быть истинным или ложным, а этим свойством три вышеприведенных предложения не обладают.
Используя простые высказывания, можно образовывать сложные, или составные, высказывания, в которые простые входят в качестве элементарных составляющих. В образовании сложных высказываний используются слова: и, или, тогда и только тогда, когда (в том и только в том случае), если …, то …, нет.
Рассмотрим несколько примеров сложных высказываний:
«Если идет дождь, то солнце не светит.»
« Если ветер дует, то нет дождя.»
Основная задача логики высказываний заключается в том, чтобы на основании истинности или ложности простых высказываний определить истинность или ложность сложных высказываний.
Таблицы истинности. Логические функции. Основные логические операции
Условимся, простые высказывания называть логическими переменными и обозначать большими буквами и, если высказывание истинно, будем писать A=1, а если ложно, то A=0.
Использование 0 и 1 подчеркивает некоторое соответствие между значениями логических переменных и функций в алгебре логики и цифрами в двоичной системе счисления. Это позволяет описывать работу логических схем ЭВМ и проводить их анализ и синтез с помощью математического аппарата алгебры логики.
Любое устройство ЭВМ, выполняющее действия над двоичными числами, можно рассмотреть как некоторый функциональный преобразователь. Причем числа на входе - значения входных логических переменных, а число на выходе - значение логической функции, которое получено в результате выполнения определенных операций. Таким образом, этот преобразователь реализует некоторую логическую функцию.
Значения логической функции для разных сочетаний значений входных переменных - или, как это иначе называют, наборов входных переменных - обычно задаются специальной таблицей. Такая таблица называется таблицей истинности. Количество наборов входных переменных (Q) можно определить по формуле:
Q=2n, где n -- количество входных переменных.
Простейшим примером логической функции является функция одной переменной
Интересной является только функция F2(X). О ней мы говорим чуть позже.
Функции двух аргументов. Их может быть 16.
Если у функции 3 аргумента, то число возможных функций возрастает до 256, поэтому более сложные логические функции задаются с помощью простых функций одного или двух аргументов. Для выражения сложных логических функций используют более простые, и оказывается, что можно использовать не все элементарные функции, а только часть.
Рассмотрим подробнее наиболее интересные логические функции одной и двух переменных.
Логическое умножение. (conjunctio - лат. связываю) Соединение двух простых высказываний A и B в одно составное с помощью союза «и» называют логическим умножением или конъюнкцией, а результат операции -- логическим произведением.
Указание о логическом перемножении простых высказываний A и B обозначается так:
Например:
В русском языке в качестве операции «логическое умножение» помимо союза «и» используются союзы «но» и «а».
Конъюнкция двух логических переменных истинна тогда и только тогда, когда оба высказывания истинны.
Это определение можно обобщить для любого количества логических переменных, объединенных конъюнкцией. только если
Таблица истинности конъюнкции имеет следующий вид:
Следующие логические законы можно назвать свойствами конъюнкции.
Закон противоречия.
Закон равносильности (идемпотентности, idem - лат. тот же самый; potens - лат. сильный)
Закон исключения констант
Логическое сложение. (disjunctio - лат. различаю) Перед тем как привести определение этой операции, дадим некоторые разъяснения. Союз «или» в обиходе мы применяем в двух значениях: исключающем и неисключающем. Разъясним это примерами.
1. Рассмотрим повествовательное предложение: «Володя вчера в шесть часов вечера читал книгу или ехал в автобусе на стадион.» Союз «или» использован в этом предложении в неисключающем смысле -- Володя мог читать и одновременное ехать в автобусе. Одно не исключает другого.
2. Рассмотрим еще одно повествовательное предложение. «Володя вчера наблюдал за ходом матча с западной или восточной трибуны.» Здесь союз «или» имеет исключающий характер -- две описываемые ситуации исключают друг друга: нельзя наблюдать один и тот же матч одновременно с двух противоположных трибун.
Соединение двух простых высказываний A и B в одно составное с помощью союза «или», употребляемого в неисключающем смысле, называется логическим сложением или дизъюнкцией, а полученное составное высказывание -- логической суммой.
Указание о необходимости выполнить логическое сложение высказываний A и B записывается так:
Дизъюнкция двух логических переменных ложна тогда и только тогда, когда оба высказывания ложны.
Это определение можно обобщить для любого количества логических переменных, объединенных дизъюнкцией. А+В+С=0, только если , А=0, В=0, С=0.
Таблица истинности дизъюнкции имеет следующий вид:
Следующие логические законы можно назвать свойствами дизъюнкции.
Закон противоречия.
Закон равносильности (идемпотентности idem - лат. тот же самый; potens - лат. сильный) А+А=А
Закон исключения констант А+1=1, А+0=А
Логическое отрицание. (inversio - лат. переворачиваю) Присоединение частицы «не» к сказуемому данного простого высказывания A называется операцией логического отрицания или инверсией. Обозначается A или A¬.
Иногда вместо приведенного определения используют другое, ему эквивалентное: присоединение слов «Неверно, что …» ко всему данному высказыванию A называется операцией логического отрицания. В результате выполнения операции логического отрицания получается новое высказывание.
Инверсия логической переменной истинна, если сама переменная ложна, и, наоборот, инверсия ложна, если переменная истинна.
Таблица истинности инверсии имеет вид:
Закон двойного отрицания
Импликация. (implicatio - лат. тесно связываю) или логическое следование соответствует обороту «если…, то…», обозначается
A={Поезд прибывает на данный путь.}
B={Подается сигнал, что путь закрыт.}
Рассматриваемое сложное высказывание истинно, если:
1) поезд прибывает, сигнал «закрыт» (1, 1, 1);
2) поезд не прибывает, сигнал «свободен» (0, 0, 1);
3) поезд не пребывает, сигнал «закрыт» (0, 0, 1) - если поезд не пребывает, безопасен любой сигнал;
4) высказывание ложно (безопасность не обеспечивается) только в том случае, если поезд прибывает, а сигнал «свободен» (1, 0, 0).
Операция импликации в русском языке является самой «загадочной». Ей соответствую также следующие речевые обороты: «из А следует В»; «А имплицирует В»; «А достаточно для В»; «В необходимо для А».
Эквивалентность. (aequivalens - фр. равноценное) или равнозначность, соответствует оборотам речи «тогда и только тогда» и «в том и только в том случае», обозначается, или или
Выражение истинно в том и только в том случае, когда оба исходных высказывания одновременно истинны или одновременно ложны.
«Петя выучит уроки тогда и только тогда, когда Пете поставят хорошую отметку.»
В русском языке операции эквивалентности также соответствует речевой оборот «A необходимо и достаточно B».
Представление эквивалентности через конъюнкцию, дизъюнкцию и инверсию
Строгая дизъюнкция или Сложение по модулю «2», соответствует оборотам речи «или…, или…» или «либо…, либо…», и обозначается
Законы логики. Упрощение логических выражений
Если у двух логических функций совпадают таблицы истинности, то есть на всех наборах значений входных переменных они принимают одинаковое значение, то их называют равносильными или эквивалентными. Это обозначается знаком =.
Логические функции, истинные на всех наборах значений входных переменных, называются тождественно-истинными.
Логические функции, ложные на всех наборах значений входных переменных, называются тождественно-ложными.
Среди многочисленных законов логики есть четыре основных. Для трех из них можно найти аналогию в алгебре чисел.
Для упрощения логических функций удобно использовать формулы склеивания и поглощения.
Используя законы логики, формулы склеивания и поглощения и свойства логических операций, можно сложную логическую функцию заменить более простой, но равносильной ей функцией. Этот процесс называется минимизацией функции. Минимизация необходима для того, чтобы функциональные схемы не были слишком громоздкими и не использовали лишних элементов. Чем меньше в функции, получаемой при минимизации, входных переменных и используемых логических операций, тем проще логическая схема, меньше в ней логических элементов. Минимизация необходима и при составлении сложных логических выражений в программах.
Примеры решения задач по математической логике
Пример 1.
Расставить скобки в формулах:
1 ) xЃЙy - z?x ; 2) xvyЃЙz ; 3) x?y) - z>x ЃИ yЃЙ¬z .
Решение:
1 ) в формуле xЃЙy - z?x скобки расставляются следующим образом:
((xЃЙy) - (z?x));
2) т.к. операция v сильнее операции ЃЙ согласно замечанию имеем ((xvy)ЃЙz);
3) в формуле (x?y) - z>x ЃИ yЃЙ¬z используя введенное старшинство связок, получаем, что данная формула равносильна ((x?y) - (z>((x ЃИ y)ЃЙ(¬z)))).
Пример 2.
Составить таблицы истинности для формул:
а) x - y > ( y ? x); б) x | (( y ЃЙ z ) v x ЃИ z ).
Решение:
а) используя введенное старшинство связок, получим, что данная формула равносильна x - (y > (y ? x)) , а таблица истинности примет вид:
б) составим таблицу истинности для формулы x | (( y ЃЙ z ) v x ЃИ z )
Формула называется тождественно истинной (ложной), если она принимает значение 1 (0) при всех значениях входящих в нее переменных.
Пример 3
Является, ли формула ((х > у) ЃИ у) > х тождественно истинной?
Формула равна 1 при всех значениях входящих в нее переменных, следовательно, она тождественно истинная (тавтология).
Пример 4
После обсуждения состава участников предполагаемой экспедиции было решено, что должны выполняться два условия:
а) если поедет Арбузов, то должны поехать еще Брюквин или Вишневский;
б) если поедут Арбузов и Вишневский, то поедет и Брюквин.
Требуется установить, кто из перечисленных сотрудников войдет в состав экспедиции.
Решение.
Назначение в экспедицию Арбузова, Брюквина и Вишневского будем обозначать буквами А, Б, В соответственно.
Тогда условие а) можно записать в виде А>БЃЙВ, а условие б) в виде А&В> Б.
Так как оба условия должны выполняться одновременно, то они должны быть соединены
логической связью «и». Поэтому принятое решение можно записать в виде формулы
L=(А>БЃЙВ)&(А&В>Б) эта формула должна быть истинной.
Подвергнем формулу L равносильным преобразованиям, получим:
L=( А ЃЙБЃЙB)&(A & BЃЙВ)=( А ЃЙБЃЙB)&( А ЃЙ В ЃЙБ).
Применяя к последнему выражению второй закон дистрибутивности, получим
L= А ЃЙ[(БЃЙВ)&(БЃЙ В )] = А ЃЙ[БЃЙ(B&В )] = А ЃЙБ=A>Б.
Отсюда следует, что если поедет в экспедицию Арбузов, то с ним должен ехать и Брюквин.
Пример 5.
Жили четыре друга. Звали их Альберт, Карл, Дитрих и Фридрих. Фамилии друзей те же, что и имена, только так, что ни у кого из них имя и фамилия не были одинаковыми, кроме того, фамилия Дитриха не Альберт. Определите фамилию и имя каждого мальчика, если дано, что имя мальчика, у которого фамилия Фридрих, есть фамилия того мальчика, имя которого фамилия Карла.
Решение.
Будем обозначать имя и фамилию каждого мальчика двумя буквами в виде Ху, где «X» - первая буква имени, а «у» - первая буква фамилии. Из условия задачи следует, что нет мальчиков, соответствующих символам Аа, Дд, Кк, Фф, Да, то есть высказывания
Аа=Дд=Кк=Фф=Да=0. Но есть мальчик Ху такой, что есть мальчики Уф, Кх. Следовательно, истинной является формула Кх&Ху&Уф=1.
Но Х?К, так как Кк=0; Х?Ф, так как иначе будет два мальчика с фамилией Ф. Аналогично, У?К, У?Ф. Следовательно, или X=Д, или Х=А. Но X?Д, так как при Х=Д, У=А и, значит, Ху =Да, что противоречит условию. Значит, Х=А, а У=Д. Поэтому истинной является формула Ка&Ад&Дф&Фк.
Следовательно, мальчики с именами Карл, Альберт, Дитрих и Фридрих имеют фамилии соответственно Альберт, Дитрих, Фридрих и Карл.
Применение математической логики
Объединение математико-логической установки с иными математическими подходами, прежде всего с вероятностно-статистическими идеями и методами - на фоне глубокого интереса к вычислительным приборам, - было во многом определяющим в формировании замысла кибернетики, как комплексного научного направления, имеющего своим предметом процессы.
В ряде случаев используется технический аппарат математической логики (синтез релейно-контактных схем); сверх того, что особенно важно, идеи математической логики это, конечно же, в теории алгоритмов, но также и всей науки в целом и свойственный ей стиль мышления оказали и продолжают оказывать очень большое влияние на те своеобразные области деятельности, содержанием которых является автоматическая переработка информации (информатика), использование в криптографии и автоматизация процессов управления (кибернетика).
Информатика - это наука, которая изучает компьютер, а также взаимодействие компьютера с человеком.
Строительство логических машин - интересная глава истории логики и кибернетики. В ней запечатлены первые проекты создания искусственного разума и первые споры о возможности этого.
Идея логических машин появилась в 13 веке у испанского схоластика Раймунда Луллия, рассматривалась затем Лейбницем и получило новое развитие в 19 веке, после возникновения математической логики. В 1870 году английский философ и экономист Вильям Стэнли Джевонс построил в Манчестере “логическое пианино”, которое извлекало из алгебраически записанных посылок следствия, выделяя допустимые комбинации терминов. Это называют также разложением высказываний на конституанты. Важно отметить возможность практического применения логической машины для решения сложных логических задач.
Современные универсальные вычислительные машины являются вместе с тем логическими машинами. Именно введение логических операций сделало их такими гибкими; оно же позволяет им моделировать рассуждения. Таким образом, арифметическая ветвь “разумных автоматов” соединились с логической. В 20-е годы, однако, формальная логика представлялась слишком абстрактной о метафизической для приложения к жизни. Между тем уже тогда можно было предвидеть внедрение логических исчислений в технику.
Математическая логика облегчает механизацию умственного труда. Нынешние машины выполняют гораздо более сложные логические операции, нежели их скромные прототипы начала века.
Проблема искусственного разума сложна и многогранна. Вероятно, не ошибёмся, если скажем, что окончательные границы механизации мысли можно установить лишь экспериментальным путём. Заметим ещё, что в современной кибернетики обсуждается возможность моделирования не только формальных, но и содержательных мыслительных процессов.
Математическая логика в технике
Роль логической обработки бинарных данных на современном этапе развития вычислительной техники существенно возросла. Это связано, в первую очередь, с созданием технически систем. реализующих в том или ином виде технологии получения и накопления знаний, моделированием отдельных интеллектуальных функций человека. Ядром таких систем являются мощные ЭВМ и вычислительные комплексы. Кроме того, существует большой класс прикладных задач, которые можно свести к решению логических задач, например, обработка и синтез изображений, транспортные задачи. Требуемая производительность вычислительных средств достигается путем распараллеливания и конвейеризации вычислительных процессов. Это реализуется, как правило, на основе сверхбольших интегральных, схем (СБИС). Однако технология СБИС и их структура предъявляет ряд специфических требований к алгоритмам, а именно: регулярность, параллельно - поточная организация вычислений, сверхлинейная операционная сложность (многократное использование каждого элемента входных данных), локальность связей вычислений, двумерность пространства реализации вычислений. Эти требования обусловливают необходимость решения проблемы эффективного “погружения” алгоритма в вычислительную среду, или, как еще принято говорить, - отображение алгоритма в архитектуру вычислительных средств. В настоящее время доказана ошибочность ранее широко распространенных взглядов, состоящих в том, что переход на параллельно -конвейерные архитектуры ЭВМ потребуют лишь небольшой модификации известных алгоритмов. Оказалось, что параллелилизм и конвейеризация вычислительных процессов требует разработки новых алгоритмов даже для тех задач, для которых существовали хорошо изученные и апробированные методы и алгоритмы решения, но ориентированные на последовательный принцип реализации. По прогнозам специалистов, в ближайшее десятилетие следует ожидать появления новых концепций построения вычислительных средств. Основанием для прогнозов являются результаты проводимых в настоящее время перспективных исследований, в частности, в области биочипов и органических переключающих элементов. Некоторые направления ставят своей целью создание схем в виде слоев органических молекул и пленок с высокоразвитой структурой. Это позволит, по мнению исследователей, “выращивать” компьютеры на основе генной инженерии и усилить аналогию между элементами технических систем и клетками мозга. Тем самым реальные очертания приобретают нейрокомпьютеры, которые имитируют интеллектуальные функции биологических объектов, в том числе человека. По-видимому, молекулярная электроника станет основой для создания ЭВМ шестого поколения. Все это объективно обусловливает интенсивные работы по методам синтезов алгоритмов обработки логических данных и их эффективному погружению в операционную среду бинарных элементов. Очевидно, что бинарные элементы и бинарные данные наиболее полно соответствуют друг другу в плане представления и обработки последних на таких элементах, если рассматривать их по отдельности. Действительно, положим, алгебра логики над числами (0,1) реализуется на бинарном элементе полном использовании его операционного ресурса. Другими словами, ставится вопрос об эффективности, а иногда вообще возможности реализации данного алгоритма на такой сети (структуре). В этом состоит суть погружения алгоритма в структуру.
Математическая логика в криптографии
Криптография изучает методы пересылки сообщений в замаскированном виде, при которых только намеченные отправителем получатели могут удалить маскировку и прочитать сообщение. Общая схема защиты информации представлена на рисунке 2. Этап кодирования от ошибок основан на внесении в передаваемое сообщение избытка информации, достаточного для преодоления помех на линии связи. Например, допустим, передается последовательность символов типа “0” и “1”. При этом в сети связи с некоторой вероятностью могут происходить ошибки приема сигнала “0 “ вместо сигнала “1” или наоборот, тогда кодер на каждый символ ai сообщения передает пятью импульсами 00000, если ai -0 и наоборот. На приемном конце принимаемая последовательность импульсов разбивается по пять импульсов, называемая блоками. Если в принятом блоке содержится 2 и менее импульса 0, то принимается решение о том, что передавался символ ai-1. Таким образом, исходная вероятность ошибки будет значительно снижена. Более элегантные методы кодирования, которые при достаточной надежности позволяют вносить не такой большой избыток информации. Для выражения в информации требуется ввести некоторый алфавит, из которого будет состоять сообщение (конечные упорядоченные множества из этих символов). Обозначим через A - мощность выбранного алфавита. Будем также считать, что все множества информации или , что то же самое, множество всевозможных сообщений конечно. В качестве меры информации в сообщении данной длины можно взять Log2 от числа всевозможных сообщений конечно. Тогда объем информации, падающий на один символ алфавита X=log2a. Далее имеем дело со словами длинной S, тогда всего таких слов будет N=AS (декартова S- степень алфавита), а следовательно, количество информации в слове Y=Log2N=Log2As=SX. Львиную долю криптоанализа составляют методы, построенные на вероятностном анализе криптограммы и предлагаемого исходного языка. Поскольку всякий обычный язык имеет избыток информации, причем неравномерно размешенных в словах , то буквы алфавита этого языка могут иметь устойчивые частные характеристики. Например, в английском языке - это часто повторяющая буква “e”, кроме того, частотными характеристиками могут быть буквосочетания и их комбинации. Общая схема криптосистемы с секретным ключом изображена на рисунке 3. Здесь Х - открытый текст, Y- шифр текста, K - ключ шифра, R - рандомизирующая последовательность.
Математическая логика в программировании
Функция одного аргумента - это правило, ставящее соответствие любому значению, лежащему в области изменения этого аргумента (которая будет и областью определения этой функции), другую величину, лежащую в области значений функции.
Понятие функции было перенесено в языки программирования. В языке программирования, как правило, предусмотрен ряд встроенных функций, например sin, cos, sqrt и т.д. Кроме того, программист имеет возможность определять свои собственные функции. Они могут работать не только с вещественными числами, но и с различными типами данных, включающими обычно integer (целое), real (вещественное), boolean (булевское), character (строковое). Они могут также работать со структурами. В языках Паскаль, Алгол=68 и ПЛ/1 имеются, например, типы records (записи), arrays (массивы), lists (списки), files of records (файлы, состоящие из записей), а значениями функций могут быть указатели этих структур. Все это согласовано с понятием области определения, вне которой функция не определена. В языках программирования эта область задана обычно указанием типа данных, который является некоторым множеством величин. Так, в Паскале компилятор должен следить за тем, чтобы никакая функция не применялась к величине неподходящего типа, которая могла бы выйти за пределы области определения функции.
Функция многих аргументов. Теперь нужно обобщить определение, чтобы охватить функции многих аргументов. Для этого соберем n аргументов в упорядоченный набор, который будем рассматривать как один аргумент. Возьмем функцию вычитания diff(x.y). Трактуется ее как отображение пар <х,у> в целые числа. В виде множества упорядоченных пар ее можно записать следующим образом:diff = {«5,3>, 2>. «6,3>, 3>, «4,5>, -1>...} Если бы вместо этого у нас была функция четырех аргументов h(x,y,z,w), то использовали бы отображение, определенное на четверках <x,y,z,w>. Этот прием используется и в программировании. Если необходимо уменьшить количество аргументов процедуры или функции (причем все они имеют один и тот же тип), то в Фортране можно записать эти значения в массив и передать в качестве параметра этот массив, а не отдельные значения. В более общем случае (например, в Паскале), когда аргументам разрешается иметь различные типы, можно передать в качестве параметра запись и хранить значения в виде отдельных компонент этой записи. В действительности набор, состоящий из n элементов в математике соответствует записи в программировании. Каждая из ее компонент берется из своей отдельной области, как и в случае записи. Единственное отличие состоит в том, что компонента определяется своим расположением (позицией), а не именем. Реляционная модель данных работает с множествами упорядоченных наборов, которые соответствуют файлам записей, хранящимся в машине. Также математическая логика используется и в других областях информатики - это в разработке в области моделирования и автоматизации интеллектуальных процедур - направление так называемого искусственного интеллекта.
Размещено на Allbest.ru
Подобные документы
История возникновения и развития математической логики как раздела математики, изучающего математические обозначения и формальные системы. Применение математической логики в технике и криптографии. Взаимосвязь программирования и математической логики.
контрольная работа [50,4 K], добавлен 10.10.2014Основы формальной логики Аристотеля. Понятия инверсии, конъюнкции и дизъюнкции. Основные законы алгебры логики. Основные законы, позволяющие производить тождественные преобразования логических выражений. Равносильные преобразования логических формул.
презентация [67,8 K], добавлен 23.12.2012Логическая переменная в алгебре логики. Логические операции: отрицание, конъюнкция, дизъюнкция, импликация, эквивалентность. Основные законы алгебры логики. Правила минимизации логической функции (избавление от операций импликации и эквивалентности).
курсовая работа [857,2 K], добавлен 16.01.2012Определение формулы исчисления высказываний, основные цели математической логики. Построение формул алгебры высказываний. Равносильность формул исчисления высказываний, конъюнктивная и дизъюнктивная нормальная форма. Постановка проблемы разрешимости.
контрольная работа [34,3 K], добавлен 12.08.2010Алгебра логики, булева алгебра. Алгебра Жегалкина, педикаты и логические операции над ними. Термины и понятия формальных теорий, теорема о дедукции, автоматическое доказательство теорем. Элементы теории алгоритмов, алгоритмически неразрешимые задачи.
курс лекций [652,4 K], добавлен 29.11.2009Операции над логическими высказываниями: булевы функции и выражение одних таких зависимостей через другие. Пропозициональные формулы и некоторые законы логики высказываний. Перевод выражений естественного языка на символическую речь алгебры логики.
контрольная работа [83,3 K], добавлен 26.04.2011Логические константа и переменная. Последовательность выполнения логических операций в логических формулах. Логическая информация и основы логики. Общие, частные и единичные высказывания. Старшинство логических операций. Импликация и эквивалентность.
курсовая работа [1,0 M], добавлен 27.04.2013Применение методов математической логики и других разделов высшей математики в задачах теоретической лингвистики при анализе письменной речи на русском и английском языках. Исследование и распознавание речевых единиц. Методы математической логики.
реферат [39,8 K], добавлен 01.11.2012Изучение понятия о логической величине. Отличия общих, частных, единичных высказываний. Таблица истинности. Принципы использования простых и составных логических выражений. Вложенное ветвление. Определение наибольшего среди трех чисел неполного ветвления.
презентация [97,3 K], добавлен 09.10.2013Основные аксиомы и тождества алгебры логики. Аналитическая форма представления булевых функций. Элементарные функции алгебры логики. Функции алгебры логики одного аргумента и формы ее реализации. Свойства, особенности и виды логических операций.
реферат [63,3 K], добавлен 06.12.2010