Top Banner
Введение в теорию автоматов и вычислений Курс 1: Автоматы Занятие 2 - миникурсы (с) Клейнер Игорь – M.Sc. Школа обработки и анализа данных - ШОАДик 2015
30

Автоматы и теория вычислений 1-2: 3 миникурса

Jan 22, 2017

Download

Data & Analytics

Igor Kleiner
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Автоматы и теория вычислений 1-2: 3 миникурса

Введение в теорию автоматов и вычислений

Курс 1: Автоматы Занятие 2 - миникурсы

(с) Клейнер Игорь – M.Sc.Школа обработки и анализа данных - ШОАДик

2015

Page 2: Автоматы и теория вычислений 1-2: 3 миникурса

Добро пожаловать

Page 3: Автоматы и теория вычислений 1-2: 3 миникурса

ПовторениеO Что такое компьютерO Что может, а что не может компьютер? O Что такое эффективное алгоритм?

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

Page 4: Автоматы и теория вычислений 1-2: 3 миникурса

План курсаO 3 миникурса

O автоматы и грамматикиO вычислимость и машины ТьюрингаO теория сложности

O Желающие могут получить на почту вопросы для экзаменов. В случае успешного выполнения задач курса, можно получить сертификат об успешном окончании курса

Page 5: Автоматы и теория вычислений 1-2: 3 миникурса

Теория сложности вычислений – complexity theory

O Для некоторых задач существуют эффективные алгоритмы:

O Приведите примеры таких задач:

Page 6: Автоматы и теория вычислений 1-2: 3 миникурса

Теория сложности вычислений – complexity theory

O Для некоторых задач существуют эффективные алгоритмы:O Сортировка массива чисел c*n*lgn

Page 7: Автоматы и теория вычислений 1-2: 3 миникурса

Теория сложности вычислений – complexity theory

O Для некоторых задач существуют эффективные алгоритмы:O Сортировка массива чисел c*n*lgnO Обход графа в глубину или в ширинуO Проверка числа на четностьO Поиск решений квадратного уравненияO ….

Page 8: Автоматы и теория вычислений 1-2: 3 миникурса

Теория сложности вычислений – complexity theory

O Для некоторых задач известные алгоритмы имеют огромную сложность: 2^n

O Знаете ли вы примеры таких алгоритмов?

Page 9: Автоматы и теория вычислений 1-2: 3 миникурса

Теория сложности вычислений – complexity theory

O Для некоторых задач известные алгоритмы имеют огромную сложность: 2^n:O Составление расписания занятий для школы

Page 10: Автоматы и теория вычислений 1-2: 3 миникурса

Теория сложности вычислений – complexity theory

O Для некоторых задач известные алгоритмы имеют огромную сложность: 2^n:O Составление расписания занятий для школыO Поиск максимального полного подграфа в графеO Поиск лучшей стратегии в шахматыO Игра в городаO Поиск минимальной раскраски графаO Задача комивояжора

Page 11: Автоматы и теория вычислений 1-2: 3 миникурса

Теория сложности вычислений – complexity theory

O Для некоторых задач существуют эффективные алгоритмы

O Для некоторых задач известные алгоритмы имеют огромную сложность

Почему одни задачи сложные, а другие нет?

Page 12: Автоматы и теория вычислений 1-2: 3 миникурса

Теория сложности вычислений – complexity theory

O Почему одни задачи сложные, а другие нет?O Можно ли отличить сложные задачи от простых?O Существуют ли «универсальные» сложные задачи?

Page 13: Автоматы и теория вычислений 1-2: 3 миникурса

Теория сложности вычислений – complexity theory

O Почему одни задачи сложные, а другие нет?O Можно ли отличить сложные задачи от простых?O Существуют ли «универсальные» сложные задачи?

O Плохие новости:

Page 14: Автоматы и теория вычислений 1-2: 3 миникурса

Теория сложности вычислений – complexity theory

O Почему одни задачи сложные, а другие нет?O Можно ли отличить сложные задачи от простых?O Существуют ли «универсальные» сложные задачи?

O Плохие новости:O За последние 40 лет, ученые так и не нашли ответ на

первые и второй вопрос

