Суббота, 01 Фев 2025, 22:33
Uchi.ucoz.ru
Меню сайта
Форма входа

Категории раздела
Авиация и космонавтика [0]
Административное право [0]
Арбитражный процесс [0]
Архитектура [0]
Астрология [0]
Астрономия [0]
Банковское дело [0]
Безопасность жизнедеятельности [1930]
Биографии [0]
Биология [2350]
Биология и химия [0]
Биржевое дело [78]
Ботаника и сельское хоз-во [0]
Бухгалтерский учет и аудит [4894]
Валютные отношения [0]
Ветеринария [0]
Военная кафедра [0]
География [2269]
Геодезия [0]
Геология [0]
Геополитика [46]
Государство и право [13375]
Гражданское право и процесс [0]
Делопроизводство [0]
Деньги и кредит [0]
Естествознание [0]
Журналистика [660]
Зоология [0]
Издательское дело и полиграфия [0]
Инвестиции [0]
Иностранный язык [0]
Информатика [0]
Информатика, программирование [0]
Исторические личности [0]
История [6878]
История техники [0]
Кибернетика [0]
Коммуникации и связь [0]
Компьютерные науки [0]
Косметология [0]
Краеведение и этнография [540]
Краткое содержание произведений [0]
Криминалистика [0]
Криминология [0]
Криптология [0]
Кулинария [923]
Культура и искусство [0]
Культурология [0]
Литература : зарубежная [2115]
Литература и русский язык [0]
Логика [0]
Логистика [0]
Маркетинг [0]
Математика [2893]
Медицина, здоровье [9194]
Медицинские науки [100]
Международное публичное право [0]
Международное частное право [0]
Международные отношения [0]
Менеджмент [0]
Металлургия [0]
Москвоведение [0]
Музыка [1196]
Муниципальное право [0]
Налоги, налогообложение [0]
Наука и техника [0]
Начертательная геометрия [0]
Оккультизм и уфология [0]
Остальные рефераты [0]
Педагогика [6116]
Политология [2684]
Право [0]
Право, юриспруденция [0]
Предпринимательство [0]
Промышленность, производство [0]
Психология [6212]
психология, педагогика [3888]
Радиоэлектроника [0]
Реклама [910]
Религия и мифология [0]
Риторика [27]
Сексология [0]
Социология [0]
Статистика [0]
Страхование [117]
Строительные науки [0]
Строительство [0]
Схемотехника [0]
Таможенная система [0]
Теория государства и права [0]
Теория организации [0]
Теплотехника [0]
Технология [0]
Товароведение [21]
Транспорт [0]
Трудовое право [0]
Туризм [0]
Уголовное право и процесс [0]
Управление [0]
Управленческие науки [0]
Физика [2737]
Физкультура и спорт [3226]
Философия [0]
Финансовые науки [0]
Финансы [0]
Фотография [0]
Химия [1714]
Хозяйственное право [0]
Цифровые устройства [34]
Экологическое право [0]
Экология [1778]
Экономика [0]
Экономико-математическое моделирование [0]
Экономическая география [0]
Экономическая теория [0]
Этика [0]
Юриспруденция [0]
Языковедение [0]
Языкознание, филология [1017]
Новости
Чего не хватает сайту?
500
Статистика
Зарегистрировано на сайте:
Всего: 51657


Онлайн всего: 4
Гостей: 4
Пользователей: 0
Яндекс.Метрика
Рейтинг@Mail.ru

База рефератов


Главная » Файлы » База рефератов » Математика

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


Гость, для того чтобы скачать БЕСПЛАТНО ПОЛНУЮ ВЕРСИЮ РЕФЕРАТА, Вам нужно кликнуть по любой ссылке после слова оплачиваемая реклама.
10 Апр 2013, 15:08

Алгоритм отностится к основным понятиям математики, а поэтому не имеет определения. Часто это понятие формулируют так:"точное предписание о порядке выполнения действий, из заданного фиксированного множества, для решения всех задач, заданного класса".

