
- •1/ Какая функция называется булевой? Как связаны булевы функции и формулы алгебры логики?
- •2/ Сформулировать тезис Чёрча- Тьюринга.
- •3/ Какие математические модели алгоритма Вы знаете?
- •4/ Из чего состоит машина Тьюринга? Как она работает?
- •5/ Как определяется словарная функция f? в каком случае мы говорим, что машина
- •37.Машины Тьюринга как словарные функции.
- •8/ В чем заключается проблема остановки машины Тьюринга. Является ли она алгоритмически разрешимой?
- •9/ Как определяется временная сложность алгоритма?
- •10/ Что означает выражение «Задача решается за реальное время»?
- •11/ Какие задачи попадают в класс p? Какие задачи попадают в класс np? Как эти классы связаны между собой? (p-np – проблема).
- •Перечислите основные типы грамматик по классификации Хомского. Какому типу соответствуют алгоритмические языки?
- •Что такое регулярные (автоматные) грамматики? Какие типы распознающих устройств используются для распознавания регулярных грамматик?
- •Какая модель представления знаний называется продукционной? в чем ее достоинства и недостатки?
- •В чем состоит задача синтаксического анализа? Что такое синтаксические деревья? Каким образом они строятся?
- •Какие две основные стратегии синтаксического разбора вы знаете? в чем состоит основная проблема разбора?
- •2/ Какие базовые понятия лежат в основе ооп?
- •6/ Поясните такие понятия объектно-ориентированного программирования как класс, объект класса.
- •7/ Что такое наследование классов? Простое и множественное наследования.
- •8/ Инкапсуляция. Что дает инкапсуляция?
- •9/ Определите понятие конструктора класса.
- •10/ Полиморфизм. Примеры реализации полиморфизма.
МЛ – математическая логика и теория алгоритмов.
1/ Какая функция называется булевой? Как связаны булевы функции и формулы алгебры логики?
Бу́лева фу́нкция (или логи́ческая функция, или функция а́лгебры ло́гики)[1] от n аргументов — в дискретной математике — отображение Bn → B, где B = {0,1} — булево множество. Элементы булева множества {1, 0} обычно интерпретируют как логические значения «истинно» и «ложно», хотя в общем случае они рассматриваются как формальные символы, не несущие определённого смысла. Неотрицательное целое число n называют арностью или местностью функции, в случае n = 0 булева функция превращается в булеву константу. Элементы декартова произведения (n-я прямая степень) Bn называют булевыми векторами. Множество всех булевых функций от любого числа аргументов часто обозначается P2, а от n аргументов — P2(n). Переменные, принимающие значения из булева множества называются булевыми переменными[2]. Булевы функции названы по фамилии математика Джорджа Буля.
При работе с булевыми функциями происходит полное абстрагирование от содержательного смысла, который имелся в виду в алгебре высказываний[2]. Тем не менее, между булевыми функциями и формулами алгебры высказываний можно установить взаимно-однозначное соответствие, если[3]:
установить взаимно-однозначное соответствие между булевыми переменными и пропозициональными переменными,
установить связь между булевыми функциями и логическими связками,
оставить расстановку скобок без изменений.
Основные логические операции в алгебре логики
В алгебре логики существует три основные операции:
Логическое отрицание {инверсия).
Обозначается: ?А, ¬A, not А, не А.
Высказывание ¬А истинно при ложном А и ¬А ложно при истинном А.
Логическое умножение {конъюнкция).
Обозначается А&В, A and В, А*В, А^В, АВ, А и В.
Высказывание А ^ В истинно тогда и только тогда, когда оба высказывания А и В истинны.
Логическое сложение {дизъюнкция).
Обозначается: A v В, A or В, А + В, А или В.
Высказывание A v В ложно тогда и только тогда, когда оба высказывания А и В ложны.
Остальные операции алгебры логики выражаются через первые три операции: отрицание, конъюнкцию и дизъюнкцию. Перечислим их.
Логическое следование {импликация).
Обозначается: А > В, А => В.
Высказывание А > В ложно только тогда, когда А истинно, а В ложно.
Важно: в операции импликации посылка А не обязана быть истинной, в отличие от логического оператора в языках программирования «если А, то В».
Импликация выражается через дизъюнкцию и отрицание: А => В = A v В.
Эквивалентность (равносильность, необходимо и достаточно).
Обозначается: А ~ В, А <=> В, А = В.
Высказывание А <=> В истинно тогда и только тогда, когда значения А и В совпадают.
Эквивалентность выражается через отрицание, дизъюнкцию и конъюнкцию: А <=> В = (¬А v В) ^ (¬B v А).
Исключающее ИЛИ.
Обозначается A XOR В.
Высказывание A XOR В истинно, когда А и В не равны.
Порядок исполнения операций задается круглыми скобками. При отсутствии скобок порядок выполнения операций следующий: отрицание, конъюнкция, дизъюнкция, импликация, эквивалентность.
Формула алгебры логики (или составное высказывание) состоит из нескольких высказываний, соединенных логическими операциями. Исходные высказывания могут быть логическими переменными или логическими константами (имеющими постоянное значение ИСТИНА или ЛОЖЬ).
Логическая функция определяется на множестве логических переменных и логических констант, принимающих значение ИСТИНА или ЛОЖЬ. Значение функции вычисляется в результате выполнения логических операций с (или над) логическими операндами. Например:
F (А, В, С) = А ^ (¬ В v С); F(x1, х2, х3) = ¬x1 v х2 ^ ¬ х3
Логическую функцию можно задать двумя способами: логической формулой или таблицей истинности.
Таблица истинности задает значения функции при всех возможных наборах ее переменных.