|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Информатика _ _ _
использование персональных компьютеров и повсеместное применение новых информационных технологий отводит ему особую роль для решения любых задач. С точки зрения информатики, решение любой задачи представляет замкнутую технологическую последовательность (рис. 5.1):
Рис. 5.1. Этапы решения задачи В этом ряду каждый элемент играет свою особую роль. Объектом (от лат. оЬ)ес1ит — предмет) называется все то, что противостоит субъекту в его практической и познавательной деятельности, все то, на что направлена эта деятельность. Под объектами понимаются предметы и явления, как доступные, так и недоступные чувственному восприятию человека, но имеющие видимое влияние на другие объекты (например, гравитация, инфразвук или электромагнитные волны). Объективная реальность, существующая независимо от нас, является объектом для человека в любой его деятельности и взаимодействует с ним. Поэтому объект всегда должен рассматриваться во взаимодействии с другими объектами, с учетом их взаимовлияния. Деятельность человека обычно идет по двум направлениям: исследование свойств объекта с целью их использования (или нейтрализации); создание новых объектов, имеющих полезные свойства. Первое направление относится к научным исследованиям и большую роль при их проведении имеет гипотеза, т.е. предсказание свойств объекта при недостаточной его изученности. Второе направление относится к инженерному проектированию. При этом важную роль играет понятие аналогии — суждении о каком-либо сходстве известного и проектируемого объекта. Аналогия может быть полной или частичной. Это понятие относительно и определяется уровнем абстрагирования и целью построения аналогии. Любой аналог (образ) какого-либо объекта, процесса или явления, используемый в качестве заменителя (представителя) оригинала, называется моделью (от лат. гпо<1и1и8 — образец). Исследование объектов, процессов или явлений путем построе- ния и изучения их моделей для определения или уточнения характеристик оригинала называется моделированием. Моделирование может быть определено как представление объекта моделью для получения информации об этом объекте путем проведения экспериментов с его моделью. Теория замещения объектов-оригиналов объектом-моделью называется теорией моделирования. Если результаты моделирования подтверждаются и могут служить основой для прогнозирования поведения исследуемых объектов, то говорят, что модель адекватна объекту. Степень адекватности зависит от цели и критериев моделирования. Все многообразие способов моделирования, рассматриваемого теорией моделирования, можно условно разделить на две группы: аналитическое и имитационное моделирование. Аналитическое моделирование заключается в построении модели, основанной на описании поведения объекта или системы объектов в виде аналитических выражений — формул. При таком моделировании объект описывается системой линейных или нелинейных алгебраических или дифференциальных уравнений, решение которых может дать представление о свойствах объекта. К полученной аналитической модели, с учетом вида и сложности формул применяются аналитические или приближенные численные методы. Реализация численных методов обычно возлагается на вычислительные машины, обладающие большими вычислительными мощностями. Тем не менее, применение аналитического моделирования ограничено сложностью получения и анализа выражений для больших систем. Имитационное моделирование предполагает построение модели с характеристиками, адекватными оригиналу, на основе какого-либо его физического или информационного принципа. Это означает, что внешние воздействия на модель и объект вызывают идентичные изменения свойств оригинала и модели. При таком моделировании отсутствует общая аналитическая модель большой размерности, а объект представлен системой, состоящей из элементов, взаимодействующих между собой и с внешним миром. Задавая внешние воздействия, можно получить характеристики системы и провести их анализ. В последнее время имитационное моделирование все больше ассоциируется с моделированием объектов на компьютере, что позволяет в интерактивном режиме исследовать модели самых разных по природе объектов. 5,2. Системный поЭноЗ В моделировании систем Классический (или индуктивный) подход к моделированию рассматривает систему, переходя от частного к общему, и синтезирует ее путем слияния компонент, разрабатываемых отдельно. Системный подход предполагает последовательный переход от общего к частному, когда в основе рассмотрения лежит цель, при этом объект выделяется из окружающего мира. При создании нового объекта с полезными свойствами (например, системы управления) задаются критерии, определяющие степень полезности полученных свойств. Так как любой объект моделирования представляет собой систему взаимосвязанных элементов, введем понятие системы. Система 5 есть целенаправленное множество взаимосвязанных элементов любой природы. Внешняя среда Е представляет собой множество существующих вне системы элементов любой природы, оказывающих влияние на систему или находящихся под ее воздействием. При системном подходе к моделированию прежде всего четко определяется цель моделирования. Создание модели полного аналога оригинала дело трудоемкое и дорогое, поэтому модель создается под определенную цель. Важным для системного подхода является определение структуры системы — совокупности связей между элементами системы, отражающих их взаимодействие. Существует ряд походов к исследованию систем и ее свойств, к которым следует отнести структурный и функциональный. При структурном подходе выявляется состав выделенных элементов системы 5 и связи между ними. Совокупность элементов и связей позволяет судить о свойствах выделенной части системы. При функциональном подходе рассматриваются функции (алгоритмы) поведения системы, причем, каждая функция описывает поведение одного свойства при внешнем воздействии Е. Такой подход не требует знания структуры системы, а ее описание состоит из набора функций ее реакции на внешние воздействия. Классический метод построения модели использует функциональный подход, при котором в качестве элемента модели принимается компонента, описывающая поведение одного свойства и не отображающая реальный состав элементов. Кроме этого компоненты системы являются изолированными друг от друга, что плохо отражает моделируемую систему. Такой метод построения модели применим лишь для простых систем, так как требует включения в состав функций, описывающих свойства системы, отношения между свойствами, которые могут быть плохо определены или неизвестны. С усложнением моделируемых систем, когда невозможно учесть все взаимовлияния свойств, применяется системный метод, основанный на структурном подходе. При этом система 51 разбивается на ряд подсистем 51, со своими свойствами, которые, естественно, проще описать функциональными зависимостями, и определяются связи между подсистемами. В этом случае система функционирует в соответствии со свойствами отдельных подсистем и связей между ними. Это избавляет от необходимости описывать функционально взаимосвязи между свойствами системы 51, делает модель более гибкой, так как изменение свойств одной из подсистем автоматически изменяет свойства системы. 5.3. Классисрикашй ВиЗоВ моделирований В зависимости от характера изучаемых процессов в системе 5 и цели моделирования существует множество типов моделей и способов их классификации, например, по цели использования, наличию случайных воздействий, отношению ко времени, возможности реализации, области применения и др. (таблица). По цели использования модели классифицируются на научный эксперимент, в котором осуществляется исследование модели с применением различных средств получения данных об объекте, возможности влияния на ход процесса, с целью получения новых данных об объекте или явлении; комплексные испытания и производственный эксперимент, использующие натурное испытание физического объекта для получения высокой достоверности о его характеристиках; оптимизационные, связанные с нахождением оптимальных показателей системы (например, нахождение минимальных затрат или определение максимальной прибыли). По наличию воздействий на систему модели делятся на детерминированные (в системах отсутствуют случайные воздействия) и стохастические (в системах присутствуют вероятностные воздействия). Эти же модели некоторые авторы классифицируют по способу оцен- Классисрикаиии ВиЭоВ моЭелей По цели использования По наличию воздействий на систему По отношению ко времени По возможности реализации По области применения
Научный эксперимент. Комплексные испытания и производственный эксперимент. Оптимизационные модели Детерминированные. Стохастические Статические. Динамические (дискретные, непрерывные) Мысленные (наглядные, символические, математические). Реальные (натурные, физические). Информационные Универсальные. Специализированные ки параметров системы: в детерминированных системах параметры модели оцениваются одним показателем для конкретных значений их исходных данных; в стохастических системах наличие вероятностных характеристик исходных данных позволяет оценивать параметры системы несколькими показателями. По отношению ко времени модели разделяют на статические, описывающие систему в определенный момент времени, и динамические, рассматривающие поведение системы во времени. В свою очередь, динамические модели подразделяют на дискретные, в которых все события происходят по интервалам времени, и непрерывные, где все события происходят непрерывно во времени. По возможности реализации модели классифицируются как мыс-ленные, описывающие систему, которую трудно или невозможно моделировать реально, реальные, в которых модель системы представлена либо реальным объектом, либо его частью, и информационные, реализующие информационные процессы (возникновение, передачу, обработку и использование информации) на компьютере. В свою очередь, мысленные модели разделяют на наглядные (при которых моделируемые процессы и явления протекают наглядно); символические (модель системы представляет логический объект, в котором основные свойства и отношения реального объекта выражены систе- мой знаков или символов) и математические (представляют системы математических объектов, позволяющие получать исследуемые характеристики реального объекта). Реальные модели делят на натурные (проведение исследования на реальном объекте и последующая обработка результатов эксперимента с применением теории подобия) и физические (проведение исследования на установках, которые сохраняют природу явления и обладают физическим подобием). По области применения модели подразделяют на универсальные, предназначенные для использования многими системами, и специализированные, созданные для исследования конкретной системы. 5.4, Математические моЗели Наиболее важным этапом при построении модели является переход от содержательного описания к формальному, что объясняется участием на этом этапе специалистов в предметной области, где существует моделируемая система, и специалистов в области моделирования систем. Наиболее удобным языком для их общения, целью которого является построение адекватной модели системы, обычно, является язык математических описаний. Математическое описание системы компактно и удобно для дальнейших реализаций на компьютере, с целью проведения статистических испытаний, поэтому рассмотрим эти модели в первую очередь. 5,4.1, Построение математической моЭели системы Систему 5 можно представить в виде множества величин, опи сывающих процесс функционирования реальной системы и образу ющих следующие подмножества: подмножество входных воздействий: X: С Л. у I — 1, /и, ••>, •* v (или вектор входящих воздействий х = {х[9х29...9 хп }); подмножество воздействий внешней среды: у,е V, / = 1,2,...,ик (или вектор воздействия внешней среды v = ^1,У2>-»,^ }); подмножество собственных параметров системы: (или вектор внутренних параметров И — {й,,/г2,...,Ал// }); подмножество выходных характеристик системы: У; е У, у =1,2,..., л у (или вектор выходных характеристик у = {у\>У29—>УПу})- Подмножества А", Ун Я являются независимыми (экзогенными), У является зависимым (эндогенным) подмножеством. Процесс функционирования системы описывается во времени оператором Ру9 который преобразует экзогенные переменные в эндогенные в соответ- ствии с соотношением у(1) = Р5(х, v, Я, /).(*) Эта зависимость называется законом функционирования системы 5. Закон функционирования Р может быть задан в виде функ- о ции, функционала, логических условий, алгоритмически или таблично, а также в виде словесного набора правил соответствия. Совокупность зависимостей выходных характеристик системы от времени называется выходной траекторией у(1). Соотношение (*) является математическим описанием поведением системы во времени, поэтому модели такого типа называются динамическими моделями. Если закон функционирования у не содержит параметра времени, то такие модели называются статическими и отображают связь между подмножеством у и подмножествами Зс, v, Л и записывается как у = Р5(х, v, Л). Если в динамической модели дискретизировать время, то в каждый момент времени можно определить состояние системы гр е 2, р - 1,2,...,иг. Множество 2 всех возможных состояний системы называется пространством состояний системы. Процесс функ- ционирования системы, изменяющей свое состояние в фиксирован ные моменты времени, можно описать векторными уравнениями: •-0 ~ _ Г Первое уравнение по начальному состоянию 1 и экзогенным переменным определяет следующее состояние, а второе по значению состояния % определяет эндогенные переменные на выходе системы. 5.4.2. Примеры построения Эиномическин ллоЭеяеи При моделировании непрерывных динамических объектов в качестве моделей обычно выступают дифференциальные уравнения, связывающее поведение объекта со временем. Положительным свойством дифференциальных уравнений является то, что одно и то же уравнение моделирует системы различной физической природы. В качестве независимой переменной в динамических системах обычно выступает время, от которого зависят неизвестные значения искомой функции, определяющие поведения объекта. Математическое описание модели в общем виде: а где >5 = (>>!, у2,...,>Ои/ = (/1>/2>---> Л) - «-мерные векторы и / — непрерывна. Например, процесс малых колебаний маятника описывается обыкновенным дифференциальным уравнением = о Процесс в электрическом колебательном контуре Очевидно, что если положить 1 А0 = /^ = /,Л, А, = # = —, 7(7) = $(/) = д(1), получим уравнение, описывающее состояние во времени обеих систем Л Общая математическая модель позволяет исследовать одну систему, моделируя работу другой. Рассмотрим пример построения дифференциальной модели объекта. Имеется сосуд, площадь горизонтального сечения которого является функцией расстояния сечения от дна сосуда. В начальный момент времени 7 = 0 высота уровня жидкости равна А метров. Площадь сечения сосуда на высоте х равна 8(х). В дне сосуда имеется отверстие площадью 5. Определить зависимость уровня воды в сосуде от времени х(1). Из физики известно, что скорость истечения жидкости v в тот момент, когда высота ее уровня равна х, определяется равенством где А: — коэффициент скорости истечения жидкости из отверстия. На бесконечно малом промежутке времени Л истечение жидкости можно считать равномерным, а поэтому за время Л вытечет столбик жидкости, высота которого v Л и площадь сечения 5, что, в свою очередь, вызовет понижение уровня жидкости в сосуде на — с1х. Приравнивая объем жидкости, вытекшей из отверстия и из сосуда, получим з!с^2%х Ж = -5(х) Ах. Полученное дифференциальное уравнение дает зависимость уровня воды в сосуде от времени х(1). Решим теперь конкретную задачу, выбрав сосуд с известным 8(х). Пусть имеется цилиндрический сосуд радиусом К с круглым отверстием в дне радиусом г, наполненный водой. Площадь поперечного сечения сосуда постоянна и не зависит от х: 8(х) = пК2, площадь отверстия в дне 5 = пг2. Для воды коэффициент А: = 0,6. Подставив эти значения в уравнение, получим 0,6 пг = -я/? Это уравнение может быть решено аналитически или одним из численных методов. Модели динамических систем на основе дифференциальных уравнений нашли широкое применение в теории управления различными техническими объектами. Под влиянием неизвестных заранее возмущений фактическое поведение системы отклоняется от желаемого, задаваемого алгоритмом и для приближения ее поведения к необходимому значению, в состав системы вводится автоматическое управление системой. Оно может быть встроено в саму систему, но при моделировании блок управления отделяется от самой системы. В общем виде структура многомерной системы автоматического управления (САУ) представлена на рис. 5.2.
Рис. 5.2. Структура многомерной системы автоматического управления Эндогенные переменные: х(1) и у(^) - вектора входных и возмущающих воздействий, а также /Г(ОиЯ (/)— вектора ошибок и управляющих воздействий, соответственно. Экзогенные переменные: — вектор состояния системы, который обычно совпадает с век- тором выходных переменных, т.е.?(*) = у(1). (Более подробно о моделировании САУ см.: «Теория автоматического управления»: Учебник для машиностроит. спец. вузов/ Под ред. Ю.М. Соломенцева. М: Высшая школа, 1999.) 5,5. информационные моЭели 5,5,1, информационные объекты и сВязи Информационные модели во многих случаях опираются на математические модели, так как при решении задач математическая модель исследуемого объекта, процесса или явления неизбежно преобразуется в информационную для ее реализации на компьютере. Определим основные понятия информационной модели. Информационным объектом называется описание реального объекта, процесса или явления в виде совокупности его характеристик (информационных элементов), называемых реквизитами. Информационный объект определенной структуры (реквизитного состава) образует тип (класс), которому присваивают уникальное имя. Информационный объект с конкретными характеристиками называют экземпляром. Каждый экземпляр идентифицируется заданием ключе-вого реквизита (ключа). Одни и те же реквизиты в различных информационных объектах могут быть как ключевыми, так и описательными. Информационный объект может иметь несколько ключей. Пример. Информационный объект СТУДЕНТ имеет реквизитный состав: номер (номер зачетной книжки — ключевой реквизит), фамилия, имя, отчество, дата рождения, код места обучения. Информационный объект ЛИЧНОЕ ДЕЛО: номер студента, домашний адрес, номер аттестата о среднем образовании, семейное положение, дети. Информационный объект МЕСТО ОБУЧЕНИЯ включает реквизиты: код (ключевой реквизит), наименование вуза, факультет, группа. Информационный объект ПРЕПОДАВАТЕЛЬ: код (ключевой реквизит), кафедра, фамилия, имя, отчество, ученая степень, ученое звание, должность. Отношения, существующие между реальными объектами, опре- деляются в информационных моделях как связи. Существует три вида связей: один к одному (\:\), один ко многим (1:°°) и многие ко многим (°°:°о). Связь один к одному определяет соответствие одному экземпляру информационного объекта X не более одного экземпляра информационного объекта У, и наоборот. Пример. Информационные объекты СТУДЕНТ и ЛИЧНОЕ ДЕЛО будут связаны отношением один к одному. Каждый студент имеет определенные уникальные данные в личном деле. При связи один ко многим одному экземпляру информационного объекта X может соответствовать любое количество экземпляров информационного объекта V, но каждый экземпляр объекта V связан не более чем с одним экземпляром объекта X. Пример. Между информационными объектами МЕСТО ОБУЧЕНИЯ и СТУДЕНТ необходимо установить связь один ко многим. Одно и то же место обучения может многократно повторяться для различных студентов. Связь многие ко многим предполагает соответствие одному экземпляру информационного объекта X любое количество экземпляров объекта У, и наоборот. Пример. Информационные объекты СТУДЕНТ и ПРЕПОДАВАТЕЛЬ имеют связь многие ко многим. Каждый студент обучается у множества преподавателей, а каждый преподаватель учит множество студентов. 5.5.2. Примеры информаиионнын моЗелей Определим информационную модель как связанную совокупность информационных объектов, описывающих информационные процессы в исследуемой предметной области. Существующие информационные модели разделим на универсальные и специализированные. Универсальные модели предназначены для использования в различных предметных областях, к ним относятся: базы данных и системы управления базами данных, автоматизированные системы управления, базы знаний, экспертные системы. Специализированные модели предназначены для описания конкретных систем, являются уникальными по своим возможностям, более дорогостоящими. Рассмотрим некоторые универсальные модели. Базы Эаннын Базы данных представляют связанную совокупность структурированных данных, относящихся к определенному процессу или явлению, в конкретной предметной области. Система управления базами данных представляет собой программный комплекс для создания, организации необходимой обработки, хранения и передачи баз данных. Ядром любой БД является модель представления данных. Модель данных представляет множество структур данных и взаимосвязи между ними. Различают иерархическую, сетевую и реляционную модели данных. Иерархическая модель представляет связи между объектами (данными) в виде дерева. К основным понятиям иерархической модели относятся: • узел — набор атрибутов данных, описывающих объект; • связь — линия, связывающая узлы нижнего уровня с одним уз • уровень — номер слоя узлов, отсчитанный от корня. Уровень 1 Уровень 2 Уровень 3 С1 С2 СЗ С4 С5 С6 С7 С8 Рис. 5.3. Иерархическая модель данных Количество деревьев в БД определяется числом корневых записей. К каждому узлу существует единственный путь от корня. Сетевая структура имеет те же составляющие, что и иерархическая, но каждый узел может быть связан с любым другим узлом (рис. 5.4). Сетевой подход к организации данных является расширением иерархического. В иерархических моделях запись-потомок должна иметь только одного предка; в сетевых — потомок может иметь любое число предков. Рис. 5.4. Сетевая модель данных Обе эти модели не получили широкого распространения из-за сложности реализации графов в виде машинных структур данных, кроме того, в них сложно осуществить операции поиска информации. Набольшее распространение получила третья модель данных — реляционная, она может так же описывать иерархическую и сетевую модель. Реляционная модель ориентирована на организацию данных в виде двумерных таблиц и подробно рассмотрена в 4.4.3. искусственный интеллект Идеи моделирования человеческого разума известны с древнейших времен. Впервые об этом упоминается в сочинении философа и теолога Раймунда Луллия (ок.1235 — ок.1315) «Великое искусство», который не только высказал идею логической машины для решения разнообразных задач, исходя из всеобщей классификации понятий (XIV в.), но и попытался ее реализовать. Рене Декарт (1596—1650) и Готфрид Вильгельм Лейбниц (1646-1716) независимо друг от друга развивали учение о прирожденной способности ума к познанию и всеобщих и необходимых истин логики и математики, работали над созданием универсального языка классификации всех знаний. Именно на этих идеях базируются теоретические основы создания искусственного интеллекта. Толчком к дальнейшему развитию модели чело- веческого мышления стало появление в 40-х гг. XX в. ЭВМ. В 1948 г. американский ученый Норберт Винер (1894-1964) сформулировал основные положения новой науки — кибернетики. В 1956 г. в Стен-фордском университете (США) на семинаре под названием «Аг!Шс1а1 т1е!1щепсе» (искусственный интеллект), посвященном решению логических задач, признано новое научное направление, связанное с машинным моделированием человеческих интеллектуальных функций и названное искусственный интеллект. Вскоре эта отрасль разделилась на два основных направления: нейрокибернетику и кибернетику «черного ящика». Нейрокибернетика обратилась к структуре человеческого мозга как единственно мыслящему объекту и занялась его аппаратным моделированием. Физиологи давно выявили нейроны — связанные друг с другом нервные клетки как основу мозга. Нейрокибернетика занимается созданием элементов, аналогичных нейронам, и их объединением в функционирующие системы, эти системы называют ней-росетями. В середине 80-х гг. XX в. в Японии был создан первый нейрокомпьютер, моделирующий структуру человеческого мозга. Его основная область применения — распознавание образов. Кибернетика «черного ящика» использует другие принципы, структура модели не главное, важна ее реакция на заданные входные данные, на выходе модель должна реагировать как человеческий мозг. Ученые этого направления занимаются разработкой алгоритмов решения интеллектуальных задач для имеющихся вычислительных систем. Наиболее значимые результаты: • Модель лабиринтного поиска (конец 50-х гг.), в которой рассмат • Эвристическое программирование (начало 60-х гг.) разрабатывало • Методы математической логики. Метод резолюций, позволяю С середины 70-х гг. реализуется идея моделирования конкретных знаний специалистов-экспертов. В США появляются первые экспертные системы. Возникает новая технология искусственного интеллекта, основанная на представлении и использовании знаний. С середины 80-х гг. искусственный интеллект коммерциализируется. Растут капиталовложения в эту отрасль, появляются промышленные экспертные системы, повышается интерес к самообучающимся системам. При изучении интеллектуальных систем необходимо выяснить, что представляют собой знания и в чем их отличие от данных. Понятие знания определяют по-разному, но какого-либо исчерпывающего определения нет. Приведем некоторые из определений: Знания — выявленные закономерности предметной области (принципы, связи, законы), позволяющие решать задачи в этой области. Знания — хорошо структурированные данные, или данные о данных, или метаданные. Знания — совокупность сведений, образующих целостное описание, соответствующее некоторому уровню осведомленности об описываемом вопросе, объекте и т.д. С точки зрения искусственного интеллекта знания определяют как формализованную информацию, на которую ссылаются в процессе логического вывода. Для хранения знаний используют базы знаний. База знаний — основа любой интеллектуальной системы. С точки зрения решения задач в некоторой предметной области знания удобно разделить на две категории — факты и эвристику. Первая категория описывает известные в данной области обстоятельства, знания этой категории иногда называют текстовыми, подчеркивая их достаточное описание в литературе. Вторая категория знаний опирается на практический опыт специалиста-эксперта данной предметной области. Кроме того, знания делят на процедурные и декларативные. Исторически первыми появились процедурные знания, «рассыпанные» в алгоритмах. Они управляли данными. Для их изменения требовалось вносить изменения в программы. С развитием искусственного интеллекта все большая часть знаний формировалась в структурах данных: таблицах, списках, абстрактных типах данных, знания все больше становились декларативными. Декларативные знания — это совокупность сведений о характеристиках свойств конкретных объектов, явлений или процессов, представленных в виде фактов и эвристик. Исторически такие знания накапливались в виде разнообразных справочников, с появлением ЭВМ приобрели форму баз данных. Декларативные знания часто называют просто данными, они хранятся в памяти информационной системы (ИС) так, что имеют непосредственный доступ для использования. Процедурные знания хранятся в памяти ИС в виде описаний процедур, с помощью которых их можно получить. В виде процедурных знаний обычно описывают способы решения задач предметной области, различные инструкции, методики и т.п. Процедурные знания — это методы, алгоритмы, программы решения различных задач в выбранной предметной области, они составляют ядро базы знаний. Процедурные знания образуются в результате осуществления процедур над фактами как исходными данными. Одной из наиболее важных проблем, характерных для систем искусственного интеллекта, является представление знаний. Форма представления знаний существенно влияет на характеристики и свойства системы. Для манипуляции различными знаниями реального мира на компьютере необходимо провести их моделирование. Существует множество моделей представления знаний для различных предметных областей, но большинство из них относятся к следующим классам: логические модели', продукционные модели', семантические сети', фреймовые модели. Традиционно в представлении знаний выделяют формальные логические модели, основанные на классическом исчислении предикатов первого порядка, когда предметная область описывается в виде набора аксиом. Вся информация, необходимая для решения задач, рассматривается как совокупность правил и утверждений, которые представляются как формулы в некоторой логике предикатов. Знания отражают совокупность таких формул, а получение новых знаний сводится к реализации процедур логического вывода. Эта логическая модель применима в основном в исследовательских «идеальных» системах, так как предъявляет высокие требования и ограничения предметной области. В промышленных экспертных системах используются ее различные модификации и расширения. Исследования процессов принятия решений человеком показали, что рассуждая и принимая решение, человек использует продукционные правила (от англ, ргойисиоп — правило вывода, порождающее правило). Продукционная модель^ основанная на правилах, позволяет представить знания в виде предложений: ЕСЛИ (список условие), ТО (следует выполнить перечень действий). Условие. — это предложение, по которому происходит поиск в базе знаний, а действие есть некоторая операция, выполняемая при успешно осуществленном поиске. Действия могут быть как промежуточными, выступающими далее как условия, так и целевыми, завершающими работу ИС. В продукционной модели база знаний состоит из совокупности правил. Программа, управляющая перебором правил, называется машиной вывода. Механизм выводов связывает знания и создает из их последовательности заключение. Вывод бывает прямой (метод сопоставления, от данных к поиску цели) или обратный (метод генерации гипотезы и ее проверки, от цели — к данным). Пример. Имеется фрагмент базы знаний, состоящий из двух правил: Пр. 1: ЕСЛИ «ведение бизнеса» и «знакомство с Интернет», ТО «электронная коммерция». Пр. 2: ЕСЛИ «владеет компьютером», ТО «знакомство с Интернет». В систему поступили данные: «ведение бизнеса» и «владеет компьютером». ПРЯМОЙ ВЫВОД: На основе имеющихся данных получить заключение. 1-й проход: Шаг 1. Проверяем Пр. 1, не работает — не хватает данных «знакомство с Интернет». Шаг 2. Проверяем Пр. 2, работает, база дополняется фактом «знакомство с Интернет». 2-й проход Шаг 3. Проверяем Пр. 1, работает, система дает заключение «электронная коммерция». ОБРАТНЫЙ ВЫВОД: Подтвердить выбранную цель с помощью имеющихся правил и данных. 1-й проход: Шаг 1. Цель - «электронная коммерция»: Проверяем Пр. 1, данных «знакомство с Интернет» нет, они становятся новой целью, и есть правило, где она в правой части. Шаг 2. Цель — «знакомство с Интернет»: Пр. 2 подтверждает цель и активизирует ее. 2-й проход: Шаг 3. Пр. 1 подтверждает искомую цель. Продукционная модель привлекает разработчиков наглядностью, модульностью, легкостью внесения дополнений и изменений, простотой механизма логического вывода, чаще всего используется в промышленных экспертных системах. Семантика — это наука, исследующая свойства знаков и знаковых систем, их смысловую связь с реальными объектами. Семантическая сеть — это ориентированный граф, вершины которого есть понятия, а дуги — отношения между ними (рис. 5.5). Это наиболее общая модель знаний, так как в ней имеются средства всех характерных для знаний свойств: внутренней интерпретации, структурированности, семантической метрики и активности. Студент учится Технический университет
например имеет частью
1±
Учебная дисциплина Рис. 5.5. Семантическая сеть Достоинствами сетевых моделей являются: большие выразитель- ные возможности; наглядность системы знаний, представленной графически; близость структуры сети, представляющей систему знаний, семантической структуре фраз на естественном языке; соответствие современным представлениям об организации долговременной памяти человека. К недостаткам отнесем то, что сетевая модель не содержит ясного представления о структуре предметной области, которая ей соответствует, поэтому ее формирование и модификация затруднительны; сетевые модели представляют собой пассивные структуры, для их обработки используется специальный аппарат формального вывода. Проблема поиска решения в базе знаний типа семантической сети сводится к задаче поиска фрагмента сети, соответствующего некоторой подсети поставленной задачи, что, в свою очередь, говорит еще об одном недостатке модели — сложность поиска вывода на семантических сетях. Сетевые модели являются наглядным и достаточно универсальным средством представления знаний. Однако их формализация в конкретных моделях представления, использования и модификации знаний представляет достаточно трудоемкий процесс, особенно при наличии множественных отношений между понятиями. Термин фрейм (от англ. Ггате — каркас, рамка) предложен для обозначения структуры единицы знаний, которую можно описать некоторой совокупностью понятий, для ее пространственного восприятия. Фрейм имеет определенную внутреннюю структуру, состоящую из совокупности элементов, называемых слотами. Каждый слот, в свою очередь, представляется определенной структурой данных, процедурой, или может быть связан с другим фреймом. Фреймовая модель представляет собой систематизированную в виде единой теории технологическую модель памяти человека и его сознания. В отличие от других моделей, во фреймах фиксируется жесткая структура. В общем случае фрейм определяется следующим образом: о {ИМЯ ФРЕЙМА: (имя 1-го слота: значение 1-го слота); (имя 2-го слота: значение 2-го слота); (имя М-го слота: значение Ы-го слота)}. Важным свойством фреймов является наследование свойств, заимствованное из теории семантических сетей. Наследование происходит по АКО-связям (от А Ктс! ОТ, что означает «эт.е.»). Слот АКО указывает на фрейм более высокого уровня иерархии, откуда неявно наследуется, т.е. переносятся значения аналогичных слотов. Например, в сети фреймов на рис. 5.6 «конструктор» наследует свойства фреймов «инженер» и «человек», которые стоят на более высоком уровне иерархии. Человек
Инженер
Конструктор
Рис. 5.6. Сеть фреймов Модель фрейма достаточно универсальна, позволяет отобразить все многообразие знаний о мире через: • фреймы-структуры, для обозначения объектов и понятий (лек • фреймы-роли (студент, преподаватель, декан); • фреймы-сценарии (сдача экзамена, празднование именин, полу • фреймы-ситуации (тревога, рабочий режим учебного дня) и др. знаний является их способность отражать концептуальную основу организации памяти человека, а также гибкость и наглядность. Обобщая анализ моделей представления знаний, можно сделать следующие выводы: • Нельзя дать универсальных рекомендаций по выбору модели. • Наиболее мощными являются смешанные модели представления Экспертные системы Предназначены для анализа данных, содержащихся в базах знаний, и выдачи рекомендаций по запросу пользователя. Используются в тех случаях, когда исходные данные хорошо формализуются, но для принятия решения требуются специальные обширные знания. Экспертные системы — это сложные программные комплексы, аккумулирующие знания специалистов в конкретных предметных областях и тиражирующие этот эмпирический опыт для консультаций менее квалифицированных пользователей. Предметные области: медицина, фармакология, химия, геология, экономика, юриспруденция и др., в которых большая часть знаний является личным опытом специалистов высокого уровня (экспертов), нуждаются в экспертных системах. Те области, где большая часть знаний представлена в виде коллективного опыта (например, высшая математика), не нуждаются в них. Экспертная система определяется набором логически взаимосвязанных правил, формирующих знания и опыт специалиста данной предметной области, и механизмом решения, позволяющим распознавать ситуацию, давать рекомендации к действию, ставить диагноз. Современные экспертные системы способны: — по совокупности признаков заболевания установить диагноз, — выполнять задачи диагностических систем в исследовании явле — распознавать речь, на данном этапе в ограниченной области при — распознавать человеческие лица, отпечатки пальцев и др. На рис. 5.7 изображены основные компоненты модели экспертной системы: пользователь (специалист предметной области, для которого данная система предназначена), инженер по знаниям (специалист по искусственному интеллекту — промежуточное звено между экспертом и базой знаний), интерфейс пользователя (приложение, реализующее диалог пользователя и системы), база знаний — ядро экспертной системы, решатель (приложение, моделирующее рассуждения эксперта на основе имеющихся в базе знаний), подсистема разъяснения (приложение, позволяющее разъяснять на основании чего экспертная система дает рекомендации, делает выводы, какие знания при этом используются), интеллектуальный редактор базы знаний (приложение, дающее инженеру по знаниям возможность создания базы знаний в диалоговом режиме). Интерфейс пользователя Пользователь Решатель База знаний Подсистема разъяснений Интеллектуальный редактор базы знаний Инженер по знаниям Эксперт Рис. 5.7. Структура модели экспертной системы Характерной особенностью любой экспертной системы является способность к саморазвитию. Исходные данные хранятся в базе знаний в виде фактов, между которыми установлены определенные логические связи. Если при тестировании выявлены некорректные рекомендации или заключения по конкретным вопросам, либо заключение не может быть сформулировано, это означает, или отсутствие важных фактов в ее базе, или нарушения в логической системе связей. В любом случае система сама может сформировать достаточный набор вопросов к эксперту и автоматически повысить свое качество. Система управления Представляет совокупность взаимосвязанных структурных моделей подсистем, осуществляющих следующие функции: • планирование (стратегическое, тактическое, оперативное); • учет — отображает состояние объекта управления в результате • контроль — определяет отклонение учетных данных от плановых • оперативное управление — осуществляет регулирование всех про • анализ — определяет тенденцию в работе системы и резервы, Использование моделей в составе информационных систем началось с применения статистических методов и методов финансового анализа, которые реализовывались командами обычных алгоритмических языков. Позже были созданы специальные языки, позволяющие моделировать различные ситуации. Такие языки дают возможность построения моделей определенного типа, обеспечивающих нахождение решения при гибком изменении переменных. 5.6. Моделирование информаиионнын проиессоВ В традиционных инженерных дисциплинах всегда использовались последние достижения прикладной математики, гарантирующие, что проект будет отвечать поставленным требованиям. Основываясь на оценках, полученных с помощью математической модели, можно достаточно уверенно приступать, например, к конструированию здания. Однако применительно к программному обеспечению (ПО) проектирование оказывается преимущественно неформальным процессом, для которого зачастую нет моделей и методов прогнозирования результата. С этой точки зрения можно сравнить эволюцию программного и аппаратного обеспечения на протяжении нескольких последних десятилетий. Если аппаратные устройства со временем становились миниатюрнее, быстрее и дешевле, то программы, напротив, оказывались все более объемными, медленными, дорогими и менее надежными. Одна из причин такого положения состоит в том, что в основе проектирования современной аппаратуры лежит использование прогностических моделей. Отсутствие фундаментальных инженерных принципов в практике разработки ПО можно отчасти объяснить изменчивой, хаотичной природой программ, что сильно затрудняет математическое моделирование. Тем не менее имеется немало полезных аналитических ме- тодик. Любое ПО имеет свой жизненный цикл — период от начала проектирования и до его модернизации или замены более современной версией. В конце 60-х гг. появился термин зо/^аге еп&пеепщ (инженерное проектирования программ), которым обозначали совокупность административных и технических методов, процедур и инструментальных средств, необходимых для эффективного написания крупных программных систем. Были разработаны разные подходы для проектирования алгоритмов и программ, которые появлялись и развивались под влиянием увеличивающейся потребности в скорости и качестве разработки ПО. 5,6,1, МоЗели разработки программного обеспечения Для инженерного подхода к проектированию ПО были предложены модели процесса его разработки. Первым по времени и наиболее популярным можно считать метод «водопада». Эта модель идеализирует процесс проектирования, предполагая, что каждый этап проекта завершается до начала следующего и не осуществляется воз- Анализ Требования Спецификация Архитектурное проектирование Детальное проектирование Кодирование Тестирование Рис. 5.8. Моделирование методом «водопада» врата к предыдущему этапу (рис. 5.9). Учитывая важность для дальнейшей разработки первых этапов проектирования, а стоимость исправления допущенных на этих этапах ошибок наиболее высокой, метод «водопада» был улучшен введением временных прототипов (см. рис. 5.9). Например, прототипов интерфейса, анализ которых пользователем может дать дополнительные сведения до разработки основных программных конструкций следующих этапов. Анализ Требования Спецификация Создание временных прототипов Архитектурное проектирование Детальное проектирование Кодирование Тестирование Рис. 5.9. Метод «водопада» с введением временных прототипов Еще одна модель жизненного цикла — спиральная модель управления рисками (рис. 5.10). В этой модели жизненный цикл ПО не заканчивается, а продолжается его модернизация, на что и указывает спираль. Анализ рисков состоит в определении затрат, в случае ошибок, допущенных на первом этапе. Для снижения рисков предлагаются дополнительные работы, например создание временных прототипов.
I. Определение целей, альтернатив и ограничений
2. Анализ риска Рис. 5.10. Спиральная модель 5,6,2, МетоЭы проектирования программного обеспечения Один из наиболее популярных методов проектирования ПО — метод нисходящего проектирования. Он предполагает последовательное разложение общей функции обработки данных на простые (для данного уровня) функциональные элементы. В результате получается иерархическая модель, отражающая состав и взаимоподчиненность отдельных функций. Эта схема носит название функциональной структуры алгоритма (ФСА) приложения. Недостатком ФСА является то, что каждый ее уровень является единым целым и не может разрабатываться параллельно группой разработчиков. Следующий метод — модульное проектирование. Этот метод предполагает разбиение исходной функции обработки данных на ряд программных модулей, которые характеризуются следующими параметрами: • один входной и один выходной поток данных; • все операции, необходимые для преобразования входного пото • результат работы модуля зависит только от входного потока и не Состав и вид программных модулей в значительной мере определяется инструментальными средствами разработки, например, для Ассезз набор модулей может быть таким: экранные формы, отчеты, меню и т.д. Оба эти метода относятся к стратегии проектирования ПО, получившей название структурное проектирование или проектирование на основе потоков данных. В этой стратегии не учитывались сущность и связи объектов предметной области. Для нее характерно преобразование входной информации в выходную способами, не учитывающими физическую сущность модели предметной области. В начале 80-х гг. появился новый подход, который был основан на моделировании реального мира изнутри наружу, т.е., моделируя все элементы системы и связи между ними, получаем модель предметной области, преобразование информации в которой происходит так же, как и в реальной моделируемой системе. Этот подход был назван методом объектно-ориентированного проектирования (ООП). При ООП на первом этапе выявляются объекты реального мира, их свойства и действия, на следующих — эти объекты и их поведение отображаются на объекты программы. Для любого метода проектирования ПО очень важным являются документирование и нотация, т.е. запись операций условным стандартизованным способом. Для структурного проектирования наиболее часто использовалась нотация схем алгоритмов. Для ООП в настоящее время используется нотация 1ШЬ (УпШес! МойеНп§ Ьап&иа&е) — унифицированный язык моделирования, используя который в качестве нотации, мы будем моделировать информационные системы с помощью современных средств автоматизации программирования. 5,7, УнифииироВанный моЭелироВания В начале 90-х гг. из всего множества языков объектно-ориентированного анализа и проектирования выделились три, наиболее часто используемых при разработке систем: ВоосН, созданный Грейди Бучем, ОО5Е (ОЬ)ес1-Опеп1ес1 ЗоЯшаге Еп§теепп&), разработанный Айваром Джекобсоном, и ОМТ (ОЬ)ес1 МойеПп§ ТесЬшяие), автором которого является Джеймс Рамбо. Каждый из этих методов является вполне законченным языком ООП, однако метод ВООСН особенно удобен на этапах проектирования модели, ОО5Е — на этапе анализа и формулирования требований, а ОМТ — удобен при проектировании СУБД. Создание языка, объединяющего достоинства этих трех методов, началось в начале 1995 г., когда эти три автора объединили свои методы для создания унифицированного языка для фирмы Каиопа! 5о/№аге. В 1997 г. была принята версия 11МЬ 1.1, взятая на вооружение всеми компаниями — производителями систем автоматизированного проектирования. В 2001 г. появилась версия 2.0. В настоящее время идет утверждение УМЬ в качестве стандарта 15О. 5.7,1, Кониептуольноя модель 11ГШ. Словарь 1ЛМЬ включает три основных блока: • сущности; • отношения; • диаграммы. Сущность - это основные структурные блоки языка. 11МЬ имеет четыре типа сущностей: • структурные; • поведенческие; • группирующие; • аннотационные. Структурные сущности — это имена существительные, представляющие статические части модели, соответствующие физическим элементам системы. Среди них можно выделить следующие. Класс — описание совокупности объектов с общими атрибутами, операциями, отношениями и семантикой. Интерфейс - совокупность операций, которые определяют набор услуг (сервис), предоставляемый классом или компонентом. Он определяет только спецификацию операций, но не их исполнение. Обычно изображается с реализующим его классом или компонентом. Кооперация определяет взаимодействие. Она представляет собой совокупность ролей и других элементов, которые, работая совместно, производят некоторый кооперативный эффект, не сводящийся к простой сумме слагаемых. Кооперация имеет как структурный, так и поведенческий аспект. Один и тот же класс может принимать участие в нескольких кооперациях. Кооперация является реализацией образцов поведения, формирующих систему. Прецедент — это описание последовательности выполняемых системой действий, которая производит наблюдаемый результат для какого-нибудь актера. Прецедент применяется для структурирования поведенческих сущностей модели. Прецеденты реализуются посредством кооперации. Активный класс — класс, объекты которого вовлечены в один или несколько процессов или нитей (нить — процесс, создаваемый внутри другого процесса как его часть, но получающий свой квант времени процессора) и поэтому могут инициировать управляющие воздействия. Активный класс подобен обычному классу, кроме того, что его объекты представляют собой элементы, которые осуществляют свою деятельность одновременно с деятельностью других элементов. Компонент — физическая заменяемая часть системы, которая соответствует некоторому набору интерфейсов и обеспечивает его реализацию. Компонент, как правило, представляет собой упаковку таких элементов, как классы, интерфейсы, кооперации. Узел — это вычислительный ресурс, обладающий обычно объемом памяти и способностью обработки. Совокупность компонентов может размещаться в узле или мигрировать с одного узла на другой. Для вышеперечисленных сущностей существуют разновидности: • классы — актеры, сигналы, утилиты; • компоненты — приложения, документы, файлы, страницы, таб Поведенческие сущности представляют собой глаголы языка, они описывают поведение модели во времени и пространстве. Взаимодействие — поведение, заключающееся в обмене сообщениями. Автомат — алгоритм поведения, определяющий последовательность состояний объекта в зависимости от событий и своего текущего состояния. Автомат — это граф, состоящий из состояний и переходов. Переходы — линии с указанием события. Группирующие сущности являются организующими частями модели. Это бяоки, на которые можно разложить модель. Пакет: его основное назначение — сгруппировать на этапе проектирования сущности так, чтобы яснее была видна концептуальная схема системы. В УМЬ существуют также разновидности пакетов: каркасы, модели и подсистемы. Аннотационные сущности используются для дополнительного описания или замечания к любому элементу. 5.7.2, Отношения В 11ГП1 В иМЬ определены четыре типа отношений: • зависимость; • ассоциация; • обобщения; • реализация. Отношения являются связующими элементами для объединения сущностей. Зависимость — это семантическое (смысловое) отношение между двумя сущностями, при котором изменение одной из них, независимой, может повлиять на семантику другой, зависимой. Ассоциация — структурное отношение, описывающее совокупность связей между объектами. Графически изображается прямой линией (иногда со стрелкой или меткой), рядом с которой могут присутствовать дополнительные обозначения, например, кратность или имена. Обобщение — это отношение «родитель — потомок». Реализация — это семантическое отношение между интерфейсами и реализующими их классами или между прецедентами и реализующими их кооперациями. 5.7.3. йиогроллмы Диаграмма — это графическое представление набора элементов с отношениями между ними. Обычно представляет собой ориентированный граф, описывает систему визуально с какой-либо точки зрения. Всего существует девять типов диаграмм. Диаграмма классов — включает классы, интерфейсы, объекты и кооперации, а так же отношения между ними. Эта диаграмма соответствует статическому виду системы с точки зрения проектирования. Диаграмма объектов — представляет объекты и отношения меж- ду ними. Она дает статический слепок экземпляров сущностей, показанных на диаграмме классов. Диаграмма прецедентов — включает прецеденты и актеров (внешние, по отношению к данной системе, лица или другие системы), а также отношения между ними. Диаграмма последовательностей — представляет связи между объектами, в частности сообщения, и отражают их временную упорядоченность. Диаграмма коопераций — представляет структурную организацию объектов, обменивающихся сообщениями. Диаграмма состояния — представляет собой автомат, включающий состояния, переходы, события и все виды действия. Они относятся к динамическому виду системы и наиболее часто используются при моделировании работы интерфейса, класса или кооперации. Диаграмма деятельности — разновидность диаграммы состояния, показывает потоки управления между объектами. Диаграмма компонентов — представляет организацию компонентов и существующих между ними зависимостей. Относится к статическому виду системы. Диаграмма развертывания — представляет конфигурацию обрабатывающих узлов системы и размещенных в них компонентов. Относится к статическому виду системы. 5,7,4, инструментарий проектирования программного обеспечения Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.095 сек.) |