Метод резолюций и Прологmichael/res/slides/z1.pdf · 2016. 4. 23. ·...

65
Метод резолюций и Пролог ЛЕКТОР: Михаил Викторович Захарьящев (the course developed in collaboration with V. A. Zakharov) [email protected]

Upload: others

Post on 23-Sep-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Метод резолюций иПролог

ЛЕКТОР:Михаил Викторович Захарьящев(the course developed in collaboration with V. A. Zakharov)

[email protected]

Page 2: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Что изучает логика?

ЛОГИКА определяется как наука о формах изаконах правильного мышления.Правильное мышление — такое, в котором изисходных истинных знаний (понятий, суждений иумозаключений) всегда с необходимостьюполучаются новые истинные знания (новыепонятия, суждения, умозаключения).В неправильном мышлении из истинных знаниймогут получаться как истинные, так и ложныеновые знания.

ЭТО ДЕЙСТВИТЕЛЬНО ТАК?

Page 3: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Что изучает логика?

ЛОГИКА определяется как наука о формах изаконах правильного мышления.Правильное мышление — такое, в котором изисходных истинных знаний (понятий, суждений иумозаключений) всегда с необходимостьюполучаются новые истинные знания (новыепонятия, суждения, умозаключения).В неправильном мышлении из истинных знаниймогут получаться как истинные, так и ложныеновые знания.

ЭТО ДЕЙСТВИТЕЛЬНО ТАК?

Page 4: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Что изучает логика?

ЛОГИКА определяется как наука о формах изаконах правильного мышления.Правильное мышление — такое, в котором изисходных истинных знаний (понятий, суждений иумозаключений) всегда с необходимостьюполучаются новые истинные знания (новыепонятия, суждения, умозаключения).В неправильном мышлении из истинных знаниймогут получаться как истинные, так и ложныеновые знания.

ЭТО ДЕЙСТВИТЕЛЬНО ТАК?

Page 5: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Что изучает логика?

ФОРМАЛЬНАЯ ЛОГИКАизучает формы , в которых проявляются законыпричинно-следственных связей, вне зависимостиот содержания (смысла) тех явлений (предметов),к которым эти законы относятся.

Page 6: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Что изучает логика?

Поясняющий пример.

P1: Каждый металл — проводник.P2: Ртуть — металл.

Значит, ртуть — проводник.

Закон физики (?)

Page 7: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Что изучает логика?

Поясняющий пример.

P1: Каждый металл — проводник.P2: Ртуть — металл.

Значит, ртуть — проводник.

Закон физики (?)

Page 8: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Что изучает логика?

Поясняющий пример.

P1: В каждом южном городе летом тепло.P2: Ставрополь — южный город.

Значит, в Ставрополе летом тепло.

Закон географии (?)

Page 9: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Что изучает логика?

Поясняющий пример.

P1: В каждом южном городе летом тепло.P2: Ставрополь — южный город.

Значит, в Ставрополе летом тепло.

Закон географии (?)

Page 10: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Что изучает логика?

Поясняющий пример.

P1: Каждый преступник должен бытьнаказан.

P2: Бизнесмен Алексей Н. — преступник.

Значит, бизнесмен Алексей Н. долженбыть наказан.

Закон юриспруденции (?)

Page 11: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Что изучает логика?

Поясняющий пример.

P1: Каждый преступник должен бытьнаказан.

P2: Бизнесмен Алексей Н. — преступник.

Значит, бизнесмен Алексей Н. долженбыть наказан.

Закон юриспруденции (?)

Page 12: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Что изучает логика?

Поясняющий пример.

Общая форма всех этих законов

P1: Каждый предмет, обладающийсвойством R, обладает свойством Q.

P2: Предмет c обладает свойством R.

Значит, предмет c обладает свойством Q.

Закон формальной логики (!!!)

Page 13: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Что изучает логика?

Поясняющий пример.

Общая форма всех этих законов

P1: Каждый предмет, обладающийсвойством R, обладает свойством Q.

P2: Предмет c обладает свойством R.

Значит, предмет c обладает свойством Q.

Закон формальной логики (!!!)

Page 14: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Что изучает логика?

Поясняющий пример.

Общая форма всех этих законов

P1: ∀x (R(x) → Q(x)).P2: R(c).

Q(c).

Закон формальной логики(в символьном виде)

Page 15: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Обратимся вновь к примеру.

Это — исходные знания (база знаний).

P1: Каждый металл — проводник.P2: Ртуть — металл.

А это — новые знания.

Ртуть — проводник.

Откуда взялись новые знания???

Page 16: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Обратимся вновь к примеру.

Это — исходные знания (база знаний).

