Понятие алгоритма, его обязательные свойства 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Понятие алгоритма, его обязательные свойства



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

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

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

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

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

Алгоритм должен всегда иметь следующие обязательные свойства.

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

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

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

4. Массовость – пригодность алгоритма для решения определённого достаточно широкого круга задач в течение достаточно длительного периода времени. В противном случае алгоритм вряд ли следует разрабатывать: это достаточно кропотливая работа, и если она не будет использоваться массово, усилия разработчиков будут потрачены впустую. Исключения составляют некоторые научные алгоритмы, которые могут разрабатываться месяцами и даже годами, а потом работать 1-2 раза. Но в таких случаях постижение истины и природы оправдывает затраты усилий разработчиков.

Алгоритмы бывают трёх основных видов:

1. Линейный – в виде последовательности действий или шагов, приводящих от допустимых исходных данных к результату.

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

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

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

Понятие алгоритмизации

Алгоритмизация – это процесс разработки, составления и внедрения алгоритма для решения тех или иных проблем.

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

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

В процессе алгоритмизации алгоритмы могут задаваться следующими способами:

1. словесно (описание инструкций на обычном человеческом языке);

2. с помощью таблиц (таблицы и формулы расчётов);

3. графически (в виде так называемых блок-схем, показывающих последовательности и содержание действий, шагов алгоритма);

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

Многие алгоритмы и даже программы, разработанные ещё в начале использования компьютеров в 50-е и 60-е годы XX века, до сих пор успешно используются. Так происходит накопление алгоритмов и программ для решения задач на компьютерах. Сначала решались более простые задачи, теперь на основе умения решать более простые задачи из соответствующих алгоритмов и программ составляются алгоритмы более высокого уровня, позволяющие решать более сложные задачи.

Понятие технологии

Технология – это слово греческого происхождения, составленное из двух корней: techne - искусство, мастерство, умение, и logos - изучение, наука. В результате получается изучение мастерства, искусства, умения делать что-либо. Это значение понятия технология осталось, в таком понимании некоторые науки имеют своим предметом технологии, например, химические технологии, технологии производства бумаги, технологии производства пищевых продуктов, спирта и т.п. Такие технологии изучают в средних специальных и высших учебных заведениях, во многих из них учат мастерству, искусству, умению что-то делать. Но теперь понятие технологии толкуется и несколько шире.

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

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

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

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

Процесс технологизации

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

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

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

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



Поделиться:


Последнее изменение этой страницы: 2019-05-20; просмотров: 1210; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.149.168 (0.013 с.)