Нормальные алгоритмы Маркова
Понятие ассоциативного исчисления, его сущность и особенности, история создания и развития, использование для формализации понятия алгоритма. Этапы построения ассоциативных исчислений как универсальный метод детерминированной переработки информации.
Рубрика | Экономико-математическое моделирование |
Вид | лекция |
Язык | русский |
Дата добавления | 09.02.2009 |
Размер файла | 209,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
2
1. Нормальные алгоритмы Маркова
Для формализации понятия алгоритма российский математик А.А. Марков предложил использовать ассоциативные исчисления.
Рассмотрим некоторые понятия ассоциативного исчисления. Пусть имеется алфавит (конечный набор различных символов). Составляющие его символы будем называть буквами. Любая конечная последовательность букв алфавита (линейный их ряд) называется словом в этом алфавите.
Рассмотрим два слова N и М в некотором алфавите А. Если N является частью М, то говорят, что N входит в М.
Зададим в некотором алфавите конечную систему подстановок N - М, S - Т,..., где N, М, S, Т,... - слова в этом алфавите. Любую подстановку N-M можно применить к некоторому слову К следующим способом: если в К имеется одно или несколько вхождений слова N, то любое из них может быть заменено словом М, и, наоборот, если имеется вхождение М, то его можно заменить словом N.
Например, в алфавите А = {а, b, с} имеются слова N = ab, М = bcb, К = abcbcbab, Заменив в слове К слово N на М, получим bcbcbcbab или abcbcbbcb, и, наоборот, заменив М на N, получим aabcbab или аbсаbаb.
Подстановка ab - bcb недопустима к слову bacb, так как ни ab, ни bcb не входит в это слово. К полученным с помощью допустимых подстановок словам можно снова применить допустимые подстановки и т.д. Совокупность всех слов в данном алфавите вместе с системой допустимых подстановок называют ассоциативным исчислением. Чтобы задать ассоциативное исчисление, достаточно задать алфавит и систему подстановок.
Слова P1 и Р2 в некотором ассоциативном исчислении называются смежными, если одно из них может быть преобразовано в другое однократным применением допустимой подстановки.
Последовательность слов Р, P1, Р2,..., М называется дедуктивной цепочкой, ведущей от слова Р к слову М, если каждое из двух рядом стоящих слов этой цепочки - смежное.
Слова Р и М называют эквивалентными, если существует цепочка от Р к М и обратно.
Пример:
Алфавит Подстановки
{а, b, с, d, е} ас - сa,
ad - da; eca - ae
bc - cb; eda - be
bd - db; edb - be
Слова abcde и acbde - смежные (подстановка bc - cb). Слова abcde - cadbe эквивалентны.
Может быть рассмотрен специальный вид ассоциативного исчисления, в котором подстановки являются ориентированными: N > М (стрелка означает, что подстановку разрешается производить лишь слева направо). Для каждого ассоциативного исчисления существует задача: для любых двух слов определить, являются ли они эквивалентными или нет.
Любой процесс вывода формул, математические выкладки и преобразования также являются дедуктивными цепочками в некотором ассоциативном исчислении. Построение ассоциативных исчислений является универсальным методом детерминированной переработки информации и позволяет формализовать понятие алгоритма.
Введем понятие алгоритма на основе ассоциативного исчисления: алгоритмом в алфавите А называется понятное точное предписание, определяющее процесс над словами из А и допускающее любое слово в качестве исходного. Алгоритм в алфавите А задается в виде системы допустимых подстановок, дополненной точным предписанием о том, в каком порядке нужно применять допустимые подстановки и когда наступает остановка.
Пример:
Алфавит: Система подстановок В:
А = {а, b, с} cb - cc
сса - аb
ab - bса
Предписание о применении подстановок: в произвольном слове Р надо сделать возможные подстановки, заменив левую часть подстановок на правую; повторить процесс с вновь полученным словом.
Так, применяя систему подстановок В из рассмотренного примера к словам babaac и bсaсаbс получаем:
babaac > bbcaaac > остановка
bcacabc > bcacbcac > bcacccac > bсасаbс > бесконечные процесс (остановки нет), так как мы получили исходное слово.
Предложенный А.А. Марковым способ уточнения понятия алгоритма основан на понятии нормального алгоритма, который определяется следующим образом. Пусть задан алфавит А и система подстановок В. Для произвольного слова Р подстановки из В подбираются в том же порядке, в каком они следуют в В..Если подходящей подстановки нет, то процесс останавливается. В противном случае берется первая из подходящих подстановок и производится замена ее правой частью первого вхождения ее левой части в Р. Затем все действия повторяются для получившегося слова P1. Если применяется последняя подстановка из системы В, процесс останавливается.
Такой набор предписаний вместе с алфавитом А и набором подстановок В определяют нормальный алгоритм. Процесс останавливается только в двух случаях: 1) когда подходящая подстановка не найдена; 2) когда применена последняя подстановка из их набора. Различные нормальные алгоритмы отличаются друг от друга алфавитами и системами подстановок.
Приведем пример нормального алгоритма, описывающего сложение -натуральных чисел (представленных наборами единиц).
Пример:
Алфавит: Система подстановок В:
А = (+, 1) 1 + > + 1
+ 1 > 1
1 > 1
Слово Р: 11+11+111
Последовательная переработка слова Р с помощью нормального алгоритма Маркова проходит через следующие этапы:
Р = 11 + 11 + 111 Р5 = + 1 + 111111
Р1 = 1 + 111 + 111 Р6 = ++ 1111111
Р2 = + 1111 + 111 Р7 = + 1111111
Р3 = + 111 + 1111 Р8 = 1111111
Р4 = + 11 + 11111 Р9 = 1111111
Нормальный алгоритм Маркова можно рассматривать как универсальную форму задания любого алгоритма. Универсальность нормальных алгоритмов декларируется принципом нормализации: для любого алгоритма в произвольном конечном алфавите А можно построить эквивалентный ему нормальный алгоритм над алфавитом А,
Разъясним последнее утверждение. В некоторых случаях не удается построить нормальный алгоритм, эквивалентный данному в алфавите А, если использовать в подстановках алгоритма только буквы этого алфавита. Однако, можно построить требуемый нормальный алгоритм, производя расширение алфавита А (добавляя к нему некоторое число новых букв). В этом случае говорят, что построенный алгоритм является алгоритмом над алфавитом А, хотя он будет применяться лишь к словам в исходном алфавите A.
Если алгоритм N задан в некотором расширении алфавита А, то говорят, что N есть нормальный алгоритм над алфавитом А.
Условимся называть тот или иной алгоритм нормализуемым, если можно построить эквивалентный ему нормальный алгоритм, и ненормализуемым в противном случае. Принцип нормализации теперь может быть высказан в видоизмененной форме: все алгоритмы нормализуемы.
Данный принцип не может быть строго доказан, поскольку понятие произвольного алгоритма не является строго определенным и основывается на том, что все Известные в настоящее время алгоритмы являются нормализуемыми, а способы композиции алгоритмов, позволяющие строить новые алгоритмы из уже известных, не выводят за пределы класса нормализуемых алгоритмов. Ниже перечислены способы композиции нормальных алгоритмов.
I. Суперпозиция алгоритмов. При суперпозиции двух алгоритмов А и В выходное слово первого алгоритма рассматривается как входное слово второго алгоритма В. Результат суперпозиции С может быть представлен в виде С(р) = В(А(р)),
II. Объединение алгоритмов. Объединением алгоритмов А и В в одном и том же алфавите называется алгоритм С в том же алфавите, преобразующий любое слово р, содержащееся в пересечении областей определения алгоритмов А и В, в записанные рядом слова А(р) и В(р).
III. Разветвление алгоритмов. Разветвление алгоритмов представляет собой композицию D трех алгоритмов А, В и С, причем область определения алгоритма D является пересечением областей определения всех трех алгоритмов А, В и С, а для любого слова р из этого пересечения D(p) = А(р), если С(р) = е, D(p) = B(p), если С(р) = е, где е - пустая строка.
IV. Итерация алгоритмов. Итерация (повторение) представляет собой такую композицию С двух алгоритмов А и В, что для любого входного слова р соответствующее слово С(р) получается в результате последовательного многократного применения алгоритма А до тех пор, пока не получится слово, преобразуемое алгоритмом В.
Нормальные алгоритмы Маркова являются не только средством теоретических построений, но и основой специализированного языка программирования, применяемого как язык символьных преобразований при разработке систем искусственного интеллекта. Это один из немногих языков, разработанных в России и получивших известность во всем мире.
Существует строгое доказательство того, что по возможностям преобразования нормальные алгоритмы Маркова эквивалентны машинам Тьюринга.
2. Рекурсивные функции
Еще одним подходом к проблеме формализации понятия алгоритма являются, так называемые, рекурсивные функции. Исторически этот подход возник первым, поэтому в математических исследованиях, посвященных алгоритмам, он имеет наибольшее распространение.
Рекурсией называется способ задания функции, при котором значение функции при определенном значении аргументов выражается через уже заданные значения функции при других значениях аргументов. Применение рекурсивных функций в теории алгоритмов основано на идее нумерации слов в произвольном алфавите последовательными натуральными числами. Таким образом, любой алгоритм можно свести к вычислению значений некоторой целочисленной функции при целочисленных значениях аргументов.
Введем несколько основных понятий. Пусть X, Y - два множества. Частичной функцией (или отображением) из Х в Y будем называть пару <D(f), f>, состоящую из подмножества D(f) X (называемого областью определения f) и отображения f: D(f) Y. Если D(f) пусто, то f нигде не определена. Будем считать, что существует единственная нигде не определенная частичная функция.
Через N будем обозначать множество натуральных чисел. Через (N)n (при п 1) будем обозначать n-кратное декартово произведение N на себя, т.е. множество упорядоченных n-ок (х1..., xn), хi N. Основным объектом дальнейших построений будут частичные функции из (N)m в (N)n для различных т и п.
Частичная функция f из (N)m в (N)n называется вычислимой, если можно указать такой алгоритм («программу»), который для входного набора х (N)m дает на выходе f(x), если х D(f) и нуль, если х D(f). В этом определении неформальное понятие алгоритма (программы) оказывается связанным (отождествленным) с понятием вычислимости функции. Вместо алгоритмов далее будут изучаться свойства вычислимых функций. Вместо вычислимых функций оказывается необходимым использовать более широкий класс функций (и более слабое определение) - полувычислимые функции. Частичная функция из (N)" в (N)" полувычислима, если можно указать такой алгоритм (программу), который для входного набора х с (N)" дает на выходе х е D(f), или алгоритм работает неопределенно долго, если х е D(f). Очевидно, что вычислимые функции полувычислимы, а всюду определенные полувычислимые функции вычислимы.
Частичная функция f называется невычислимой, если она не является ни вычислимой, ни полувычислимой.
Из вновь введенных понятий основным является полувычислимость, так как вычислимость сводится к нему. Существуют как невычислимые функции, так и функции, являющиеся полувычислимыми, но не вычислимые. Пример такой функции:
Можно показать, что существует такой многочлен с целыми коэффициентами P(t, x1,...,xn), что g(t) - невычислима. Однако, легко видеть, что g(t) - полувычислима.
Фундаментальным открытием теории вычислимости явился, так называемый, тезис Черча, который в слабейшей форме имеет следующий вид: можно явно указать а) семейство простейших полувычислимых функций; б) семейство элементарных операций, которые позволяют строить по одним полувычислимым функциям другие полувычислимые функции с тем свойством, что любая полувычислимая функция получается за конечное число шагов, каждый из которых состоит в применении одной из элементарных операций к ранее построенным или к простейшим функциям.
Простейшие функции:
suc: N N; suc(x) = x+1 - определение следующего за х числа;
l(n): (N)n N; l(n) (x1,..., хn) = 1, п 0 - определение «размерности» области определения функции;
рr: (N)n N; pr(x1,..., хn) = хi, х 1 - «проекция» области определения на одну из переменных.
Элементарные операции над частичными функциями:
а) композиция (или подстановка) ставит в соответствие паре функций f из (N)m в (N)n и g из (N)n в (N)p функцию h = gof из (N)m в (N)p, которая определяется как
б) соединение ставит в соответствие частичным функциям fi из (N)ni, i = 1,..., k функцию (fi,..., fk) из (N)m в (N)n1 х... х (N)nk, которая определяется как
в) рекурсия ставит в соответствие паре функций f из (N)n в N и g из (N)n+2 в N функцию h из (N)n+2 в N, которая определяется рекурсией по последнему аргументу
h(x1,..., хn, 1) = f (x1,...,xп) (начальное условие),
h (x1,...,хn, k+1) = g(x1,...,xn, k, h(x1,...,хn, k)) при k 1 (рекурсивный шаг).
Область определения D(h) описывается также рекурсивно:
г) операция т, которая ставит в соответствие частичной функции f из (N)n+1 в N частичную функцию h из (N)n в N, которая определяется как
Операция т позволяет вводить в вычисления перебор объектов для отыскания нужного в бесконечном семействе.
Теперь, когда введены простейшие функции и элементарные операции, можно дать следующие основные определения:
а) последовательность частичных функций fi,...,fN называют частично рекурсивным (соответственно примитивно рекурсивным) описанием функции fN = f, если fi - одна из простейших функций; fi для всех i 2 либо является простейшей функцией, либо получается применением одной из элементарных операций к некоторым из функций fi,..., fi-1 (соответственно одной из элементарных операций, кроме т);
б) функция f называется частично рекурсивной (соответственно примитивно рекурсивной), если она допускает частично рекурсивное (соответственно примитивно рекурсивное) описание.
Теперь можно привести тезис Черча в обычной форме:
а) функция f полувычислима, если и только если она частично рекурсивна;
б) функция f вычислима, если и только если рекурсивны f и характеристическая функция XD(f).
Характеристическая функция подмножества Х в Y(X Y) есть такая функция, что
Тезис Черча может использоваться как определение алгоритмической неразрешимости.
Пусть имеется счетная последовательность «задач» P1, P2,..., которые имеют ответ «да» или «нет». Такая последовательность носит название «массовой проблемы». Свяжем с ней функцию f из N в N:
Массовая проблема Р называется алгоритмически разрешимой, если функции f и XD(f) частично рекурсивны. В противном случае Р называется алгоритмически неразрешимой.
Подобные документы
Сущность трендовых моделей и их использование для прогнозов. Алгоритм построения прогнозной модели. Применение алгоритма на примере исследования информации об объемах сбыта мороженого "Пломбир". Определение величины сезонной компоненты в MS Excel.
курсовая работа [317,6 K], добавлен 25.12.2011Сущность и особенности понятия "вариация", ее виды и формы исчисления. Метод электронно-вычислительного способа расчета. Принцип вычисления среднего квадратического отклонения. Характеристика общих, межгрупповых, средних и внутригрупповых дисперсий.
методичка [168,9 K], добавлен 15.12.2008Основной тезис формализации. Моделирование динамических процессов и имитационное моделирование сложных биологических, технических, социальных систем. Анализ моделирования объекта и выделение всех его известных свойств. Выбор формы представления модели.
реферат [493,5 K], добавлен 09.09.2010Понятие взаимосвязи между случайными величинами. Ковариация и коэффициент корреляции. Модель парной линейной регрессии. Метод наименьших квадратов, теорема Гаусса-Маркова. Сравнение регрессионных моделей. Коррекция гетероскедастичности, логарифмирование.
курс лекций [485,1 K], добавлен 02.06.2011Понятие имитационного моделирования, применение его в экономике. Этапы процесса построения математической модели сложной системы, критерии ее адекватности. Дискретно-событийное моделирование. Метод Монте-Карло - разновидность имитационного моделирования.
контрольная работа [26,7 K], добавлен 23.12.2013Понятие и цели метода фокальных объектов - поиска новых идей путем присоединения к исходному объекту свойств или признаков случайных объектов. Активизация ассоциативного мышления как один из способов эвристического исследования в теории принятия решений.
контрольная работа [19,5 K], добавлен 24.12.2012Общие принципы системного анализа. Основные этапы построения эконометрических моделей и использования их для прогнозирования. Экстраполяция трендов и ее использование в анализе. Правила составления информации подсистем. Модель "спрос-предложение".
реферат [190,5 K], добавлен 24.01.2011Геометрический способ решения стандартных задач линейного программирования с двумя переменными. Универсальный метод решения канонической задачи. Основная идея симплекс-метода, реализация на примере. Табличная реализация простого симплекс-метода.
реферат [583,3 K], добавлен 15.06.2010Универсальный метод решения канонической задачи линейного программирования. Общая схема симплекс-метода, его простейшая реализация на примере. Группировка слагаемых при одинаковых небазисных переменных. Определение координат нового базисного плана.
контрольная работа [49,1 K], добавлен 21.10.2013Особенности корреляционно-регрессионного анализа, его основные этапы. Характеристика показателей социально-экономического развития стран Африки. Этапы построения уравнения регрессии. Анализ средней продолжительности жизни населения в странах Африки.
контрольная работа [47,2 K], добавлен 17.04.2012