Подходы к моделированию объектов изучения. Системный подход в моделировании систем. Примеры информационных моделей

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

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

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

Предлагалось обследовать систему, выявить все элементы и связи между ними. Этот подход называли иногда "перечислением" системы. При обследовании применялись разные способы: 1) архивный (изучение документов и архивов предприятия); 2) опросный, или анкетный (опрос сотрудников, в том числе с помощью специально разработанных вопросников - анкет).

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

Учитывая трудности "перечисления" систем, предлагались различные подходы к их исследованию и проектированию.

Применение философских категорий - индуктивный и дедуктивный подходы, анализ и синтез - позволяет определить основные принципы исследования. Однако эти категории могут трактоваться и реализовываться по-разному.

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

  • в начальный период становления теории систем развивался бихевиористский подход (поведение), основанный на исследовании поведения (т.е. функционирования) систем; однако этот подход весьма трудоемок и не всегда реализуем;
  • американский ученый М. Месарович предложил подходы, которые назвал целенаправленным и терминальным (от терм - элементарная частица, интересующая исследователя);
  • польский ученый Р. Куликовски предложил называть аналогичные подходы декомпозицией и композицией системы;
  • швейцарский астроном Ф. Цвикки предложил и развил морфологический подход, который помогает искать полезные объединения элементов путем их комбинаций;
  • американская корпорация /ММ) предложила подход к созданию сложных программ и проектов, названный "дерево целей";
  • в практике проектирования сложных технических комплексов возникли термины "язык моделирования", "язык автоматизации проектирования", применяющиеся для отображения взаимосвязей между компонентами проекта; при разработке языков моделирования применяют математическую логику и математическую лингвистику, в которой есть удобный термин для описания структуры языка - "тезаурус" (см. гл. 4), и подход называют иногда лингвистическим или тезаурусным;
  • при исследовании и формировании структур были предложены следующие подходы: путем поиска связей между элементами или, напротив, путем устранения лишних связей (, ).

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

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

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

Подходы "сверху" и "снизу" называют также аксиологическим и каузальным соответственно.

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

Каузальное представление системы - описание системы в терминах влияния одних переменных на другие, без употребления понятий цели и средств достижения целей. Этот термин происходит от понятия "cause" - причина, т.е. подразумевает причинно-следственные отношения. Применяют каузальное представление в случае предварительного описания системы, когда цель сразу не может быть сформулирована и для отображения системы или проблемной ситуации не может быть применено аксиологическое представление.

В 1970-1980-е гг. при проектировании организационных структур были предложены три подхода к решению этой проблемы.

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

Обобщающий подход "сверху", называемый целевым, целенаправленным, системно-целевым, основан на структуризации или декомпозиции системы в пространстве. Этот подход позволяет расчленить исходную большую неопределенность на более обозримые и выбрать методы их анализа и проектирования, сохраняя целостность представления об исследуемой системе или решаемой проблеме на основе иерархической структуры (древовидной, стратифицированной).

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

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

Применение функционально-технологического подхода долгое время было практически нереализуемым из-за большой трудоемкости, отсутствия правил и средств автоматизации формирования графов, отображающих процессы в системах. В 1990-е гг. была разработана методология SADT (Structured Analysis and Design - структурный анализ и проектирование; предложена Дугласом Россом), представляющая собой совокупность методов, правил и процедур, предназначенных для построения функциональной модели объекта какой-либо предметной области. На ее основе разработаны и стали широко применяться функционально-ориентированные и объектно-ориентированные CASE-2 и RAD-3 технологии. Компьютерная реализация методологии SADT получила название IDEF (Icam Definition). Основными структурными моделями являются модели процессов IDEF0 и IDEF3, модель данных IDEF1X4. Созданы стандарты IDEF и DFD, ориентированные на анализ процессов (в том числе бизнес-процессов). Для реализации моделей применяются автоматизированные средства - BPWin, ARIS, язык UML (Unified Modeling Language - унифицированный язык моделирования). Популярность САБЕ-метододогии и технологий базируется на разработке принципов и автоматизации формирования процессов, на развитии методов их формирования (на основе анализа "жизненного цикла" производства, обслуживания или других процессов, причинно-следственных связей и т.п.), что и обеспечило развитие процессного подхода, преимущества которого заключаются в возможности учитывать особенности конкретного объекта и условий его деятельности.

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

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

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

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

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

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


