Разработка структуры и алгоритмов взаимодействия программных блоков интеллектуальной системы для оценки сложных объектов

Обзор современных интеллектуальных систем (ИС). Специфика и принципы построения ИС по технологии "клиент-сервер". Разработка блока управления данными и знаниями в сетевой многопользовательской ИС в среде Borland Delphi 3.0. Описание применения данной ИС.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 25.04.2011
Размер файла 437,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. ПРЕДСТАВЛЕНИЕ ДАННЫХ И ЗНАНИЙ В ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМАХ

1.1 Модель представления знаний с помощьюправил

1.2 Модель представления знаний с помощью логики предикатов

1.3 Модель представления знаний с помощью сетей нейронов

1.4 Модель представления знаний с помощью семантических сетей

1.5 Модель представления знаний с помощью фреймов

1.6 Cистемы «клиент\сервер» и общая организация данных в них

ВЫВОДЫ

2. АРХИТЕКТУРА ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ (ИС) ДЛЯ ОЦЕНКИ СЛОЖНЫХ ОБЪЕКТОВ

2.1 Постановка задачи оценки сложных объектов. Описание представления знаний

2.2 Типовая структура ИС

3. ПРОЕКТИРОВАНИЕ СРЕДСТВ УПРАВЛЕНИЯ ДАННЫМИ В ИС

3.1 Описание основных структур данных

3.2 Назначение, состав и описание блока управления данными

3.2.1 Функции первого уровня

3.2.2 Описание функций нижних уровней

4. ОПИСАНИЕ ПРИМЕНЕНИЯ СРЕДСТВ УПРАВЛЕНИЯ ДАННЫМИ В ИС

4.1 Описание интерфейса пользователя (руководство пользователя)

4.1.1 Создание проекта

4.1.2 Откытие проекта

4.1.3 Закрытие проекта

4.1.4 Сохранение копии проекта

4.1.5 Удаление проекта

4.1.6 Формирование множества свойств

4.1.7 Формирование перечня классов

4.1.8 Формирование перечня требований

4.2 Описание контрольного примера

5. ТЕХНИКО-ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ ДИПЛОМНОЙ РАБОТЫ

5.1 Бизнес-план

5.1.1 Резюме

5.1.2 Описание программы

5.1.3 Информация о возможных конкурентах

5.1.4 Стратегия маркетинга

5.1.6 План производства

5.2 Функционально-стоимостной анализ

5.2.1 Построение дерева целей

5.2.2 Построение структурной модели программы

5.2.3 Построение функциональной модели программы

5.2.4 Расчет стоимости программных единиц

5.3 Построение и анализ функционально-стоимостной диаграммы

5.4 Технико-экономические расчеты (на 12 мая 1998г.)

5.4.1 Расчет стоимости машино-часа на ЭВМ

5.4.2 Расчет сметной стоимости НИ ОКР и цены программы

5.4.3 Расчет эксплутационных издержек у потребителя

5.4.4 Расчет годового экономического эффекта и показателей эффективности

5.5 Выводы

6. БЕЗОПАСНОСТЬ ЖИЗНЕДЕЯТЕЛЬНОСТИ

6.1 Обоснование выбора объекта

6.2 Особенности труда пользователей ЭВМ

6.2.1 Общие сведения

Диапазон

6.2.2 Рекомендации по организации рабочих мест пользователей

6.3 Расчёт системы освещения

6.3.1 Индивидуальное задание

6.3.2 Общие теоретические сведения

6.3.3 Расчёт естественной освещенности

6.3.4 Расчёт искусственного освещения помещения

6.4 Выводы по изучению вопроса о безопасности жизнедеятельности

ЗАКЛЮЧЕНИЕ

ЛИТЕРАТУРА

ВВЕДЕНИЕ

интеллектуальная система алгоритм

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

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

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

Значительно повысились мощность и быстродействие периферийных устройств ввода и вывода информации.

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

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

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

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

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

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