Рассмотрим подробнее ключевые слова в этой формулировке:

"точное предписание” означает, что предписание однозначно и одинаково понимается всеми исполнителями алгоритма и при одних и тех же исходных данных любой исполнитель всегда получает один и тот же результат;

“из заданного фиксированного множества” означает, что множество действий, используемых в предписании, оговорено заранее и не может меняться в ходе исполнения алгоритма.

“решения всех задач, заданного класса” означает, что это предписание предназначено для решения класса задач, а не одной отдельной задачи. Позднее мы подробнее рассмотрим смысл выражения “класс задач”.

Эта формулировка требует знания таких понятий, как исходные данные, результат, действие, исполнитель, класс задач. Познакомимся с ними на примере алгоритма Евклида нахождения наибольшего общего делителя (НОД) двух натуральных чисел:

Исходные данные: n, m - натуральные числа

Результат: НОД (n, m) - натуральное число d, такое, что

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

Алгоритм:

1. Положи a =n, b = m ; (следующий шаг)

2. Сравни a и b ; (следующий шаг)

3. Если a=b, то a - результат; (стоп)

 иначе; (следующий шаг)

4. Если a<b, то поменяй их местами; (следующий шаг)

5. Вычти b из a ; (следующий шаг)

6. Положи a = разность; (перейти к шагу 2)

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

Например:

Сравни a и b ;(следующий шаг)

Все исполнители должны “понимать”, что надо сравнить значения, представленные символами а и b, а не сами символы, и перейти к действию 3.

Положи a = разность; (перейти к шагу 2)

Означает, что в качестве текущего значения переменной а надо взять разность между значениями, представленными переменными а и b, вычисленную на предыдущем этапе, и перейти к действию 2.

Последовательность действий, выполняемых исполнителем, образуют процесс. Назовем этот процесс вычислительным процессом. Например, для случая исходных данных  n=3, m=2 и алгоритма НОД этот процесс можно описать так:

значение  а значение  b №  действия
1 3 2 1
2 3 2 2
3 3 2 3
4 3 2 4
5 3 2 5
6 1 2 6
7 1 2 2
8 1 2 3
9 2 1 4
10 2 1 5
11 1 1 6
12 1 1 2
13 1 1 3

    

Стоп

Нетрудно видеть разницу между алгоритмом и вычислительным процессом, им порождаемым. Так, например, действие, которое встречается в алгоритме один раз, может быть выполнено несколько раз, а следовательно встретиться неоднократно в описании вычислительного процесса. Примерами такого действия может быть действие 3, либо действие 5, либо 6. В нашем алгоритме, как правило, экземпляры одного и того же действия будут различаться данными (операндами), над которыми совершается это действие. Однако, эти данные могут быть представлены одними и теми же именами.

По алгоритму не всегда можно предсказать вычислительный процесс. Например, не всегда можно предвидеть точно, как много действий будет в вычислительном процессе. Примером тому может служить алгоритм вычисления НОД.

Алгоритм всегда определяет однозначно, какое действие должно быть выполнено следующим, равно как и то, какое действие должно быть выполнено первым. Очередное действие всегда определено однозначно. Именно этой цели служат слова “(cледующий шаг).” Они явно указывают какое действие должно быть выполнено следующим. В силу этого свойства алгоритма, которое называется детерминированность, вычислительный процесс всегда для заданных исходных данных определен однозначно. Таким образом, при одних и тех же исходных данных вычислительный процес будет одним и тем же.

Обычно по умолчанию предполагают “естественный” порядок выполнения действий в алгоритме. Это означает, что если нет явного изменения порядка выполнения действий, то они выполняются последовательно одно за другим, а выполнение алгоритма начинают с первого по порядку действия. Поэтому, в дальнейшем слова “(следующий шаг)” мы будем опускать.

Рассмотрим подробнее понятие действия. В нашем примере присутствуют как минимум два вида действий:

