- •НИУ ВШЭ – Пермь
- •Интуитивное понятие алгоритма
- •Свойства алгоритмов
- •Требования к точному определению алгоритма
- •Требования к точному определению алгоритма
- •Способы описания алгоритма
- •Способы описания алгоритма
- •Нормальные алгорифмы Маркова
- •Нормальные алгорифмы Маркова
- •Нормальные алгорифмы Маркова: определение
- •Нормальные алгорифмы Маркова: определение
- •Нормальные алгорифмы Маркова: определение
- •Нормальные алгорифмы Маркова: определение
- •Нормальные алгорифмы Маркова: определение
- •Нормальные алгорифмы Маркова: выполнение
- •Нормальные алгорифмы Маркова: выполнение
- •Нормальные алгорифмы Маркова: пример 1
- •Нормальные алгорифмы Маркова: пример 2
- •Нормальные алгорифмы Маркова: пример 3
НИУ ВШЭ – Пермь
Факультет бизнес-информатики
Кафедра информационных технологий в бизнесе
Точное понятие алгоритма.
Нормальные алгорифмы Маркова
Материалы курса «Теоретические основы информатики»
Лекция 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 алфавит и правила преобразования слов в нём.