Page 15: Автоматы и теория вычислений 1-2: 3 миникурса

Теория сложности вычислений – complexity theory

O Почему одни задачи сложные, а другие нет?O Можно ли отличить сложные задачи от простых?O Существуют ли «универсальные» сложные задачи?

O Хорошие новости:O Ученые научились классифицировать задачи по

степеням сложности

Page 16: Автоматы и теория вычислений 1-2: 3 миникурса
Page 17: Автоматы и теория вычислений 1-2: 3 миникурса

Теория сложности вычислений – complexity theory

O Что делать если перед нами сложная задача?

Page 18: Автоматы и теория вычислений 1-2: 3 миникурса

Теория сложности вычислений – complexity theory

O Что делать если перед нами сложная задача?O Попытаться изменить решение и решить более

простую задачуO Отказаться от получение оптимального решения и

найти сабоптимальное решение – аппроксимация, эвристики

O Вероятностные алгоритмы

Page 19: Автоматы и теория вычислений 1-2: 3 миникурса

Теория сложности вычислений – complexity theory

O Иногда сложные задачи это хорошо!!!

O Когда?

Page 20: Автоматы и теория вычислений 1-2: 3 миникурса

Теория сложности вычислений – complexity theory

O Иногда сложные задачи это хорошо!!!

O Например, криптография – взлом шифра, подделка цифровой подписи

Page 21: Автоматы и теория вычислений 1-2: 3 миникурса

План курсаO 3 миникурса

O автоматы и грамматикиO вычислимость и машины ТьюрингаO теория сложности

O Желающие могут получить на почту вопросы для экзаменов. В случае успешного выполнения задач курса, можно получить сертификат об успешном окончании курса

Page 22: Автоматы и теория вычислений 1-2: 3 миникурса

Теория вычислимости – computability theoryO В первой половине прошлого столетия математики:

Кург Гёдль, Алан Тьюринг и Алонсо Черч обнаружили, что некоторые задачи не решаемы на компьютере в принципе

Page 23: Автоматы и теория вычислений 1-2: 3 миникурса

Теория вычислимости – computability theoryO В первой половине прошлого столетия математики:

Кург Гёдль, Алан Тьюринг и Алонсо Черч обнаружили, что некоторые задачи не решаемы на компьютере в принципе

O Например:O Задача остановаO Задача проверки верности математической формулы

Page 24: Автоматы и теория вычислений 1-2: 3 миникурса

Теория вычислимости – computability theoryO Задача проверки верности математической формулы

O If( формула верна) {O print (“hello world”)}

Странное дело, математики доказывают теоремы, а компьютер в общем случае на это не способен?

Page 25: Автоматы и теория вычислений 1-2: 3 миникурса

Теория вычислимости и теория сложностиO Обе теории тесно связаны

O Одна занимается классификацией задач по уровню сложности

O Вторая говорит о том, какие задачи решаемы, а какие нет

Page 26: Автоматы и теория вычислений 1-2: 3 миникурса

План курсаO 3 миникурса

O автоматы и грамматикиO вычислимость и машины ТьюрингаO теория сложности

O Желающие могут получить на почту вопросы для экзаменов. В случае успешного выполнения задач курса, можно получить сертификат об успешном окончании курса

Page 27: Автоматы и теория вычислений 1-2: 3 миникурса

Automata theoryO Что такое компьютер?O Различные модели вычисления:

O АвтоматыO ГрамматикиO Машины Тьюринга

O Автоматы одна из самых простых моделей вычислений

Page 28: Автоматы и теория вычислений 1-2: 3 миникурса

Automata theoryO Что такое компьютер?O Различные модели вычисления:

O Автоматы – обработка текста (grep – regular expressions)O Грамматики – компиляторы, ИИO Машины Тьюринга

O Автоматы одна из самых простых моделей вычислений

Page 29: Автоматы и теория вычислений 1-2: 3 миникурса

ИтогиO 3 миникурса

O автоматы и грамматикиO вычислимость и машины ТьюрингаO теория сложности

Page 30: Автоматы и теория вычислений 1-2: 3 миникурса

В следующий разO Знакомство с преподавателемO Литература курсаO Ссылки