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

T-o-t-e

Оно не претендует на математическую строгость, но и не отказывается от неё. До тридцатых годов нашего века математики довольствовались этим несколько расплывчатым понятием алгоритма.

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

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

Здесь мы вкратце изложим элементы одной из этих теорий — теории нормальных алгоритмов.

Нормальные алгоритмы

Пусть А - какой-нибудь алфавит, не содержащий стрелку «→» и точку «.» в качестве букв. Будем называть простыми формулами подстановок [ПФП] в алфавите А слова вида

. А→В

где А и В — слова в алфавите А; будем называть заключительными формулами подстановок [ЗФП] в алфавите А слова вида

А→.В

где А и В — слова в алфавите А. ПФП и ЗФП в алфавите А мы будем называть формулами подстановок [ФП] в алфавите А. Слово А мы будем называть левой частью ФП; слово Вправой частью этой ФП.

Будем говорить, что ФП F действует на слово Р в алфавите А, если левая часть F входит в Р. В случае, когда F действует на Р, будем считать результатом действия F на Р результат подстановки правой части F вместо первого вхождения левой части F в Р. Таким образом, результат действия F на Р определен тогда и только тогда, когда F действует на Р. В этом случае результат действия F на Р есть слово в алфавите А.

Схемой в алфавите А будем называть объект вида

где все Fi суть ФП в алфавите А. ФП Fi,- будем называть i-й строкой схемы .

Будем говорить, что схема действует на слово Р в алфавите А, если хотя бы одна из строк схемы у действует на Р. В этом случае результатом действия схемы у на слово Р будем называть результат действия на Р первой (по порядку) из строк схемы , действующих на Р; будем при этом говорить, что схема просто действует на Р, если первой из строк схемы действующих на Р, является ПФП; будем говорить, что схема заключительно действует на Р, если первой из строк схемы , действующих на Р, является ЗПФ.

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

Пусть — схема в алфавите А, Р • — слово в А. Определим следующий, разбитый на шаги, конструктивный процесс.

Первый шаг процесса делается тогда и только тогда, когда схема действует на слово Р. В. этом случае шаг состоит в построении результата действия схемы на слово Р. Если же схема не действует на слово Р, то Р считается результатом всего процесса.

(k+1)-й шаг процесса делается, если сделан k-й шаг процесса, схема на k-м шагу действовала просто, и схема действует на результат k-ro шага. В этом случае (k+1)-й шаг состоит в построении результата действия схемы на результат k-го шага.

Если же схема действовала на k-м шагу заключительно или схема не действует на результат k-го шага, то (k+1)-й шаг не делается, процесс обрывается и результатом всего процесс а считается результат его k-го шага.

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

Алгоритмы, определяемые, как описано выше, схемами в алфавите А, мы называем нормальными алгоритмами в алфавите А.

Пусть U - - нормальный алгоритм в алфавите А, определяемый схемой в А. Мы говорим, что слово Р в А не поддается алгоритму U

U: P

и пишем если схема не действует на Р;

Мы говорим, что U просто переводит Р в Q, и пишем

U: P Q

если схема просто действует на Р и Q есть результат действия схемы на Р; мы говорим, что алгоритм U заключительно переводит Р в Q, и пишем

U: P . Q

если схема заключительно действует на Р и Q есть результат действия схемы на Р.

Описанный выше процесс, определяемый алгоритмом U и словом Р, мы будем называть процесс ом применения алгоритма U к слову Р. Мы будем говорить, что алгоритм U применим к слову Р, если этот процесс обрывается. В этом случае имеется результат этого процесса — некоторое слово в алфавите А. Мы будем говорить, что алгоритм U перерабатывает слово Р в слово Q, если Q является результатом процесс а применения алгоритма U к слову Р.

В дальнейшем запись

U:P!

будет означать, что алгоритм U применим к слову Р, а запись

U: P Q

будет означать, что алгоритм U перерабатывает Р в Q.

Ясно, что алгоритм U тогда и только тогда применим к слову Р, когда имеется слово Q, в которое U перерабатывает Р.

Говорить о применимости алгоритма U к слову в алфавите А и о переработке этим алгоритмом одного слова в алфавите А в другое слово в алфавите А можно, очевидно, и в случае, когда алгоритм U не нормален, когда это есть какой-то алгоритм, оперирующий со словами в алфавите А. Среди таких: алгоритмов в алфавите А - нормальные алгоритмы хороши прежде всего тем, что они имеют точное определение.

Будем говорить об алгоритме U, что он есть алгоритм, над алфавитом А, если он есть алгоритм в некотором алфавите, содержащем А. Пусть U и B - - алгоритмы над алфавитом А. Будем говорить, что они эквивалентны относительно А, если соблюдаются следующие условия.

1°. Всякий раз, когда U перерабатывает какое-нибудь слово Р в алфавите А в слово Q в этом же алфавите, B также перерабатывает Р в Q.

2°. Всякий раз, когда B перерабатывает Слово Р в алфавите А в слово Q в этом же алфавите, U также перерабатывает Р в Q.

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

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

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

различные способы комбинирования алгоритмов - способы построения новых алгоритмов по исходному набору данных алгоритмов - ведут от нормализуемых алгоритмов снова к нормализуемым.


Дата добавления: 2015-08-03; просмотров: 39 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
б класс (расширенный уровень)| Annotation 1 страница

mybiblioteka.su - 2015-2024 год. (0.008 сек.)