Базы данных и СУБД. Базы знаний и системы искусственного интеллекта

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

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

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

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

35

Федеральное агентство по образованию

Государственное Образовательное учреждение

Высшего профессионального образования

«Братский Государственный Университет»

Курсовая работа

Базы данных и СУБД.

Базы знаний и системы искусственного интеллекта

Выполнил

Студентка группы ЭКО-07

ИвановаТ.С.

Проверил

Доцент

Ким С.Г.

Введение

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

В данной курсовой работе были рассмотрены темы:

· База данных - дано определение БД и их сущность;

· Система управления базами данных - представлены функции, структура и основные характеристики СУБД;

· Модели данных - представлено три модели данных, описано их различие, сходство и для каких целей они предназначены.

По своей сути процессы адаптации являются оптимизационными процессами.

Дж. Холланд, Adaptation in natural and artificial systems.

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

Во второй главе рассматривается история развития искусственного интеллекта, и дано значение баз знаний. Показано, чем БД отличается от БЗ.

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

1. Прикладное программное обеспечение

1.1 Введение в программное обеспечение

Одним из основополагающих принципов построения и работы ЭВМ (от первых, до современных) является принцип программного управления: последовательность действий ЭВМ определяется заранее заданной программой.

Программа ? это предписание, указывающее, какие операции, над какими данными и в каком порядке ЭВМ должна выполнить.

Можно сформулировать и так: программа ? это полная и подробная последовательность инструкций на понятном ЭВМ языке, предписывающая, как нужно обрабатывать данные.

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

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

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

35

Свойства ПО

· ПО обеспечивает «полезность» вычислительной системы для пользователя;

· ПО обеспечивает универсальность вычислительной системы;

· ПО является посредником между аппаратными средствами и пользователем;

· ПО более гибкая, изменчивая компонента вычислительной системы по сравнению с аппаратными средствами (см. английское название компонентов: hardware ? твердый, жесткий ресурс; software ? мягкий, гибкий ресурс), т.е. при изменении задачи пользователя или аппаратной части вычислительной системы именно ПО выступает как основное средство их адаптации.

Классификация ПО

По классификации ПО делиться на:

1. Системное ПО ? предназначено для эксплуатации и технического обслуживания ЭВМ, для организации вычислительного процесса.

2. Прикладное ПО ? предназначено для решения задач пользователя в конкретной предметной области (от развлекательных игр и творческих задач до сложных научных и производственных проблем).

3. Инструментальное ПО ? предназначено для автоматизации разработки и отладки новых программ.

Полная классификация с подклассами показана на рис.1.

35

Рис.1. Классификация ПО

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

35

Рис.2.

Самый низкий уровень в иерархии ПО занимает базовое ПО ? BIOS (Basic Input/Output System) ? базовая система ввода-вывода. BIOS предназначена для управления базовыми аппаратными компонентами, установленными на материнской плате. Фактически BIOS является неотъемлемой частью ПЗУ и поэтому может быть отнесена к особой категории компьютерных компонентов, занимая промежуточное место между аппаратными средствами и ПО.

2. Прикладное программное обеспечение

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

2.1 Основная функция ПО

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

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

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

2.2 Управление транзакциями

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

2.3 Журнализация и восстановление БД после сбоя

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

Журнал - это специальная служебная часть БД, недоступная пользователям, в которую поступают записи обо всех изменениях основной части БД. В виду особой важности этой информации для восстановления целостности базы данных после сбоев, важно обеспечить сверхнадежное её хранение. В некоторых СУБД поддерживаются две копии журнала, располагаемые на разных физических дисках. В разных СУБД изменения БД фиксируются на разных уровнях: иногда запись в журнале соответствует некоторой логической операции изменения БД, например, удаление строки из таблицы реляционной БД, иногда - минимальной внутренней операции модификации страницы внешней памяти, а иногда одновременно используются оба подхода. Во всех случаях придерживаются стратегии упреждающей записи в журнал. То есть, запись об изменении любого объекта БД должна попасть во внешнюю память журнала раньше, чем измененный объект попадет во внешнюю память основной части БД. Если в СУБД корректно соблюдается это условие, то с помощью журнала можно решить все проблемы восстановления БД после любого сбоя.

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

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

