Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Нумерация слов и словарные функции




По[i262] аналогии с числовыми можно рассмотреть функции над словами — словарные функции. Пусть задан алфавит A={a1,a2..., ap}, где ai (i=1,2,...,p) — буквы. Несколько букв, записанных рядом (конкатенация) образуют слово в алфавите A. Слово, не содержащее ни одной буквы называется пустым(∅.) Пусть wi(i=1,2,...) — слова в алфавите A. В качестве простейших (элементарных) функций можно выбрать такие: 1) аналог функции обнуления o(w)= ∅; 2) аналог функции следования si(w)=wai; 3) аналог функции проектирования где (1≤m≤n;n=1,2,...). По аналогии вводятся операции подстановки, рекурсии и минимизации.

Вместо этого можно ввести алфавитную нумерацию следующим образом. Пустое слово ∅ имеет номер 0. Однобуквенное слово ai, то есть символ алфавита, имеет номер i для =1,2,...,p. Номер слова по определению то есть слову соответствует натуральное число, записанное в p-ичной системе счисления. Таким образом, все результаты, полученные для числовых функций могут быть перенесены на словарные.

Другими словами, это можно определить так. Пусть дан алфавит А = {a1, a2, …, ar[i263] }, где r – число букв или символов алфавита. Например, для латиницы это - r=26. На множестве букв алфавита согласно правилам соответствующей грамматики можно сформировать множество слов конечной длины A*={α1, α2, …, β1, β2,[i264] …, ε}, где ε -пустое слово. Согласно правилам алгоритма Маркова это могут быть слова αi и βi. [i265] Тогда алфавитная нумерация определяется как: h(ε)=0 и h(ai1,ai2,...,ais [i266])=is+is-1 [i267] r+is-2+r2[i268] +.. i1[i269] +[i270] rs-1 [i271]. Поскольку при фиксированном r каждое положительное число n однозначно представимо в виде:

