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

Post on 22-Jan-2017

180 views 2 download

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

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

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

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

2015

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

O Когда?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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