Презентация на тему: Виды алгоритмов

Виды алгоритмов
Виды алгоритмов
Можно также выделить алгоритмы:
Нумерация алгоритмов
Алгоритмически неразрешимые задачи
Анализ алгоритмов
1/6
Средняя оценка: 4.9/5 (всего оценок: 28)
Код скопирован в буфер обмена
Скачать (47 Кб)
1

Первый слайд презентации: Виды алгоритмов

Подготовила: ученица 9 класса Петрунько Ю.В.

Изображение слайда
2

Слайд 2

Виды алгоритмов как логико-математических средств отражают указанные компоненты человеческой деятельности и тенденции, а сами алгоритмы в зависимости от цели, начальных условий задачи, путей её решения. Следует подчеркнуть принципиальную разницу между алгоритмами вычислительного характера, преобразующими некоторые входные данные в выходные (именно их формализацией являются упомянутые выше машины Тьюринга, Поста, РАМ, нормальные алгорифмы Маркова и рекурсивные функции), и интерактивными алгоритмами (уже у Тьюринга встречается C-машина, от англ. choice — выбор, ожидающая внешнего воздействия, в отличие от классической A-машины, где все начальные данные заданы до начала вычисления и выходные данные недоступны до окончания вычисления). Последние предназначены для взаимодействия с некоторым объектом управления и призваны обеспечить корректную выдачу управляющих воздействий в зависимости от складывающейся ситуации, отражаемой поступающими от объекта управления сигналами. В некоторых случаях алгоритм управления вообще не предусматривает окончания работы (например, поддерживает бесконечный цикл ожидания событий, на которые выдается соответствующая реакция), несмотря на это, являясь полностью правильным.

Изображение слайда
3

Слайд 3: Можно также выделить алгоритмы:

Механические алгоритмы, или иначе детерминированные, жесткие (например, алгоритм работы машины, двигателя и т. п.) — задают определённые действия, обозначая их в единственной и достоверной последовательности, обеспечивая тем самым однозначный требуемый или искомый результат, если выполняются те условия процесса, задачи, для которых разработан алгоритм. Гибкие алгоритмы, например, стохастические, то есть вероятностные и эвристические. Вероятностный (стохастический) алгоритм даёт программу решения задачи несколькими путями или способами, приводящими к вероятному достижению результата. Эвристический алгоритм (от греческого слова «эврика») — алгоритм, использующий различные разумные соображения без строгих обоснований. Линейный алгоритм — набор команд (указаний), выполняемых последовательно во времени друг за другом. Разветвляющийся алгоритм — алгоритм, содержащий хотя бы одно условие, в результате проверки которого может осуществляться разделение на несколько альтернативных ветвей алгоритма. Циклический алгоритм — алгоритм, предусматривающий многократное повторение одного и того же действия (одних и тех же операций). К циклическим алгоритмам сводится большинство методов вычислений, перебора вариантов. Цикл программы — последовательность команд (серия, тело цикла), которая может выполняться многократно. Вспомогательный (подчинённый) алгоритм (процедура) — алгоритм, ранее разработанный и целиком используемый при алгоритмизации конкретной задачи. В некоторых случаях при наличии одинаковых последовательностей указаний (команд) для различных данных с целью сокращения записи также выделяют вспомогательный алгоритм. На всех этапах подготовки к алгоритмизации задачи широко используется структурное представление алгоритма. Структурная блок-схема, граф-схема алгоритма — графическое изображение алгоритма в виде схемы связанных между собой с помощью стрелок (линий перехода) блоков — графических символов, каждый из которых соответствует одному шагу алгоритма. Внутри блока дается описание соответствующего действия. Графическое изображение алгоритма широко используется перед программированием задачи вследствие его наглядности, так как зрительное восприятие обычно облегчает процесс написания программы, её корректировки при возможных ошибках, осмысливание процесса обработки информации. Можно встретить даже такое утверждение: «Внешне алгоритм представляет собой схему — набор прямоугольников и других символов, внутри которых записывается, что вычисляется, что вводится в машину и что выдается на печать и другие средства отображения информации». "Алгоритм об алгоритме". РАЗРАБОТКА АЛГОРИТМА РОБЕРТА ПРИМА НА ОСНОВЕ ДИЗАЙНА АЛГОРИТМА