n= is+is-1 ⋅r+is-2⋅r2+.. i1⋅rs-1, где 1 ≤ i ≤ r – порядковый номер символа в алфавите А, нижний индекс которого указывает его место в слове αi или βi[i272]. Например, для нормального алгоритма Маркова произведения двух чисел алфавит содержит пять символов Vт={|, ⋅, #, (,)}, а протокол правила α1[i273]:= ⋅| | → β1[i274]:= (⋅|, α2[i275]:= ⋅|# → β2[i276]:= (#, α3[i277]:= |(→ β3[i278]:= (|), α4[i279]:=)(→ β4[i280]:= (), α5[i281]:=)| → β5[i282]:= |), α6[i283]:= (| → β6[i284]:= (, α7[i285]:= () → β7[i286]:=), α8:=) → β8:= |, α9:= |# → β9[i287]:= •|#.

Номера некоторых слов: α1:= ⋅| |: n = 1+1⋅5+2⋅52 = 56, β1:= (⋅|: n = 1+2⋅5+4⋅52 =111, α2:= ⋅|#: n = 3+1⋅5+2⋅52 = 58, β2:= (#: n = 3+4⋅5 = 23, α3:= |(: n = 4+1⋅5 = 9, β3:= (|): n = 5+1⋅5+4⋅52 = 110, α4:=)(: n = 4+5⋅5 = 29.

β4:= (): n = 5+4⋅5 =25 и т.д.

β4:= (): n = 5+4*5 =25 и т.д.

[i288] Следовательно, цифровой код протокола есть (56→111, 58→23, 9→110, 29→25, 26→10, 21→4, 25→5, 5→1, 8→8). Далее нужно найти номер для набора двух чисел команды. Так может быть сформирована упорядоченная последовательность номеров команд, моделирующая заданный алгоритм.

 

 

Нумерация машин Тьюринга

Для успешного использования левой и правой полу-[i289] лент машины Тьюринга была предложена система кодирования символов трех алфавитов.

Таблица 1.

 

Согласно этой системе (таблицуотформатировать надо) символы «сдвига головки» были представлены кодами 101[i290], 102[i291], 103[i292], символы «внешней памяти» - кодами с числом нулей равном (2⋅[i293] i + 4), символы «внутренней памяти» – кодами с числом нулей (2⋅[i294] i + 5).Символ # интерпретируются как пробел между числами или словами.

Тогда любой команде (i) машины Тьюринга, имеющей вид qm[i295] as[i296] →ql[i297] au[i298] D может быть сопоставлен код: код (i)= код(qm[i299])код(as[i300])код(ql[i301])код(an[i302])код(D), в котором коды всех символов приписаны друг к другу без каких-либо пробелов. Разделителем слов или чисел являются 1, так как код любого символа начинается с 1, а их различие определяется количеством нулей в коде. На левой полуленте записывают протокол машины Тьюринга, а на правой – ее текущую конфигурацию. В процессе вычисления заданной функции на правой полуленте определяется левая часть команды qm[i303] as[i304], где qm[i305] текущее состояние управляющего устройства, as[i306] – символ на информационной ленте под считывающей головкой. Затем на левой полуленте находится соответствующая команда qm[i307] as[i308] →ql[i309] au[i310] D. После этого машина Тьюринга записывает в обозреваемую ячейку символ au[i311], переводит управляющее устройство в состояние ql[i312] и перемещает головку не более как на одну ячейку вправо или влево.

Например, для машины Т1 протокол будет записан на левой полу ленте так: код(Т1)=10510610910410110910610910410110910410111041021011104107106103. [i313]

Указанное кодирование является алгоритмической процедурой. Каждые пять групп единиц и нулей представляют одну команду. Следовательно, любой функции, вычисляемой на машине Тьюринга, может быть сопоставлен код (Тi[i314]) и по коду (Тi[i315]) можно выделить алгоритм вычисляемой функции. Так может быть организована нумерация алгоритмов машины Тьюринга.

В 70-е годы XX века была предложена алгоритмическая модель, представляющая собой идеализированную ЭВМ. Эта модель состоит из бесконечного числа регистров R1, R2, R3[i316],...,, в каждом из которых может быть записано натуральное число. Часть этих регистров используют для хранения команд (аналог левой полуленты), остальные - для хранения данных, промежуточных вычислений и окончательных результатов (аналог правой полуленты). Модель позволяет организовать произвольный доступ к ячейкам памяти. Такую модель назвали «машиной произвольного доступа» - МПД.

Набор команд МПД включает:

• команду обнуления: действие команды заключается в замене содержимого регистра Rn[i317] на 0, т.е. Rn[i318]:= 0,

• команду прибавления единицы: действие команды заключается в увеличении содержимого регистра Rn[i319] на 1, т.е. Rn[i320]:= Rn[i321] + 1,

• команду переадресации: действие команды заключается в замене содержимого регистра Rn[i322] числом rm, хранящимся в регистре Rm, т.е. Rn:=Rm,

• команду условного перехода: действие команды заключается в сравнении содержимого регистров Rn и Rm:

- если Rn=Rm, то перейти к исполнению команды qi;

- если Rn≠Rm, то перейти к исполнению команды qj.

[i323] Упорядоченная последовательность команд формирует программу МПД.

 


ЗАКЛЮЧЕНИЕ

В данной контролируемой самостоятельной работе я изучал следующие вопросы:

1. Интуитивное понятие алгоритма.

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

3. Свойства алгоритма

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

5. Операции и применения машины Тьюринга.

6. Вычислимость по Тьюрингу и разрешимость.

7. Проблема самоприменимости.

8. Нумерация алгоритмов, наборов чисел, слов и машин Тьюринга.






Поделиться с друзьями:


Дата добавления: 2016-11-24; Мы поможем в написании ваших работ!; просмотров: 844 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Наука — это организованные знания, мудрость — это организованная жизнь. © Иммануил Кант
==> читать все изречения...

2280 - | 2077 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.