2.4 Поддержка языков БД

Для работы с базами данных используются специальные языки, в целом называемые языками баз данных. В ранних СУБД поддерживалось несколько специализированных по своим функциям языков. Чаще всего выделялись два языка - язык определения схемы БД (SDL - Schema Definition Language) и язык манипулирования данными (DML - Data Manipulation Language). SDL служил, главным образом, для определения логической структуры БД, какой она представляется пользователям. DML содержал набор операторов манипулирования данными, позволяющих вводить, удалять, модифицировать и выбирать данные. В современных СУБД, обычно, поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД и обеспечивающий базовый пользовательский интерфейс. Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language).

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

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

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

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

2.5 Ядро СУБД

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

Производительность СУБД оценивается:

1. временем выполнения запросов;

2. скоростью поиска информации в неиндексированных полях;

3. временем выполнения операций импортирования базы данных из других форматов;

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

5. максимальным числом параллельных обращений к данным в многопользовательском режиме;

6. временем генерации отчета.

Виды моделей данных

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

Модель данных -- совокупность структур данных и операций их обработки.

СУБД основывается на использовании иерархической, сетевой или реляционной модели, на комбинации этих моделей или на некотором их подмножестве.

2.6 Иерархическая модель данных

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

К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь. Узел -- это совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне. Иерархическое дерево имеет только одну вершину (корень дерева), не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчиненные) узлы находятся на втором, третьем и т.д. уровнях. Количество деревьев в базе данных определяется числом корневых записей. К каждой записи базы данных существует только один (иерархический) путь от корневой записи. Например, как видно из рис. 1, для записи С4 путь проходит через записи АиВЗ.

Рис. 1. Графическое изображение иерархической структуры БД

2.7 Сетевая модель данных

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

На рис. 3, изображена сетевая структура базы данных в виде графа.

Пример 1. Примером сложной сетевой структуры может служить структура базы данных, содержащей сведения о студентах, участвующих в научно-исследовательских работах (НИРС). Возможно участие одного студента в нескольких НИРС, а также участие нескольких студентов в разработке одной НИРС. Графическое изображение описанной в примере сетевой структуры, состоящей только из двух типов записей, показано на рис. 4.

Единственное отношение представляет собой сложную связь между записями в обоих направлениях.

Рис. 2. Пример иерархической структуры БД

Рис. 3. Графическое изображение сетевой структуры

2.8 Реляционная модель данных

Понятие реляционный (англ. relation -- отношение) связано с разработками известного американского специалиста в области систем баз данных Е. Кодда.

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

Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:

· каждый элемент таблицы -- один элемент данных;

· все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину;

· каждый столбец имеет уникальное имя;

· одинаковые строки в таблице отсутствуют;

· порядок следования строк и столбцов может быть произвольным.

Пример 2. Реляционной таблицей можно представить информацию о студентах, обучающихся в вузе (рис.5).

№ личного дела

Фамилия

Имя

Отчество

Дата рождения

Группа

16493

Сергеев

Петр

Михайлович

01.01.76

111

16593

Петрова

Анна

Владимировна

15.03.75

112

16693

Анохин

Андрей

Борисович

14.04.76

111

Рис. 4. Пример реляционной таблицы

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

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

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

Пример 3. На рис. 5, показан пример реляционной модели, построенной на основе отношений: СТУДЕНТ, СЕССИЯ, СТИПЕНДИЯ.

Рис. 5. Пример реляционной модели

3 Базы знаний и системы искусственного интеллекта

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

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

3.1 История развития искусственного интеллекта

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