P1: Каждый металл — проводник.P2: Ртуть — металл.

А это — новые знания.

Ртуть — проводник.

Откуда взялись новые знания???

Page 17: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Обратимся вновь к примеру.

Это — исходные знания (база знаний).

P1: Каждый металл — проводник.P2: Ртуть — металл.

А это — новые знания.

Ртуть — проводник.

Откуда взялись новые знания???

Page 18: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатикеПрименение закона формальной логики.

Логический закон:

P1: ∀x (R(x) → Q(x)).P2: R(c).

Q(c).

Интерпретация:

R(x) — «предмет x — металл»;Q(x) — «предмет x — проводник»;c — «ртуть».

Page 19: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатикеЕще одно применение закона формальной логики.

Логический закон:

P1: ∀x (R(x) → Q(x)).P2: R(c).

Q(c).

Другая интерпретация:

R(x) — «предмет x — южный город »;Q(x) — «предмет x — теплый летом»;c — «Ставрополь».

Page 20: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Логика не позволяет получать новуюинформацию!!!

Знания — это представление информации в виде формальныхвысказываний.Законы формальной логики преобразуют одни высказывания вдругие.Таким образом, законы формальной логики позволяютпреобразовывать информацию из одной формы представленияв другую.

Законы формальной логики — этоинструмент преобразования информации.

Page 21: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Логика не позволяет получать новуюинформацию!!!

Знания — это представление информации в виде формальныхвысказываний.Законы формальной логики преобразуют одни высказывания вдругие.Таким образом, законы формальной логики позволяютпреобразовывать информацию из одной формы представленияв другую.

Законы формальной логики — этоинструмент преобразования информации.

Page 22: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Основная задача формальной логики.

База знаний: Γ = {ϕ1, ϕ2, . . . , ϕN}.

Предложение: ψ.

Задача (неформальная): выяснить, является липредложение ψ следствием утверждений базы знаний Γ.

Задача (формальная): проверить, что ψ выводится из Γ позаконам формальной логики.

Page 23: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложение 1.

Экспертные системы.База знаний Γ — база знаний экспертной системы.Предложение ψ — запрос к базе знаний.Аппарат логического вывода — ядро экспертной системы.

Приложение 2.Автоматизация научных исследований.

База знаний Γ — система аксиом математической теории.Предложение ψ — математическое утверждение.Аппарат логического вывода — ядро автоматическойсистемы доказательства теорем.

Page 24: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложение 1.

Экспертные системы.База знаний Γ — база знаний экспертной системы.Предложение ψ — запрос к базе знаний.Аппарат логического вывода — ядро экспертной системы.

Приложение 2.Автоматизация научных исследований.

База знаний Γ — система аксиом математической теории.Предложение ψ — математическое утверждение.Аппарат логического вывода — ядро автоматическойсистемы доказательства теорем.

Page 25: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложения 1, 2.

Для этого нужно уметь:

I Создать формальный язык для представления знаний.

I Выделить необходимую систему законов формальнойлогики.

I Проверить корректность логических законов.I Проверить полноту построенной системы логических

законов.I Разработать алгоритм проверки выводимости одних

предложений из других по заданным логическим законам.

I Оптимизировать построенный алгоритм (сделать егопрактически пригодным).

Page 26: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложения 1, 2.

Для этого нужно уметь:

I Создать формальный язык для представления знаний.I Выделить необходимую систему законов формальной

логики.

I Проверить корректность логических законов.I Проверить полноту построенной системы логических

законов.I Разработать алгоритм проверки выводимости одних

предложений из других по заданным логическим законам.

I Оптимизировать построенный алгоритм (сделать егопрактически пригодным).

Page 27: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложения 1, 2.

Для этого нужно уметь:

I Создать формальный язык для представления знаний.I Выделить необходимую систему законов формальной

логики.I Проверить корректность логических законов.

I Проверить полноту построенной системы логическихзаконов.

I Разработать алгоритм проверки выводимости однихпредложений из других по заданным логическим законам.

I Оптимизировать построенный алгоритм (сделать егопрактически пригодным).

Page 28: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложения 1, 2.

Для этого нужно уметь:

I Создать формальный язык для представления знаний.I Выделить необходимую систему законов формальной

логики.I Проверить корректность логических законов.I Проверить полноту построенной системы логических

законов.

I Разработать алгоритм проверки выводимости однихпредложений из других по заданным логическим законам.

I Оптимизировать построенный алгоритм (сделать егопрактически пригодным).

Page 29: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложения 1, 2.

Для этого нужно уметь:

I Создать формальный язык для представления знаний.I Выделить необходимую систему законов формальной

