Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Алгоритмическая система А.А.Маркова.↑ ⇐ ПредыдущаяСтр 4 из 4 Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Всякий словарный алгоритм U имеет дело с некоторым алфавитом А, а решение конкретной задачи сводится к переработке слов в данном алфавите по некоторым заранее заданным правилам S. Такой подход в теории алгоритмов развит А.А.Марковым, предложившим концепцию нормального алгорифма в качестве математической модели понятию вычислительной процедуры. Нормальные алгорифмы U=<A, S> - класс словарных алгоритмов, то есть алгоритмов (применимых к словам некоторого алфавита А), элементарными действиями которых являются подстановки в слова (их кортеж есть схема S). Всякий нормальный алгоритм, являясь алгоритмом в некотором алфавите А, порождает в нем детерминированный процесс переработки слов. Поэтому любой нормальный алгоритм в фиксированном алфавите А вполне определяется указанием его схемы S - упорядоченного конечного списка формул подстановки в А. Каждая такая формула по существу представляет пару <ai, i > слов в А (то есть ai, i ÎА*). Слово ai называется левой частью этой формулы, а i – ее правой частью. Среди формул данной схемы некоторые выделяются специально и объявляются заключительными. Обычно в схеме нормального алгоритма заключительная формула записывается в виде ai ®· i (®, ®·ÏA), а незаключительная в виде ai ® i. При этом допустимы формулы вида: e® i; ai ®e; e®e;ai ®·e; e®· i; (e – пустое слово) Нормальный алгоритм U в алфавите А есть предписание строить, исходя из произвольного слова P в А (PÎА*), последовательность слов ai. В свете изложенного алгоритмическая система «нормальный алгорифм» имеет вид:
Применением нормального алгоритма U к слову a называется процесс, определяемый следующим правилом (представляющим собой алгоритм выполнения нормального алгоритма): 1. Считать, что i=1. Перейти к пункту 2. 2. Проверить, поддается ли преобразуемое слово i-ой формуле. Если да, то перейти к пункту 3, если нет – к пункту 5. 3. Первое простое вхождение левой части i-ой формулы в преобразуемом слове заменить правой частью i-ой формулы. Результат считать в дальнейшем преобразуемым словом, перейти к пункту 4. 4. Если i-ой формула является заключительной подстановкой, то процесс прекратить. В противном случае перейти к пункту 1. 5. Проверить, имеет ли место равенство i=n. Если да, то процесс прекратить, в противном случае перейти к пункту 6. 6. Увеличить значение i на 1 и перейти к пункту 2.
Любое слово P в алфавите А может служить исходными данными для нормального алгоритма в алфавите А. При этом возможны случаи: - Процесс выполнения нормального алгоритма для слова aÎА* заканчивается формулой ai®· bi после конечного числа шагов. При этом говорят, что нормальный алгоритм применим к слову a, и полученное после его выполнение слово bÎA* называется результатом. - Процесс выполнения нормального алгоритма при исходном слове aÎА* никогда не заканчивается или происходит безрезультативная остановка (то есть не на формуле ai®· bi). В этом случае говорят, что нормальный алгоритм не применим к слову a.
Пример: Алгоритм U=<í0, 1ý <xh®x, x0®0x, x1® 1x, x®·Ù, hh®x, h 0 0®0 h 0, h 0 1®1h 0, h1 0®0 h 1, h11®1h1, Ù®h>> «обращает» любое слово в А, то есть перерабатывает его в слово, записанное в обратном порядке (его можно записать как Ù100 с тем, чтобы использовать Ù®h). Так, слово 100 этот нормальный алгоритм последовательно перерабатывает в слова h10 0, 0h10, 00h1, h00h1, 0h0h1, h0h0h1, hh0h0h1, x0h0h1, 0xh0h1, 0x0h1, 00xh1, 00x1, 001x, 001Ù.
Замечание: Последний член этой последовательности считается результатом применения алгоритма U к слову a=100 и обозначается символом U(a). При этом считается, что U перерабатывает a=100 в b=001, и пишут U(a)=b (в нашем примере U(100)=001).
Пример: Алгоритм U=<ía, bý, <ah® hb; bah®haba, aah®·h> реализует предписание: «Взяв какое-либо слово aÎía, bý* в качестве исходного, (где a=аh, a=bah, a=aah), делай допустимые переходы до тех пор, пока не получится слово вида aah, тогда остановись: слово и есть результат». Так, взяв слово babaa в качестве исходного данного после первого перехода (то есть применив формулу bah® haba), получим baaaba (здесь h=baa), а после второго (то есть применив снова формулу bah® haba) имеем aabaaba (здесь h=ааba). Применив формулу aah®·h к слову aabaaba получим результат baaba (то есть U(babaa)=baaba). Однако, взяв в качестве исходного данного слова a=baaba, получим бесконечную последовательность abaaba, baabab, abababa, bababab, babababa, … в которой не будет слова aah. Это означает, что алгоритм U не будет применим к слову a=baaba. Если же исходным данным взять слово abaab, то получим конечную последовательность baabb, abbaba, bbabab, в которой к последнему слову нельзя применить допустимый переход, то есть это случай безрезультативной остановки (это означает также неприменимость заданного алгоритма U к слову abaab). Считается, что для любого алгоритма В в алфавите А может быть построен нормальный алгоритм U над этим алфавитом, перерабатывающий произвольное слово aÎА* в тот же самый результат, в который перерабатывает его исходный алгоритм В. Это соглашение известно в теории алгоритмов под названием принципа нормализации. В этом плане уточнения понятия алгоритм алгоритмическими системами А.Маркова, А.Черча и А.Тьюринга являются эквивалентными.
Дальнейшее уточнение понятия алгоритма связано с ассоциативным исчислением, которое является множеством всех слов в некотором алфавите вместе с какой-нибудь конечной системой допустимых подстановок. Ассоциативное исчисление Ассоциативное исчисление (система Туэ) U – формальная система F.S., задающая конечно определенные ассоциативные системы (полугруппы) Ku. Всякое ассоциативное исчисление U=<A, Σ> определяется указанием некоторого алфавита A и конечного списка Σ соотношений в A – пар слов в этом алфавите αi↔βi. Пара αi→βi понимается как левая подстановка, а βi→αi – как правая постановка в заданное слово αÎA*=eÈAÈA∙AÈ…ÈAkÈ…(kÎN; e – пустое слово). Допустимым относительно списка Σ действием над словами в алфавите A называется любая подстановка одной из частей какого-либо соотношения αi↔βi ((αi↔βi)ÎΣ) вместо вхождения другой части того же соотношения. Ассоциативное исчисление U=<A, Σ> представляет собой разрешение производить, исходя из любого слова RÎA*, любые допустимые относительно списка Σ действия.
Пример: Подстановка ab↔bcb применима четырьмя способами к слову P1=abcbcbab: замена каждого из двух вхождений bcb даст слова aabcbab и abcabab, а замена каждого из двух вхождений ab дает слова bcbcbcbab и abcbcbbcb. В то же время к слову P2=bacb эта подстановка не применима, а подстановка вида α↔e означает, что из преобразуемого слова PiÎA* выбрасывается вхождение слова α, а также что между двумя какими-либо буквами преобразуемого слова или впереди него, или за ним вставляется слово α (e-пустое слово, eÎA*, eÏA). Обо всех словах Q, которые при этом получаются (в том числе и о самом исходном слове P), говорят, что они эквивалентны P в ассоциативном исчислении U=<A,Σ> (в символической записи U:P╨Q). Отношение ╨ для любого ассоциативного исчисления U рефлексивно, симметрично и транзитивно. Кроме этого, из U:P1╨Q и P2╨R следует, что U: P1P2╨QR. Это позволяет естественным образом сопоставить всякому ассоциативному исчислению U некоторую конечно определенную ассоциативную систему Ku, взяв в качестве ее элементов классы слов, эквивалентных друг другу в U=<A, Σ>, а в качестве операции умножения в Ku – операцию конкатенации слов в алфавите A. Так настроенная ассоциативная система Ku будет моноидом, т.е. будет иметь нейтральный элемент eÎA*; элементы Ku представленные буквами алфавита A, будут составлять для Ku систему порождающих элементов, а список соотношений Σ будет представлять собой полную систему соотношений между упомянутыми порождающими элементами Ku в том смысле, что элементы Ku, представленные словами P и Q, тождественны в Ku тогда и только тогда, когда P и Q эквивалентны в U=<A, Σ>. В этом плане, распознавание тождества элементов в Ku сводится распознаванию эквивалентности слов в U=<A, Σ>. Отсюда понятна важность исследования разрешимости алгоритмической проблемы распознавания эквивалентности слов в произвольном ассоциативном исчислении. Эта проблема состоит в том, что для произвольного U=<A, Σ> требуется построить алгоритм, который для любой пары слов в алфавите A U=<A, Σ> позволял бы за конечное число шагов выяснить, эквивалентны ли в U=<A, Σ> слова, составляющие эту пару. В алгебраической интерпретации эта проблема есть проблема тождества для полугруппы Ku.
Теорема (Маркова-Поста): “Существует ассоциативное исчисление, в котором проблема распознавания эквивалентности слов алгоритмически неразрешима”
Действительно, рассматривая машину Тьюринга как математическую модель алгоритма, можно свести проблему распознавания эквивалентности слов в U=<A, Σ> к проблеме остановки машины Тьюринга (а эта проблема является алгоритмически неразрешимой).
Приведем и следующие две теоремы: “Для любого перечислимого множества M существует система подстановок, множество заключительных слов которой совпадает с M” “В ассоциативном исчислении два слова эквивалентны, если им соответствуют две конфигурации машины Тьюринга такие, что за конечное число тактов машина переходит из первой конфигурации ко второй”
Очевидно, что теорема: “Существует полугруппа заданная определяющими соотношениями, в которой проблема распознавания эквивалентности (равенства) слов алгоритмически неразрешима” является переформулировкой теоремы Маркова-Поста. Примером ассоциативного исчисления с неразрешимой проблемой равенства является исчисление U=<{a,b,c,d,e},{ac↔ca, ad↔da, bc↔cb, bd↔db, abac↔abace, eca↔ae, edb↔be}>
Замечание: к проблеме эквивалентности слов в ассоциативном исчислении сводятся многие задачи математики.
Так, любую формулу соответствующего языка математики можно рассматривать как слово в известном алфавите. Процесс эквивалентных преобразований или вывод в таком случае есть преобразование слов с привлечением тех или иных подстановок, в качестве которых выступают аксиомы, тождества, законы.
|
||||
Последнее изменение этой страницы: 2016-04-19; просмотров: 695; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.129.216.15 (0.011 с.) |