В XVIII в. Г.Лейбниц (1646 - 1716) и Р.Декарт (1596- 1650) независимо друг от друга развили эту идею, предложив универсальные языки классификации всех наук. Эти идеи легли в основу теоретических разработок в области создания искусственного интеллекта.

Развитие искусственного интеллекта как научного направления стало возможным только после создания ЭВМ. Это произошло в 40-х гг. XX в. В это же время И.Винер (1894- 1964) создал свои основополагающие работы по новой науке - кибернетике.

Термин искусственный интеллект (artificial intelligence) предложен в 1956 г. на семинаре с аналогичным названием в Станфордском университете (США). Семинар был посвящен разработке логических, а не вычислительных задач. Вскоре после признания искусственного интеллекта самостоятельной отраслью науки произошло разделение на два основных направления: нейрокибернетику и кибернетику "черного ящика". И только в настоящее время ста56ли заметны тенденции к объединению этих частей вновь в единое целое.

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

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

Первые нейросети были созданы в конце 50-х гг. американскими учеными Г.Розенблаттом и П.Мак-Кигюком. Это были попытки создать системы, моделирующие человеческий глаз и его взаимодействие с мозгом. Устройство, созданное ими, получило название перцептрона. Оно умело различать буквы алфавита, но было чувствительно к их написанию, например, буквы А, А и А для этого устройства были тремя разными знаками. Постепенно в 70-80 гг. количество работ по этому направлению искусственного интеллекта стало снижаться. Слишком неутешительны оказались первые результаты. Авторы объясняли неудачи малой памятью и низким быстродействием существующих в то время компьютеров.

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

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

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

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

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

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

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

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

Начало 60-х гг. - эпоха эвристического программирования.

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

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

Существенный прорыв в практических приложениях искусственного интеллекта произошел в середине 70-х гг., когда на смену поискам универсального алгоритма мышления пришла идея моделировать конкретные знания специалистов-экспертов. В США появились первые коммерческие системы, основанные на знаниях, или экспертные системы. Пришел новый, подход к решению задач искусственного интеллекта - представление знаний. Созданы MYCIN и DENDRAL - ставшие уже классическими экспертные системы для медицины и химии. Объявлено несколько глобальных программ развития интеллектуальных технологий - ESPRIT (Европейский Союз). DARPA (министерство обороны США), японский проект машин V поколения. Начиная с середины 80-х гг. происходит коммерциализация искусственного интеллекта. Растут ежегодные капиталовложения, создаются промышленные экспертные системы. Растет интерес к самообучающимся системам.

3.2 Направления развития искусственного интеллекта

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

3.3 Представление знаний и разработка систем, основанных на знаниях

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

3.4 Разработка естественно-языковых интерфейсов и машинный перевод

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

морфологический анализ - анализ слов в тексте;

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

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

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

3.5 Распознавание образов

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

3.6 Новые архитектуры компьютеров

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

3.7 Интеллектуальные роботы

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

Идея создания роботов исключительно древняя. Само слово появилось в 20-х гг. Его автор - чешский писатель Карел Чапек. Со времени создания сменилось несколько поколений роботов.

Роботы с жесткой схемой управления. Практически все современные промышленные роботы принадлежат к первому поколению. Фактически это программируемые манипуляторы.

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

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

3.8 Специальное программное обеспечение

В рамках этого направления разрабатываются специальные языки для решения задач не вычислительного плана. Эти языки ориентированы на символьную обработку информации - LISP, PROLOG, SMALLTALK, РЕФАЛ и др. Помимо этого создаются пакеты прикладных программ, ориентированные на промышленную разработку интеллектуальных систем, или программные инструментарии искусственного интеллекта, например KEE, ARTS. Достаточно популярно создание так называемых пустых экспертных систем, или "оболочек", - BXSYS, Ml и др., в которых можно наполнять базы знаний, создавая различные системы.

3.9 Обучение и самообучение

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

3.10 Данные и знания

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

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

При обработке на ЭВМ данные трансформируются, условно проходя следующие этапы:

· данные как результат измерений и наблюдений;

