Нормальні алгоритми: відмінності між версіями

[перевірена версія][перевірена версія]
Вилучено вміст Додано вміст
Немає опису редагування
Рядок 78:
 
Цей процес може обірватись сам собою на деякому слові, в яке не входить ліва частина жодної з формул алгоритму. Крім того, постулюють, що описаний вище процес зупиняється, коли до чергового слова застосувати одну із кінцевих формул підстановки, тобто, формул виду''p'' →• ''q''. Якщо процес закінчується, то отримане останнє слово є результатом застосування алгоритму до слова ''s''.
 
== Приклад роботи ==
Як приклад схеми нормального алгоритму можна навести наступну схему в алфавіті з п'яти літер <tt>|*abc</tt><ref>[http://ru.wikipedia.org/w/index.php?title=%D0%9D%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%84%D0%BC&oldid=2992153 Нормальный алгоритм] (рос.), Википедия, 26 січня 2007.</ref>:
 
<math>\left\{\begin{matrix}
|b & \to & ba| \\
ab & \to & ba \\
b & \to & \\
{*}| & \to & b* \\
{*} & \to & c \\
|c & \to & c \\
ac & \to & c| \\
c & \to\bullet &
\end{matrix}\right.</math>
 
При застосуванні алгоритму з наведеною вище схемою до слова <math>|*||</math> будуть отримуватись слова:
# <math>|b*|</math>,
# <math>ba|*|</math>,
# <math>a|*|</math>,
# <math>a|b*</math>,
# <math>aba|*</math>,
# <math>baa|*</math>,
# <math>aa|*</math>,
# <math>aa|c</math>,
# <math>aac</math>,
# <math>ac|</math>
# <math>c||</math>,
# <math>||</math>.
Результатом застосування буде слово <math>||</math>.
 
== Теореми та приклади ==