логики.I Проверить корректность логических законов.I Проверить полноту построенной системы логических

законов.I Разработать алгоритм проверки выводимости одних

предложений из других по заданным логическим законам.

I Оптимизировать построенный алгоритм (сделать егопрактически пригодным).

Page 30: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложения 1, 2.

Для этого нужно уметь:

I Создать формальный язык для представления знаний.I Выделить необходимую систему законов формальной

логики.I Проверить корректность логических законов.I Проверить полноту построенной системы логических

законов.I Разработать алгоритм проверки выводимости одних

предложений из других по заданным логическим законам.

I Оптимизировать построенный алгоритм (сделать егопрактически пригодным).

Page 31: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложение 3.

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

Программа База знаний Γ

Вызов программы Запрос ψ

Вычисление программы Логический вывод(доказательство)

Интерпртатор программ Правила вывода

Page 32: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложение 3.

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

Программа База знаний Γ

Вызов программы Запрос ψ

Вычисление программы Логический вывод(доказательство)

Интерпртатор программ Правила вывода

Page 33: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложение 3.

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

Программа База знаний Γ

Вызов программы Запрос ψ

Вычисление программы Логический вывод(доказательство)

Интерпртатор программ Правила вывода

Page 34: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложение 3.

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

Программа База знаний Γ

Вызов программы Запрос ψ

Вычисление программы Логический вывод(доказательство)

Интерпртатор программ Правила вывода

Page 35: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложение 3.

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

Программа База знаний Γ

Вызов программы Запрос ψ

Вычисление программы Логический вывод(доказательство)

Интерпртатор программ Правила вывода

Page 36: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложение 3.

Программирование.

Однако не все так просто.

Ведь успешное вычисление программы завершаетсярезультатом, в то время как не всякое доказательство, дажеесли оно корректно, является «результативным»(конструктивным).

Многие теоремы существования можно успешно доказать, непредъявив при этом искомого объекта.

Page 37: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложение 3.

Пример.Задача. Существуют ли такие иррациональные числа α и β,что αβ — рациональное число?

Решение.

1. Если√

2√2— рациональное число, то α = β =

√2.

2. Если√

2√2— иррациональное число, то

α =√

2√2, β =

√2.

Таким образом, искомые числа α и β существуют. �

Мы доказали существование нужных чисел α и β, но не смоглиих вычислить. Это неконструктивное доказательство.Чтобы логическое доказательство могло играть рольвычисления, оно должно быть конструктивным.

Page 38: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложение 3.

Пример.Задача. Существуют ли такие иррациональные числа α и β,что αβ — рациональное число?

Решение.

1. Если√

2√2— рациональное число, то α = β =

√2.

2. Если√

2√2— иррациональное число, то

α =√

2√2, β =

√2.

Таким образом, искомые числа α и β существуют. �

Мы доказали существование нужных чисел α и β, но не смоглиих вычислить. Это неконструктивное доказательство.Чтобы логическое доказательство могло играть рольвычисления, оно должно быть конструктивным.

Page 39: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложение 3.

Пример.Задача. Существуют ли такие иррациональные числа α и β,что αβ — рациональное число?

Решение.

1. Если√

2√2— рациональное число, то α = β =

√2.

2. Если√

2√2— иррациональное число, то

α =√

2√2, β =

√2.

Таким образом, искомые числа α и β существуют. �

Мы доказали существование нужных чисел α и β, но не смоглиих вычислить. Это неконструктивное доказательство.Чтобы логическое доказательство могло играть рольвычисления, оно должно быть конструктивным.

Page 40: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложение 3.

Пример.Задача. Существуют ли такие иррациональные числа α и β,что αβ — рациональное число?

Решение.

1. Если√

2√2— рациональное число, то α = β =

√2.

2. Если√

2√2— иррациональное число, то

α =√

2√2, β =

√2.

Таким образом, искомые числа α и β существуют. �

Мы доказали существование нужных чисел α и β, но не смоглиих вычислить. Это неконструктивное доказательство.Чтобы логическое доказательство могло играть рольвычисления, оно должно быть конструктивным.

Page 41: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложение 3.

Пример.Задача. Существуют ли такие иррациональные числа α и β,что αβ — рациональное число?

Решение.

1. Если√

2√2— рациональное число, то α = β =

√2.

2. Если√

2√2— иррациональное число, то

α =√

2√2, β =

√2.

Таким образом, искомые числа α и β существуют. �

Мы доказали существование нужных чисел α и β, но не смоглиих вычислить. Это неконструктивное доказательство.Чтобы логическое доказательство могло играть рольвычисления, оно должно быть конструктивным.

