06. Теоремы сочетания

Алгоритм (в интуитивном смысле) может быть «запрограммирован» не только в виде нормального алгорифма – выписыванием его схемы, но через определенные правила комбинации (сочетания) уже построенных нормальных алгорифмов.

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

1) применить к исходному слову нормальный алгорифм ;

2)если слово определено, то к нему применить нормальный алгорифм ;

3) результатом считать слово , если оно определено.

Это предписание не является априори нормальным алгорифмом, поскольку оно не задано единой схемой такого алгорифма, а оперирует нормальными алгорифмами, словно некоторыми «блоками». Оно определяет один из способов сочетания нормальных алгорифмов, называемый Композицией (иногда Последовательной композицией).

Оказывается, что композицию и другие сочетания нормальных алгорифмов, которые будут рассмотрены ниже, можно «запрограммировать» в виде схем нормальных алгорифмов. Теоремы о возможности построения таких схем называю

Тся Теоремами сочетания.

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

Сформулируем теорему композиции.

Теорема 2 (О композиции нормальных алгорифмов). Каковы бы ни были нормальные алгорифмы и в алфавите , может быть построен такой нормальный алгорифм над алфавитом , что для любого слова имеет место условное равенство .

Нам будет удобно дальше обозначать НА как , то есть .

Способ сочетания нормальных алгорифмов, называемый Разветвлением, задается так:

1) к исходному слову применить алгорифм ;

2) если слово существует и равно пустому слову, то к слову применить алгорифм и слово считать общим результатом;

3) если слово существует и не равно пустому слову, то к слову применить алгорифм и считать слово общим результатом;

4) если слово не определено, то не определен и общий результат.

Теорема о «программировании» разветвления нормальных алгорифмов в виде схемы некоторого нормального алгорифма называется теоремой о разветвлении и формулируется следующим образом.

Теорема 3 (О разветвлении нормальных алгорифмов). Каковы бы ни были нормальные алгорифмы и в алфавите , может быть построен алгорифм над алфавитом такой, что для любого слова выполняется следующее: 1) если то ; 2) если , то при и при .

Нормальный алгорифм , который может быть построен согласно теореме о разветвлении, будем обозначать И называть -Разветвлением алгорифмов и . Коротко этот алгорифм можно задать такой записью:

.

В программистских терминах -разветвление можно описать так:

If Then Else .

Сформулированные здесь теоремы о композиции и разветвлении будут использованы при доказательстве основного результата о неразрешимости проблемы применимости для нормальных алгорифмов.

© 2011-2024 Контрольные работы по математике и другим предметам!