Введение в теорию автоматов и вычислений Курс 1: Автоматы Занятие 2 - миникурсы (с) Клейнер Игорь – M.Sc. Школа обработки и анализа данных - ШОАДик 2015
Введение в теорию автоматов и вычислений
Курс 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 Ссылки