Реферат : Нормальные Алгоритмы Маркова. Построение алгоритмов из алгоритмов. 


Полнотекстовый поиск по базе:

Главная >> Реферат >> Математика


Нормальные Алгоритмы Маркова. Построение алгоритмов из алгоритмов.




Нормальные Алгоритмы Маркова. Построение алгоритмов из алгоритмов.

В 1956 году отечественным математиком А.А. Марковым было предложено новое уточнение понятия алгоритма, которое позднее было названо его именем.

В этом уточнении выделенные нами 7 параметров были определены следующим образом:

Совокупность исходных данных - слова в алфавите S;

Совокупность возможных результатов - слова в алфавите W;

Совокупность возможных промежуточных результатов - слова в алфавите

Р=SWV, где V - алфавит служебных вспомогательных символов.

Действия:

Действия имеют вид либо , либо , где , P*, где

P* - множество слов над алфавитом Р, и называется правилом подстановки. Смысл этого правила состоит в том, что обрабатываемое слово просматривается слева направо и ищется вхождение в него слова .

Определение.3.1. Слово называется вхождением в слово , если существуют такие слова и над тем же алфавитом, что и и , для которых верно: =.

Если вхождение в найдено, то слово заменяется на слово .

Все правила постановки упорядочиваются. Сначала ищется вхождение для первого правила подстановки. Если оно найдено, то происходит подстановка и преобразуемое слово опять просматривается слева направо в поисках вхождения. Если вхождение для первого правила не найдено, то ищется вхождение для второго правила и т.д. Если вхождение найдено для i-го правила подстановки, то происходит подстановка, и просмотр правил начинается с первого, а слово просматривается сначала и слева направо.

Вся совокупность правил подстановки называется схемой алгоритма.

Правило начала - просмотр правил всегда начинается с первого.

Правило окончания - выполнение алгоритма заканчивается, если:

было применено правило подстановки вида ,

не применимо ни одно правило подстановки из схемы алгоритма.

7. Правило размещения результата - слово, полученное после окончания выполнения алгоритма.

Рассмотрим пример 1 из лекции 2:

построить алгоритм для вычисления

U(n)=n+1;

S={0,1,2,3,4,5,6,7,8,9}; S=W; V={*,+}.

Cхема этого НАМ показана на рисунке 3.1.

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

Увеличиваем на единицу, начиная с цифр младших разрядов.

Вводим служебный символ * в слово, чтобы им отметить последнюю цифру в слове.

Рис.3.1. Схема НАМ для вычисления U1(n)=n+1

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

(k+1)+(l+1),

где k - количество цифр в n, l - количество 9, которые были увеличены на 1.

Но в любом случае сложность НАМ для U1(n) больше сложности Машины Тьюринга для этой же функции, которая равнялась k+1.

Обратите внимание, что у НАМ порядок следования правил подстановки в схеме алгоритма существенно влияет на результат, в то время как для МТ он не существеннен.

Построим НАМ для примера 2 из лекции 2:

построить алгоритм для вычисления

U2((n)1)=(n-1)1

Итак, S={|}; W=S; V=, т.е. пусто.

|

Cложность этого алгоритма равна 1, в то время как сложность алгоритма для Машины Тьюринга равнялась n.

Теперь построим НАМ для примера 3 из лекции 2:

построить алгоритм для вычисления

U3((n)1)=(n)10

S={|}; W={0,1,2,3,4,5,6,7,8,9}; V=

Схема этого алгоритма приведена на рисунке 3.2.

1|2

2|3

3|4

4|5

5|6

6|7

7|8

8|9

9||0

|010

0|1

|0|

Рис. 3.2. Схема НАМ для вычисления U3((n)1)=(n)10.

Сложность этого НАМ будет n+[log10n], что существенно меньше сложности для Машины Тьюринга, вычисляющей эту функцию, которая равнялась n2+[log10n(log10n+1)].

Реализацию функции U4 сравнения двух целых чисел оставляем читателю в качестве упражнения.

Замечание: исходное слово надо задать в форме *

Для нормальных алгоритмов Маркова справедлив тезис, аналогичный тезису Тьюринга.

Тезис Маркова: Для любой интуитивно вычислимой функции существует алгоритм, ее вычисляющий.

Построение алгоритмов из алгоритмов.

До сих пор, строя ту или иную МТ, или НАМ мы каждый раз все делали заново. Естественно задать вопрос, а нельзя ли при построении, например, новой МТ пользоваться уже построенной ранее МТ.

Например, МТ3 из примера 3

U3((n)1)=(n)10

по существу есть надлежащим образом объединенные МТ для U1(n)=n+1 и U2((n)1)=(n-1)1.

