• Авторизация


Абстрактные машины 02-04-2010 10:31 к комментариям - к полной версии - понравилось!


Для получения верхних оценок достаточно интуитивного понятия алгоритма. Для этого строится неформальный алгоритм решения конкретной задачи, и затем он формализуется для реализации на подходящей алгоритмической модели. Если показывается, что сложность вычисления для этого алгоритма не превосходит значения подходящей функции для всех значений аргумента, то эта функция объявляется верхней оценкой сложности решения рассматриваемой задачи. В области получения верхних оценок есть много ярких результатов для конкретных задач. Среди них разработаны быстрые алгоритмы умножения целых чисел, многочленов, матриц, решения систем линейных уравнений, которые требуют значительно меньше ресурсов, чем традиционные алгоритмы.
Установить нижнюю оценку – значит доказать, что никакой алгоритм вычисления не имеет сложности меньшей, чем заданная граница. Для получения результатов такого типа необходима точная фиксация рассматриваемой алгоритмической модели, и такие результаты получены только в очень жестких вычислительных моделях. В связи с этим получила развитие проблематика получения «относительных» нижних оценок, так называемая теория NP-полноты, связанная с труднорешаемостью переборных задач.
Теория алгоритмов оказала существенное влияние на развитие ЭВМ и практику программирования. В теории алгоритмов были предугаданы основные концепции, заложенные в аппаратуру и языки программирования ЭВМ. Упоминаемые выше главные алгоритмические модели математически эквивалентны, но на практике они существенно различаются сложностными эффектами, возникающими при реализации алгоритмов, и породили разные направления в программировании. Так, микропрограммирование строится на идеях машин Тьюринга, структурное программирование заимствовало свои конструкции из теории рекурсивных функций, языки символьной обработки (РЕФАЛ, ПРОЛОГ) берут начало от нормальных алгоритмов Маркова и систем Поста.


Абстрактные машины

Чтобы формализовать понятие алгоритма, надо:
1) формализовать понятие объекта;
2) формализовать действия над этим объектом.

Формализация объекта
Объекты могут быть различными: числа, слова, фигуры и так далее, но во всех случаях можно считать, что алгоритм имеет дело не с объектами реального мира, а с их изображениями. Например, когда алгоритм сложения работает с числами 23 и 56, можно считать, что алгоритм работает с объектом, который изображен пятью знаками: 23+56. Результат работы этого алгоритма тоже изображение, состоящее из двух знаков: 79. При этом мы исходим из того, что у нас в распоряжении имеется набор из 11 различных знаков: {0,1,2,3,4,5,6,7,8,9,+}. Эти знаки мы будем называть буквами, а весь набор – алфавитом.
Буквами могут быть любые знаки, но алфавит должен быть конечным и все буквы в нем должны быть различны. Любая конечная последовательность букв алфавита называется словом. Количество букв в слове – длина слова.
Таким образом, можно дать следующее уточненное (но не окончательно) понятие алгоритма: алгоритм – это четкая, конечная система правил для преобразования слов из некоторого алфавита в слова из этого же алфавита.
Слово, к которому применяется алгоритм, называется входным словом. Слово, которое получается в результате, – выходным словом.
Совокупность слов, к которым может быть применен алгоритм, называется областью применимости алгоритма.
Любой алфавит можно заменить другим, при этом каждой букве из первого алфавита нужно поставить в соответствие ее код, представляющий собой слово во втором алфавите.
Поиск способов формализации действий над объектами происходил в трех направлениях, которые и определили три основных класса универсальных алгоритмических моделей:
1-е направление – рекурсивные функции;
2-е направление – абстрактные машины;
3-е направление – нормальные алгоритмы Маркова.

Почитал Гайд Сад чудес и понял, как нужно делать достижения !! Круто!!!
Определение. Универсальной алгоритмической моделью называется такая модель, позволяющая реализовать любой алгоритм.
Впоследствии в теории алгоритмов была доказана теорема об эквивалентности различных универсальных алгоритмических моделей. Это означает, что если удается решить некоторую задачу (указать способ нахождения значения некоторой функции) средствами одной универсальной алгоритмической модели, то задача (функция) может быть решена и средствами любой другой универсальной алгоритмической модели, т. е. задача (функция) разрешима (вычислима) вообще.
вверх^ к полной версии понравилось! в evernote


Вы сейчас не можете прокомментировать это сообщение.

Дневник Абстрактные машины | Afftop - Дневник Afftop | Лента друзей Afftop / Полная версия Добавить в друзья Страницы: раньше»