
- •Контрольная работа по «Математической логике и теории алгоритмов» для кзИз База заданий
- •Логика и исчисление высказываний
- •Записать высказывания в виде формул логики высказываний.
- •Построить таблицы истинности для формул
- •Доказать, что формула является тавтологией
- •Доказать полноту (неполноту) систем булевых функций
- •Получить сднф для формул, а затем перейти к скнф:
- •Получить скнф, а затем перейти к сднф
- •Получить мднф для формул
- •Логика и исчисление предикатов
- •Записать на языке предикатов
- •Получить множество дизъюнктов.
- •Автоматическое доказательство теорем
- •Преобразовать теоремы в вопросы и получить ответы с помощью метода резолюции.
- •Доказать теорему
- •Теория алгоритмов
- •Построить машину Тьюринга, которая:
- •1.6. В последовательности, состоящей из 0 и 1 сдвинуть слово, состоящее из 1 влево.
- •Доказать, что функция примитивно-рекурсивная:
- •Построить нормальный алгорифм Маркова, который:
Логика и исчисление предикатов
Записать на языке предикатов
для любого числа можно найти большее число;
x – любое число;
y – y>x.
«Все счастливые семьи похожи друг на друга, каждая несчастливая семья несчастлива по-своему»
P – множество семей
x – счастливые семьи
y – несчастные семьи
Получить множество дизъюнктов.
x P(x) x R(x) ≡ {вынос квантора за скобки} ≡ x (P(x) R(x))
Автоматическое доказательство теорем
Преобразовать теоремы в вопросы и получить ответы с помощью метода резолюции.
1.4. А1: Если робот обработал деталь, то ее забирает штабелер.
А2: Если деталь поступила на обработку, то ее обработает робот.
А3: Если человеку нужна деталь, то она поступит на обработку.
А4: Человеку нужна втулка.
Вопрос: Что заберет штабелер.
Запишем аксиомы и теоремы на языке предикатов первого порядка.
А1:
А2:
А3:
А4:
В:
Получим дизъюнкты.
2)
3)
4)
Чтобы получить дизъюнкты из вопроса, надо взять ее отрицание.
5)
Таким образом, получаем систему дизъюнктов:
Д1:
Д2:
Д3:
Д4:
Д5:
Вывод:
Унифицируем Д3 и Д4:
, получаем
Получаем резольвенту Д3-Д4:
, обозначим ее как Д6
Унифицируем Д2 и Д6:
, получаем
Получаем резольвенту Д2-Д6:
, обозначим ее как Д7
Унифицируем Д1 и Д7:
, получаем
Получаем резольвенту Д1-Д7:
, обозначим ее как Д8
Унифицируем Д5 и Д8:
, получаем
Получаем резольвенту Д5-Д8:
Ответ можно интерпретировать следующим образом: штабелер заберет деталь.
Доказать теорему
A1:
T:
Получим дизъюнкты.
Д1:
Д2:
Чтобы получить дизъюнкты из теоремы, надо взять ее отрицание.
Д3:
Д4:
Д5:
Таким образом получаем систему дизъюнктов:
Д1:
Д2:
Д3:
Д4:
Д5:
Вывод:
1.
Унифицируем Д1 и Д3:
,
получаем
2.
Получаем резольвенту Д1-Д3:
,
обозначим ее как Д6
3.
Унифицируем Д6 и Д4:
,
получаем
4.
Получаем резольвенту Д6-Д4:
,
обозначим ее как Д7
5.
Унифицируем Д7 и Д5:
,
получаем
6. Получаем резольвенту Д7-Д5: (пустой дизъюнкт)
Теорема доказана.
А1:
Т:
Получим дизъюнкты.
Д1:
Чтобы получить дизъюнкты из теоремы, надо взять ее отрицание.
Д2:
Таким образом получаем систему дизъюнктов:
Д1:
Д2:
???
Вывод:
1.
Унифицируем Д1 и Д2:
,
получаем
2. Получаем резольвенту Д1-Д2:
Теория алгоритмов
Построить машину Тьюринга, которая:
1.6. В последовательности, состоящей из 0 и 1 сдвинуть слово, состоящее из 1 влево.
-
1
1
1
Программа:
(Если в воспринимаемой ячейке символ
0, и МТ находится в состоянии q1,
то состояние не меняется, символ не
меняется, УУ сдвигается вправо).
(Если в воспринимаемой ячейке символ
1, и МТ находится в состоянии q1,
то это значит, что УУ находится на
начале слова, состояние меняется на
q2, символ не меняется,
УУ сдвигается влево).
( Если в воспринимаемой ячейке символ
0, и МТ находится в состоянии q2,
то это значит, что УУ находится в
ячейке, с которой должно начаться слово,
состояние меняется на q3,
символ меняем на 1, УУ сдвигается вправо).
(
Если в воспринимаемой ячейке символ 1,
и МТ находится в состоянии q3,
то это значит, что УУ передвигается
по слову, состояние не меняется, символ
не меняется, УУ сдвигается вправо).
(
Если в воспринимаемой ячейке символ 0,
и МТ находится в состоянии q3,
то это значит, что УУ дошло до ячейки,
которая следует после конца слова,
состояние меняется на q4,
символ не меняется, УУ сдвигается влево).
(
Если в воспринимаемой ячейке символ 1,
и МТ находится в состоянии q4,
то это значит, что УУ дошло до конца
слова, состояние меняется на заключительное,
символ меняется на 0, УУ останавливается).
В виде таблицы эту программу можно записать следующим образом:
-
а
q1
q2
q3
q4
0
1