Классификация видов моделирования

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

Таблица 14. Типы моделей

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

По наличию воздействий на систему модели делятся на детерминированные (в системах отсутствуют случайные воздействия) и стохастические (в системах присутствуют вероятностные воздействия). Эти же модели некоторые авторы классифицируют по способу оценки параметров системы: в детерминированных системах параметры модели оцениваются одним показателем для конкретных значений их исходных данных; в стохастических системах наличие вероятностных характеристик исходных данных позволяет оценивать параметры системы несколькими показателями.

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

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

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

Математические модели

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

Примеры построения динамических моделей

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

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

где - n-мерные векторы и - непрерывна.

Например, процесс малых колебаний маятника описывается обыкновенным дифференциальным уравнением

.

Процесс в электрическом колебательном контуре .

Очевидно, что если положить

Получим уравнение, описывающее состояние во времени обеих систем

Общая математическая модель позволяет исследовать одну систему, моделируя работу другой.

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

Рисунок 3. Структура многомерной системы автоматического управления.

Информационные модели

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

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

Пример . Информационный объект СТУДЕНТ имеет реквизитный состав: номер (номер зачетной книжки - ключевой реквизит), фамилия, имя, отчество, дата рождения, код места обучения. Информационный объект ЛИЧНОЕ ДЕЛО: номер студента, домашний адрес, номер аттестата о среднем образовании, семейное положение, дети. Информационный объект МЕСТО ОБУЧЕНИЯ включает реквизиты: код (ключевой реквизит), наименование вуза, факультет, группа. Информационный объект ПРЕПОДАВАТЕЛЬ: код (ключевой реквизит), кафедра, фамилия, имя, отчество, ученая степень, ученое звание, должность.

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

Связь один к одному определяет соответствие одному экземпляру информационного объекта X не более одного экземпляра информационного объекта Y, и наоборот.

Пример . Информационные объекты СТУДЕНТ и ЛИЧНОЕ ДЕЛО будут связаны отношением один к одному. Каждый студент имеет определенные уникальные данные в личном деле.

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

Пример. Между информационными объектами МЕСТО ОБУЧЕНИЯ и СТУДЕНТ необходимо установить связь один ко многим. Одно и то же место обучения может многократно повторяться для различных студентов.

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

Пример. Информационные объекты СТУДЕНТ и ПРЕПОДАВАТЕЛЬ имеют связь многие ко многим. Каждый студент обучается у множества преподавателей, а каждый преподаватель учит множество студентов.

Примеры информационных моделей

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

Универсальные модели.

Базы данных

Базы данных представляют связанную совокупность структурированных данных, относящихся к определенному процессу или явлению, в конкретной предметной области.

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

Ядром любой БД является модель представления данных. Модель данных представляет множество структур данных и взаимосвязи между ними.

Различают иерархическую, сетевую и реляционную модели данных. Иерархическая модель представляет связи между объектами (данными) в виде дерева.

К основным понятиям иерархической модели относятся:

узел - набор атрибутов данных, описывающих объект;

связь - линия, связывающая узлы нижнего уровня с одним уз­лом вышележащего уровня. При этом узел вышележащего уровня называют предком для соответствующих ему узлов нижнего уровня, в свою очередь, узлы нижнего уровня называют потомками связанного с ними вышележащего узла (например, на рис. 4. узел В1 - предок для узлов CI, С2, а узлы С1, С2 - потомки узла В1);

уровень - номер слоя узлов, отсчитанный от корня.