действия над данными (например, сравни, вычти, положи);

действия, изменяющие “естественный” порядок вычислений (например, если - то - иначе; перейди к шагу #).

Если присмотреться внимательней, то мы увидим, что действия вида “сравни”, “вычти” и действия вида “положи ” - это разные действия. Разница между ними в том, что действия первого вида указывают что делать с его операндами, но не указывают где “сохранить” полученный результат. Действия второго вида, наоборот “умалчивают” каким образом получено значение, которое надо “сохранить” в качестве нового значения переменной.

Теперь пристальнее рассмотрим правило окончания алгоритма и выбора результата. В алгоритме могут быть использованы десятки переменных, но результат будет храниться лишь в нескольких. Эти “результирующие” переменные должны быть явно указаны в алгоритме, т.к. в противном случае нет никакой возможности их выявить. Момент, когда в этих переменных сформированы нужные значения, определяет правило окончания алгоритма. Правило окончания всегда формулируется как некоторое условие на множестве текущих значений переменных. Достижение этого условия и означает, что в определенных переменных получен результат. В нашем примере таким условием является равенство текущего значения переменной а текущему значению переменной b.

Итак, сформулируем наши наблюдения в общей форме. Исходные данные - это значения, с которых начинается исполнение алгоритма. Множество исходных данных всегда точно определено. Оно может быть определено явно, перечислением его элементов, либо не явно, в виде системы правил, определяющих конструкцию его элементов. (Этот способ мы рассмотрим позднее).

Данные в алгоритме могут быть представлены переменными (в нашем примере именуемые a и b), либо явно, в виде постоянной величины - константы  (в нашем примере n и m), которая не меняет своего значения в конце выполнения алгоритма.

Переменная - это имя, с которым связано конкрентное множество значений. В каждый конкретный момент времени исполнения алгоритма каждая переменная принимает одно конкретное значение, из связанного с ней множества.

Определение 1.1

Типом переменной называется множество возможных ее значений.

Пусть у нас есть множество переменных {vi|i=1,k}.   (Примеры!)

Определение 1.2

Состоянием на множестве переменных {vi|i=1,k} называется набор значений этих переменных.

Пусть А - алгоритм, {vi|i=1,k} - набор всех переменных, используемых в этом алгоритме. Добавим к этому набору еще одну переменную p, тип которой есть множество индексов действий в алгоритме. Каждый шаг исполнения алгоритма можно однозначно охарактеризовать сосотоянием на множестве переменных ({vi|i=1,k},p).

Определение 1.3

Вычислительным процессом, порожденным алгоритмом, называется последовательность шагов алгоритма, пройденных при исполнении этого алгоритма.

Определение 1.4

Состоянием вычислительного процесса, порожденного алгоритмом А, называется состояние на множестве переменных ({vi|i=1,k},p), где{vi|i=1,k} - набор всех переменных, используемых в алгоритме А.

Нетрудно видеть, что вычислительный процесс можно описать в виде последовательности его состояний.

Определение 1.5

Терминальным состоянием называется состояние вычислительного процесса, на множестве значений которого выполняется определенное условие - правило окончания алгоритма.

Определение 1.6

Результат - это определенная совокупность значений из терминального состояния вычислительного процесса алгоритма.

Определение 1.7

Действие - переход из одного состояния в другое.

Действительно, если действие связано с преобразованием каких-либо данных, то правильность этого утверждения очевидна. Если же действие связано с изменением “естественного” порядка выполнения действий в алгоритме, то состояние вычислительного процесса меняется все равно, т.к. изменяется значение специальной переменной  p -  индекс действия.

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

вычислить значение выражения   Интуитивное понятие алгоритма и его свойств ,  в точке x=b, где

aiÎR, bÎR, где R - множество вещественных чисел.

Множество исходных данных: Интуитивное понятие алгоритма и его свойств, где aiÎR, bÎR.

Интуитивное понятие алгоритма и его свойств  вектор из n+1 вещественных числа;

b - вещественное число.

Результат b  r:  Интуитивное понятие алгоритма и его свойств, где Интуитивное понятие алгоритма и его свойств

Переменные: i - типа целый; х, r - типа вещественный.

Константы:{ai|i=1, n+1}, п.

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

Алгоритм:

Положи i равным п,  x равным b;

Положи r равным Интуитивное понятие алгоритма и его свойств;

Умножь r на x;

Положи r равным произведению;

Положи i равным i -1;

Положи r равным r+ Интуитивное понятие алгоритма и его свойств; Интуитивное понятие алгоритма и его свойств

Если i = 0,  то  r - результат

иначе перейди к шагу 3;

Организацию вычислений по  этому алгоритму можно пояснить вот таким выражением:

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

Этот метод вычисления значения полинома в точке называется схемой Горнера. Однако, есть и другой алгоритм для решения этих задач, который мы назовем прямым.

Исходные данные: те же, что и в предыдущем примере.

Результат: тот же.

Переменные: r, s, x - типа вещественный, i - типа целый.

Константы: Интуитивное понятие алгоритма и его свойств, п.

Алгоритм:

Положи i равным п,  s равным 0,  х равным b;

Возведи х в степень i

Умножь Интуитивное понятие алгоритма и его свойств на степень;

Положи s равной сумме s и произведения.

Если i = 0, то s - результат (стоп)

иначе положи i=i -1, перейди к шагу 2.

Организацию вычислений по  этому алгоритму описывает выражение Интуитивное понятие алгоритма и его свойств

Читателю предлагается построить вычислительные процессы для этих алгоритмов, например, для полинома   Интуитивное понятие алгоритма и его свойств в точке 2, и убедиться, что это разные вычислительные процессы.

Итак мы видим, что для решения одного и того же класса задач может существовать несколько алгоритмов, реализующих разные вычислительные процессы. Эти вычислительные процессы различаются набором действий и их количеством. Количество действий в вычислительном процессе - весьма важная характеристика алгоритма, т.к. оно определяет время и ресурсы исполнителя, необходимые для выполнения алгоритма.

Определение 1.8

Сложностью алгоритма называется количество действий в вычислительном процессе этого алгоритма.

Обратите внимание, именно в вычислительном процессе, а не в самом алгоритме.

Для того, чтобы сравнивать сложность разных алгоритмов, надо чтобы она подсчитывалась для них в терминах одинаковых действий. Например, умножь, сложи, положи. Выразим сложность действия возведения в степень  i  как (i - 1) операций умножения. Тогда, сложность первого алгоритма (по схеме Горнера) в виде числа операций сложения и умножения будет равна 2п.  Для прямого алгоритма она будет равна:

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

Таким образом, первый алгоритм эффек

***** Скачайте бесплатно полную версию реферата !!! *****
Категория: Математика | Добавил: Lerka
Просмотров: 136 | Загрузок: 6 | Рейтинг: 0.0/0 | Жаловаться на материал
Всего комментариев: 0
html-cсылка на публикацию
BB-cсылка на публикацию
Прямая ссылка на публикацию
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Профиль
Суббота
01 Фев 2025
22:33


Вы из группы: Гости
Вы уже дней на сайте
У вас: непрочитанных сообщений
Добавить статью
Прочитать сообщения
Регистрация
Вход
Улучшенный поиск
Поиск по сайту Поиск по всему интернету
Наши партнеры
Интересное
Популярное статьи
Портфолио ученика начальной школы
УХОД ЗА ВОЛОСАМИ ОЧЕНЬ ПРОСТ — ХОЧУ Я ЭТИМ ПОДЕЛИТ...
Диктанты 2 класс
Детство Л.Н. Толстого
Библиографический обзор литературы о музыке
Авторская программа элективного курса "Практи...
Контрольная работа по теме «Углеводороды»
Поиск
Учительский портал
Используются технологии uCoz