Время работы алгоритма Дейкстры на машине Тьюринга

Машина Тьюринга как абстрактный исполнитель, вычислительная машина. Ее устройство и принципы управления, взаимосвязь элементов и назначение. Исследование отдельных палиндромических словосочетаний и фраз. Реализация проверки палиндрома на машине Тьюринга.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 15.12.2014
Размер файла 22,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Содержание

1. Машина Тьюринга

2. Палиндром

3. Реализация проверки палиндрома на машине Тьюринга

4. Время работы алгоритма Дейкстры на машине Тьюринга

Список литературы

1. Машина Тьюринга

Машина Тьюринга (МТ) - абстрактный исполнитель (абстрактная вычислительная машина). Была предложена Аланом Тьюрингом в 1936 году для формализации понятия алгоритма.

Машина Тьюринга является расширением конечного автомата и, согласно тезису Чёрча - Тьюринга, способна имитировать все другие исполнители (с помощью задания правил перехода), каким-либо образом реализующие процесс пошагового вычисления, в котором каждый шаг вычисления достаточно элементарен.

Устройство машины Тьюринга

В состав машины Тьюринга входит полубесконечная лента (возможны машины Тьюринга, которые имеют несколько лент), разделённая на ячейки, и управляющее устройство, способное находиться в одном из множества состояний. Число возможных состояний управляющего устройства конечно и точно задано.

Управляющее устройство может перемещаться влево и вправо по ленте, читать и записывать в ячейки символы некоторого конечного алфавита. Выделяется особый пустой символ, заполняющий все клетки ленты, кроме тех из них (конечного числа), на которых записаны входные данные.

Управляющее устройство работает согласно правилам перехода, которые представляют алгоритм, реализуемый данной машиной Тьюринга. Каждое правило перехода предписывает машине, в зависимости от текущего состояния и наблюдаемого в текущей клетке символа, записать в эту клетку новый символ, перейти в новое состояние и переместиться на одну клетку влево или вправо. Некоторые состояния машины Тьюринга могут быть помечены как терминальные, и переход в любое из них означает конец работы, остановку алгоритма.

Машина Тьюринга называется детерминированной, если каждой комбинации состояния и ленточного символа в таблице соответствует не более одного правила. Если существует пара «ленточный символ - состояние», для которой существует 2 и более команд, такая машина Тьюринга называется недетерминированной.

Описание машины Тьюринга

Конкретная машина Тьюринга задаётся перечислением элементов множества букв алфавита A, множества состояний Q и набором правил, по которым работает машина. Они имеют вид: qiaj>qi1aj1dk (если головка находится в состоянии qi, а в обозреваемой ячейке записана буква aj, то головка переходит в состояние qi1, в ячейку вместо aj записывается aj1, головка делает движение dk, которое имеет три варианта: на ячейку влево (L), на ячейку вправо (R), остаться на месте (S)). Для каждой возможной конфигурации <qi, aj> имеется ровно одно правило (для недетерминированной машины Тьюринга может быть большее количество правил). Правил нет только для заключительного состояния (q0), попав в которое машина останавливается.

2. Палиндром

Слово палинром, происходит от греч. рЬлйн - «назад, снова» и греч. дсумпт - «бег»), иногда также палиндромон, от гр. palindromos бегущий обратно) - число (например, 404), буквосочетание, слово (например, топот, фин. saippuakauppias = продавец мыла - самое длинное употребительное слово-палиндром в мире) или текст (а роза упала на лапу Азора), одинаково читающееся в обоих направлениях. Иногда палиндромом неформально называют любой симметричный относительно своей середины набор символов.

Отдельные палиндромические словосочетания и фразы известны с глубокой древности, когда им зачастую придавался магически-сакральный смысл (не лишена этого оттенка, например, фраза На в лоб, болван, использовавшаяся русскими скоморохами в качестве перформативного высказывания). Авторское творчество в области палиндрома начинается, по-видимому, в Средние века. В русской литературе достоверно известно об авторском палиндромном стихе Державина «Я имду съ мемчемъ судия», затем об авторском палиндромном стихе Фета «А роза упала на лапу Азора». Первую попытку многострочного (и довольно длинного) стихотворного произведения в форме палиндрома предпринял Велимир Хлебников в поэме «Разин». Однако расцвета русский литературный палиндром (преимущественно стихотворный) достиг только в 1970-1990-е года в творчестве Николая Ладыгина, а затем Владимира Гершуни, Елены Кацюбы и Дмитрия Авалиани. В 1990-х годах началось в России и детальное литературоведческое и лингвистическое изучение палиндромии - прежде всего Александром Бубновым и Германом Лукомниковым. Теоретики и практики палиндрома выделили многочисленные пограничные с палиндромом формы: например, оборотень - текст, читающийся слева направо иначе, чем справа налево: «Мир удобен» (Сергей Федин). Среди более редких разновидностей палиндромических текстов следует назвать также слоговые, словесные и фразовые палиндромы, двуязычные палиндромы (в одну сторону текст читается на одном языке, в обратную - на другом) и т.п.

