Смекни!
smekni.com

Языки программирования 3 (стр. 2 из 6)


2. Базы данных, экспертные системы, искусственный интеллект

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

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

Организация структуры БД формируется исходя из следующих соображений:

1. Адекватность описываемому объекту/системе — на уровне концептуальной и логической модели.

2. Удобство использования для ведения учёта и анализа данных — на уровне так называемой физической модели.

Виды концептуальных (инфологических) моделей БД: «сущность-связь», семантические, графовые.

Виды логических (даталогических) моделей БД:

1. Документальные (архивы) — ориентированные на формат документа, дескрипторные, тезаурусные.

2. Фактографические (картотеки)

теоретико-графовые: иерархическая модель, сетевая модель.

теоретико-множественные: реляционная модель (ER-модель), многомерная модель.

объектно-ориентированные: объектная модель.

основанные на инвертированных файлах.

Таким образом, по модели представления данных БД классифицируются:

· Картотеки

· Сетевые

· Иерархические

· Реляционные

· Многомерные

· Объектно-ориентированные

· Дедуктивные

На уровне физической модели электронная БД представляет собой файл или их набор в формате TXT, CSV, Excel, DBF, XML либо в специализированном формате конкретной СУБД. Также в СУБД в понятие физической модели включают специализированные виртуальные понятия, существующие в её рамках — таблица, табличное пространство, сегмент, куб, кластер и т. д.

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

Этапы проектирования базы данных

1. Концептуальное проектирование — сбор, анализ и редактирование требований к данным. Для этого осуществляются следующие мероприятия:

· обследование предметной области, изучение ее информационной структуры

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

· моделирование и интеграция всех представлений

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

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

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

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

Концептуальный уровень — Представление аналитика (используется инфологическая модель «сущность-связь»)

Логический уровень — Представление программиста

Физический уровень — Представление администратора

Экспе́ртная систе́ма (ЭС, expert system) — компьютерная программа, способная заменить специалиста-эксперта в разрешении проблемной ситуации. ЭС начали разрабатываться исследователями искусственного интеллекта в 1970-х годах, а в 1980-х получили коммерческое подкрепление.

Похожие действия выполняет программа-мастер (wizard). Мастера применяются как в системных программах так и в прикладных для интерактивного общения с пользователем (например, при установке ПО). Главное отличие мастеров от ЭС — отсутствие базы знаний; все действия жестко запрограммированы. Это просто набор форм для заполнения пользователем.

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

Структура экспертной системы:

· Интерфейс пользователя

· Пользователь

· Интеллектуальный редактор базы знаний

· Эксперт

· Инженер по знаниям

· Рабочая (оперативная) память

· База знаний

· Решатель (механизм вывода)

· Подсистема объяснений

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

Как правило, база знаний ЭС содержит факты (статические сведения о предметной области) и правила - набор инструкций, применяя которые к известным фактам можно получать новые факты.

Обычно факты в базе знаний описывают те явления, которые являются постоянными для данной предметной области. Характеристики, значения которых зависят от условий конкретной задачи, ЭС получает от пользователя в процессе работы, и сохраняет их в рабочей памяти. Например, в медицинской ЭС факт "У здорового человека 2 ноги" хранится в базе знаний, а факт "У пациента одна нога" - в рабочей памяти.

База знаний ЭС создается при помощи трех групп людей:

1. эксперты той проблемной области, к которой относятся задачи, решаемые ЭС;

2. инженеры по знаниям, являющиеся специалистами по разработке ИИС;

3. программисты, осуществляющие реализацию ЭС.

ЭС может функционировать в 2-х режимах.

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

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

Классификация ЭС по решаемой задаче

· Интерпретация данных

· Диагностирование

· Мониторинг

· Проектирование

· Прогнозирование

· Сводное Планирование

· Обучение

· Управление

· Ремонт

· Отладка

Классификация ЭС по связи с реальным временем

· Статические ЭС

· Квазидинамические ЭС

· Динамические ЭС

Этапы разработки ЭС

· Этап идентификации проблем

· Этап извлечения знаний

· Этап структурирования знаний

· Этап формализации

· Реализация ЭС

· Этап тестирования

Наиболее известные/распространённые ЭС

· CLIPS — весьма популярная ЭС (public domain)

· OpenCyc — мощная динамическая ЭС с глобальной онтологической моделью и поддержкой независимых контекстов

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

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

Так, одна из классификаций выделяет два подхода к разработке ИИ:

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

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

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

Искусственный интеллект — очень молодая область исследований, старт которой был дан в 1956 году. Её исторический путь напоминает синусоиду, каждый «взлёт» которой инициировался какой-либо новой идеей. В настоящий момент её развитие находится на «спаде», уступая место применению уже достигнутых результатов в других областях науки, промышленности, бизнесе и даже повседневной жизни.

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