20.07.2013 Views

Молодой учёный

Молодой учёный

Молодой учёный

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

“Young Scientist” . #5 (40) . May 2012<br />

изучением природы взаимоотношений элементов в системах.<br />

Причем системой может являться, как технический<br />

объект, так и отдельно взятый человек, так и человеческое<br />

общество, и государство [1]. Поэтому понимание<br />

того, что принципы организации алгоритма есть принципы<br />

кибернетики, и что они могут быть применены в задачах<br />

не только связанных с организацией взаимодействия<br />

узлов компьютерной сети, дало качественно новый<br />

скачок в развитии информационных систем и технологий,<br />

наблюдавшийся в 90-е годы XX века.<br />

Итак, на сегодняшний день программисты владеют<br />

как минимум двумя мощнейшими методологиями – объектно-ориентированное<br />

и структурное программирование.<br />

У каждой из них существует некоторый базис трех<br />

элементарных операторов, берущих свое начало от одной<br />

фундаментальной идеи – своей для каждого из случаев –<br />

идеи взаимодействия компонентов системы или же более<br />

кратко – начала кибернетики.<br />

Идея первого начала – принцип разделения времени.<br />

Идея второго начала – принцип разделения ресурсов. С<br />

каждым из них связан определенный контекст или иными<br />

словами – область определения идеи, причем первое начало<br />

можно рассматривать, как более частный случай<br />

второго, т.к. в общем случае время – тоже ресурс. Однако<br />

вследствие значительной разницы в технических средствах<br />

реализации этих двух идей, получаемая в итоге система<br />

может сильно отличаться по массе критериев, таких<br />

как эффективность, надежность и трудозатраты на реализацию,<br />

поэтому идеи, формирующие ее фундамент, следует<br />

различать.<br />

Первая идея (принцип разделения времени) связана<br />

с некоторыми известными ограничениями на ресурсы при<br />

решении поставленной проблемы. Считается, что единственный<br />

неограниченный ресурс – это время, поэтому<br />

решение задачи будет выглядеть, как сумма ее частичных<br />

решений, т.е. циклическое потребление всех имеющихся<br />

ресурсов каждый дискрет времени до тех пор, пока не<br />

будет достигнуто желаемое свойство (цель управления)<br />

возбуждаемого объекта.<br />

Вторая идея (принцип разделения ресурсов) предполагает<br />

наличие известного ограничение на время решения<br />

поставленной задачи. При этом предполагается, что существует<br />

бесконечное множество исполняющих устройств,<br />

каждое из которых выполняет некоторую часть одной элементарной<br />

операции с точки зрения смены устойчивого<br />

состояния системы.<br />

Но самым замечательным свойством всего вышесказанного<br />

является то, что решение любой проблемы можно<br />

получить как в рамках первого, так и в рамках второго начала.<br />

Соответственно первое начало положено в основу<br />

методологии структурного программирования и языка C, а<br />

второе – в основу объектно-ориентированного программирования<br />

и языка C++. Однако между началами всегда<br />

существует тонкая грань равноэффективности свойств<br />

искомого решения проблемы. Оставаясь на этой грани,<br />

действительно не имеет значения, какой из подходов вы-<br />

Computer Science<br />

99<br />

брать, потому, как в любом случае решение будет содержать<br />

слишком много внутренних противоречий и просто<br />

рухнет под их весом. Это можно себе представить в виде<br />

условного графика функции асимптотически приближающегося<br />

к вертикальной оси координат, как с отрицательного,<br />

так и с положительного интервала горизонтальной<br />

оси, (рис. 1.). Иными словами не все задачи могут быть<br />

решены на существующем техническом уровне с необходимыми<br />

требованиями (да, такое тоже бывает).<br />

Рис. 1. Кривая сложности системы и «объектной<br />

ориентированности»<br />

Где значения y – это мера сложности реализации системы,<br />

а x – некоторая обобщенная по совокупности требований<br />

оценка степени объектной ориентированности.<br />

Для того, чтобы показать связь между принципом разделения<br />

времени и тремя базисными комбинаторами методологии<br />

структурного программирования, рассмотрим<br />

понятие системы. Пусть имеется множество элементарных<br />

узлов h i Î H, (рис. 2). Множество H будет называться<br />

системой тогда и только тогда, когда все его элементы<br />

связаны между собой.<br />

Рис. 2. Совокупность элементарных узлов<br />

Рис. 3. Система N к N

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!