Появление на рынке современных операционных систем, таких как Windows”95 и Windows NT фирмы Microsoft Corp, новых версий OS/2 фирмы IBM и NetWare 4.X фирмы Novell, во-первых, позволило создавать программы на аппаратно-независимом уровне; во-вторых, привело к созданию единой системы пользовательского интерфейса и связанных с ним технологий; в-третьих, позволило разрабатывать программы, ориентированные на многозадачный режим работы и динамический обмен данными между ними; в-четвертых, позволило более полно реализовать возможности современного аппаратного обеспечения; в-пятых, облегчило построение малых локальных сетей и использование технологии клиент-сервер.

Все вышеназванное привело к тому, что в настоящее время, персональный компьютер стал настольным инструментом практически всех людей, занятых умственным трудом во всех сферах деятельности человека и локализованных во всех точках планеты. В то же время, автоматизации подвергаются в основном работы, требующие выполнения рутинных процессов, расчетов, связанных с громоздкими вычислениями. Это обусловило появление на рынке большого количества программных продуктов, связанных с решением таких задач как: автоматизация набора текста, пример - широко известный текстовый процессор Microsoft Word; автоматизация издательской деятельности, примеры - PageMaker и Ventura Publisher; широко распространены системы организации презентационной графики, проверки орфографии, системы поддержки табличных вычислений (Exel); современные СУБД типа Access, Paradox. Требования потребителей к автоматизации документооборота привели к совершенствованию технологий управления базами данных и связи между компьютерами т.е. привели к развитию вычислительных сетей разного масштаба и, в первую очередь, малых локальных сетей. Развиваются связанные с этим технологии распределенных баз данных (использующие клиент-серверный принцип построения). В настоящее время развитие информационно-поисковых систем представляет собой отдельное научно-инженерное направление.

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

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

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

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

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

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

Одной из базовых проблем, при создании ИС, является выбор модели представления знаний [3, 5, 8, 14]. Именно модель представления знаний определяет архитектуру, возможности и свойства системы, а также методы приобретения знаний ИС. Именно она, в конце концов, определяет насколько система может называться интеллектуальной.

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

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

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

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

Для достижения указанной цели необходимо решить следующие задачи:

- проанализировать основные задачи, решаемые ИС в целом и ее отдельными блоками: АРМ администратора системы, АРМ эксперта, АРМ лица принимающего решения (руководителя), АРМ рядового оператора;

- разработать структуры данных и основные функции перечисленных автономных рабочих мест и серверного блока;

- разработать порядок взаимодействия всех блоков системы;

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

Данная дипломная работа состоит из пояснительной записки и графического материала. Пояснительная записка состоит из шести глав.

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

Во второй главе рассмотрены общие вопросы построения ИС для задач оценки сложных объектов. Проведена формализация основных задач оценки. Описываются модель представления знаний и основные блоки ИС. Рассматривается специфика и принципы построения ИС по технологии «клиент\сервер».

В третей главе описана разработка блока управления данными и знаниями в сетевой многопользовательской ИС. Представлены основные структуры данных и алгоритмы, реализация сделана в среде программирования Borland Delphi 3.0 для операционной системы Microsoft Windows”95 и Windows NT.

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

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

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

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

1. ПРЕДСТАВЛЕНИЕ ДАННЫХ И ЗНАНИЙ В ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМАХ

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

- уровень сложности (абстрактности) элемента знаний с которыми работает модель;

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

- естественность и наглядность представления знаний при использовании;

- способность модели к обучению и формированию новых, непротиворечивых знаний;

- размерность модели, по объему памяти, необходимому для хранения элемента модели;

- удобство разработки системы на основе модели.

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

1.1 Модель представления знаний с помощью правил

Представление знаний, основанное на правилах, построено на использовании выражений вида

ЕСЛИ (условие) - ТО (действие).