Рисунок 4. Иерархическая модель данных

Количество деревьев в БД определяется числом корневых записей. К каждому узлу существует единственный путь от корня.

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

Рисунок 5. Сетевая модель данных

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

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

Искусственный интеллект

Идеи моделирования человеческого разума известны с древнейших времен. Впервые об этом упоминается в сочинении философа и теолога Раймунда Луллия (ок.1235 - ок.1315) «Великое искусство», который не только высказал идею логической машины для решения разнообразных задач, исходя из всеобщей классификации понятий (XIV в.), но и попытался ее реализовать. Рене Декарт (1596-1650) и Готфрид Вильгельм Лейбниц (1646-1716) независимо друг от друга развивали учение о прирожденной способности ума к познанию и всеобщих и необходимых истин логики и математики, работали над созданием универсального языка классификации всех знаний. Именно на этих идеях базируются теоретические основы создания искусственного интеллекта. Толчком к дальнейшему развитию модели человеческого мышления стало появление в 40-х гг. XX в. ЭВМ. В 1948 г. американский ученый Норберт Винер (1894-1964) сформулировал основные положения новой науки - кибернетики. В 1956 г. в Стенфордском университете (США) на семинаре под названием «Artificial intelligence* (искусственный интеллект), посвященном решению логических задач, признано новое научное направление, связанное с машинным моделированием человеческих интеллектуальных функций и названное искусственный интеллект. Вскоре эта отрасль разделилась на два основных направления: нейрокибернетику и кибернетику «черного ящика».

Нейрокибернетика обратилась к структуре человеческого мозга как единственно мыслящему объекту и занялась его аппаратным моделированием. Физиологи давно выявили нейроны - связанные друг с другом нервные клетки как основу мозга. Нейрокибернетика занимается созданием элементов, аналогичных нейронам, и их объединением в функционирующие системы, эти системы называют нейросетями. В середине 80-х гг. XX в.в Японии был создан первый нейрокомпьютер, моделирующий структуру человеческого мозга. Его основная область применения - распознавание образов.

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

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

Эвристическое программирование (начало 60-х гг.) разрабатывало стратегии действий на основе заранее известных заданных правил (эвристик). Эвристика - теоретически не обоснованное правило, позволяющее уменьшить количество переборов в поиске оптимального пути.

Методы математической логики. Метод резолюций, позволяю­щий на основе определенных аксиом автоматически доказывать теоремы. В 1973 г. создан язык логического программирования Пролог, позволяющий обрабатывать символьную информацию.

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

Базы знаний

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

Приведем некоторые из определений:

Знания - выявленные закономерности предметной области (принципы, связи, законы), позволяющие решать задачи в этой области.

Знания - хорошо структурированные данные, или данные о данных, или метаданные.

Знания - совокупность сведений, образующих целостное описание, соответствующее некоторому уровню осведомленности об описываемом вопросе, объекте и т.д.

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

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

Кроме того, знания делят на процедурные и декларативные. Исторически первыми появились процедурные знания, «рассыпанные» в алгоритмах. Они управляли данными. Для их изменения требовалось вносить изменения в программы. С развитием искусственного интеллекта все большая часть знаний формировалась в структурах данных: таблицах, списках, абстрактных типах данных, знания все больше становились декларативными.

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

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

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

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

Исследования процессов принятия решений человеком показали, что рассуждая и принимая решение, человек использует продукционные правила (от англ. production - правило вывода, порождающее правило). Продукционная модель, основанная на правилах, позволяет представить знания в виде предложений: ЕСЛИ (список условие), ТО (следует выполнить перечень действий). Условие - это предложение, по которому происходит поиск в базе знаний, а действие есть некоторая операция, выполняемая при успешно осуществленном поиске. Действия могут быть как промежуточными, выступающими далее как условия, так и целевыми, завершающими работу ИС. В продукционной модели база знаний состоит из совокупности правил. Программа, управляющая перебором правил, называется машиной вывода. Механизм выводов связывает знания и создает из их последовательности заключение. Вывод бывает прямой (метод сопоставления, от данных к поиску цели) или обратный (метод генерации гипотезы и ее проверки, от цели - к данным).