Изображение слайда
4

Слайд 4: Нумерация алгоритмов

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

Изображение слайда
5

Слайд 5: Алгоритмически неразрешимые задачи

Формализация понятия алгоритма позволила исследовать существование задач, для которых не существует алгоритмов поиска решений. Впоследствии была доказана невозможность алгоритмического вычисления решений ряда задач, что делает невозможным их решение на любом вычислительном устройстве. Функцию f называют вычислимой (англ. computable ), если существует машина Тьюринга, которая вычисляет значение f для всех элементов множества определения функции. Если такой машины не существует, функцию f называют невычислимой. Функция будет считаться невычислимой, даже если существуют машины Тьюринга, способные вычислить значение для подмножества из всего множества входных данных. Случай, когда результатом вычисления функции f является логическое выражение «истина» или «ложь» (или множество {0, 1}), называют задачей, которая может быть решаемой или нерешаемой, в зависимости от вычислимости функции f. Важно точно указывать допустимое множество входных данных, поскольку задача может быть решаемой для одного множества и нерешаемой для другого. Одной из первых задач, для которой была доказана нерешаемость, является проблема остановки. Формулируется она следующим образом: « Имея описание программы для машины Тьюринга, требуется определить, завершит ли работу программа за конечное время или будет работать бесконечно, получив некоторые входные данные. » Доказательство неразрешимости проблемы остановки важно тем, что к ней можно свести другие задачи. Например, простую проблему остановки можно свести к задаче остановки на пустой строке (когда нужно определить для заданной машины Тьюринга, остановится ли она, будучи запущенной на пустой строке), доказав тем самым неразрешимость последней..

Изображение слайда
6

Последний слайд презентации: Виды алгоритмов: Анализ алгоритмов

Вместе с распространением информационных технологий увеличился риск программных сбоев. Одним из способов избежания ошибок в алгоритмах и их реализациях служат доказательства корректности систем математическими средствами. Использование математического аппарата для анализа алгоритмов и их реализаций называют формальными методами. Формальные методы предусматривают применение формальных спецификаций и, обычно, набора инструментов для синтаксического анализа и доказательства свойств спецификаций. Абстрагирование от деталей реализации позволяет установить свойства системы независимо от её реализации. Кроме того, точность и однозначность математических утверждений позволяет избежать многозначности и неточности естественных языков. По гипотезе Ричарда Мейса, «избежание ошибок лучше устранения ошибок». По гипотезе Хоара, «доказательство программ решает проблему корректности, документации и совместимости». Доказательство корректности программ позволяет выявлять их свойства по отношению ко всему диапазону входных данных. Для этого понятие корректности было разделено на два типа: Частичная корректность — программа даёт правильный результат для тех случаев, когда она завершается. Полная корректность — программа завершает работу и выдаёт правильный результат для всех элементов из диапазона входных данных. Во время доказательства корректности сравнивают текст программы со спецификацией желаемого соотношения входных-выходных данных. Для доказательств типа Хоара спецификация имеет вид утверждений, которые называют предусловиями и постусловиями. В совокупности с самой программой их ещё называют тройкой Хоара. Эти утверждения записывают как {P}Q{S} где P — это предусловия, должные выполняться перед запуском программы Q, а R — постусловия, истинные после завершения работы программы. Формальные методы были успешно применены для широкого круга задач, в частности: разработке электронных схем, искусственного интеллекта, автоматических систем на железной дороге, верификации микропроцессоров, спецификации стандартов и спецификации и верификации программ[26].

Изображение слайда