Page 42: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложение 3.

Для этого нужно уметь:

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

I Сделать логическое доказательство конструктивным,чтобы оно могло играть роль вычисления.

I Проверить вычислительную корректность этого способадоказательства.

I Проверить алгоритмическую полноту этого способадоказательства.

I Сделать этот способ программирования удобным дляпользования.

Page 43: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложение 3.

Для этого нужно уметь:

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

I Сделать логическое доказательство конструктивным,чтобы оно могло играть роль вычисления.

I Проверить вычислительную корректность этого способадоказательства.

I Проверить алгоритмическую полноту этого способадоказательства.

I Сделать этот способ программирования удобным дляпользования.

Page 44: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложение 3.

Для этого нужно уметь:

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

I Сделать логическое доказательство конструктивным,чтобы оно могло играть роль вычисления.

I Проверить вычислительную корректность этого способадоказательства.

I Проверить алгоритмическую полноту этого способадоказательства.

I Сделать этот способ программирования удобным дляпользования.

Page 45: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложение 3.

Для этого нужно уметь:

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

I Сделать логическое доказательство конструктивным,чтобы оно могло играть роль вычисления.

I Проверить вычислительную корректность этого способадоказательства.

I Проверить алгоритмическую полноту этого способадоказательства.

I Сделать этот способ программирования удобным дляпользования.

Page 46: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логика в информатике

Приложение 3.

Для этого нужно уметь:

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

I Сделать логическое доказательство конструктивным,чтобы оно могло играть роль вычисления.

I Проверить вычислительную корректность этого способадоказательства.

I Проверить алгоритмическую полноту этого способадоказательства.

I Сделать этот способ программирования удобным дляпользования.

Page 47: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Откуда произошлалогика?

Page 48: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логические парадоксы.

Парадоксы - движущая сила логики.

Противоречивые парадоксы (антиномии ) заставляютзадумываться над такими вопросами, как

I Что такое истинное утверждение?I Что такое доказуемое утверждение?I В какой мере можно «механизировать» рассудочное

мышление?

Page 49: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логические парадоксы.

Парадокс о крокодиле

Крокодил схватил ребенка.

Мать ребенка просит крокодила:«Верни мне ребенка! »

Крокодил отвечает:«Я верну тебе ребенка, если тыугадаешь, исполню ли я твою просьбу. »

«Не исполнишь» — говорит женщина.

Вернет ли крокодил ребенка матери?

Page 50: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логические парадоксы.

Парадокс о крокодиле

Крокодил схватил ребенка.

Мать ребенка просит крокодила:«Верни мне ребенка! »

Крокодил отвечает:«Я верну тебе ребенка, если тыугадаешь, исполню ли я твою просьбу. »

«Не исполнишь» — говорит женщина.

Вернет ли крокодил ребенка матери?

Page 51: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логические парадоксы.

Парадокс лжеца (6 век д.н.э.)

УТВЕРЖДЕНИЕ,ИЗОБРАЖЕННОЕ НА ЭТОМ

СЛАЙДЕ, — ЛОЖНОЕ.

Истинно или ложно предъявленное вамутверждение?

Page 52: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логические парадоксы.

Парадокс лжеца (6 век д.н.э.)

УТВЕРЖДЕНИЕ,ИЗОБРАЖЕННОЕ НА ЭТОМ

СЛАЙДЕ, — ЛОЖНОЕ.

Истинно или ложно предъявленное вамутверждение?

Page 53: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логические парадоксы.

Парадокс лжеца (6 век д.н.э.)

УТВЕРЖДЕНИЕ,ИЗОБРАЖЕННОЕ НА ЭТОМ

СЛАЙДЕ, — ЛОЖНОЕ.

Истинно или ложно предъявленное вамутверждение?

Page 54: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логические парадоксы.

Парадокс утренней звезды

Венера видна ранним вечером, и поэтомуее называют вечерней звездой.

Венера видна ранним утром, и поэтомуее называют утренней звездой.

Означает ли это, что вечерняя звездавидна ранним утром ?

Page 55: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логические парадоксы.

Парадокс утренней звезды

Венера видна ранним вечером, и поэтомуее называют вечерней звездой.

Венера видна ранним утром, и поэтомуее называют утренней звездой.

Означает ли это, что вечерняя звездавидна ранним утром ?

Page 56: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логические парадоксы.

Парадокс морской битвы

