Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
my=ps=KSR1=samoilik=13052013.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
744.96 Кб
Скачать

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

По аналогии с числовыми можно рассмотреть функции над словами — словарные функции. Пусть задан алфавит 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}, где r – число букв или символов алфавита. Например, для латиницы это - r=26. На множестве букв алфавита согласно правилам соответствующей грамматики можно сформировать множество слов конечной длины A*={α1, α2, …, β1, β2,…, ε}, где ε -пустое слово. Согласно правилам алгоритма Маркова это могут быть слова αi и βi. Тогда алфавитная нумерация определяется как: h(ε)=0 и h(ai1 ,ai2 ,...,ais )=is+is-1 r+is-2+r2+.. i1+rs-1 . Поскольку при фиксированном r каждое положительное число n однозначно представимо в виде:

n= is+is-1 ⋅r+is-2⋅r2+.. i1⋅rs-1, где 1 ≤ i ≤ r – порядковый номер символа в алфавите А, нижний индекс которого указывает его место в слове αi или βi. Например, для нормального алгоритма Маркова произведения двух чисел алфавит содержит пять символов Vт={| , ⋅, #, (, )}, а протокол правила α1:= ⋅| | → β1:= (⋅|, α2:= ⋅|# → β2:= (#, α3:= |( → β3:= (|), α4:= )( → β4:= ( ), α5:= )| → β5:= |), α6:= (| → β6:= (, α7:= ( ) → β7:= ), α8:= ) → β8:= |, α9:= |# → β9:= •|#.

Номера некоторых слов: α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 и т.д.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]