· данные на материальных носителях информации (таблицы, протоколы, справочники);

· модели (структуры) данных в виде диаграмм, графиков, функций;

· данные в компьютере на языке описания данных;

· базы данных на машинных носителях.

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

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

· знания в памяти человека как результат мышления;

· материальные носители знаний (учебники, методические пособия);

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

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

базы знаний.

Часто используются такие определения знаний:

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

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

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

Знания могут быть классифицированы по следующим категориям:

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

· глубинные - абстракции, аналогии, схемы, отображающие структуру и процессы в предметной области.

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

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

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

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

· продукционные;

· семантические сети;

· фреймы;

· формальные логические модели.

3.11 Модели представления знаний

3.11.1 Продукционная модель

Продукционная модель, или модель, основанная на правилах, позволяет представить знания в виде предложений типа: Если (условие), то (действие).

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

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

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

П1: Если "отдых - летом" и "человек - активный", то "ехать в горы",

П2: Если "любит солнце", то "отдых летом",

Предположим, в систему поступили данные - "человек активный" и "любит "солнце"

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

1-й проход.

Шаг 1. Пробуем П1, не работает (не хватает данных "отдых - летом").

Шаг 2. Пробуем П2, работает, в базу поступает факт "отдых - летом".

2-й проход.

Шаг 3. Пробуем П1, работает, активируется цель "ехать в горы", которая и выступает как совет, который дает ЭС.

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

1-й проход.

Шаг 1. Цель - "ехать в горы": пробуем П1 - данных, "отдых - летом" нет, они становятся новой целью, и ищется правило, где она в правой части.

Шаг 2. Цель "отдых - летом": правило П2 подтверждает цель и активирует ее.

2-й проход.

Шаг 3. Пробуем П1, подтверждается искомая цель.

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

Имеется большое число программных средств, реализующих продукционный подход (язык OPS 5; "оболочки" или "пустые" ЭС - EXSYS, ЭКСПЕРТ; инструментальные системы ПИЭС и СПЭИС и др.), а также промышленных ЭС на его основе (ФИАКР) и др.

3.11.2 Семантические сети

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

Семантическая сеть- это ориентированный граф, вершины которого - понятия, а дуги - отношения между ними.

Понятиями обычно выступают абстрактные или конкретные объекты, а отношения - это связи типа: "это" ("is"), "имеет частью" ("has part"), "принадлежит", "любит". Характерной особенностью семантических сетей является обязательное наличие трех типов отношений:

· класс - элемент класса;

· свойство - значение;

· пример элемента класса.

Можно ввести несколько классификаций семантических сетей. Например, по количеству типов отношений:

· однородные (с единственным типом отношений);

· неоднородные (с различными типами отношений).

По типам отношений:

· бинарные (в которых отношения связывают два объекта);

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

Наиболее часто в семантических сетях используются следующие отношения:

· связи типа "часть-целое" ("класс-подкласс", "элемент-множество" и т.п.);

· функциональные связи (определяемые обычно глаголами "производит", "влияет"...);

· количественные (больше, меньше, равно...);

· пространственные (далеко от, близко от, за, под, над...);

· временные (раньше, позже, в течение...);

· атрибутивные связи (иметь свойство, иметь значение...);

· логические связи (и, или, не) и др.

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

Пример 5. На рис. 6 изображена семантическая сеть. В качестве вершин понятия: Человек, Иванов, Волга. Автомобиль, Вид транспорта. Двигатель.

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

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

Для реализации семантических сетей существуют специальныесетевые языки, например NET и др. Широко известны экспертныесистемы, использующие семантические сети в качестве языка представления знаний - PROSPECTOR, CASNBT, TORUS.

3.11.3 Фреймы

Фрейм (англ. frame - каркас или рамка) предложен М.Минским в 70-е гг. Как структура знаний для восприятия пространственных сцен. Эта модель, как и семантическая сеть, имеет глубокое психологическое обоснование.

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