Некий флотоводец обратился к прорицателю с вопросом,состоится ли завтра морская битва. Прорицатель ответил:«Битва завтра состоится».На следующий день случился шторм, и флот не смог выйти вморе. Разгневанный флотоводец потребовал от прорицателявернуть деньги, поскольку его прогноз оказался ложным.Прорицатель ответил:«Твои моряки вчера купили на рынкесвежее молоко. Сегодня это молоко уже не свежее, но они непросят вернуть им деньги обратно. Мой прогноз тоже былверным вчера, и ты не вправе жаловаться на то, что он неверенсегодня».

Прав ли прорицатель?

Page 57: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Логические парадоксы.

Парадокс морской битвы

Некий флотоводец обратился к прорицателю с вопросом,состоится ли завтра морская битва. Прорицатель ответил:«Битва завтра состоится».На следующий день случился шторм, и флот не смог выйти вморе. Разгневанный флотоводец потребовал от прорицателявернуть деньги, поскольку его прогноз оказался ложным.Прорицатель ответил:«Твои моряки вчера купили на рынкесвежее молоко. Сегодня это молоко уже не свежее, но они непросят вернуть им деньги обратно. Мой прогноз тоже былверным вчера, и ты не вправе жаловаться на то, что он неверенсегодня».

Прав ли прорицатель?

Page 58: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Парадоксы неизбежны.

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

Математическая логика

Page 59: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Парадоксы неизбежны.Но их влияние можно ограничить.

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

Математическая логика

Page 60: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Парадоксы неизбежны.Но их влияние можно ограничить.Для этого нужны математическиемодели логических законов.

Вот так и появилась

Математическая логика

Page 61: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Парадоксы неизбежны.Но их влияние можно ограничить.Для этого нужны математическиемодели логических законов.Вот так и появилась

Математическая логика

Page 62: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Парадоксы неизбежны.Но их влияние можно ограничить.Для этого нужны математическиемодели логических законов.Вот так и появилась

Математическая логика

Page 63: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

РЕЙМОНД С. СМАЛЛИАН. "Как же называется эта книга?"

У Порции (героини комедии "Венецианский купец") было тришкатулки: из золота, серебра и свинца. В одной из шкатулокхранился портрет Порции. Поклоннику предлагалось выбратьшкатулку, и если он был достаточно умен, чтобы выбратьшкатулку с портретом, то получал право назвать Порциюневестой. На крышках шкатулок были надписи:

На золотой На серебряной На свинцовойПортрет в этой Портрет не в этой Портрет не в золотой

шкатулке шкатулке шкатулке

Своему поклоннику Порция пояснила, что из трехвысказываний на крышках шкатулок, по крайней мере дваложны.Какую шкатулку следует выбрать поклоннику Порции?

Page 64: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Загадка Альберта Эйнштейна

В 5 разноцветных домах живут граждане 5 разных стран,которые курят 5 разных сортов сигарет, пьют 5 разныхнапитков и содержат 5 разных животных. Известно, что1. У поляка красный дом. 2. Немец курит Rothmans.3. Курильщик Marlboro живет рядом с тем, кто держит кошку.4. Финн пьет чай. 5. Курильщик Camel держит попугая.6. Зеленый дом стоит слева от белого.7. Курильщик Kent пьет пиво. 8. Грек живет в первом доме.9. Владелец лошади живет рядом с тем, кто курит Dunhill.10. Хозяин среднего дома пьет молоко.11. Хозяин желтого дома курит Dunhill.12. Хозяин зеленого дома пьет кофе.13. Швед держит собаку. 14. Грек живет около голубого дома.15. Курильщик Marlboro живет рядом с тем, кто пьет воду.

Кому принадлежит золотая рыбка?

Page 65: Метод резолюций и Прологmichael/res/slides/Z1.pdf · 2016. 4. 23. · Метод резолюций и Пролог ЛЕКТОР: МихаилВикторовичЗахарьящев

Загадка Альберта Эйнштейна

В 5 разноцветных домах живут граждане 5 разных стран,которые курят 5 разных сортов сигарет, пьют 5 разныхнапитков и содержат 5 разных животных. Известно, что1. У поляка красный дом. 2. Немец курит Rothmans.3. Курильщик Marlboro живет рядом с тем, кто держит кошку.4. Финн пьет чай. 5. Курильщик Camel держит попугая.6. Зеленый дом стоит слева от белого.7. Курильщик Kent пьет пиво. 8. Грек живет в первом доме.9. Владелец лошади живет рядом с тем, кто курит Dunhill.10. Хозяин среднего дома пьет молоко.11. Хозяин желтого дома курит Dunhill.12. Хозяин зеленого дома пьет кофе.13. Швед держит собаку. 14. Грек живет около голубого дома.15. Курильщик Marlboro живет рядом с тем, кто пьет воду.

Кому принадлежит золотая рыбка?