Объекты и действия в процессе алгоритмизации

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

 

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

 

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

 

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

 

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

 

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

 

Однако о каких таких объектах мы должны говорить в более конкретном плане? Если мы, например, беремся за составление инструкции по эксплуатации технологической установки, то мы должны помнить, что есть "объекты" люди – эксплуатационный персонал, и есть объекты – аппараты установки.

 

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

 

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

 

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

 

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

 

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

 

Однако я, кажется, слишком уж погрузился в частные детали. Посмотрим чем может нам помочь в нашей теме всемогущий интернет. На первой позиции по запросу "алгоритмизация" в Яндексе находится тема "Алгоритмизация процессов — БСЭ", где дается следующее определение: "Алгоритмизация процессов, алгоритмическое описание процессов, описание процессов на языке математических символов для получения алгоритма, отображающего элементарные акты процесса, их последовательность и взаимосвязь. Алгоритмы, получающиеся путём А. п., предназначаются, как правило, для реализации на ЭВМ".

 

Большая Советская Энциклопедия составлялась давно и серьезными людьми. Однако мне это определение не нравится как бы себя ни уговаривал в обратном. Больно уж много наворочено здесь не по делу. Прежде всего, алгоритмизация – это уже процесс, если считаться с правилами и традициями употребления русского языка. Потом, алгоритмическое описание – это не собственно алгоритмизация, а ее результат. Затем, что это за "символы для получения алгоритмов" – это по-татарски что ли? Из символов алгоритмы не получают, а создают их конструкции. И, наконец, где же в этом развернутом определении хотя бы косвенное упоминание об объектах, которые, как мы видели, неизбежно должны учитываться в процессе алгоритмизации.

 

Далее там же:

 

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

 

Я несколько упростил выписку из БСЭ – у меня ведь все же не научная статья. Здесь, во втором абзаце, снова говорится лишь о действиях – элементарных актах. А объекты как-то снова погрузились в никуда. Однако в остальном, описанное в БСЭ действительно очень похоже на то, что делается нами, технологами-наладчиками, при реализации алгоритмизации на ТЭС. Прежде всего, это дробление (разложение) технологической ситуации на элементарные фрагменты и описание их в том или ином алгоритмическом виде, например в виде аппроксимирующих формул. Далее эти фрагменты объединяются в укрупненные фрагменты, описывающие (аппроксимирующие) работу отдельных котлов, отдельных турбин, отдельных механизмов вспомогательного оборудования и т.д. Затем эти укрупненные фрагменты объединяются по группам технологического оборудования: группа котлов, групп турбин с примыкающим к этим группам вспомогательными механизмами. Здесь мы проходим процесс укрупнения действий: от математического описания работы простых или относительно простых элементов оборудования до объединения этого в общую алгоритмическую последовательность расчета ТЭП работы ТЭС. Как мы снова видим, наличие и учет объектов при алгоритмизации неизбежен – котлы, турбины и даже в целом ТЭС. Впрочем, ученые мужи могут позволить себе абстрагироваться от объекта или объектов и рассматривать лишь процесс в "чистом" виде, подобно варке супа без кастрюли и горшка. Но мы, технологи, не должны забывать про наши кастрюли и горшки, то есть, я хотел сказать, про котлы и турбины или другие столь же внушительные объекты.

 

При изменении запроса на "основы алгоритмизации" – это название раздела информатики, на второй позиции в Яндексе обнаружил следующее определение: "Алгоритмизация – это техника разработки (составления) алгоритма для решения задач на ЭВМ".

 

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

 

Есть и более "крутые" интерпретации рассматриваемого предмета. Читаю, например, некоторые извлечения из сети интернет и не могу понять, кто их сочинял – изобретатель или поэт. Но слова при этом употребляют такие же: алгоритмист, алгоритмизация и т.п. А понимают под ними, похоже, что-то совершенно иное против того, что я попытался вам рассказать. Здесь уж как в песне: "Если что-то не так, вы простите меня". А я, с вашего позволения, буду оставаться при своем мнении относительно того, что следует понимать под словами алгоритмист, алгоритмизация, объекты алгоритмизации и т.д. По-другому я все равно не смогу вам рассказать об аспектах алгоритмизации, излагаемых в статьях нашего сайта.

 

9.06.2013 г. Всегда ваш, Протасов Н.Г.

 

P.S. Однако я кажется изрядно отвлекся от темы, обратившись за "помощью" в интернет.

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

Задача: построить алгоритм выяснения почему курицы перешли дорогу. Ответы случились следующие:

 

Макиавелли: Смысл в том, что курицы ПЕРЕШЛИ дорогу! Зачем – не важно. Окончание перехода оправдывает любой мотив, который у них был.

 

Фрейд: То, что вас интересует переход куриц через дорогу, много говорит о вас как о личности.

 

Эйнштейн: Курицы переходили дорогу или дорога перемещалась под курицами – всё относительно.

 

Будда: Представьте себя курицей и задайте себе этот вопрос.

 

Алгоритмом является лишь один ответ – последний. Правда, для его исполнения нам потребуется достигнуть состояния Будды, а потом уже задавать себе, как курице, вопрос.

 

На этом, пожалуй, и закончим наш несколько растянувшийся полуфилософский аспект.

 

Анонсы других статей

Copyright © 2009 - 2024 Алгоритмист | Правовая информация
Карта сайта
Яндекс.Метрика