Существуют разновидности, когда чтение производится не в обратном направлении, а в прямом, но с другого места в «размноженном» термине, например, кабанкабан, кольцокольцо, викивики. Такие «разночтения» могут встречаться и в ДНК.

3. Реализация проверки палиндрома на машине Тьюринга

тьюринг палиндром алгоритм

Построим машину Тьюринга, определяющую, является ли входное слово палиндромом. Алфавит машины: У = {0,1,>,?}.

Составим функцию переходов. Если лента пустая, то мы принимаем вход.

(q0,?) > (qyes,?,·). Если лента не пустая, то мы запоминаем в состоянии первый символ (q2, если это 0 и q3, если это 1), заменяем его на > и перемещаемся к концу ленты.

(q0,0) > (q2,>,>),

(q0,1) > (q3,>,>),

(q2,0) > (q2,0,>),

(q2,1) > (q2,1,>),

(q3,0) > (q3,0,>),

(q3,1) > (q3,1,>).

Как только встретился символ ?, мы возвращаемся на шаг назад и проверяем, какой символ предшествовал ему.

(q2,?) > (q4,?,<),

(q3,?) > (q5,?,<),

(q4,1) > (q no,1,·),

(q5,0) > (q no,0,·),

(q4,>) > (q yes,>,·),

(q5,>) > (q yes,>,·).

Если это подходящий символ, то мы возвращаемся к началу ленты и повторяем всё заново.

(q4,0) > (q6,0,<),

(q5,1) > (q6,1,<),

(q6,0) > (q6,0,<),

(q6,1) > (q6,1,<),

(q6,>) > (q0,>,>).

4. Время работы алгоритма

На входе длины n наша программа делает примерно 2 * ?(n2) шагов

Сложностью по времени на данном входе x называется число шагов, производимых до перехода в состояние qyes.

Сложностью по времени называется функция T: N > N, где T(n) есть наибольшая сложность по времени для входов длиной n.

Мы используем принцип несжимаемости, известный в алгоритмической теории информации (колмогоровской сложности). Пусть имеется инъективное отображение f: {0,1}n > {0,1}*. Тогда найдётся строка x ? {0,1}n, такая что |f(x)| ? n. Это легко видно из подсчёта: строк длиной n имеется 2n, а строк длиной ? n имеется 20 +21 +···+2n?1 =2n ? 1. То есть, при любом выбранном кодировании среди всех строк длиной n найдется несжимаемая строка, которая кодируется не менее чем n битами. Пусть машина Тьюринга M распознаёт язык палиндромов. В частности, она должна распознавать слова вида x0xR, где x ? {0,1}n, а xR - строка x, записанная в обратном порядке.

Рассмотрим «перегородки» между ячейками ленты и последовательности пересечения этих перегородок (последовательности, показывающие, в каком состоянии произошло очередное пересечение перегородки). Существует i-я перегородка, где n ? i ? 2n, такая что соответствующая последовательность пересечений Si = (q1,…, qm) имеет длину m ? T(x)/n, где T(x) - время работы машины на входе x0xR, и n = |x|. По числу i и последовательности Si можно однозначно восстановить x.

