<<
>>

Проблемы алгоритмизации

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

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

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

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

32


фильмов), требующее специальных алгоритмических и технических средств компьютера.

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

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

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

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

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

Задача алгоритмизации в общем случае включает в себя также этап выбора языка программирования. Если же программа составляется для пополнения некоторого программного комплекса на определенном языке, то этап выбора языка исключается.


33


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

1.5.

<< | >>

Еще по теме Проблемы алгоритмизации:

  1. § 2. АЛГОРИТМИЗАЦИЯ ДИАГНОСТИЧЕСКИХ ПРОЦЕДУР
  2. ШИШКА См. статью ОТЕК, ШИШКОВИДНАЯ ЖЕЛЕЗА (ПРОБЛЕМЫ) См. ЭПИФИЗ (ПРОБЛЕМЫ).
  3. «Проблема» в том виде, в каком мы ее себе представляем, редко оказывается настоящей проблемой
  4. БОЛЬШОЙ ПАЛЕЦ (ПРОБЛЕМЫ) См. статью ПАЛЬЦЫ (ПРОБЛЕМЫ).
  5. КРОВООБРАЩЕНИЕ (ПРОБЛЕМЫ) См. статью АРТЕРИИ (ПРОБЛЕМЫ).
  6. ЛОДЫЖКИ (ПРОБЛЕМЫ) См. статью СТОПЫ (ПРОБЛЕМЫ),
  7. КОЖА (ПРОБЛЕМЫ), ЗУД (ПРОБЛЕМЫ) и ОТЕК
  8. ДУШЕВНОЕ РАССТРОЙСТВО См. статью ПОМЕШАТЕЛЬСТВО. ДЫХАНИЕ (ПРОБЛЕМЫ) См. статью ЛЕГКИЕ (ПРОБЛЕМЫ).
  9. ЭПИФИЗИТ См. статью ШОЙЕРМАННА БОЛЕЗНЬ, а также объяснение на стр.20. ЭРЕКЦИЯ (ПРОБЛЕМЫ) См. статью ПЕНИС (ПРОБЛЕМЫ). ЭЯКУЛЯЦИЯ (НЕСПОСОБНОСТЬ) См. статью ИМПОТЕНЦИЯ.
  10. Проблемы, проблемы, проблемы…
  11. Проблемы, проблемы, проблемы…
  12. ПРОБЛЕМА
  13. ПЕНИС (ПРОБЛЕМЫ)
  14. Проблемы
  15. Проблемы
  16. ПРОБЛЕМЫ МЕТОДОЛОГИИ