Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Презентации лекций по ТОИ / 8-Алгорифмы Маркова.pps
Скачиваний:
65
Добавлен:
02.06.2015
Размер:
309.76 Кб
Скачать

НИУ ВШЭ – Пермь

Факультет бизнес-информатики

Кафедра информационных технологий в бизнесе

Точное понятие алгоритма.

Нормальные алгорифмы Маркова

Материалы курса «Теоретические основы информатики»

Лекция 9

Лядова Л.Н.

Пермь 2012

Программы = = Алгоритмы + Структуры данных

Решение задачи с помощью компьютера связано с использованием двух основных понятий: алгоритм и программа.

Классическое определение, данное Н. Виртом:

«Алгоритмы + Структуры данных = Программы»

При разработке программы важно получить ответы на следующие вопросы:

Можно ли решить поставленную задачу с помощью компьютера?Как можно решить поставленную задачу с помощью компьютера?

Насколько эффективным будет решение (какие ресурсы для этого потребуются, как быстро будет решаться задача)?

Каким образом можно оптимизировать решение, повысить

эффективность (сэкономить ресурсы, ускорить решение)?

2

Интуитивное понятие алгоритма

Алгоритм – точное предписание, которое задает вычислительный процесс (называемый в этом случае алгоритмическим), начинающийся с произвольного исходного данного (из некоторой совокупности

возможных для данного алгоритма исходных данных)

и направленный на получение полностью определяемого этим исходным данным результата.

Алгоритм – это процесс последовательного построения величин, идущий в дискретном времени таким образом, что в начальный момент задается исходная конечная система величин, а в каждый следующий момент система величин получается по определенному закону из системы величин,

3

имевшихся в предыдущий момент времени.

 

Свойства алгоритмов

Алгоритм является предписанием, а наличие предписаний

предполагает, что они будут выполнены некоторым исполнителем, результат будет получен этим исполнителем,

действующим по заданному для него предписанию. Перечень наиболее важных свойств алгоритма:

1.Элементарность (понятность) шагов.

2.Дискретность.

3.Определенность (детерминированность).

4.Конечность (финитность).

5.Массовость.

4

Требования к точному определению алгоритма

Для того чтобы дать точное понятие алгоритма, необходимо определить

как задаются данные, с которыми будет работать Исполнитель,

как задаются элементарные шаги, из которых состоит алгоритм (система команд исполнителя).

В качестве данных рассматриваются конструктивные объекты. Любой объект может быть описан некоторым набором фраз на некотором языке, иначе говоря – представлен (закодирован) цепочкой символов в некотором алфавите.

5Как задать систему команд и записать алгоритм в ней?

Требования к точному определению алгоритма

Таким образом, можно считать, что алгоритм – это преобразование слов из заданного

алфавита: исходное слово перерабатывается (переписывается) алгоритмом в результирующее слово.

Нужно определить способ описания шагов алгоритма, т.е. команд преобразования слов в заданном алфавите. Рассмотрим два способа:

машины Тьюринга,

нормальные алгоритмы Маркова.

6

Способы описания алгоритма

Рассмотрим два способа:

машины Тьюринга,

нормальные алгоритмы Маркова.

Каждый шаг – это команда замены одного символа в строке по заданному правилу

7

Способы описания алгоритма

Рассмотрим два способа:

машины Тьюринга,

нормальные алгоритмы Маркова.

Каждый шаг – это команда замены подстроки в строке по заданному правилу

8

Нормальные алгорифмы Маркова

Известный российский математик Андрей Андреевич Марков

(1903 –1979) дал формализацию понятия алгоритма, которую он назвал нормальным алгорифмом.

Алгоритмы, работающие со словами, т.е. линейными

последовательностями букв в некотором алфавите, названы

вербальными алгорифмами.

Вербальный алгорифм – это неформальное понятие.

Процесс работы такого алгорифма в алфавите А состоит в

последовательном порождении слов в алфавите А согласно предписанию, через замену одной цепочки символов другой.

Работа начинается с некоторого исходного слова (входные данные) и заканчивается порождением слова-результата.

9

Нормальные алгорифмы Маркова

Для некоторых входных слов процесс может не заканчиваться. Если же для слова P процесс заканчивается некоторым результатом Q, то говорят, что алгоритм применим к слову P и обозначают этот факт так:

! ( P )

Запись

: P Q

означает, что алгорифм «перерабатывает» слово P в слово Q. Делает это он за несколько шагов. Математически точное понятие нормального алгорифма описывает этот процесс.

Как определить нормальный алгорифм? Нужно задать 10 алфавит и правила преобразования слов в нём.

Соседние файлы в папке Презентации лекций по ТОИ