
- •Вопрос 1. Предмет та.
- •Вопрос 2. Классификация автоматов
- •Вопрос 3. Приложения та
- •Вопрос 4. Двоичное умножение
- •Вопрос 5. Умножение в инверсных кодах
- •Вопрос 6. Деление
- •Вопрос 7. Деление в инверсных кодах. Особенности.
- •Вопрос 8. Особенности выполнения операций в формате с плавающей запятой.
- •Вопрос 9
- •Вопрос 10. Модель дискретного преобразователя Глушкова
- •Вопрос 11. Микропрограммирование
- •Вопрос 12. Структуры операционных автоматов
- •Вопрос 13. Синтез оа процедурного типа
- •Вопрос 14. Синтез оа структурного типа
- •Вопрос 15. Автоматные языки. Формальное задание Автомата.
- •Вопрос 16. Модели автоматов Мили и Мура
- •Вопрос 17. Эквивалентность ка. Теорема Мура.
- •Вопрос 18. Минимизация конечных автоматов.
- •Вопрос 19. Эквивалентность автомата Мили и Мура.
- •Вопрос 20. Виды уа
- •Вопрос 21. Структурные схемы уа. Мили и Мура.
- •Вопрос 22. Этапы синтеза уажл.
- •Вопрос 23. Примеры синтеза уажл.
- •Вопрос 24. Гонки и способы борьбы с ними
- •Вопрос 25. Уа с программируемой логикой (уапл)
- •Вопрос 26. Алгебраическая и структурная теория ка.
- •Вопрос 26 [part2]
- •Вопрос 27. Объединение нескольких уа в один
- •Вопрос 28. Программная реализация ка. Варианты реализации. Шаблон Состояние.
- •Вопрос 29. Назначение и краткая характеристика vhdl.
- •Вопрос 30. Реализация уа на vhdl.
- •Вопрос 31. Понятие о языке моделирования uml.
- •Вопрос 32. Понятие о языках и формальных грамматиках
- •Вопрос 33. Классификация языков
- •Регулярные языки и Конечные Автоматы
- •Вопрос 34. Лемма о накачке
- •Вопрос 35. Понятие о нка. Получение дка по нка.
- •Вопрос 36. Регулярные выражения. Синтаксические диаграммы. Теорема Клини.
- •Вопрос 37. Применение рв. Различные нотации рв.
- •Вопрос 38. Кс-грамматики и магазинные автоматы.
- •Вопрос 39. Машины Тьюринга
- •Вопрос 40. Использование мт для анализа алгоритмов.
Вопрос 40. Использование мт для анализа алгоритмов.
Любой алгоритм – это программа для МТ, которая всегда останавливается. Модель Тьюринга появилась как одна из моделей для формализации понятия алгоритма, в которой алгоритм формализуется через понятие вычислительного устройства. Приведенная гипотеза (о соответствии алгоритма и МТ) известна как тезис Тьюринга –Черча о том, что все формальные определения алгоритма эквивалентны и все алгоритмы могут быть выполнены на машине Тьюринга. Соответственно, если проблема не может решаться с помощью МТ, то она алгоритмически неразрешима. То есть, если МТ допускает рекурсивный язык, то она описывает алгоритм. Язык в данном случае можно рассматривать как проблему (задачу). Существуют частично-разрешимые проблемы, то есть, разрешимые не для всех входных данных. (для недопустимых будет работать бесконечно). Примером такой частично-разрешимой проблемы является проблема останова, то есть следующая задача : остановится ли данный алгоритм при данных входных данных? Эта проблема для произвольного алгоритма в общем случае неразрешима для одних входных данных, и разрешима для других, поэтому относится к частично-разрешимым.
(Док-во неразрешимости проблемы останова.)
К полностью неразрешимым относится проблема тотальности – ответ на вопрос, остановится ли данный алгоритм на любых входных данных.
Другие примеры неразрешимых проблем : проблема соответствия Поста, проблема эквивалентности грамматик, проблема эквивалентности алгоритмов, проблемы, связанные с языками самой машины Тьюринга (по теореме Райса).
Теорема Райса : всякое нетривиальное свойство языков, допускаемых МТ, являетсмя неразрешимым.
Методика доказательств – генеральная линия – доказать возможность или невозможность построения соотв. останавливающейся МТ.
Проблема – это язык, решение – это Да/Нет. Если удается доказать, что в такой постановке задача неразрешима, то и дальше нечего доказывать, иначе нужно перейти от частичной проблемы к полной.
Общий метод – использование сводимости одних языков (проблем) к другим.
Кроме того, выделяют классы сложности проблем, известные как P, NP и т.н. NP-полные проблемы, для классификации трудноразрешимых проблем.
Фундаментальным является разделение разрешимых проблем на разрешимых за полиномиальное время, или за экспоненциальное. Первый класс проблем можно реализовывать на ВМ, для вторых нужно искать приближенные методы решения.
Полином это : T(n) = K1na+ K2 nb + K3 nc + …. a – степень полинома.
Экспонециальное время оценивается как O(2cn) – показательная функция.
Для исследования труднорешаемости алгоритмов также используются МТ и принцип сведения одних языков (и проблем) к другим, для которых известна их труднорешаемость и т.д. Но в данном случае важна не только возможность сведения, но и сложность самого процесса сведения (полиномиальное сведение, или экспоненциальное !)
В теории труднорешаемости в отличие от теории неразрешимости все построено на гипотезе о P <> NP.
P – проблемы – это разрешимые за полиномиальное время на ДМТ;
NP – проблемы это разрешимые за полиномиальное время на НМТ (практическая ценность отсутствует ?!) – проблема коммивояжера;
NP – полные проблемы – это разрешимые за полиномиальное время на НМТ, такие, что они являются NP, и любая NP-проблема может быть сведена к этой проблеме за полиномиальное время.
То есть, если можно доказать, что количество шагов для определения допустимости любой входной цепочки из данной проблемы детерминированной машиной Тьюринга с соответствующей программой ограничено полиномом (любой степени), то это P-проблемы, если то же самое достигается для недетерминированной МТ, то это NP-проблемы.
Если хотя бы одна NP-полная проблема будет решена, это означает, что P = NP !!
Пример NP-полной проблемы : проблема выполнимости булевых формул !!!
(теорема Кука) (и проблема коммивояжера тоже).