Автор работы: Пользователь скрыл имя, 24 Декабря 2011 в 13:08, курсовая работа
Обобщая результаты различных разделов теории алгоритмов можно выделить следующие цели и соотнесенные с ними задачи, решаемые в теории алгоритмов:
формализация понятия «алгоритм» и исследование формальных алгоритмических систем;
формальное доказательство алгоритмической неразрешимости ряда задач;
классификация задач, определение и исследование сложностных классов;
асимптотический анализ сложности алгоритмов;
исследование и анализ рекурсивных алгоритмов;
получение явных функций трудоемкости в целях сравнительного анализа алгоритмов;
1.Цели и задачи теории алгоритма
2. Практическое применение результатов теории алгоритмов
2.1Формолизацыя понятия алгоритма
3. Машины Поста
3.1 Основные понятия и операции
3.2 Финитный 1 – процесс
3.3 Способ задания проблемы и формулировка 1
4. Машина Тьюринга
4.1 Алгоритмически неразрешимые проблемы
4.2 Проблема соответствий Поста над алфавитом
Список литературы
СОДЕРЖАНИЕ
1.Цели и задачи теории алгоритма 2.
Практическое применение 2.1Формолизацыя понятия алгоритма 3. Машины Поста 3.1 Основные понятия и операции 3.2 Финитный 1 – процесс 3.3 Способ задания проблемы и формулировка 1 4. Машина Тьюринга 4.1
Алгоритмически неразрешимые
|
Постовское пространство символов – это бесконечная лента ячеек (ящиков): | ||||||||
_ | V | _ | _ | V | V | V | _ | V |
Каждый ящик или ячейка могут быть помечены или не помечены.
Конкретная проблема задается «внешней силой» (термин Поста) пометкой конечного количества ячеек, при этом, очевидно, что любая конфигурация начинается и заканчивается помеченным ящиком. После применения к конкретной проблеме некоторого набора инструкций решение представляется так же в виде набора помеченных и непомеченных ящиков, распознаваемое той же внешней силой.
Пост
предложил набор инструкций (элементарных
операций), которые выполняет «работник»,
отметим, что в 1936 году не было еще
ни одной электронной
Отметим, что формулировка инструкций 1 и 2 включает защиту от неправильных ситуаций.
Программа представляет собой нумерованную последовательность инструкций, причем переходы в инструкции 5 производятся на указанные в ней номера других инструкций.
3.2 Финитный 1 – процесс
Программа (набор инструкций в терминах Поста) является одной и той же для всех конкретных проблем, поэтому соотнесена с общей проблемой – таким образом, Пост формулирует требование универсальности.
Далее Пост вводит следующие понятия:
3.3 Способ задания проблемы и формулировка 1
По
Посту проблема задаётся внешней
силой путем пометки конечного
количества ящиков ленты. В более
поздних работах по машине Поста
принято считать, что машина работает
в единичной системе счисления
(0=V; 1=VV; 2=VVV; 3=VVVV), т.е. ноль представляется
одним помеченным ящиком, а целое
положительное число –
Поскольку множество конкретных проблем, составляющих общую проблему счетное, то можно установить взаимно однозначное соответствие (биективное отображение) между множеством положительных целых чисел N и множеством конкретных проблем.
Общая проблема называется по Посту 1-заданой, если существует такой финитный 1 – процесс, что, будучи, применим к n є N в качестве исходной конфигурации ящиков, он задает n-ую конкретную проблему в виде набора помеченных ящиков.
Если общая проблема 1-задана и 1-разрешима, то, соединяя наборы инструкций по заданию проблемы, и ее решению мы получаем ответ по номеру проблемы – это и есть в терминах статьи Поста формулировка 1.
Эмиль
Пост завершает свою статью следующей
фразой: «Автор ожидает, что его формулировка
окажется логически эквивалентной
рекурсивности в смысле Геделя —
Черча. Цель формулировки, однако, в
том, чтобы предложить систему не
только определенной логической силы,
но и психологической
Таким образом, гипотеза Поста состоит в том, что любые более широкие формулировки в смысле алфавита символов ленты, набора инструкций, представления и интерпретации конкретных проблем сводимы к формулировке 1.
|
Следовательно, если гипотеза верна, то любые другие формальные определения, задающие некоторый класс алгоритмов, эквивалентны классу алгоритмов, заданных формулировкой 1 Эмиля Поста.
Обоснование
этой гипотезы происходит сегодня не
путем строго математического
Машина
Тьюринга является расширением модели
конечного автомата, расширением, включающим
потенциально бесконечную память с
возможностью перехода (движения) от обозреваемой
в данный момент ячейки к ее левому
или правому соседу.
Формально машина Тьюринга может быть описана следующим образом: Пусть заданы:
Решаемая проблема задается путем записи конечного количества символов из множества є Г – Si є на ленту: | |||||||
e | S1 | S2 | S3 | S4 | ......... | Sn | e |
после
чего машина переводится в начальное
состояние и головка
Остановка машины происходит в том случае, если для пары ( , ) функ-ция перехода не определена.
Алан
Тьюринг высказал предположение, что
любой алгоритм в интуитивном
смысле этого слова может быть
представлен эквивалентной
За
время своего существования человечество
придумало множество алгоритмов
для решения разнообразных
Утверждение о существовании алгоритмически неразрешимых проблем является весьма сильным – мы констатируем, что мы не только сейчас на знаем соответствующего алгоритма, но мы не можем принципиально никогда его найти.
Успехи математики к концу XIX века привели к формированию мнения, которое выразил Д. Гильберт – «в математике не может быть неразрешимых проблем», в связи с этим формулировка проблем Гильбертом на конгрессе 1900 года в Париже была руководством к действию, констатацией отсутствия решений в данный момент.
Первой
фундаментальной теоретической
работой, связанной с доказательством
алгоритмической
Имеет место быть следующая теорема:
Теорема 3.1. Не существует алгоритма (машины Тьюринга), позволяющего по описанию произвольного алгоритма и его исходных данных (и алго-ритм и данные заданы символами на ленте машины Тьюринга) определить, останавливается ли этот алгоритм на этих данных или работает бесконечно.
Таким образом, фундаментально алгоритмическая неразрешимость связана с бесконечностью выполняемых алгоритмом действий, т.е. невозможностью предсказать, что для любых исходных данных решение будет получено за конечное количество шагов.
Тем не менее, можно попытаться сформулировать причины, ведущие к алгоритмической неразрешимости, эти причины достаточно условны, так как все они сводимы к проблеме останова, однако такой подход позволяет более глубоко понять природу алгоритмической неразрешимости:
а) Отсутствие общего метода решения задачи
Проблема 1 : Распределение девяток в записи числа ;
Определим функцию f(n) = i, где n – количество девяток подряд в десятичной записи числа , а i – номер самой левой девятки из n девяток подряд: =3,141592… f(1) = 5.
Задача состоит в вычислении функции f(n) для произвольно заданного n.
Поскольку число является иррациональным и трансцендентным, то мы не знаем никакой информации о распределении девяток (равно как и любых других цифр) в десятичной записи числа . Вычисление f(n) связано с вычислением последующих цифр в разложении , до тех пор, пока мы не обнаружим n девяток подряд, однако у нас нет общего метода вычисления f(n), поэтому для некоторых n вычисления могут продолжаться бесконечно – мы даже не знаем в принципе (по природе числа ) существует ли решение для всех n.
Проблема 2: Вычисление совершенных чисел;
Совершенные числа – это числа, которые равны сумме своих делителей, например: 28 = 1+2+4+7+14.
Определим функцию S(n) = n-ое по счёту совершенное число и поставим задачу вычисления S(n) по произвольно заданному n. Нет общего метода вы-числения совершенных чисел, мы даже не знаем, множество совершенных чи-сел конечно или счетно, поэтому наш алгоритм должен перебирать все числа подряд, проверяя их на совершенность. Отсутствие общего метода решения не позволяет ответить на вопрос о останове алгоритма. Если мы проверили М чи-сел при поиске n-ого совершенного числа – означает ли это, что его вообще не существует?
Проблема 3: Десятая проблема Гильберта;
Пусть задан многочлен n-ой степени с целыми коэффициентами – P, су-ществует ли алгоритм, который определяет, имеет ли уравнение P=0 решение в целых числах?
Ю.В. Матиясевич показал, что такого алгоритма не существует, т.е. отсутствует общий метод определения целых корней уравнения P=0 по его целочисленным коэффициентам.
б) Информационная неопределенность задачи
Проблема 4: Позиционирование машины Поста на последний помеченный ящик;
Пусть
на ленте машины Поста заданы наборы
помеченных ящиков (кортежи) произвольной
длины с произвольными
Попытка построения алгоритма, решающего эту задачу приводит к необходимости ответа на вопрос – когда после обнаружения конца кортежа мы сдвинулись вправо по пустым ящикам на М позиций и не обнаружили начало следующего кортежа – больше на ленте кортежей нет или они есть где-то правее? Информационная неопределенность задачи состоит в отсутствии информации либо о количестве кортежей на ленте, либо о максимальном расстоянии между кортежами – при наличии такой информации (при разрешении информационной неопределенности) задача становится алгоритмически разрешимой.
в) Логическая неразрешимость (в смысле теоремы Гёделя о неполноте)
Проблема 5: Проблема «останова» (см. теорема 3.1);
Проблема 6: Проблема эквивалентности алгоритмов;
По двум произвольным заданным алгоритмам (например, по двум машинам Тьюринга) определить, будут ли они выдавать одинаковые выходные результаты на любых исходных данных.
Проблема 7: Проблема тотальности;
По
произвольному заданному
В качестве более подробного примера алгоритмически неразрешимой задачи рассмотрим проблему соответствий Поста (Э. Пост, 1943 г.). Мы выделили эту задачу, поскольку на первый взгляд она выглядит достаточно «алгоритмизуемой», однако она сводима к проблеме останова и является алгоритмически неразрешимой.
Постановка задачи:
Пусть дан алфавит : | | >= 2 (для односимвольного алфавита задача имеет решение) и дано конечное множество пар из х , т.е. пары непустых цепочек произвольного языка над алфавитом : , ……, .
Проблема: Выяснить существует ли конечная последовательность этих пар, не обязательно различных, такая что цепочка, составленная из левых подцепочек, совпадает с последовательностью правых подцепочек – такая последовательность называется решающей.
В качестве примера рассмотрим = {a,b}
1. Входные цепочки: (abbb, b), (a, aab), (ba, b)
Решающая последовательность для этой задачи имеет вид:
(a,aab) (a,aab) (ba,b) (abbb,b), так как : a a ba abbb aab aab b b
2. Входные цепочки: (ab,aba), (aba,baa), (baa,aa)
Данная задача вообще не имеет решения, так как нельзя начинать с пары (aba,baa) или (baa,aa), поскольку не совпадают начальные символы подцепочек, но если начинать с цепочки (ab,aba), то в последующем не будет совпадать общее количество символов «а», т.к. в других двух парах количество символов «а» одинаково.
В
общем случае мы можем построить
частичный алгоритм, основанный на
идее упорядоченной генерации
В
теории алгоритмов такого рода проблемы,
для которых может быть предложен
частичный алгоритм их решения, частичный
в том смысле, что он возможно,
но не обязательно, за конечное количество
шагов находит решение
В
частности, проблема останова так же
является частично разрешимой проблемой,
а проблемы эквивалентности и
тотальности не являются таковыми.
Список литературы: