русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Нормальные алгорифмы Маркова


Дата добавления: 2013-12-23; просмотров: 892; Нарушение авторских прав


 

В терминах нормальных алгорифмов формализация понятия «алгоритм» была предложена советским математиком Андреем Андреевичем Марковым в 1951 году. Краткое изложение теории нормальных алгорифмов выглядит так. А.А.Марков

 

Пусть имеется произвольный алфавит A={a1, a2, a3,…am}, не содержащий пустой буквы[3] и символов →, Þ. Через A* будем обозначать множество слов над алфавитом A. Считается, что пустое слово l входит в любое слово перед каждой его буквой. Это означает, например, что a1a2a3a5 и la1la2la3la5 две записи одного и того же слова. Тот факт, что слово bÎA* входит в слово aÎ A*[4], фиксируется так: bÍa.

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

h→x (h,xÎ A*) (1)

hÞx (h,xÎ A*) (2)

При этом подстановка (1) называется простой, подстановка (2) – заключительной.

Результатом применения подстановки h→x к слову aÎ A* называют слово bÎA*, полученное путем замены в слове a первого вхождения слова h на слово h (в этом случае говорят, что подстановка h→x является активной на слове a). Если слово h не входит в слово a, то говорят, что подстановка h→x не является активной на слове a. Например, если a=a1a2a3a5, h=a2a3, x=a5, то результатом подстановки h→x на слове a будет слово b= a1a5a5.

Определение 2.2.1. Линейно упорядоченная конечная последовательность подстановок вида (1) – (2) называется функциональной схемой нормального алгорифма.

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

Применение нормального алгорифма M кслову a предполагает следующий порядок действий.



1. Задается исходное слово a0.

2. Полагается, что a=a0.

3. Просматривается сверху вниз список подстановок в поиске первой из них, активной на слове a.

4. Если подстановок, активных на слове a нет, то результатом работы нормального алгорифма над словом a считается слово a (M(a)=a).

Процесс применения алгорифма M к слову a оканчивается.

5. Если найденная активная на слове a подстановка оказывается заключительной, то она применяется к слову a. Результат ее применения считается результатом применения всего алгорифма M к слову a.

Процесс применения алгорифма M к слову a оканчивается.

6. Если найденная активная на слове a подстановка оказывается простой, то она применяется к слову a (результат применения обозначается как b).

7. Полагается, что a=b и осуществляется возврат к пункту 3.

Если нормальный алгорифм оканчивается в пунктах 4 – 5, то говорят, что он применим к слову a0. В противном случае, если процесс никогда не оканчивается, говорят, что нормальный алгорифм M не применим к слову a0.

При этом возможны различные варианты.

Так, например алгорифм M1 в алфавите A={0,1} c функциональной схемой:



<== предыдущая лекция | следующая лекция ==>
Машина Поста | Лекция № 3. Машины Тьюринга


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.