русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

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


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Нормальні алгоритми Маркова


Дата додавання: 2014-11-28; переглядів: 2806.


Це є алгоритмічні системи, до складу яких, крім алфавіту (чи алфавітів), належать елементарні припустимі операції двох видів: елементарні підстановки та елементарні розпізнавачі.

Елементарні підстановки — це алфавітні оператори, послідовність яких може реалізувати будь-які алгоритми перетворення інформації.

Елементарні розпізнавачі перевіряють наявність тих чи інших властивостей перетворюваної алгоритмами інформації, а результат розпізнавання визначає послідовність виконання елементарних підстановок.

Алгоритми, побудовані у межах нормальних алгоритмів Маркова, зручніше за все представляти за допомогою граф-схем. Точки, що на граф-схемі відповідають підстановкам, мають одну вихідну стрілку, точки, що відповідають розпізнавачу, мають дві вихідні стрілки.

Алгоритм, визначений граф-схемою, працює таким чином: вхідне слово подається на вхід і рухається у напрямках, які вказують стрілки. Коли слово попадає у вузол-розпізнавач, виконується перевірка умови, що в ньому задана. Якщо умова дотримана, слово прямує до операторного вузла, якщо ні — до наступного розпізнавача.

На виході алгоритму маємо вихідне слово. Якщо рух вхідного слова за граф-схемою триває нескінченно довго, то вважається, що алгоритм не застосовний до нього, тобто слово не належить області визначення алгоритму.

У нормальних алгоритмах використовується один тип елементарних операторів — оператори підстановок, та один тип елементарних розпізнавачів — розпізнавачі входження. Залежно від того, як з’єднуються вузли, алгоритми розрізняються між собою: якщо в нормальних алгоритмах у будь-який оператор підстановки можна потрапити тільки за стрілкою з відповідного до нього розпізнавача, то такий алгоритм називається узагальненим нормальним алгоритмом (рис. 3.2).

 

 

Рис. 3.2. Узагальнений нормальний алгоритм Маркова

 

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

1) всі вузли впорядковуються та нумеруються натуральними числами 1, ..., n;

2) стрілки, що виходять з точки оператора підстановки, прямують або до першого розпізнавача, або до вузла «вихід». В останньому випадку підстановка називається заключною, вона може бути не одна в алгоритмі;

3) вхідний вузол з’єднується з першим розпізнавачем.

Такий зв’язок між вузлами реалізує певний порядок обробки вхідного слова: процес перетворення закінчується, коли жодна з підстановок не може бути застосована (рис. 3.3), або коли виконується одна з заключних підстановок.

або коли виконується одна з заключних підстановок

 

Рис. 3.3. Нормальний алгоритм Маркова

 

Отримали впорядкований ланцюг символів.

Наявність у нормальних алгоритмах двох типів підстановок — звичайної і заключної — є необхідна умова універсальності нормальних алгоритмів, тобто можливості для будь-якого заданого алгоритму побудувати еквівалентний йому нормальний алгоритм. Це ще називають принципом нормалізації алгоритмів.

Існують різні способи композиції нормальних алгоритмів, які дозволяють отримувати нові алгоритми у класі нормальних алгоритмів:

1. Суперпозиція двох алгоритмів А та В є алгоритм С — такий, що вихідне слово алгоритму А є вхідним словом до алгоритму В, тобто: С(р) = В(А(р)). Суперпозиція може виконуватись для будь-якої кількості алгоритмів.

2. Об’єднання двох алгоритмів А та В є алгоритм С, який перетворює слово р, що належить перетину областей визначення алгоритмів А та В, у слово С(р) = А(р) В(р).

3. Розгалуження алгоритмів — це така композиція з трьох алгоритмів А, В, С, тобто такий алгоритм D, область визначення якого є перетином областей визначення алгоритмів А, В, С, а діє він на слово з області визначення таким чином:

р Є 0а Ç 0в Ç 0с

4. Повторення (ітерація) двох алгоритмів А та В — це така їх композиція С, що до будь-якого слова p багаторазово застосовується алгоритм А, доки не отримаємо слово, яке потім перетворюється алгоритмом В у деяке фіксоване слово.


<== попередня лекція | наступна лекція ==>
Рекурсивні функції | Машини Поста


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн