Ресурсно-эффективные компьютерные алгоритмы М. В. Ульянов

24.09.2014 Андрон 1 комментариев

У нас вы можете скачать книгу Ресурсно-эффективные компьютерные алгоритмы М. В. Ульянов в fb2, txt, PDF, EPUB, doc, rtf, jar, djvu, lrf!

Скачать книгу Ульянов М. Разработка и анализ Автор: Информационные и компьютерные технологии Формат: В пособии на современном уровне изложены вопросы выбора рациональных алгоритмических решений, в том числе и комбинированных, важные в практическом плане и актуальные при проектировании информационных и программных систем.

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

Для студентов, аспирантов и преподавателей технических вузов, специализирующихся в области разработки, анализа и исследования компьютерных алгоритмов. Краткое содержание Предисловие Введение. Другие новости, похожие на книгу Ульянов М. Поскакалов - Стандартизация разрабо Специальный справочник Язык UML 2 в анализе и проектировании программных систем и бизнес-процессов Методы и алгоритмы Игнатьева А.

Исследование систем управления Разработка компьютерных учебников и обучающих систем. Посетители, находящиеся в группе Гости , не могут оставлять комментарии к данной публикации. В ряде случаев особое внимание обращается на внутренние структуры представления промежуточных результатов, например, структура пирамиды в одноименном алгоритме быстрой сортировки.

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

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

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

Частные алгоритмы для подзадач разрабатываются на принятых внутренних структурах данных. Решение о необходимости разработки новых или модификации существующих алгоритмов принимается на основе результатов проведенного анализа. Дополнительные условия, приводящие к необходимости разработки или модификации алгоритмов при создании математического обеспечения программных систем, могут быть связаны не только с временными характеристиками, но и с требованиями по точности, особенно при решении оптимизационных задач.

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

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

Заметим, что необходимость повышения точности выполнения арифметических операций заставляет разработчиков использовать специальные методы представления чисел, например, системы счисления в остатках [В. Теоретический и экспериментальный анализ ресурсной эффективности алгоритма.

Рассматриваемый алгоритм решения задачи должен быть проверен на. Такого рода исследования предполагаю полный анализ алгоритма, включающий в себя следующие этапы: Отметим, что в теории алгоритмов специально рассматривается класс PSPCE, как класс задач с полиномиальной оценкой затрат памяти относительно длины входа [В. Если предложенные алгоритмические решения не удовлетворяют критериям по времени, ресурсам памяти или точности вычислений, то выполняется, если это возможно, модификация алгоритма с последующим возвратом к этапу анализа.

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

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

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

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

На основе формализации понятия алгоритма возможно сравнение алгоритмов по их эффективности, проверка их эквивалентности, определение областей применимости. Разработанные в х годах формальные модели вычислений Пост, Тьюринг, Черч [1.

Все эти определения алгоритма являются равнозначными и определяют один и тот же класс алгоритмически вычислимых функций, что отражают известные тезисы Поста, Черча и Тьюринга [1. Важным этапом в развитии теории алгоритмов стали формулировка и доказательство алгоритмически неразрешимых проблем. К м годам оформились следующие направления в теории алгоритмов: В настоящее время теория алгоритмов образует теоретический фундамент вычислительных наук, а полученные на ее основе рекомендации получают всё большее распространение в области программирования.

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

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

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

Марков Алгоритм это точное предписание, определяющее вычислительный процесс, идущий от варьируемых исходных данных к искомому результату. Среди них укажем алгоритм Евклида нахождения наибольшего общего делителя двух натуральных чисел или двух целочисленных многочленов, алгоритм Гаусса решения системы линейных уравнений над полем, алгоритм нахождения рациональных корней многочленов одного переменного с рациональными коэффициентами, алгоритм Штурма для определения числа действительных корней многочлена с действительными коэффициентами на некотором сегменте, алгоритм разложения многочлена одного переменного над конечным полем на неприводимые множители.

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

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

Задача математически строгого определения понятия алгоритма была решена в х годах ХХ века в работах Чёрча, Клини, Поста, Тьюринга в двух формах: Рекурсивная функция это функция, для которой существует алгоритм вычисления ее значений для произвольного значения аргумента на основе известных предыдущих значений. Класс рекурсивных функций был определен строго как конкретный класс функций в некоторой формальной системе.

Оба данных подхода, а также другие подходы Маркова, Поста привели к определению одного и того же класса алгоритмически вычислимых функций и подтвердили целесообразность использования тезиса Чёрча или тезиса Тьюринга для решения алгоритмических проблем. Поскольку понятие рекурсивной функции является математически строгим, то можно доказать, что решающая некоторую задачу функция не является рекурсивной, что эквивалентно отсутствию для данной задачи разрешающего ее алгоритма.

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

Другие трудности связаны с тем, что если даже алгоритм заведомо существует, то его очень трудно описать в некоторой заранее заданной форме. Вы сможете дать только словесное описание этого алгоритма без использования иллюстраций?

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

Например, решение уравнения 3x 9 0 это одна из конкретных проблем, а решение уравнения ax b 0 это общая проблема, тем самым алгоритм должен быть универсальным, т. Постом, его заменяет в статье понятие набора инструкций. Основные понятия алгоритмического формализма Поста это пространство символов, в котором задаётся конкретная проблема и получается ответ, и набор инструкций, т. Постовское пространство символов представляет собой бесконечную ленту ящиков ячеек , каждый из которых может быть или помечен или не помечен, что схематично показано на рисунке 1.

После применения к конкретной про-. Сегодня мы бы сказали, что этот набор инструкций является минимальным набором битовых операций элементарного процессора: Пометить ящик, если он пуст; 2.

Стереть метку, если она есть; 3. Переместиться влево на 1 ящик; 4. Переместиться вправо на 1 ящик; 5. Определить помечен ящик или нет, и по результату перейти на одну из двух указанных инструкций; 6. Отметим, что формулировка первых двух инструкций включает в себя защиту от неправильных ситуаций с данными. Программа представляет собой нумерованную последовательность инструкций, причем переходы производятся на указанные в ней номера других инструкций.

Программа, или набор инструкций в терминах Э. Поста, является одной и той же для всех конкретных проблем, и поэтому соотнесена с общей проблемой таким образом, Пост формулирует требование универсальности алгоритма. Пост вводит следующие понятия: Посту проблема задаётся внешней силой путем пометки конечного количества ящиков ленты. В более поздних работах по машине Поста [1. Поскольку множество конкретных проблем, составляющих общую проблему, является счетным, то можно установить взаимно однозначное соответствие биективное отображение между множеством положительных целых чисел N и множеством конкретных проблем.

Общая проблема называется по Посту 1- заданой, если существует такой финитный 1-процесс, что, будучи применим к N в качестве исходной конфигурации ящиков, он задает -ую конкретную проблему в виде набора помеченных ящиков в пространстве символов.

Если общая проблема 1-задана и 1-разрешима, то, соединяя наборы инструкций по заданию проблемы и ее решению, мы получаем ответ по номеру проблемы это и есть формулировка 1 в терминах статьи Э. Пост завершает свою статью следующей фразой [1. Цель формулировки, однако, в том, чтобы предложить систему не только определенной логической силы, но и психологической достоверности.

В этом последнем смысле подлежат рассмотрению всё более и более широкие формулировки. С другой стороны, нашей целью будет показать, что все они логически сводимы к формулировке 1. В настоящий момент мы выдвигаем это умозаключение в качестве рабочей гипотезы.

Таким образом, гипотеза Поста состоит в том, что любые более широкие формулировки в смысле алфавита символов ленты, набора инструкций, представ-. Предыстория создания этой работы связана с формулировкой Давидом Гильбертом на Международном математическом конгрессе в Париже в году нерешенных математических проблем.

Статья Тьюринга как раз и давала ответ на эту проблему вторая проблема Гильберта оказалась неразрешимой. Но значение статьи Тьюринга выходило далеко за рамки той задачи, по поводу которой она была написана. Приведем характеристику этой работы, принадлежащую Джону Хопкрофту [1. Отталкиваясь от интуитивного представления о методе как о некоем алгоритме, т. Министерство экономического развития и торговли Российской Федерации Государственный университет Высшая школа экономики Факультет Бизнес-Информатика Программа дисциплины Методы разработки и анализа компьютерных.

Глава 5 Элементы теории алгоритмов 31 Уточнение понятия алгоритма Ключевые слова: Министерство экономического развития и торговли Российской Федерации Государственный университет Высшая школа экономики Факультет Бизнес-Информатика Отделение Программная Инженерия Программа дисциплины.

Построение и анализ алгоритмов Семинар 6 Анализ трудоемкости алгоритмов Анализ трудоемкости алгоритма В основе сравнительного анализа алгоритмов лежат как теоретические, так и экспериментальные оценки. Неформальное понятие алгоритма, его основные черты и свойства.

Алфавит, слова, алгоритм в алфавите. Определение нормального алгоритма алгоритма. Машина Тьюринга 1 Машина Тьюринга математическое понятие, а не реальная вычислительная машина. MT является математической моделью вычислительного устройства. MT была предложена Аланом Тьюрингом в Математическая логика и теория алгоритмов: Компьютер как исполнитель команд. В основе моделирования лежит теория подобия, которая утверждает, абсолютное подобие может иметь место лишь при замене объекта другим точно.

Пащенкова 1 1 МГТУ им. Баумана, Москва, , Россия Рассмотрен. Календарно тематическое планирование по алгебре 9 класс урока Тема урока, пункт параграфа Тип урока Характеристика основных видов деятельности ученика на уровне учебных действий УУД Сроки Повторение. Первая это различные математические теоремы, леммы, следствия,. Элементы теории сложности Машина Тьюринга Алан Тьюринг Территория Процент выпускников, не преодолевших.

Алгоритмы и программы Хайруллин Альфред Alfred. Как может быть основана научная дисциплина Каковы основные структурные элементы научной дисциплины Дать.

Сложность арифметических операций с целыми числами Задачи дискретной оптимизации и их сложность Общая постановка задачи дискретной оптимизации. Сложность задач дискретной оптимизации. Ресурсно-эффективные компьютерные алгоритмы Автор: Информатика, Программирование Год издания: Несмотря на интенсивные исследования в области классической теории алгоритмов и асимптотического анализа сложности, нерешенными остаются некоторые вопросы сравнительного анализа ресурсной эффективности алгоритмов в реальном диапазоне длин входов, где результаты асимптотического анализа не всегда могут быть использованы.

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

Краткое содержание Предисловие Введение. Алгоритмическое обеспечение программных средств и систем: Алгоритмы и модели вычислений Раздел II.