Когда текущая ситуация (факты) в задаче удовлетворяет или согласуется с частью правила ЕСЛИ, то выполняется действие, определяемое частью ТО [13, 15, 16, 17, 20, 22]. Это действие может оказаться воздействием на окружающий мир или же повлиять на управление программой (например, вызвать проверку и запуск некоторого набора других правил), или может сводиться к указанию системе добавить новый факт, или гипотезу в базу данных.

Сопоставление частей ЕСЛИ правил с фактами может породить так называемую цепочку выводов - дерево решений [22].

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

В базу знаний могут быть добавлены как новые факты, так и новые правила, сгенерированные (продуцированные) программой [20]. Эти правила и факты становятся полноценными участниками процесса нахождения дерева решений. В системе с продукцией правил учитывается число прохождения каждого дерева решений. При достаточно большом числе использования какого-либо дерева решений, система редуцирует («сжимает») дерево решений до нового правила и вводит его в базу знаний. Очевидно, что правило такого рода имеет значительно большую размерность, чем исходные правила.

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

Для таких систем возможно обратное использование редуцированных правил. Зная решение X мы с высокой достоверностью можем сказать, что к этому решению привел набор фактов M & E & F.

По уровню абстрактности элемента знаний, модель работает с простейшими составляющими знания - фактами и правилами.

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

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

Способности модели к обучению невысоки. Формирование новых знаний возможно на уровне фактов и правил. Приблизительный объем памяти, необходимый для хранения элемента знаний модели - конструкции ЕСЛИ-ТО, мал в силу его простоты. Однако база знаний, описывающая реальную, даже не очень сложную задачу, должна содержать весьма значительное количество указанных элементов. В известных системах [12, 23] количество правил, хранящихся в базе, исчисляется сотнями и тысячами.

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

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

Одним из первых был проект системы DENDRAL [23]. Исследовательская группа DENDRAL была создана в Стенфордском университете в 1965 году для проектирования системы, помогающей химикам делать заключения о структурах химических соединений на основании масс-спектрометрических данных.

Не менее известными экспертными системами, основанными на описанной модели, являются: MYCIN, система для диагностирования бактериальных инфекций; INTERNIST -- система-консультант в области общей терапии.

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

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

Разработанные системы настолько понравились пользователям, что были предприняты попытки применения данного подхода к другим областям знаний с аналогичными свойствами. Из системы MYCIN была извлечена проблемно-независимая часть в форме "пустой" (empty) системы MYCIN, названной EMYCIN. Последняя была использована в ряде сложных областей, например: при создании систем PUFF (обеспечение активной медицинской помощи при респираторных заболеваниях); SACOM (расчеты механических структур); CLOT (измерение состава крови) и т.д.

1.2 Модель представления знаний с помощью логики предикатов

Логика предикатов является одним из разделов математической логики и иногда называется символьной логикой [4, 21, 31, 34, 35].

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

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

Например, Иван, Василий - это термы. Когда же между ними имеется отношение "отец" и "ребенок", то это отношение описывается как ОТЕЦ (ИВАН, ВАСИЛИЙ).

Предикат, все термы которого являются термами-константами, называются высказыванием. Когда же говорится "предикат", то обычно имеется в виду, что в него входит терм-переменная. Например, таким предикатом является ОТЕЦ (X,Y). Если в предикате обеспечена возможность применения естественного языка, то он соответствует предложению в наиболее простой его форме. Исходя из этой формы, задаются специальные символы и синтаксические правила для определения предикатных формул, соответствующих обычному предложению. Например, таким предложением является