Пример . Имеется фрагмент базы знаний, состоящий из двух правил:

Пр. 1: ЕСЛИ «ведение бизнеса» и «знакомство с Интернет»,

ТО «электронная коммерция».

Пр. 2: ЕСЛИ «владеет компьютером»,

ТО «знакомство с Интернет».

В систему поступили данные: «ведение бизнеса» и «владеет компьютером».

ПРЯМОЙ ВЫВОД: На основе имеющихся данных получить заключение.

1-й проход:

Шаг 1. Проверяем Пр. 1, не работает - не хватает данных «знакомство с Интернет».

Шаг 2. Проверяем Пр. 2, работает, база дополняется фактом «знакомство с Интернет».

2-й проход

Шаг 3. Проверяем Пр. 1, работает, система дает заключение «электронная коммерция».

ОБРАТНЫЙ ВЫВОД: Подтвердить выбранную цель с помощью имеющихся правил и данных.

1-й проход:

Шаг 1. Цель - «электронная коммерция»:

Проверяем Пр. 1, данных «знакомство с Интернет» нет, они становятся новой целью, и есть правило, где она в правой части.

Шаг 2. Цель - «знакомство с Интернет»:

Пр. 2 подтверждает цель и активизирует ее.

2-й проход: Шаг 3. Пр. 1 подтверждает искомую цель.

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

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

Рисунок 6. Семантическая сеть

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

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

Термин фрейм (от англ. frame - каркас, рамка) предложен для обозначения структуры единицы знаний, которую можно описать некоторой совокупностью понятий, для ее пространственного восприятия. Фрейм имеет определенную внутреннюю структуру, состоящую из совокупности элементов, называемых слотами. Каждый слот, в свою очередь, представляется определенной структурой данных, процедурой, или может быть связан с другим фреймом. Фреймовая модель представляет собой систематизированную в виде единой теории технологическую модель памяти человека и его сознания. В отличие от других моделей, во фреймах фиксируется жесткая структура. В общем случае фрейм определяется следующим образом:

{ИМЯ ФРЕЙМА: (имя 1-го слота: значение 1-го слота);

(имя 2-го слота: значение 2-го слота);

(имя N-ro слота: значение N-ro слота)}.

Важным свойством фреймов является наследование свойств, заимствованное из теории семантических сетей. Наследование происходит по АКО-связям (от A Kind Of, что означает «эт.е.»). Слот АКО указывает на фрейм более высокого уровня иерархии, откуда неявно наследуется, т.е. переносятся значения аналогичных слотов. Например, в сети фреймов на рис. 7 «конструктор» наследует свойства фреймов «инженер» и «человек», которые стоят на более высоком уровне иерархии.

Рисунок 7. Сеть фреймов

Модель фрейма достаточно универсальна, позволяет отобразить все многообразие знаний о мире через:

фреймы-структуры, для обозначения объектов и понятий (лекция, конспект, кафедра);

фреймы-роли (студент, преподаватель, декан);

фреймы-сценарии (сдача экзамена, празднование именин, получение стипендии);

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

Обобщая анализ моделей представления знаний, можно сделать следующие выводы:

Наиболее мощными являются смешанные модели представления знаний.

Экспертные системы

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

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

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

Современные экспертные системы способны:

По совокупности признаков заболевания установить диагноз, назначить лечение, дозировать медикаменты, выработать программу курса лечения;

Выполнять задачи диагностических систем в исследовании явле­ний и процессов (например, для анализа крови; управления производством; изучения состояния недр земли, нефтяных полей, залежей угля и т.п.);

Распознавать речь, на данном этапе в ограниченной области применения;

Распознавать человеческие лица, отпечатки пальцев и др.

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

Рисунок 8. Структура модели экспертной системы.

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