Аналогичный вопрос можно сформулировать для НАМ. Другими словами можно ли аккумулировать знания в форме алгоритмов так, чтобы из них можно было строить другие алгоритмы.

Мы рассмотрим эту проблему применительно к МТ. Однако все сформулированные нами утверждения будут справедливы и для НАМ и для других эквивалентных уточнений понятия алгоритма. Эквивалентость уточнений понятия алгоритма мы рассмотрим позже.

Определение.3.2. Будем говорить, что МТ1 можно эффективно построить из МТ2 и МТ3 если существует алгоритм, который позволяет, имея программу для МТ2 и МТ3, построить программу для МТ3.

Определение.3.3.Последовательной композицией МТ А и В называется такая МТ С, что

область применимости МТ А и С совпадают;

C()=B(A()).

Другими словами, применение С к слову дает такой же результат, как последовательное применение к этому же слову сначала А, а потом к результату применения А - В.

Последовательную композицию МТА и МТВ будем обозначать АВ.

Теорема 3.1. Пусть даны МТ А и В, такие, что В применима к результатам работы А и QAQB=.

Тогда можно эффективно построить МТ С такую, что С= АВ.

Доказательство.

В качестве алфавита данных и множества состояний для МТС возьмем объединение алфавитов данных и множеств состояний для А и В, т.е.

DC=DADВ, QC= QAQB

В программе для А все правила p!, где ,DA*, {Л, П, Н} заменим на pqoB, где qoB QB - начальное состояние для В. Это обеспечит включение В в тот момент, когда А свою работу закончила и не раньше, т.к. QAQB=.

Что и т.д.

Табличная запись программы для С показана на рисунке 3.3.

DB

DС

DA

QС

QB

МТА

МТВ

QA


Рис 3.3 Структура табличной записи программ для Машины С.

Определение3.4. Параллельной композицией Машин Тьюринга А и В назовем такую Машину С, для которой:

DC=DADB

QC=QAQB

C(||)=A(||)B=B(||)A=A()||B().

Из этого определения видно, что порядок применения МТА и МТВ не влияет на результат. Он будет такой же как если бы мы независимо применили А к слову , а В к слову .

Теорема 3.2 Для любых МТ А и МТ В можно эффективно построить МТ С такую, что С=А||В

Обоснование. Мы не будем давать здесь строго доказательства в виду его технической сложности. Покажем лишь обоснование правильности утверждения теоремы. Обозначим DC=DADB; QC=QAQB.

Основная проблема: как гарантировать чтобы А не затронула слово  , а В - слово  . Для этого введем в алфавит DС символ ||. Добавим для всех состояний qiQC таких, что qiQA правила вида ||qi||qiЛ, т.е. каретка машины А будет, натыкаясь на символ ||, уходить влево. Соответственно для всех qjQC таких, что qjQB добавим правила вида ||qj||qjП, т.е. каретка машины В будет уходить вправо. Тем самым мы как бы ограничиваем ленту для А справа, а для В слева.

Существенным здесь является вопрос: не окажутся ли вычислительные возможности Машины Тьюринга с полулентой слабее, чем вычислительные возможности Машины Тьюринга с полной лентой?

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

Теорема 3.3. Для любых Машин Тьюринга А, В и Ф, имеющих один и тот же алфавит S, может быть эффективно построена машина С над тем же алфавитом S, такая что

Доказательство.

Обозначим: E(Р) тождественную машину, т.е. Е(Р)=Р

СOPY(Р) копирующую машину, т.е. СOPY(Р)=Р||Р,

где ||S.

BRANCH(P) - эта машина переходит либо в состояние р1, либо в состоянии ро. Ее программа состоит из 4-х команд:

1qo1П

||р1||р1П

0qoоП

||ро||роП

Построим машину

Эта машина строится по следующей формуле:

Согласно теоремам 3.1 и 3.2., мы можем построить машину , зная Е, Ф и COPY. Теперь, имея , BRNCH, A и В, можно построить машину С следующим образом:

Машина BRANCH заканчивает свою работу либо в состоянии р1, если слово P обладает нужным свойством, либо в состоянии ро, находясь в начале слова P. Поэтому, если принять у машины А состояние р1, как начальное, а у машины В состояние ро, как начальное, то машина А будет включена при условии, что Ф(Р)=1, а машина В будет включена, если Ф(Р)=0.

Правило композиции, определяемое этой теоремой будем записывать, если Ф то А иначе В.

Теорема 3.4. Для любых машин А и Ф можно эффективно построить машину L такую, что

L(P)={ Пока Ф(Р)=1, применяй А }

Доказательство: Заменим в доказательстве теоремы 3.3. машину В машиной Е, а заключительное состояние в машине В заменим на начальное состояние в машине . В итоге получим нужный результат.

