![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Логика есть наука о законах и формах познающего мышления. Логика изучает мышление, но не всякое мышление, а лишь те мыслительные процессы, которые направлены на обнаружение и обоснование истины, на решение некоторой задачи, на поиск путей преодоления тех или иных трудностей, встающих перед нами как в профессиональной деятельности, так и в обыденной жизни.
Логику интересует лишь форма наших мыслей, но не их содержание. Разнообразие содержание укладывается в сравнительно небольшое число форм. Грубо говоря, логику интересуют сосуды - бутылки, ведра, бочки, - а не то, что в них налито.
В этом отношении логика сходна с грамматикой, которую мы изучали в школе. Грамматика тоже исследует и описывает формы языковых выражений, отвлекаясь от их содержания. Известное стихотворение "Бармаглот" из "Алисы в Зазеркалье" Льюиса Кэрролла начинается со следующих строк:
"Варкалось. Хливкие шорьки
Пырялись по наве.
И хрюкотали зелюки,
Как мюмзики в мове."
Знание грамматики позволяет нам обнаружить, что в этих строчках является подлежащим, сказуемым и т. д. Мы можем говорить о роде, числе, падеже наших существительных, не имея ни малейшего представления о том, что обозначают соответствующие слова. Более того, как говорит Алиса об этих строках: они "наводят на всякие мысли, хоть и неясно - на какие". Аналогичное знание о формах мысли дает нам логика.
При изучении логики мы вводим различные формальные языки. Дело в том, что формальные языки всегда проще, чем структура естественных языков. Иногда естественный язык может быть очень сложен.
Вот как, например, Марк Твен обыгрывает особенности словообразования в немецком языке [25, с. 59]:
"В одной немецкой газете, - уверяет он, - я сам читал такую весьма занятную историю:
Готтентоты (по-немецки: †хоттентотен‡), как известно, ловят в пустынях кенгуру (по-немецки:†бейтельрате‡ - сумчатая крыса). Они обычно сажают их в клетки (†коттэр‡, снабженные решетчатыми крышками (†латтенгиттер‡) для защиты от непогоды (†веттер‡).
Благодаря замечательным правилам немецкой грамматики все это вместе - кенгуру и клетки - получают довольно удобное название:
†Латтенгиттерветтеркоттэрбейтельратте‡.
Однажды в тех местах, в городе Шраттертроттэле, был схвачен негодяй, убивший готтентотку, мать двоих детей.
Такая женщина по-немецки должна быть названа †хоттентотенмуттер‡, а ее убийца сейчас же получил в устах граждан им †щраттертроттэльхоттентотенмуттэраттэнтэтэр‡, ибо убийца - по-немецки †аттэнтэтэр‡.
Преступника поймали и за неимением других помещений посадили в одну из клеток для кенгуру, о которых выше было сказано. Он бежал, но снова был изловлен. Счастливый своей удачей, негр-охотник быстро явился к старшине племени.
- Я поймал этого … Бейтельратте? Кенгуру? - в волнении вскричал он.
- Кенгуру? Какого? - сердито спросил потревоженный начальник.
- Как какого? Этого самого! Латтенгиттерветтеркоттэрбейтельратте.
- Яснее! Таких у нас много… Непонятно, чему ты так радуешься?
- Ах ты, несчастье какое! - возмутился негр, положил на землю лук и стрелы, набрал в грудь воздуха и выпалил:
- Я поймал щраттертроттэльхоттентотенмуттэраттэнтэтэр-латтенгиттерветтеркоттэрбейтельратте! Вот кого!
Тут начальник подскочил, точно подброшенный пружиной:
- Так что же ты мне сразу не сказал этого так коротко и ясно, как сейчас?!"
Математическая логика - это логика, развиваемая с помощью математических методов. Этот термин имеет и другой смысл: изучать математическую логику - значит изучать логику, используемую в математике.
Математическая логика, возникшая почти 100 лет назад в связи с внутренними потребностями математики, нашла применение в теоретическом и практическом программировании и, судя по всему, взаимодействие этих двух наук в недалеком будущем сможет принести новые плоды.
Почему программисты обратились к математической логике, а логики заинтересовались программированием? Математическая логика, занимается построением формальных языков, предназначенных для представлений таких фундаментальных понятий, как функция, отношение, аксиома, доказательство, и изучение основанных на этих языках логических и логико-математических исчислений.
В недрах математической логики были найдены математически точные понятия алгоритма и вычислимой функции, развита семантика формальных языков и теорий, построены системы логического вывода - и все это, заметим, было сделано в 30-40-х годах, в т. е. "докомпьютерную эру".
Программирование также имеет дело с формальными языками - языками программирования. Чтобы сделать эти языки удобными и естественными для человека полезно воспользоваться опытом математической логики. В результате появились принципиально новые языки функционального (Лисп, Clean) и логического (Пролог) программирования.
Для формализации семантики программы (это полезно при разработке трансляторов) необходим аппарат математической логики (уже использовались: l-исчисление Черча, теория областей Дана Скотта).
Другие приложения математической логики в программировании:
теория логического вывода:
правильность программ относительно спецификаций:
"доказательное" программирование - метод построения правильных программ;
задачи представления и обработки знаний;
параллельные вычисления;
проблемы сложности вычислений;
элементная логическая база компьютеров.
Противоположность правильного высказывания - ложное высказывание. Но противоположность глубокой истины может быть другая глубокая истина.
Нильс Бор
Дата публикования: 2014-11-18; Прочитано: 1931 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!