Система управления

Представляет совокупность взаимосвязанных структурных моделей подсистем, осуществляющих следующие функции:

планирование (стратегическое, тактическое, оперативное);

учет - отображает состояние объекта управления в результате выполнения производственных процессов;

контроль - определяет отклонение учетных данных от плановых целей и нормативов;

оперативное управление - осуществляет регулирование всех процессов с целью исключения возникающих отклонений от плановых и учетных данных;

анализ - определяет тенденцию в работе системы и резервы, которые учитываются при планировании на следующий временной период.

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


ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ. ОСНОВНЫЕ ПОНЯТИЯ ПРОГРАММИРОВАНИЯ

ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ

Рассмотренные технические средства ПЭВМ в совокупности являются универсальным инструментом для решения широкого круга задач. Однако эти задачи могут быть решены лишь в том случае, если ПЭВМ «знает» алгоритм их решения.

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

Общими свойствами любого алгоритма являются:

дискретность – возможность разбиения алгоритма на отдельные элементарные действия;

определенность (детерминированность) алгоритма обеспечивает однозначность результата (повторяемость получаемого результата при многократных расчетах с одними и теми же исходными данными) и исключает возможность искажения или двусмысленного толкования предписания;

результативность – обязательное получение за конечное число шагов некоторого результата, а при невозможности получения результата – сигнала о том, что данный алгоритм неприменим для решения поставленной задачи;

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

Лекция 4.2. Методы и технологии моделирования

Цели моделирования

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

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

2) научиться управлять объектом (или процессом) и определять наилучшие способы управления при заданных целях и критериях (управление );

3) прогнозировать прямые и косвенные последствия реализации заданных способов и форм воздействия на объект (прогнозирование ).

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

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

При системном моделировании, прежде всего, четко определяется цель моделирования. Создание модели полного аналоги оригинала дело трудоемкое и дорогое, поэтому модель создается под определенную цель.

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



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

Лекция 4.3. Классификация моделей

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

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

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

Система или объект S - целенаправленное множество взаимосвязанных элементов любой природы.

Внешняя среда Е - множество существующих вне системы элементов любой природы, оказывающих влияние на систему или находящихся под ее воздействием.

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

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

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

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

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

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

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

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

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

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

Проявление функций системы во времени S(t), т. е. функционирование системы, означает переход системы из одного состояния в другое, т. е. движение в пространстве состояний Z.

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

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

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

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

Классический подход при построении моделей - подход к изучению взаимосвязей между отдельными частями модели предусматривает рассмотрение их как отражение связей между отдельными подсистемами объекта. Такой (классический) подход может быть использован при создании достаточно простых моделей.

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

Можно отметить две отличительные стороны классического подхода:

Наблюдается движение от частного к общему,

Создаваемая модель образуется путем суммирования отдельных ее компонент и не учитывается возникновение нового системного эффекта.

Системный подход - это элемент учения об общих законах развития природы и одно из выражений диалектического учения.

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

Важным для системного подхода является определение структуры системы - совокупности связей между элементами системы, отражающих их взаимодействие.

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

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

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

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

Основные этапы оценивания сложных систем.

Этап1. Определение цели оценивания. В системном анализе выделяют два типа целей. Качественной называют цель, достижение которой выражается в номинальной шкале или в шкале порядка. Количественной называют цель, достижение которой выражается в количественных шкалах.

Этап2. Измерение свойств системы, признанных существенными для целей оценивания. Для этого выбираются соответствующие шкалы для измерения свойств и всем исследуемым свойствам систем присваивается определенное значение на этих шкалах.

Этап3. Обоснование предпочтений критериев качества и критериев эффективности функционирования систем на основе измеренных на выбранных шкалах свойств.

Этап4. Собственно оценивание. Все исследуемые системы, рассматриваемые как альтернативы, сравниваются по сформулированных критериям и в зависимости от целей оценивания ранжируются, выбираются, оптимизируются.