ОТЕЦ(ИВАН, ВАСИЛИЙ) & МАТЬ (МАРИЯ, ВАСИЛИЙ) (отцом Василия является Иван, а матерью Василия является Мария) или (существует Х [ЧЕЛОВЕК (Х) -> СМЕРТЕН (Х)] (если субъект является человеком, то он смертен -> все люди умирают).

Обратим внимание [13], что последний пример похож на продукционное правило. Сходство с продукционными правилами следует из того, что в логике предикатов тоже разрешаются формулы, которые задают соответствующее представление в форме ЕСЛИ - ТО, допуская объединение нескольких описаний в составе условия ЕСЛИ и заключения ТО, а формулы с подобной упорядоченностью описаний также являются объектом логики предикатов [21].

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

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

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

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

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

Одна из первых достаточно эффективных ИС была создана Хаммондом и Серготом [35]. В их системе устройство Query-the-User комбинируется с оболочкой экспертных систем (APES). Система реализована на микро-Прологе и дает очень гибкий инструмент, называемый APE-the-User и предназначенный для построения экспертных систем.

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

Система APES была с успехом использована для автоматизации юридических экспертных систем. Хаммонд [34] описывает, например, как в сотрудничестве с министерством здравоохранения и социального обеспечения в базе знаний системы APES были собраны более двухсот инструкций, регулирующих норму дополнительного пособия. В более широких масштабах и при наличии гораздо больших юридических и лингвистических сложностей система APES была использования для кодирования принятого в 1981 г. закона о гражданстве Великобритании, который определяет категории британского гражданства и включает правила, предназначенные для своей же собственной интерпретации.

1.3 Модель представления знаний с помощью сетей нейронов

Начало современным моделям нейронных сетей было положено в работе Маккаллока и Питтса [40], где авторы сделали первую попытку эмулировать человеческие способности классифицировать и распознавать образы. В их формализме нейроны имеют состояния 0, 1 и пороговую логику перехода из состояния в состояние. Каждый нейрон в сети определяет взвешенную сумму состояний всех других нейронов и сравнивает ее с порогом, чтобы определить свое собственное состояние. Дальнейшее развитие связано с тем, что Розенблат ввел в модель Маккаллока и Питтса способность связей к модификации, что сделало ее обучаемой. Эта модель была названа персептроном [10, 44, 45].

Новый виток быстрого развития моделей нейронных сетей, который начался 9-10 лет тому назад, связан с работами Амари, Андерсона, Карпентера [30], Кохена [28, 30, 32] и других, и в особенности, Хопфилда [19, 37, 38, 39], а также под влиянием обещающих успехов оптических технологий [1, 29] и зрелой фазы развития СБИС [32] для реализации новых архитектур.

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

- простой обрабатывающий элемент - нейрон;

- очень большое число нейронов участвует в обработке информации;

- один нейрон связан с большим числом других нейронов (глобальные связи);

- изменяющиеся по весу связи между нейронами;

- массированная параллельность обработки информации.

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

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

По структуре связей сети делятся на два больших класса: однослойные и многослойные. К однослойным относятся модель Хопфилда [1, 19, 26, 37, 38, 39] и последующие разработки [33], некоторые типы модели нейронной сети, известной под названием "машина Больцмана" [24, 25]. Многослойная сеть имеет входной, выходной и скрытые слои, на входной подается информация, с выходного снимается ответ, скрытые слои участвуют в обработке [27].

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

Начало современному математическому моделированию на базе нейронных вычислений было положено работами Хопфилда [37], в которых была предложена математическая модель ассоциативной памяти на нейронной сети [36]. Но не столько сама модель послужила главным толчком к появлению работ других авторов на эту тему, сколько введенная Хопфилдом функция вычислительной энергии нейронной сети. Это аналог функции Ляпунова в динамических системах. Показано, что для однослойной нейронной сети со связями типа "каждый с каждым" характерна сходимость к одной из конечного множества равновесных точек, которые являются локальными минимумами функции энергии. Понимание такой динамики нейронной сети было и у других исследователей [32]. Однако Хопфилд и Тэнк показали, как конструировать функцию энергии для конкретной оптимизационной задачи и использовать ее для отображения задачи в нейронную сеть [38, 39]. Этот подход получил развитие и для решения других комбинаторных оптимизационных задач [33]. Привлекательность подхода Хопфилда состоит в том, что нейронная сеть для конкретной задачи может быть запрограммирована без обучающих итераций. Веса связей вычисляются на основании вида функции энергии, сконструированной для этой задачи.

Развитием модели Хопфилда для решения комбинаторных оптимизационных задач и задач искусственного интеллекта является машина Больцмана, предложенная Хинтоном и другими [27] и далее исследованная в [24, 25]. В ней, как и в других моделях, нейрон имеет состояния 1, 0 и связь между нейронами обладает весом. Каждое состояние сети характеризуется определенным значением функции консенсуса (аналога функции энергии). Максимум функции консенсуса соответствуют оптимальному решению задачи.

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

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

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

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

Так, по заказу Chemical Bank (США) фирма Logica разработала и внедрила систему для прогнозирования динамики биржевых курсов. На технической базе Sun SPARCstation LX с помощью аппарата нейронных сетей моделировались рынки валютных курсов доллар/швейцарский франк и немецкая марка/швейцарский франк. Выбор именно этих валют объяснялся высоким уровнем подвижности первого соотношения и малым - второго. Данные о динамике кросс-курсов этих валют собирались с 1 октября 1992 года по 1 сентября 1993, при этом ценовые прогнозы выражались пятью значениями: большой рост, малый рост, без изменений, малый спад, большой спад. В итоге был достигнут высокий процент достоверности прогноза около 60%.

Mellon equity Associates -- подразделение Mellon Bank в Питсбурге(США) - внедрила у себя систему Neural-Works Professional II /Plus 5.0 фирмы Neural-Ware. Эта система ориентирована на IBM-совместимые компьютеры. Пакет внедрялся около 4-5 мес. Основные решаемые задачи: распределение фондов и специальная селекция акций.

Группа специалистов по заказу департамента торговли и индустрии правительства Великобритании создала систему для выработки тактики распределения фондов на глобальных рынках облигаций. С ноября 1992 года эта система внедрялась в Североамериканской страховой компании в Бостоне (США). В итоге капитал этой компании быстро увеличился с 25 до 50 млн. долл., а портфель ценных бумаг показал доходность свыше 25% в первый же год внедрения системы.

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

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

Среди разрабатываемых в настоящее время нейроБИС, которых насчитывается несколько десятков типов, выделяются модели фирмы Adaptive Solutions (США) и Hitachi (Япония). НейроБИС фирмы Adaptive Solutions, вероятно, станет одной из самых быстродействующих: объявленая скорость обработки составляет 1,2 млрд. соединений в секунду. (нейронная сеть содержит 64 нейрона и 262144 соединения). НейроБИС фирмы Hitachi позволяет реализовать нейронную сеть, содержащую до 576 нейронов. Эти нейроБИС, несомненно, станут основой новых нейрокомпьютеров и специализированных многопроцессорных изделий.

Большинство сегодняшних нейрокомпьютеров представляют собой просто персональный компьютер или рабочую станцию, в состав которых входит дополнительная нейроплата. К их числу относятся, например, компьютеры серии FMR фирмы Fujitsu. Такие системы имеют бесспорное право на существование, поскольку их возможностей вполне достаточно для разработки новых алгоритмов и решения большого числа прикладных задач методами нейроматематики. Однако наибольший интерес представляют специализированные нейрокомпьютеры, непосредственно реализующие принципы нейронных сетей. Типичными представителями таких систем являются компьютеры семейства Mark фирмы TRW (первая реализация персептрона, разработанная Розенблатом, называлась Mark I). Модель Mark III фирмы TRW представляют собой рабочую станцию, содержащую до 15 процессоров семейства Motorola 68000 с математическими сопроцессорами. Все процессоры объединены шиной VME. Архитектура системы, поддерживающая до 65 000 виртуальных процессорных элементов с более чем 1 млн. настраиваемых соединений, позволяет обрабатывать до 450 тыс. межсоединений в секунду. Mark IV - это однопроцессорный суперкомпьютер с конвейерной архитектурой. Он поддерживает до 236 тыс. виртуальных процессорных элементов, что позволяет обрабатывать до 5 млн. межсоединений в секунду. Компьютеры семейства Mark имеют общую программную оболочку ANSE (Artificial Neural System Environment), обеспечивающую программную совместимость моделей. Другой интересной моделью является нейрокомпьютер NETSIM, созданный фирмой Texas Instruments на базе разработок Кембриджского университета. Его топология представляет собой трехмерную решетку стандартных вычислительных узлов на базе процессоров 80188.

1.4 Модель представления знаний с помощью семантических сетей

Семантическая сеть состоит из точек, называемых узлами, и связывающих их дуг, описывающих отношения между узлами [2, 18]. Узлы в семантической сети соответствуют объектам, концепциям или событиям. Дуги могут быть определены разными методами, и описывают отношения между рассматриваемыми объектами. Обычно дуги, используемые для представления иерархии, включают дуги типа IS-A (отношение «является») и HAS-PART (отношение «имеет часть»). Эти отношения также устанавливают иерархию наследования в сети. Это означает, что элементы более низкого уровня в сети могут наследовать свойства элементов более высокого уровня. Это экономит память, поскольку информацию о сходных узлах не нужно повторять в каждом узле сети.

Выводы на семантических сетях реализуются через отношения между элементами, однако они таят в себе угрозу возникновения противоречий [2].

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

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

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

Характерная особенность семантической сети -- наглядность знаний как системы.

Семантические сети нашли широкое распространение при моделировании каузальных знаний. Узлы сети представляют состояние системы, а дуги - каузальные отношения. На основе данного подхода семантические сети были применены в качестве основной формы представления знаний в системе CASNET (Caysal Associational NETwork), разработанной в первой половине 70-х Куликовским и Вейссом из Рутгерского университета [23]. Система создавалась с целью разработки и исследования стратегий диагностирования с помощью компьютерных систем, в основу которых положены психологические и функциональные модели болезней.

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

Также на основе семантических сетей была разработана известная система PROSPECTOR [23], предназначенная для оказания помощи геологам-изыскателям. Она способна давать три типа "советов": оценку местности на предмет существования определенных залежей, оценку геологических ресурсов региона и выбор участков местности, наиболее благоприятных для бурения. Эта программа была создана компанией SRI International (совместно с консультантами по геологии) и организацией U.S. Geological Survey.

Серьезным недостатком систем CASNET и PROSPECTOR является их неудовлетворительная способность объяснить свои решения.

1.5 Модель представления знаний с помощью фреймов

В области искусственного интеллекта термин "фрейм" относится к специальному методу представления общих концепций и ситуаций. Марвин Минский, первый, кто предложил идею фреймов, описывает его следующим образом [9]: "Фрейм - это структура данных, представляющая стереотипную ситуацию, вроде нахождения внутри некоторого рода жилой комнаты, или сбора на вечеринку по поводу рождения ребенка. Каждому фрейму присоединяются несколько видов информации. Часть этой информации - о том, как использовать фрейм. Часть о том, чего можно ожидать далее. Часть о том, что следует делать, если эти ожидания не подтвердятся".

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

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

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

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

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

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

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

Одной из наиболее известных ИС, построенных на основе фреймов, является система MOLGEN [20, 23]. Система MOLGEN предназначена для планирования экспериментов в области молекулярной генетики. Необходимо отметить, что речь идет о планировании, а не о решении аналитических задач. Т.е. невозможно полностью описать цель задачи перед началом ее решения. При такой постановке вопроса редуцировать пространство поиска с помощью простых методов не представляется возможным.

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

1.6 Системы «клиент\сервер» и общая организация данных в них

Для начала расшифруем некоторые аббревиатуры, широко используемые разработчиками:

ODBC (Open DataBase Connectivity) - открытый стандарт совместимости баз данных;

CASE-технология (Computer-Aided Software/System Engineering) - компьютерная разработка программ и систем;

SQL (Structure Query Language) - язык структурных запросов.

Уже само понятие "архитектура «клиент-сервер»" трактуется разработчиками по-разному. Все сходятся лишь в одном: для организации вычислительного процесса при распределенной обработке данных желательно использование архитектуры «клиент-сервер». Так, фирма R-Style Software Lab определяет архитектуру «клиент-сервер» как модель взаимодействия компьютеров и процессов в сети (классификацию моделей рассмотрим ниже).

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

Юрий Зиссер ("Надежные программы", Минск) считает, что в последнее время термин "клиент-сервер", к сожалению, девальвировался и стал применяться по отношению к любым локально-сетевым технологиям. Минской фирмой под архитектурой «клиент-сервер» понимается такая организация вычислительного процесса, при которой вся обработка происходит в основном на персональном компьютере, обращающемся с SQL-запросами к серверу, где содержатся общие базы данных. По сети циркулируют только SQL-запросы/ответы (а не фрагменты или отдельные записи СУБД, как в архитектуре файл-сервер), благодаря чему резко снижается нагрузка на сеть. Обработка данных при этом более равномерно распределяется между клиентом и сервером.

Самое примечательное свойство архитектуры «клиент-сервер» состоит в возможности удалить клиента от сервера на любое расстояние без существенного снижения скоростных характеристик системы (даже в случае сложных запросов) и без всяких изменений в программном обеспечении. Удаленный клиент подключается к серверу с помощью телефонного или иного канала. Это свойство очень ценно для организации распределенной обработки данных. Кроме того, оно позволяет заменять СУБД, операционную систему и сервер, не изменяя программного обеспечения клиентской части системы.

Обычно выделяются три модели взаимодействия клиента и сервера:

RDA (Remote Data Access), в которой компонента представления (пользовательский интерфейс) и прикладная компонента (логика работы программы) совмещены в клиентской части, а компонента доступа к информационным ресурсам (данным) размещена в серверной части.

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

AS (Application Server), в которой компонента представления находится в клиентской части, прикладная компонента - в "сервере приложения", а компонента доступа к информационным ресурсам - в "сервере базы данных".

Рассмотрим другую, более детальную классификацию архитектур (по методике Garthner Group). Пользовательский интерфейс (компонента представления) может быть размещен в серверной части, тогда получается модель хост-терминал, которая является предельным случаем архитектуры «клиент-сервер». Другим предельным случаем (вырожденным) являются автономные вычисления на одном компьютере, когда все данные, логика работы (прикладная компонента) и пользовательский интерфейс сосредоточены в клиентской части. Учтем также, что и прикладные компоненты (логика работы), и сами данные могут быть по-разному распределены между клиентской и серверной частями. Кроме того, серверов приложений может быть несколько.

Системы с архитектурой «клиент-сервер» могут быть двух- или трехуровневыми.

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

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

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

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

сервер базы данных (в большинстве случаев - SQL-сервер СУБД), он же - менеджер ресурсов.

Легко видеть, что трехуровневая система относится к модели AS.

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

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

Увеличение производительности при тех-же характеристиках сервера

Использование общего кэша при операциях ввода-вывода

Меньший объем используемой памяти

Большее количество обслуживаемых пользователей при том-же объеме памяти

и недостатки

меньшая защищенность сервера при внутренних сбоях

Последний пункт относится ко всем SQL-серверам, имеющим архитектуру SuperServer. Действительно, все потоки (threads) находятся в одном адресном пространстве, и любой сбой может привести к "падению" SQL-сервера.

Однако повседневная работа пользователей современных приложений, особенно банковских, состоит в основном не в исполнении мудреных запросов, а в проведении таких элементарных операций, как ввод записи, редактирование записи, поиск записи по ключу и пролистывание массива записей на экране. Операции такого рода выполняются SQL-сервером отнюдь не быстрее, чем традиционными СУБД с навигационным способом доступа, а пролистывание вообще сопряжено с массой трудностей. Здесь опять возникают проблемы инструментария, ведь, пожалуй, только СУБД Progress содержит все необходимые компоненты разработки, так как наряду с языком SQL предоставляет и средства навигационного доступа к записям БД на низком уровне.


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.