В теории фреймов такой образ называется фреймом. Фреймом называется также и формализованная модель для отображения образа.

Структуру фрейма можно представить так;

ИМЯ ФРЕЙМА :

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

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

- - - -

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

Ту же запись представим в виде таблицы, дополнив двумя столбцами.

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

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

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

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

· фреймы-роли (менеджер, кассир, клиент);

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

· фреймы-ситуации (тревога, авария, рабочий режим устройства) и др.

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

Пример 5. Например, в сети фреймов на рис. 7 понятие "ученик" наследует свойства фреймов "ребенок" и "человек", которые находятся на более высоком уровне иерархии. Гак, на вопрос: "Любят ли ученики сладкое?" Следует ответ: "Да", так как ним свойством обладают все дети, что указано во фрейме "ребенок". Наследование свойств может быть частичным, так, возраст для учеников не наследуется ил фрейма "ребенок", поскольку указан явно в своем собственном фрейме.

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

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

Специальные языки представления знаний в сетях фреймов FRL (Frame Representation Language) и другие позволяют эффективно строить промышленные ЭС. Широко известны такие фреймо-ориентированные экспертные системы, как ANALYST, МОДИС [3,8].

3.11.4 Формальные логические модели

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

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

Заключение

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

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

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

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

Люди будут постоянно решать проблему искусственного интеллекта, постоянно сталкиваясь все с новыми проблемами. И, видимо, процесс этот бесконечен.

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

Список использованной литературы

1. Соколов Е. Н., Вайткявичус Г.Г. Нейроинтеллект: от нейрона к нейрокомпьютеру - М.: Наука, 1989.

2. Эндрю А. Искусственный интеллект - М.: Мир, 1985.

3. Квасный Р. Искусственный интеллект - ресурс Интернета, http://neural.narod.ru/, 2001.

4. Шихов Е. Варианты реализации искусственного интеллекта - ресурс Интернета, http://neural.narod.ru/, 2002

5. Венда В. Ф. Системы гибридного интеллекта - М.: Машиностроение, 1990

6. Волгин Л. И.-Работа с БД Таллин: АО «KLTK», 1993.

7. Чернухин Ю. В. Эффективная работа с СУБД - Таганрог, 2004.


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

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

    презентация [3,0 M], добавлен 28.05.2015

  • Понятие базы данных, их цели и задачи, требования к БД; система управления базами данных. Файловые системы: именование и структуры файлов, программное обеспечение. Уровни абстракции в СУБД, функции абстрактных данных. Экспертные системы и базы знаний.

    презентация [301,6 K], добавлен 17.04.2013

  • Основные понятия базы данных и систем управления базами данных. Типы данных, с которыми работают базы Microsoft Access. Классификация СУБД и их основные характеристики. Постреляционные базы данных. Тенденции в мире современных информационных систем.

    курсовая работа [46,7 K], добавлен 28.01.2014

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

    курсовая работа [24,6 K], добавлен 11.07.2011

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

    курс лекций [1,1 M], добавлен 14.01.2011

  • Эволюция систем искусственного интеллекта. Направления развития систем искусственного интеллекта. Представление знаний - основная проблема систем искусственного интеллекта. Что такое функция принадлежности и где она используется?

    реферат [49,0 K], добавлен 19.05.2006

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

    реферат [59,4 K], добавлен 18.12.2013

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

    реферат [40,8 K], добавлен 17.08.2015

  • Система управления базами данных (СУБД). Программные средства, предназначенные для создания, наполнения, обновления и удаления базы данных. Структура, модели и классификация баз данных. Создание каталогов, псевдонимов, таблиц, шаблонов и форм СУБД.

    презентация [1,1 M], добавлен 09.01.2014

  • Система управления базами данных как составная часть автоматизированного банка данных. Структура и функции системы управления базами данных. Классификация СУБД по способу доступа к базе данных. Язык SQL в системах управления базами данных, СУБД Microsoft.

    реферат [46,4 K], добавлен 01.11.2009

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