какие системы называют иерархическими
MT1400: Общая теория систем
В теории систем М. Месаровича предложены особые классы иерархических структур типа страт, слоев, эшелонов, отличающиеся различными принципами взаимоотношений элементов в пределах уровня и различным правом вмешательства вышестоящего уровня в организацию взаимоотношений между элементами нижележащего.
Учитывая важность этих видов структур для решения проблем управления предприятиями в современных условиях многоукладной экономики, проектирования сложных систем, остановимся на их характеристике несколько подробнее.
Страты. При отображении сложных систем основная проблема состоит в том, чтобы найти компромисс между простотой описания, позволяющей составить и сохранять целостное представление об исследуемом или проектируемом объекте, и детализацией описания, позволяющей отразить многочисленные особенности конкретного объекта. Один из путей решения этой проблемы — задание системы семейством моделей, каждая из которых описывает поведение системы с точки зрения соответствующего уровня абстрагирования. Для каждого уровня существуют характерные особенности, законы и принципы, с помощью которых описывают поведение системы на этом уровне. Такое представление названо Месаровичем стратифицированным, а уровни абстрагирования — стратами (см. рис. 1.9, е).
В качестве простейшего примера стратифицированного описания на рис. 1.10 приведено отображение ЭВМ в виде двух страт:
При этом отмечается, что в принципе может представлять интерес описание системы (ЭВМ) и на других уровнях абстрагирования, помимо названных двух основных. При конструировании некоторых электронных компонентов может представить интерес страта атомной физики, а при разработке сложного программного обеспечения, систем с разделением времени — системная страта.
Аналогичное представление используется при разработке банков и баз данных, в которых принято выделять физический уровень хранения данных, логический и системно-логический уровни. В стратифицированном виде можно представить и проблему моделирования текста: буквы → слова → предложения → абзацы → текст.
Примером стратифицированного описания может также служить предложенное Ю. И. Черняком в работе выделение уровней абстрагирования системы от философского или теоретико-познавательного описания ее замысла до материального воплощения (рис. 1.11).
Такое представление помогает понять, что одну и ту же систему на разных стадиях познания и проектирования можно (и нужно) описывать различными выразительными средствами, т.е. как бы на разных «языках»: философском или теоретико-познавательном — вербальное описание замысла, концепции; научно-исследовательском — в форме моделей разного рода, помогающих глубже понять и раскрыть замысел системы; проектном — техническое задание и технический проект, для разработки и представления которого могут понадобиться математические расчеты, принципиальные схемы; конструкторском — конструкторские чертежи, сопровождающая их документация; технологическом — технологические карты, стандарты и другая технологическая документация; (конструкторская и технологическая страты могут быть объединены); материальное воплощение, реализация системы — детали, блоки, собранное изделие или созданная система, принципы функционирования которой отражены в соответствующей нормативно-технической и нормативно-методической документации (инструкциях по эксплуатации, положениях и т.п.).
Страты могут выделяться по разным принципам.
При представлении системы управления предприятием страты могут соответствовать сложившимся уровням: управление технологическими процессами (собственно производственным процессом) и организационное управление предприятием. Если предприятие входит в объединение, то к этим двум стратам добавляется уровень управления объединением. Этот же принцип может быть положен в основу выделения страт в структуре функциональной части АСУ.
Стратифицированное представление используется и как средство последовательного углубления представления о системе, ее детализации (рис. 1.12): чем ниже опускаемся по иерархии страт, тем более детальным становится раскрытие системы; чем выше поднимаемся, тем яснее становится смысл и значение всей системы.
Объяснить назначение системы с помощью элементов нижней страты в сложных системах практически невозможно.
Изучение принципов построения и функционирования отдельных клеток организма, каким бы детальным оно ни было, не позволяет понять построение и функционирование органов, которые состоят из этих клеток, а изучение органов не позволит полностью понять функционирование всего организма в целом. Но, с другой стороны, чтобы правильно понять и реализовать общий замысел системы, сконструировать ее, необходимо реализовать нижележащие страты.
Идею детализации системы на каждом последующем уровне Ф. Е. Темников иллюстрировал так, как показано на рис. 1.13. Следует отметить, что термин «страты» в тот период им не применялся.
Начинать изучение системы можно с любой страты, в том числе со страты, находящейся в середине стратифицированного представления. В процессе исследования могут добавляться новые страты, изменяться подход к выделению страт. На каждой страте может использоваться свое описание, своя модель, но система сохраняется до тех пор, пока не изменяется представление на верхней страте — ее концепция, замысел, который нужно не исказить при раскрытии на каждой последующей страте.
Рассмотрим многослойную иерархию принятия решения по управлению каким-либо процессом. В ней в условиях неопределенности можно выделить три основных аспекта проблемы принятия решения, приведенные на рис. 1.15. Нижний слой, самый «близкий» к управляемому процессу, — слой выбора. Задача этого слоя — выбор способа действий %%m%%. Принимающий решения элемент (блок) получает данные (информацию) об управляемом процессе и, применяя алгоритм, полученный на верхних слоях, находит нужный способ действия, т.е. последовательность управляющих воздействий на управляемый процесс. Алгоритм может быть определен непосредственно как функциональное отображение %%D%%, дающее решение для любого набора начальных данных. Предположим, что заданы выходная функция %%P%% и функция оценки %%G%%, а выбор действий <%%m%%>основан на применении оценки %%G%% к %%P%%. Используя теоретико-множественные представления, выходную функцию можно определить как отображение %%P: M\times U → Y%%, где %%М%% —множество альтернативных действий; %%Y%% — множество возможных результатов на выходе (или «выходов»); %%U%% — множество неопределенностей, адекватно отражающее отсутствие знаний о зависимости между действием и выходом %%Y%%.
Аналогично функция оценки %%G%% есть отображение %%G:M\times Y→ V%%, где %%V%% — множество величин, которые могут быть связаны с характеристиками качества работы системы. Если множество %%U%% состоит из единственного элемента или является пустым, т.е. относительно результата на выходе для данного действия %%m%% нет неопределенности, выбор может основываться на оптимизации: найти такое %%m’%% в %%M%%, чтобы величина %%v’ = G(m’, P(m’))%%, была меньше, чем %%v = G(m, P(m))%% для любого другого действия %%m\in M%%. Если %%U%% — более богатое множество, приходится предлагать некоторые другие процедуры для выбора способа решения. Возможно при этом придется ввести и некоторые другие отображения, помимо %%P%% и %%G%%. Но в общем случае для того, чтобы определить задачу выбора на первом слое, необходимо уточнить множество неопределенностей %%U%%, требуемые отношения %%P%%, %%G%% и т.д. Это осуществляется на верхних слоях.
Вышележащий по отношению к рассматриваемому слою — слой обучения или адаптации. Задача этого слоя — конкретизировать множество неопределенностей %%U%%, с которым имеет дело слой выбора. Множество неопределенностей %%U%% рассматривается здесь как множество, включающее в себя все незнание о поведении системы и отражающее все гипотезы о возможных источниках и типах таких неопределенностей. Множество %%U%% может быть получено с помощью наблюдений и внешних источников информации. Назначение рассматриваемого слоя — сузить множество неопределенностей %%U%% и таким образом упростить модель слоя выбора. В случае стационарности системы и среды %%U%% может быть предельно сужено вплоть до одного элемента, что соответствует идеальному обучению. Однако в общем случае %%U%% может включать не только существующие, но и предполагаемые системой принятия решения неопределенности, и в случае необходимости %%U%% может быть полностью изменено, расширено, в том числе за счет изменения ранее принятой базисной гипотезы.
Третий, в данном случае верхний, — слой самоорганизации. На этом слое выбираются структура, функции и стратегии, используемые на нижележащих слоях таким образом, чтобы по возможности приблизиться к отображению цели, которая обычно задается в форме вербального описания. Если цель не достигнута, могут быть изменены функции %%P%% и %%G%% на первом слое или стратегия обучения на втором.
Многослойные системы принятия решений полезно формировать для решения задач планирования и управления промышленными предприятиями, отраслями, народным хозяйством в целом. При постановке и решении таких проблем нельзя раз и навсегда определить цели, выбрать конкретные действия: экономические и технологические условия производства непрерывно изменяются. Все это можно отразить в многослойной модели принятия решений.
Эшелоны. У М. Месаровича понятие многоэшелонной иерархической структуры дается следующим образом: система представляется в виде относительно независимых, взаимодействующих между собой подсистем; при этом некоторые (или все) подсистемы имеют права принятия решений, а иерархическое расположение подсистем (многоэшелонная структура) определяется тем, что некоторые из них находятся под влиянием или управляются вышестоящими. Структурные представления такого типа условно иллюстрируются на рис. 1.9, ж. Уровень такой иерархии называют эшелоном.
Основной отличительной особенностью многоэшелонной структуры является предоставление подсистемам всех уровней определенной свободы в выборе их собственных решений; причем эти решения могут (но не обязательно) отличаться от тех, которые бы выбрал вышестоящий уровень. Предоставление свободы действий в принятии решений компонентам всех эшелонов иерархической структуры повышает эффективность ее функционирования. Подсистемам предоставляется определенная свобода и в выборе целей. Поэтому многоэшелонные структуры называют также многоцелевыми.
В таких системах могут быть использованы разные способы принятия решений. Естественно, что при предоставлении подсистемам прав самостоятельности они могут формировать противоречащие друг другу («конфликтные») цели и решения, что затрудняет управление, но является в то же время одним из условий повышения эффективности функционирования системы. Разрешение конфликтов достигается путем вмешательства вышестоящего эшелона. При этом управляющие воздействия, поступающие для разрешения этих противоречий со стороны вышестощих уровней иерархии, могут быть разной силы.
Иерархические БД
Урок 27. Информатика и ИКТ 11 класс (к учебнику Н. Д. Угриновича)
В данный момент вы не можете посмотреть или раздать видеоурок ученикам
Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет, приобрев в каталоге.
Получите невероятные возможности
Конспект урока «Иерархические БД»
На этом уроке мы с вами вспомним, что такое иерархическая структура и из каких элементов она состоит. Также рассмотрим несколько примеров иерархической базы данных.
Начнём мы с вами с рассмотрения иерархической структуры базы данных.
Иерархическая структура – это многоуровневая форма организации объектов со строгой соотнесённостью объектов нижнего уровня определённому объекту верхнего уровня. Т. е. можно сказать, что иерархическая структура напоминает собой пирамиду, в которой объекты более низкого уровня подчиняются объектам более высокого уровня.
Из этого можно сделать вывод, что в иерархической структуре существуют отношения между её объектами (элементами).
Ещё иерархическую структуру называют древовидной. К примерам можно отнести содержание учебника.
А сейчас рассмотрим иерархическую структуру более подробно на примере.
Давайте построим иерархическую структуру школы.
Во главе всегда находится директор школы. Далее будут идти завуч старших классов, завуч младших классов, заведующий хозяйственной деятельностью. После завучей идут учителя, которые, соответственно, делятся на преподавателей младших и старших классов. Не будем расписывать всех учителей, а возьмём по три учителя каждых классов. Заведующему по хозяйственной деятельности будет подчиняться весь технический персонал. Его мы расписывать не будем. Далее у каждого учителя есть свой класс, в котором он является классным руководителем, а в каждом классе – ученики. В свою очередь, учителя старших классов ведут уроки и в других классах. Давайте отобразим несколько таких классов в нашей структуре. Если же всю эту структуру расписывать более подробно, то нам понадобится очень много места, так как объектов в этой системе очень большое количество.
Итак, во главе любой иерархической структуры всегда находится один элемент (объект). В нашем случае – это директор школы. Он является корнем вершины и находится на верхнем (первом) уровне.
Далее идёт второй уровень, на котором находятся заместители.
На третьем уровне находятся учителя и технический персонал, на четвёртом – классы и на пятом – ученики.
Как говорилось ранее, между всеми объектами существуют связи. Каждый объект более высокого уровня может включать в себя несколько объектов более низкого уровня. Давайте снова обратимся к нашему примеру. Так, завуч старшей школы включает в себя всех учителей, которые ведут уроки в старших классах. А заведующий хозяйственной деятельностью управляет всем техническим персоналом школы. Такие объекты находятся в отношении предка (объект более высокого уровня) к потомку (объект более низкого уровня). То есть завуч старшей школы и заведующий хозяйственной деятельностью являются предками, а учителя и технический персонал – потомками.
Также мы можем видеть, что у объекта-предка может быть несколько потомков. Но в то же время у объекта-потомка может быть только один предок. Объекты, которые находятся на одном уровне и у которых один общий предок, называются близнецами.
Рассмотрим ещё один пример. Построить иерархическую структуру, исходя из следующего условия: на кафедре иностранных языков работают три преподавателя. Иванова Инна Сергеевна преподаёт английский язык, Кулибина Анна Васильевна преподаёт немецкий язык, а Рудков Игорь Сергеевич преподаёт французский язык.
Корневой вершиной в этой структуре будет являться кафедра. Изобразим её в виде круга. Она включает в себя трёх преподавателей. Также изобразим их схематично, а от кафедры к каждому преподавателю проведём стрелки.
Далее у каждого преподавателя есть свои предметы, которые он ведёт. Также изобразим их схематично и проведём стрелки.
Таким образом мы получили графическое отображение иерархической структуры кафедры.
Корневой вершиной является кафедра.
Учителя являются потомками по отношению к кафедре и предками по отношению к предметам, которые они преподают. Также они между собой являются близнецами, так как находятся на одном уровне структуры и имеют одного предка – кафедру.
У нас получилось несколько определений.
Корень – это единственный объект, который стоит на вершине иерархической системы и является её первым уровнем.
Предок – это объект, который стоит более близко к корню системы и у него может быть несколько потомков.
Потомок – это объект, который стоит на более низком уровне по отношению к предку и у него может быть только один предок.
Близнецы – это объекты, которые имеют одного предка и находятся на одном уровне.
А сейчас рассмотрим ещё несколько примеров.
Начнём с иерархической базы данных папки Windows.
Иерархической базой данных является каталог папок Windows. Перед вами рисунок системного диска. Для того, чтобы увидеть древовидную структуру в проводнике в Windows 7, необходимо выбрать кнопку «Упорядочить», далее из появившегося списка – «Представления», а затем «Область переходов». Это в том случае, если данная область не отображается.
А вот, например, в Windows 10 необходимо в проводнике, во вкладке «Вид», выбрать «Область навигации» и из списка снова «Область навигации».
На рисунке представлен проводник операционной системы Windows 10.
Итак, корневой является папка «Этот компьютер».
Далее, на втором уровне на представленном рисунке находится локальный диск С, который включает в себя несколько папок третьего уровня.
В нашем случае выбрана папка «Program Files». Она в себя включает несколько папок-потомков.
Исходя из этого можно сказать, что корнем является – «Этот компьютер». Далее и предком, и потомком является локальный диск С. Папка «Program Files» также является и потомком (по отношению к локальному диску С), и предком (по отношению к остальным папкам, которые она в себя включает). Файл «Rar.txt» является потомком папки «WinRAR». В свою очередь, мы можем видеть, что у файла «Rar.txt» нет своих потомков. Также, например, файлы «Rar.txt» и «Rar.exe» являются близнецами, так как находятся на одном уровне и у них один общий предок – папка «WinRAR».
Ещё одним примером иерархической базы данных является файловая система Linux.
Мы ранее её рассматривали. В ней существует одна корневая папка, все остальные папки являются потомками. В корневой папке содержатся все системные файлы. А вот, например, каталоги логических томов и запоминающих устройств содержатся в составе других каталогов. Директории томов жёсткого диска содержатся в папке «mnt». Другие запоминающие устройства находятся в папке «media». В свою очередь, папки «mnt» и «media» содержатся в одном системном корневом каталоге. Таким образом, папки «mnt» и «media» являются и потомками (по отношению к основному корневому каталогу), и предками (по отношению к каталогам логических томов и запоминающих устройств). Помимо этого, эти две папки являются близнецами, так как они находятся на одном уровне и имеют одного предка.
А сейчас давайте рассмотрим такую иерархическую базу данных, как «Системный реестр Windows».
В этой иерархической базе данных хранится вся информация, которая нужна для нормального функционирования компьютерной системы. То есть в этой базе данных содержится информация о настройках компьютера, установленных драйверах, настройках графического интерфейса, сведения о программах, которые установлены на компьютере, и многое другое.
Вся эта информация автоматически обновляется при установке нового оборудования, удалении или установке программ и так далее.
Давайте рассмотрим рисунок.
Корневым объектом является сам компьютер. Папка «Adobe» является потомком по отношению к папке «SOFTWARE» и предком для всех остальных папок, которые она в себя включает. Папки «7-Zip» и «Adobe» являются близнецами, так как они находятся на одном уровне и у них один предок – папка «SOFTWARE». Файл «UserID» является потомком папки «IAC». В свою очередь, мы можем видеть, что у файла «UserID» нет своих потомков.
В операционной же системе Linux как такового реестра нет. Вместо этого в ней существует папка «etc».
А сейчас мы с вами рассмотрим иерархическую базу данных «Доменная система имён». Эта система получила название DNS.
DNS – это распределённая база данных, которая поддерживает иерархическую систему имён для идентификации узлов сети Интернет.
Эта служба предназначена для автоматического поиска IP-адреса по известному символьному имени узла. То есть в этой базе данных содержится информация о всех компьютерах, подключённых к сети Интернет.
Корневой вершиной в этой системе является табличная база данных, которая содержит перечень доменов верхнего уровня.
Сам же корень управляется центром Internet Network Information Center. Домены верхнего уровня назначаются для каждой страны, а также на организационной основе. Для обозначения стран используются трёхбуквенные и двухбуквенные аббревиатуры.
Так, например, для русскоязычных сайтов доменом верхнего уровня является «.ru», для Казахстана – «.kz» и т. д. Для различных типов организаций также есть свои аббревиатуры.
На втором уровне находятся также табличные базы данных, но они уже в себя включают перечень доменов второго уровня для каждого домена первого уровня.
На третьем уровне содержатся табличные базы данных и таблицы. Табличные базы данных содержат перечень доменов третьего уровня для каждого домена второго уровня. Таблицы, в свою очередь, содержат IP-адреса компьютеров, которые находятся в домене второго уровня.
А теперь представьте, какой большой будет база данных, которая должна включать в себя информацию о всех компьютерах, подключенных к Интернету. Как вы думаете, много ли места она будет занимать?
Такая база данных огромна по своим размерам и соответственно она не будет умещаться в памяти одного компьютера, а если бы и можно было загрузить такую базу данных в один компьютер, то работа в Интернете была бы очень медленной. Представьте себе количество запросов, которые поступают от пользователей всего мира в течение, например, 1 минуты. Их количество огромно. А теперь представьте, что все эти запросы должен принять и обработать один компьютер. Это просто невозможно, так как приведёт не только к медленной работе компьютера, но также и к зависанию, если не к поломке. Таким образом, размещение базы данных доменной системы имён на одном компьютере неэффективно. Но решение этой проблемы было найдено. Вся база данных была разделена на части и размещена на различных DNS-серверах, которые связаны между собой. Такая иерархическая база данных является распределённой базой данных.
А сейчас давайте рассмотрим, как происходит поиск информации в такой огромной иерархической распределённой базе данных.
Например, вам нужно зайти на свою почту в Яндексе. Для этого вы вводите в адресную строку запрос.
На этом сервере, в таблице первого уровня, произойдёт поиск интересующего нас домена «ru», после чего запрос будет перенаправлен на DNS-сервер второго уровня, который содержит перечень доменов второго уровня, зарегистрированных в домене «ru».
На втором уровне будет происходить поиск среди доменов второго уровня. После того, как был найден интересующий нас домен «yandex», произойдёт перенаправление на DNS-сервер третьего уровня, на котором находится перечень доменов третьего уровня, зарегистрированных в домене «yandex».
В таблице третьего уровня будет найден домен «mail», и запрос будет переадресован на DNS-сервер четвёртого уровня.
В таблице четвёртого уровня будет найдена запись, которая соответствует доменному имени, содержащемуся в запросе. После этого поиск в самой базе данных «Доменная система имён» будет завершён и начнётся поиск компьютера в сети по его IP-адресу.
Пришла пора подвести итоги урока.
Сегодня мы с вами узнали, что такое иерархическая структура и построили такую структуру на примере. Более подробно познакомились с элементами иерархической базы данных: корнем, предком, потомком, близнецами.
Рассмотрели несколько иерархических баз данных на примере Windows и Linux, а также реестра Windows.
Узнали, как составлена и работает иерархическая база данных «Доменная система имён».