Битовое представление Si будет занимать не более CM T(x)/n+2 log n, где log n требуется на хранение n и i. По этому описанию другая машина Тьюринга M` может сгенерировать x.

Теперь мы применяем принцип несжимаемости: сложность K(x) = |f(x)| строки x превосходит log n не более чем на константу CM`. Однако среди строк длиной n найдется несжимаемая строка x*, такая что K(x*) ? n. Таким образом, n ? K(x *) ? CM T(x*)/n + 2 log n + CM `. Значит, T(x*) = ?(n2).

Литература

1. Джон Хопкрофт, Раджив Мотвани, Джеффри Ульман Глава 8. Введение в теорию машин Тьюринга // Введение в теорию автоматов, языков и вычислений

2. Теория сложности вычислений Д.М. ИцыксонРазмещено на Allbest.ru

...

Подобные документы

  • Простое вычислительное устройство машина Тьюринга и ее алгоритмические свойства. Тезис Черча–Тьюринга и моделирование машины Тьюринга (операции перезаписи ячеек, сравнения и перехода к другой соседней ячейке с учетом изменения состояния машины).

    контрольная работа [23,3 K], добавлен 24.04.2009

  • А.М. Тьюринг как английский математик, логик, криптограф, оказавший существенное влияние на развитие информатики. Понятие и назначение машины Тьюринга, принцип ее работы и сферы практического применения. Этапы реализации парадигмы программирования.

    реферат [8,1 K], добавлен 04.10.2011

  • Принципы работы и основы программирования машины Тьюринга, а также перечень правил написания алгоритмов на ее эмуляторе. Особенности решения задачи по сложению нескольких чисел в двоичной системе путем реализации ее алгоритма на эмуляторе машины Тьюринга.

    контрольная работа [82,4 K], добавлен 05.12.2010

  • Методика разработки программы, предназначенной для разбора предложения с помощью многоленточной машины Тьюринга. Цели и назначение данной системы, основные требования, предъявляемые к ней. Организационно-исполнительные работы по содержанию системы.

    курсовая работа [386,8 K], добавлен 16.12.2010

  • Примеры запросов к одной из поисковых систем Интернет (подбор ключевых слов) и расчетов в табличном процессоре MS Excel (инструменты). Описание машины Тьюринга: составляющие и их функционирование. Основные форматы представления графических данных.

    контрольная работа [24,5 K], добавлен 09.06.2009

  • Изучение методик языка Javascript по формализации и решению поставленной задачи, технологических приемов разработки программ на языке Javascript, HTML, CSS. Формально определение машины Тьюринга, распознающую язык. Ее программная модель, протоколы работы.

    курсовая работа [220,7 K], добавлен 03.03.2015

  • Разложение функций по переменным. Совершенная дизъюнктивная нормальная форма. Разрешимoсть задач в классической теории алгоритмов и их трудоемкость. Память и время как количественная характеристика алгоритма (применительно к машине Тьюринга и ЭВМ).

    дипломная работа [59,9 K], добавлен 17.04.2009

  • Положения машины Тьюринга. Алгоритмически неразрешимые проблемы: "остановка", эквивалентность алгоритмов, тотальность. Свойства алгоритма: дискретность, детерминированность, результативность, массовость. Выбор структуры данных. Решение на языке Haskell.

    курсовая работа [957,6 K], добавлен 16.11.2013

  • Происхождение и сущность понятия "алгоритм". Основные требования к алгоритмам. Роль абстрактных алгоритмических систем. Алгоритм как абстрактная машина. Алгоритмическая машина Поста. Схема логического устройства и функционирования машины Тьюринга.

    реферат [62,2 K], добавлен 16.03.2011

  • История развития средств вычислительной техники. Машина Тьюринга: понятие и свойства. Теория переменных и типов данных в ANSI C. Обменные сортировки, их виды. Исходный, объектный и машинный код. Функции компилятора и линковщика. Рекурсивные алгоритмы.

    шпаргалка [432,5 K], добавлен 04.05.2015

  • Зарождение информатики и ее современное определение. Представление данных в ЭВМ. Кодирование данных. Недетерминированная машина Тьюринга. Специальные значения, стандарты и технические реализации. Основы аппаратной поддержки обработки числовых данных.

    презентация [222,5 K], добавлен 18.01.2014

  • Электронно-вычислительная машина (ЭВМ) как средство обработки информации. Аппаратные и программные средства ЭВМ. Системы счисления и представления информации. Элементы структурного программирования. Построение блок-схем алгоритмов решения задач.

    презентация [152,5 K], добавлен 26.07.2013

  • Двоичная система, алгебра логики и абстрактная "машина Тьюринга" - базовые компоненты информатики. Описание строение и основных недостатков первых ЭВМ. Воплощение прогрессивных архитектурных и программных решений в создании новых версий компьютеров.

    реферат [40,0 K], добавлен 24.11.2010

  • Синтез и детерминизация, алгоритм минимизации автоматов–распознавателей. Машина Тьюринга как универсальный тип абстрактного преобразователя. Моделирование систем и событий с помощью сетей Петри. Методы синтеза структурных автоматов на базе триггеров.

    учебное пособие [2,3 M], добавлен 17.06.2014

  • Нормальный алгоритм Маркова. Тезис Маркова и машина Тьюринга. Гипотеза теории алгоритмов. Алгоритмически неразрешимые проблемы. Задача эквивалентности двух слов в ассоциативном исчислении. Задача распознавания выводимости. Линейная оценка сложности.

    методичка [57,0 K], добавлен 06.07.2009

  • Теоретическое исследование вопроса и практическое применение. Общие сведения о графах. Алгоритм Дейкстры. Особенности работы в среде. Программная реализация. Описание алгоритма и структуры программы. Описание программных средств. Текст программы.

    курсовая работа [1,0 M], добавлен 27.11.2007

  • Описание формальной модели алгоритма на основе рекурсивных функций. Разработка аналитической и программной модели алгоритма для распознающей машины Тьюринга. Разработка аналитической модели алгоритма с использованием нормальных алгоритмов Маркова.

    курсовая работа [1,5 M], добавлен 07.07.2013

  • Более строгое описание алгоритма, чем общее или формализация понятия алгоритма. Три подхода к формализации: теория конечных и бесконечных автоматов, теория вычислимых (рекурсивных) функций и л-исчисление Черча. Воображаемые машины Поста и Тьюринга.

    реферат [370,0 K], добавлен 09.02.2009

  • Определение понятия "суперкомпьютер". Рассмотрение особенностей программного обеспечения, производительности, сферы применения суперкомпьютеров. Принципы работы и основные характеристики SuperMUC. Фотоэкскурсия по самому быстрой информационной машине.

    курсовая работа [1,7 M], добавлен 15.04.2015

  • Сущность, понятие и назначение квантового комп’ютера; его использование для вычисления процессов квантовой природы. Физические системы, реализующие кубиты. Упрощённая схема вычисления на квантовом компьютере. Тезис Черча-Тьюринга. Алгоритм Deutsch-Josza.

    реферат [122,6 K], добавлен 10.11.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.