Теорема 3.5. (Бомм, Джакопини, 1962)

Любая Машина Тьюринга может быть построена с помощью операции композиций , || , если Ф, то А иначе В, пока Ф применяй А.

Эту теорему мы даем здесь без доказательства.

Следствие 3.1. В силу Тезиса Тьюринга, любая интуитивно вычислимая функция может быть запрограммирована в терминах этих операций.

Следствие 3.2 Мы получили что-то вроде языка, на котором можно описывать новую Машину Тьюринга, используя описания уже существующих, а затем, используя теоремы 3.1 - 3.4, построить её функциональную схему.

Следствие 3.3 Алгоритм - это конструктивный объект. В случае Машины Тьюринга атомарными объектами являются команды, а теорема 3.5 определяет правила композиции.

Выводы:

Алгоритм - конструктивный объект;

Алгоритм можно строить из других алгоритмов;

, ||, if_then_else, while_do - универсальный набор действий по управлению вычислительным процессом.

Вопросы :

Что такое правило подстановки?

Зависит ли результат от порядка следования правил в НАМ?

Что происходит когда не применимо ни одно правило подстановки?

Что утверждает тезис Маркова?

Можно ли доказать тезис Маркова?

Семантика операции ?

Семантика операции ||?

Семантика операции if_then_else?

Семантика операции while_do?

Что такое конструктивный объект?

Алгоритм - это конструктивный объект?

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

Для подготовки данной работы были использованы материалы с сайта http://www.ergeal.ru/

Похожие работы:

  • Методические рекомендации по выполнению выпускной квалификационной работы бакалавра физико-математического образования профиль информатика

    Реферат >> Педагогика
    ... Основные этапы построения моделей. Построение и исследования с помощью компьютера информационных моделей из физики, биологии ... машины Тьюринга. Эквивалентность машин Тьюринга. 2.4. Нормальные алгоритмы Маркова. 2.5. Частично-рекурсовая функция. 3.1. Теория ...
  • Формализация понятия алгоритма

    Реферат >> Информатика, программирование
    ... создание практического инструмента для построения алгоритмов. Один из возможных путей формализации состоит в том ... примеров уточнения понятия алгоритма мы рассмотрим Машину Тьюринга и Нормальные алгоритмы Маркова. Машина Тьюринга. Машиной ...
  • Формализация понятия "алгоритм"

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

    Реферат >> Экономика
    ... сети Петри, цепи Маркова и др. Примеры ... на объек­тах, работающих в нормальных режимах, так и при ... к построению моделей. При рассмотрении порознь каждый из них ... системы (нескольких альтернативных алго­ритмов, реализующих заданный закон функционирования ...
  • Теория остатков

    Дипломная работа >> Математика
    ... — Тьюринга), Н. Винера, А. А. Маркова. 1.2 Алгоритм Евклида Определение. Число d Z , делящее ... Тогда r / t = (u / s)(q / t) + r' / ts. Из построения следуют неравенства . Евклидовыми являются кольца ... модулей всегда приводится к нормальной форме. То есть ...
  • Конструктивная математика

    Реферат >> Математика
    ... построением искомого у. Другими словами,  х  у А (х, у) выражает существование алгоритма, находящего у, исходя из х.. Из ... конструктивной математике получили нормальные алгорифмы Маркова. К необходимости уточнения понятия алгоритма приводит также ...
  • Алгоритмические машины

    Реферат >> Информатика, программирование
    ... показать принципиальную теоретическую возможность построения сколь угодно сложного алгоритма из предельно простых операций ... информации на одной универсальной конструкции. 6. Нормальные алгоритмы Маркова Кратко остановимся на третьем подходе ...
  • АРТ-моделирование на фондовом рынке

    Курсовая работа >> Экономико-математическое моделирование
    ... реализация АРТ-моделирования 1. Универсальный алгоритм построения модели АРТ 2. Практическая реализация ... которая для выборки (х, y) из нормальной генеральной совокупности будет иметь t-распределение ... на выполнение условия 3 Гаусса-Маркова Durbin-Watson d and ...
  • Технология цифровой связи

    Учебное пособие >> Коммуникации и связь
    ... блока из k информационных символ в уникальную последовательность из n ... цепью Маркова. Простой цепью Маркова называется ... , необходимой для нормальной работы тактовой синхронизации ... помощью построения и применения дерева к алфавиту источника. Алгоритм Лемпеля ...
  • Социальные ограничения: содержание, структура, функции

    Реферат >> Социология
    ... установки и алгоритмы действий, ... систем права построенных исходя из теории «общественного ... противоречие с условиями нормального существования и развития общества ... – 2001. - №7. – С.203-212. Маркова Н. Культуринтервенция. // Народное образование. - 2002.- ...