Теория вычислений и машина Тюринга
Тео́рия алгори́тмов
Тео́рия алгори́тмов — наука, изучающая общие свойства и закономерности алгоритмов и разнообразные формальные модели их представления. К задачам теории алгоритмов относятся формальное доказательство алгоритмической неразрешимости задач,асимптотический анализ сложности алгоритмов, классификация алгоритмов в соответствии с классами сложности, разработка критериев сравнительной оценки качества алгоритмов и т. п.
Возникновение теории алгоритмов
Развитие теории алгоритмов начинается с доказательства К. Гёделем теорем о неполноте формальных систем, включающих арифметику, первая из которых была доказана в 1931 г. Возникшее в связи с этими теоремами предположение о невозможности алгоритмического разрешения многих математических проблем (в частности, проблемы выводимости в исчислении предикатов) вызвало необходимость стандартизации понятия алгоритма. Первые стандартизованные варианты этого понятия были разработаны в 30-х годах XX века в работах А. Тьюринга, А. Чёрча и Э. Поста. Предложенные ими машина Тьюринга, машина Поста и лямбда-исчисление Чёрча оказались эквивалентными друг другу. Основываясь на работах Гёделя, С. Клини ввел понятие рекурсивной функции, также ...
Билет № 15
Факультет ИВТ (ДО) Курс 4 Семестр 7
Дисциплина Теория языков программирования и методы трансляции
1) Автоматы с магазинной памятью (МПА) как распознаватели КС-языков; необходимые определения (такт, конфигурация, функция перехода), классификация МПА. Проиллюстрировать на примерах (примеры должны быть свои).
2) Теория перевода. Способы выполнения перевода; этапы компиляции, на которых применяется перевод. Выводимые пары цепочек и другие понятия, необходимые при переводе. Проиллюстрировать на примерах (примеры должны быть свои).
Построить и изобразить графически детерминированный конечный автомат, распознающий записи целых чисел со знаком вида ’0’, ’+a0a1…an’, ’–a0a1…an’ (a00, ai{0,1,…,9}) в алфавите {+,–,0,1,…,9}. Построить регулярное выражение и грамматику для этого же языка....
1) Виды рекурсии в правилах грамматики, задающей язык. Алгоритм устранения левой рекурсии. Проиллюстрировать на примере (пример должен быть свой).
2) Алгоритм нисходящего анализа цепочек языка без возвратов. Метод рекурсивного спуска. Проиллюстрировать на примере (пример должен быть свой).
3) Построить детерминированный автомат с магазинной памятью P (с опустошением стека), допускающий язык L(P) = {a 2k b n c n k > 0, n > 0}. Построить КС-грамматику для этого же языка....
1) Автоматные грамматики – определение, способ приведения регулярной грамматики к автоматному виду. Проиллюстрировать на примере (пример должен быть свой).
2) Схема работы компилятора, основные этапы компиляции. Краткая характеристика основных фаз компиляции.
3) Пусть дана грамматика для арифметических выражений: G ({+,–,/,*,a,b,(,)}, {S,T,E}, P, S), где правила P имеют вид:
S S+TS–TT*ET/E(S)ab
T T*ET/E(S)ab
E (S)ab.
Выполнить разбор цепочки ’a/b’ на основе алгоритма «сдвиг-свертка»....