УМКД. БД. и эксперт УМКД+. Учебнометодический комплекс по дисциплине базы данных и экспертные системы
Скачать 1.37 Mb.
|
Выполнение запросов в процедуре обработки событий Необходимо создать процедуру, которая включается при закрытии формы «Студент». Private Sub Form_Click() On Error GoTo Err_Form_Close Dim StDocName, StDocName1, StDocName2 as String, otvet as Int StDocName = “Число студентов в группе” StDocName1 = “Обновление Группа_Кол” StDocName2 = “Обновление Группа_Кол без подчиненных в Студент” otvet = MsgBox(“Были изменения?”vbYesNo); if otvet=vbNo Then Exit Sub End If DoCmd.SetWarnings False DoCmd.OpenQuery(StDocName) DoCmd.OpenQuery(StDocName1) DoCmd.OpenQuery(StDocName2) Exit_Form_Close Exit Sub Err_Form_Close MsgBox . . . End Sub Фильтрация записей в форме по значению, выбранному из списка другой формы Поиск данных с использованием индексов З адача: В форме ZAP, в которой имеется элемент управления со списком значений (списком городов). При выборе города должна выводиться на экран форма «Студент» со списком студентов, проживающих в данном городе. Источником записи ленточной формы «Студент» является таблица «Студент». Для решения этой задачи создаем процедуру в форме ZAP, связанную с событием после обновления элементов управления списком. Если элемент управления имеет имя Private Sub Список2_AfterUpDate(), используем функцию Message Box для организации диалога с пользователем, уточняющим правильность его выбора. Dim otvet As String – присвоение переменной значения возвращаемой функции Message Box. otvet: MsgBox(“Вывести список студентов, проживающих в городе”)&Me’[Список2]’&”?”, vdOkCancel Инструкция If … End If позволяет выполнить вывод списка студентов только при подтверждении, что выбран нужный город. If otvet = vbCancel Then Exit Sub End If Открытие формы, имя которой и условие отбора указаны строковыми значениями. DoCmd.OpenForm “Student”,,,“Студент! Адрес = Forms!ZAP![Список2]” Exit Sub End Sub Поиск данных с использованием индексов Рассмотрим, как найти данные о студенте в таблице БД «Учебный процесс» по первичному ключу. Таблица «Студент» имеет составной ключ, который включает номер группы и номер студента в этой группе. Для выполнения процедуры поиска воспользуемся кнопочной формой поиска. Для этих целей создадим эту форму в режиме конструктора форм, не выбирая для нее источник данных. Создадим кнопку для запуска процедуры, используя панель элементов при отключенном мастере. Д ля быстрого поиска записи по составному первичному ключу, используем метод Seek объекта RecordSet. Объект RecordSet представляет собой набор записей, которые обеспечивают доступ к записям набора и обработку каждой из них. Для создания набора записей используем метод OpenRecordSet объекта DataBase. Метод Seek применяется к индексированному набору записей объекта RecordSet, источником записи для которого является таблица и находит запись, которая удовлетворяет заданным условиям для текущего индекса и делает эту запись текущей. Текущий индекс указывается с помощью свойства Index объекта RecordSet перед вызовом метода Seek. Для выполнения сформулированной задачи в процедуре понадобится объектная переменная типа RecordSet для хранения ссылки на объект, представляющий набор записей. Синтаксис методов Seek и OpenRecordSet требует использования объектной переменной для представления существующего табличного объекта RecordSet и объекта DataBase. Лекция №151.Экспертные системы и системы искусственного интеллекта. Естественный интеллект – это процесс мышления живых систем И.И. – искусственная система, способная выполнять отдельные функции Е.И. История развития ИИС Интеллектуальная информационная система (ИИС) — это один из видов автоматизированных информационных систем, иногда ИИС называют системой, основанных на знаниях. ИИС представляет собой комплекс программных, лингвистических и логико-математических средств для реализации основной задачи: осуществление поддержки деятельности человека и поиска информации в режиме продвинутого диалога на естественном языке. История: 1 этап. 30-40 г.г. –теоретический этап Машина Тьюринга - Любая интуитивно вычислимая функция является частично рекурсивной, или, эквивалентно, может быть вычислена с помощью некоторой машины Тьюринга. Решение центральной алгоритмической задачи Работы по теории информации (К. Шеннон) Работы по психологической биологии 50-ые гг Машинный перевод Джартаунская система Система Ю. Мафина 57 – ые гг. Распознавание образов (Розенблатт – Перцептрон) Нейронные сети (Маткалак, Питс) Конец 60-х – логические направления Работы Саймона, Ньюелла Различные игры (шашки, шахматы NNS) (62г. Самуэль) Языки LISP (Дж. Маккарти, обработка списков) , PROLOG (Робинсон – основан на логике предикатов, метод резолюции) РЕФАЛ (Турчин – язык рекрусивных функций) Переборные алгоритмы – направленные переборы, эвристическое направление 70-80-ые годы – деловые игры, военные симуляторы 80 –ые гг машинное творчество (стихи, музыка, проза. Обработаны основные механизмы «Теории ИИ» 2 этап. 80-90х. Экспертные системы по различным направлениям ( Основой являются знания экспертов) DENDRAL- анализ физико-химических структур PROSPECTOR- геологический анализ МОДИС, ЛЕДИ-ЗЕТ - медицинская диагностика 3 этап. Новые архитектуры машин. Появились новые направления ИС: Бионаправление (нейронная, биороботы) Физико-химическое направление (квантовые компьютеры) Метакомпьютинг (сетевые вычисления). 2. Классификация ИИС ИИС должна характеризоваться: · Развитая коммуникативная способность · Способность решать слабоорганизованные задачи · Способность к самообучению · Способность к адаптации Классификация ИИС Экспертные системы · Собственно экспертные системы (ЭС) · Интерактивные баннеры (web + ЭС) Вопросно-ответные системы (в некоторых источниках «системы общения») · Интеллектуальные поисковики (например, система Старт) · Виртуальные собеседники Также ЭС классифицируются (из лекций): - анализирующие → статистические - синтезирующие → динамические Классификация задач, решаемых ИИС Интерпретация данных. Это одна из традиционных задач для экспертных систем. Под интерпретацией понимается процесс определения смысла данных, результаты которого должны быть согласованными и корректными. Обычно предусматривается многовариантный анализ данных. Диагностика. Под диагностикой понимается процесс соотношения объекта с некоторым классом объектов и/или обнаружение неисправности в некоторой системе. Неисправность — это отклонение от нормы. Такая трактовка позволяет с единых теоретических позиций рассматривать и неисправность оборудования в технических системах, и заболевания живых организмов, и всевозможные природные аномалии. Важной спецификой является здесь необходимость понимания функциональной структуры («анатомии») диагностирующей системы. Мониторинг. Основная задача мониторинга — непрерывная интерпретация данных в реальном масштабе времени и сигнализация о выходе тех или иных параметров за допустимые пределы. Проектирование. Проектирование состоит в подготовке спецификаций на создание «объектов» с заранее определёнными свойствами. Под спецификацией понимается весь набор необходимых документов -- чертёж, пояснительная записка и т.д. Основные проблемы здесь — получение чёткого структурного описания знаний об объекте и проблема «следа». Прогнозирование. Прогнозирование позволяет предсказывать последствия некоторых событий или явлений на основании анализа имеющихся данных. Прогнозирующие системы логически выводят вероятные следствия из заданных ситуаций. Планирование. Под планированием понимается нахождение планов действий, относящихся к объектам, способным выполнять некоторые функции. В таких ЭС используются модели поведения реальных объектов с тем, чтобы логически вывести последствия планируемой деятельности. Обучение. Под обучением понимается использование компьютера для обучения какой-то дисциплине или предмету. Системы обучения диагностируют ошибки при изучении какой-либо дисциплины с помощью ЭВМ и подсказывают правильные решения. Они аккумулируют знания о гипотетическом «ученике» и его характерных ошибках, затем в работе они способны диагностировать слабости в познаниях обучаемых и находить соответствующие средства для их ликвидации. Управление. Под управлением понимается функция организованной системы, поддерживающая определенный режим деятельности. Такого рода ЭС осуществляют управление поведением сложных систем в соответствии с заданными спецификациями. Поддержка принятия решений. Поддержка принятия решения — это совокупность процедур, обеспечивающая лицо, принимающее решения, необходимой информацией и рекомендациями, облегчающие процесс принятия решения. Эти ЭС помогают специалистам выбрать и/или сформировать нужную альтернативу среди множества выборов при принятии ответственных решений. 3. ЗНАНИЯ И ИХ СВОЙСТВА. СИСТЕМЫ, ОСНОВАННЫЕ НА ЗНАНИЯХ Данные. Знания. Свойства знаний. Классификация знаний. Данные (калька от лат. data) — это представление фактов и идей в формализованном виде, пригодном для передачи и обработки в некотором информационном процессе. Знание — в теории искусственного интеллекта, базах знаний и экспертных системах — совокупность данных, фактов и правил вывода (у индивидуума, общества или у системы ИИ) о мире, включающих в себя информацию о свойствах объектов, закономерностях процессов и явлений, а также правилах использования этой информации для принятия решений. Знания – систематизируемые, структурные данные. Разные ученые указывают различные свойства знаниям. Элвин Тофлер относит к ним следующее: «1. Знание по своей сути не является соперничающим ресурсом. Вы, я и миллион других людей можем воспользоваться одним и тем же фрагментом знания, нисколько его не уменьшая. 2. Знание нематериально. Его нельзя потрогать, погладить или похлопать, но им можно манипулировать. 3. Знание нелинейно. Единичные озарения могут приносить огромные результаты. Студенты Стэнфордского университета Джерри Янг и Дэвид Фило создали поисковую систему Yahoo, просто упорядочив свои любимые сайты. Фред Смит, тоже будучи студентом, внезапно додумался до того, что люди в условиях ускоряющейся экономики должны платить за скорость, и организовал Federal Express - лучшую в мире систему почтовой доставки. 4. Знание относительно. Каждый отдельный фрагмент знания приобретает значение только в системе других фрагментов, создающих контекст. Иногда контекст может быть передан без слов - одной улыбкой или гримасой. 5. Знание соединяется с другим знанием. Чем больше знаний, тем более разнообразны и полезны их комбинации. 6. Знание - самый мобильный продукт. Переведенное в единицы и нули, оно может мгновенно транслироваться как к соседу по дому, так и к десяткам миллионов людей от Гонконга до Гамбурга за ту же цену, близкую к нулю. Свойства знаний (из лекций): 1. Внутренняя интерпритируемость (данные+методанные) 2. Наличие связей (внутренних, внешних), структура связи 3.Возможность шкалирования (оценка соотношения между информационными единицами) – количественная 4.Наличие семантической метрики (средства оценки плохо формализуемых информационных единиц) 5. Наличие активности (неполнота, неточность побуждает их к развитию, пополнению). Классификация знаний Выделяют различные виды знания: научное, обыденное (здравый смысл), интуитивное, религиозное и др. Обыденное знание служит основой ориентации человека в окружающем мире, основой его повседневного поведения и предвидения, но обычно содержит ошибки, противоречия. Научному знанию присущи логическая обоснованность, доказательность, воспроизводимость результатов, проверяемость, стремление к устранению ошибок и преодолению противоречий. По природе Знания могут быть декларативные и процедурные. Декларативные знания (описательные) содержат в себе лишь представление о структуре неких понятий. Эти знания приближены к данным, фактам. Например: высшее учебное заведение есть совокупность факультетов, а каждый факультет в свою очередь есть совокупность кафедр. Процедурные (выражают процедуры, действия) знания имеют активную природу. Они определяют представления о средствах и путях получения новых знаний, проверки знаний. Это алгоритмы разного рода. Например: метод мозгового штурма для поиска новых идей. По степени научности. Знания могут быть научными и вненаучными. Научные знания могут быть: - эмпирическими (на основе опыта или наблюдения) - теоретическими (на основе анализа абстрактных моделей). Вненаучные знания могут быть: Паранаучными, квазинаучными, антинаучными, псевдонаучными, обыденно-практическими и личностными По местонахождению Выделяют: личностные (неявные, скрытые) знания и формализованные (явные) знания; Неявные знания: -знания людей, Формализованные (явные) знания: -знания в документах, -знания на компакт дисках, -знания в персональных компьютерах, -знания в Интернете, -знания в базах знаний, -знания в экспертных системах. 4. Модели представления знаний. (ЕЩЕ есть в лекциях) Одной из наиболее важных проблем, характерных для СОЗ, является представление знаний. Это объясняется тем, что форма представления знаний оказывает существенное влияние на характеристики и свойства системы. Для того, чтобы манипулировать всевозможными знаниями из реального мира с помощью компьютера, необходимо осуществлять их моделирование. Проблема представления знаний - это проблема перехода от внешнего представления некоторого объекта и его связей во внутреннее по отношению к СОЗ. Представление знаний - это их формализация и структурирование (в целях облегчения решения задачи) с помощью которых отражаются основные характерные признаки знаний: -внутренняя интерпретируемость, структурированность, связность, семантическая метрика и активность. (Другими словами, представление знаний - это соглашение о том, как описывать реальный мир.) В рамках этого направления решаются задачи, связанные с формализацией и представлением знаний в памяти ИС с помощью специально разработанных моделей представления знаний. В отличие от методов представления данных, базирующихся на строгих алгоритмах, модели представления знаний имеют дело с информацией, получаемой от специалиста в конкретной предметной области (эксперта), которая часто носит качественный и даже противоречивый характер. Тем не менее, в силу специфики функционирования ЭВМ подобная информация должна быть приведена к формализованному виду. Это осуществляется использованием различных методов и приемов, в частности, на основе идей многозначной логики, теории нечетких множеств, нечетких нейронных сетей и других математических моделей. При работе со знаниями используются два основных подхода: 1. Логический (формальный), при котором основное внимание уделяется изучению и применению теоретических методов представления знаний, формализации, а также логической полноте (например, создание моделей представления знаний на основе некоторых логических исчислений). (Пример: мат.логика, теория вероятности, статистика) 2. Эвристический (когнитивный), который ориентируется на обеспечение возможности решения задачи. При этом опора делается на принцип организации человеческой памяти и эвристическое моделирование. В отличие от формальных эвристические модели имеют разнообразный набор средств, передающих специфические особенности той или иной области. Именно поэтому эвристические модели превосходят логические по выразительности и возможности адекватно представить предметную область.(Пример: Математика, биология, физика, философия) Типичные модели представления знаний: – логические модели; – продукции; – семантические сети; – фреймы; – сценарии; – нечеткие продукционные (лингвистические) правила; – нечеткие нейросетевые модели. Язык, используемый для разработки систем, спроектированных на основе этих моде- лей, называется языком представления знаний. Представление знаний в виде «троек» - (объект, атрибут, значение) 5. СЕМАНТИЧЕСКИЕ СЕТИ Цель - моделирование долговременной памяти человека. Семантическая сеть – это граф, вершинами которого являются некоторые понятия (концепты, сущности), а дугами – связи между ними (отношения). Где О – объекты, r – отношения Объект – это сущность произвольной природы. Классификация объектов: 1. Объект понятия (существительное), 2. Объекты-события (глаголы), 3. Объекты-свойства (прилагательные) Связи – это любые отношения между объектами. Классификация связей: (Теоретико-множественные, функциональные (определяют действия), атрибутивные (определяют свойства), количественные, пространственные, временные, логические и др.) Другие подходы к классификации: 1. по числу типов связей (однородные – все связи однотипные, неоднородные – разные типы связей) 2. по числу объектов (бинарные, тернарные, n-арные) Дерево и фрейм – частные случаи семантической сети. Семантическая связь часто определяется как использующая следующие типы отношений (обязательные, важные, произвольные) Класс – элемент класса Свойства – значение Пример изображения семантических сетей: 1. С использованием обязательных связей Элемент класса ЦВЕТОК → ромашка, роза Свойство ЦВЕТ → белый, желтый, красный Свойство ЗАПАХ → сладковатый, без запаха 2. С использованием произвольных связей «Студент Иванов добросовестно изучает план счетов перед сдачей экзамена по БУ» Достоинства (универсальность, расширяемость, представление любых знаний) Недостатки (Громоздкость, большая размерность, сложность реализации процедур поиска) 6. ЭКСПЕРТНЫЕ СИСТЕМЫ. СТРУКТУРА. ОБЛАСТИ ПРИМЕНЕНИЯ. ТРЕБОВАНИЯ К СИСТЕМЕ И ЭКСПЕРТУ. Экспертная система (ЭС, expert system) — компьютерная программа, способная частично заменить специалиста-эксперта в разрешении проблемной ситуации. ЭС начали разрабатываться исследователями искусственного интеллекта в 1970-х годах, а в 1980-х получили коммерческое подкрепление. В информатике экспертные системы рассматриваются совместно с базами знаний как модели поведения экспертов в определенной области знаний с использованием процедур логического вывода и принятия решений, а базы знаний — как совокупность фактов и правил логического вывода в выбранной предметной области деятельности. Структура экспертной системы Структура ЭС представляет собой - Интерфейс пользователя - Пользователь - Интеллектуальный редактор базы знаний - Эксперт - Инженер по знаниям - Рабочая (оперативная) память - База знаний - Решатель (механизм вывода) - Подсистема объяснений База знаний состоит из правил анализа информации от пользователя по конкретной проблеме. ЭС анализирует ситуацию и, в зависимости от направленности ЭС, дает рекомендации по разрешению проблемы. Как правило, база знаний ЭС содержит факты (статические сведения о предметной области) и правила - набор инструкций, применяя которые к известным фактам можно получать новые факты. В рамках логической модели баз данных и базы знаний записываются на языке Пролог с помощью языка предикатов для описания фактов и правил логического вывода, выражающих правила определения понятий, для описания обобщенных и конкретных сведений, а также конкретных и обобщенных запросов к базам данных и базам знаний. Конкретные и обобщенные запросы к базам знаний на языке Пролог записываются с помощью языка предикатов, выражающих правила логического вывода и определения понятий над процедурами логического вывода, имеющихся в базе знаний, выражающих обобщенные и конкретные сведения и знания в выбранной предметной области деятельности и сфере знаний. Обычно факты в базе знаний описывают те явления, которые являются постоянными для данной предметной области. Характеристики, значения которых зависят от условий конкретной задачи, ЭС получает от пользователя в процессе работы, и сохраняет их в рабочей памяти. Например, в медицинской ЭС факт «У здорового человека 2 ноги» хранится в базе знаний, а факт «У пациента одна нога» — в рабочей памяти. База знаний ЭС создается при помощи трех групп людей: · эксперты той проблемной области, к которой относятся задачи, решаемые ЭС; · инженеры по знаниям, являющиеся специалистами по разработке ИИС; · программисты, осуществляющие реализацию ЭС. Базовые функции: - приобретение знаний; - представление знаний; - управление выводом; - объяснение вывода. 7. КЛАССИФИКАЦИЯ, ЭТАПЫ И СРЕДСТВА РАЗРАБОТКИ ЭКСПЕРТНЫХ СИСТЕМ Экспертная система (ЭС, expert system) — компьютерная программа, способная частично заменить специалиста-эксперта в разрешении проблемной ситуации. ЭС начали разрабатываться исследователями искусственного интеллекта в 1970-х годах, а в 1980-х получили коммерческое подкрепление. В информатике экспертные системы рассматриваются совместно с базами знаний как модели поведения экспертов в определенной области знаний с использованием процедур логического вывода и принятия решений, а базы знаний — как совокупность фактов и правил логического вывода в выбранной предметной области деятельности. Классификация ЭС (из лекций): - классифицирующие; - доопределяющие (дополнение недостающими данными); - трансформирующие (с изменяющимися данными); - мультиагентные (интегрирование данных из разных источников) Классификация ЭС по решаемой задаче - Интерпретация данных - Диагностирование - Мониторинг - Проектирование - Прогнозирование - Сводное Планирование - Обучение - Управление - Ремонт - Отладка (см. ответ на вопрос 21) Классификация ЭС по связи с реальным временем - Статические ЭС - Квазидинамические ЭС - Динамические ЭС Этапы разработки ЭС - Этап идентификации проблем — определяются задачи, которые подлежат решению, выявляются цели разработки, определяются эксперты и типы пользователей. - Этап извлечения знаний — проводится содержательный анализ проблемной области, выявляются используемые понятия и их взаимосвязи, определяются методы решения задач. - Этап структурирования знаний — выбираются ИС и определяются способы представления всех видов знаний, формализуются основные понятия, определяются способы интерпретации знаний, моделируется работа системы, оценивается адекватность целям системы зафиксированных понятий, методов решений, средств представления и манипулирования знаниями. - Этап формализации — осуществляется наполнение экспертом базы знаний. В связи с тем, что основой ЭС являются знания, данный этап является наиболее важным и наиболее трудоемким этапом разработки ЭС. Процесс приобретения знаний разделяют на извлечение знаний из эксперта, организацию знаний, обеспечивающую эффективную работу системы, и представление знаний в виде, понятном ЭС. Процесс приобретения знаний осуществляется инженером по знаниям на основе анализа деятельности эксперта по решению реальных задач. - Реализация ЭС — создается один или нескольких прототипов ЭС, решающие требуемые задачи. - Этап тестирования — производится оценка выбранного способа представления знаний в ЭС в целом. Общая характеристика инструментальных средств для построения экспертных систем По своему назначению и функциональным возможностям инструментальные программы, применяемые при проектировании экспертных систем, можно разделить на четыре достаточно больших категории. (1) Оболочки экспертных систем (expert system shells). Системы этого типа создаются, как правило, на основе какой-нибудь экспертной системы, достаточно хорошо зарекомендовавшей себя на практике. При создании оболочки из системы-прототипа удаляются компоненты, слишком специфичные для области ее непосредственного применения, и оставляются те, которые не имеют узкой специализации. Примером может служить система EMYCIN, созданная на основе прошедшей длительную "обкатку" системы MYCIN. В EMYCIN сохранен интерпретатор и все базовые структуры данных — таблицы знаний и связанный с ними механизм индексации. Оболочка дополнена специальным языком, улучшающим читабельность программ, и средствами поддержки библиотеки типовых случаев и заключений, выполненных по ним экспертной системой. (2) Языки программирования высокого уровня. Инструментальные средства этой категории избавляют разработчика от необходимости углубляться в детали реализации системы — способы эффективного распределения памяти, низкоуровневые процедуры доступа и манипулирования данными. Одним из наиболее известных представителей таких языков является OPS5, о котором уже шла речь в главах 5, 14. Этот язык прост в изучении и предоставляет программисту гораздо более широкие возможности, чем типичные специализированные оболочки. Следует отметить, что большинство подобных языков так и не было доведено до уровня коммерческого продукта и представляет собой скорее инструмент для исследователей. (3) Среда программирования, поддерживающая несколько парадигм (multiple-paradigm programming environment). Средства этой категории включают несколько программных модулей, что позволяет пользователю комбинировать в процессе разработки экспертной системы разные стили программирования. Среди первых проектов такого рода была исследовательская программа LOOP, которая допускала использование двух типов представления знаний: базирующегося на системе правил и объектно-ориентированного (см. об этой программе в главе 5). На основе этой архитектуры во второй половине 1980-х годов было разработано несколько коммерческих программных продуктов, из которых наибольшую известность получили KEE, KnowledgeCraft и ART. Эти программы предоставляют в распоряжение квалифицированного пользователя множество опций и для последующих разработок, таких как КАРРА и CLIPS, и стали своего рода стандартом. Однако освоить эти языки программистам далеко не так просто, как языки, отнесенные нами к предыдущей категории. (4) Дополнительные модули. Средства этой категории представляют собой автономные программные модули, предназначенные для выполнения специфических задач в рамках выбранной архитектуры системы решения проблем. Хорошим примером здесь может служить упоминавшийся в главе 15 модуль работы с семантической сетью, использованный в системе VT. Этот модуль позволяет отслеживать связи между значениями ранее установленных и новых параметров проектирования в процессе работы над проектом. Подобные модули управления семантической сетью можно использовать для распространения внесенных изменений на все компоненты системы Средства разработки ЭС (из лекций): - Универсальные языки (высокого уровня); - Языки обработки символов (LISP, Smalltalk) - Языки обработки знаний (PROLOG) - Системы автоматизированной обработки (CLIPS, KEE) - Оболочки экспертных систем (EXPERT) -Интегрированные инструменты системы (KEATS) 8. ИНТЕЛЛЕКТУАЛЬНЫЕ ПАКЕТЫ ПРИКЛАДНЫХ ПРОГРАММ Ппп -это комплекс взаимосвязанных программ для решения задач определенного класса. Выделяются следующие виды ППП: 1) проблемно-ориентированные. Используются для тех проблемных областей, в которых возможна типизация функций управления, структур данных и алгоритмов обработки. Например, это ППП автоматизации бухучета, финансовой деятельности, управления персоналом и т.д.; 2) автоматизации проектирования (или САПР). Используются в работе конструкторов и технологов, связанных с разработкой чертежей, схем, диаграмм; 3) общего назначения. Поддерживают компьютерные технологии конечных пользователей и включают текстовые и табличные процессоры, графические редакторы, системы управления базами данных (СУБД); 4) офисные. Обеспечивают организационное управление деятельностью офиса. Включают органайзеры (записные и телефонные книжки, календари, презентации и т.д.), средства распознавания текста; 5) настольные издательские системы – более функционально мощные текстовые процессоры; 6) системы искусственного интеллекта. Используют в работе некоторые принципы обработки информации, свойственные человеку. Включают информационные системы, поддерживающие диалог на естественном языке; экспертные системы, позволяющие давать рекомендации пользователю в различных ситуациях; интеллектуальные пакеты прикладных программ, позволяющие решать прикладные задачи без программирования. Этот класс пакетов включает: информационные системы, поддерживающие диалог на естественном языке (естественно-языковый интерфейс); экспертные системы, позволяющие давать рекомендации пользователю в различных ситуациях; интеллектуальные пакеты прикладных программ, позволяющие решать прикладные задачи без программирования. Интеллектуальные пакеты прикладных программ позволяют, аналогично экспертным системам, предварительно создавать базу знаний, включающую совокупность знаний из той или иной области деятельности человека, а затем решать практические задачи с привлечением этих знаний. Различие этих видов пакетов состоит в том, что экспертные системы, в отличие от интеллектуальных ППП, позволяют интегрировать знания из так называемых слабо формализуемых предметных областей, в которых сложно определить входные и выходные параметры задачи, а также невозможно сформировать четкий алгоритм ее решения. Кроме того, экспертные системы не формируют алгоритм решения задачи как в случае интеллектуальных ППП, а лишь выдают "советы" пользователю на основании его запроса. Большое внимание в настоящее время уделяется проблеме создания "интеллектуальных" ППП. Такой пакет позволяет конечному пользователю лишь сформулировать свою задачу в содержательных терминах, не указывая алгоритма ее решения. Синтез решения и сборка целевой программы производятся автоматически. При этом детали вычислений скрыты от пользователя, и компьютер становится интеллектуальным партнером человека, способным понимать его задачи. Предметное обеспечение подобного ППП представляет собой некоторую базу знаний, содержащую как, процедурные, так и описательные знания. Такой способ решения иногда называют концептуальным программированием, характерными особенностями которого является программирование в терминах предметной области использование ЭВМ уже на этапе постановки задач, автоматический синтез программ решения задачи, накопление знаний о решаемых задачах в базе знаний. В заключение данного раздела рассмотрим еще одну современную тенденцию разработки ППП. Она заключается в применении специализированных инструментальных средств и систем, позволяющих ускорить и упростить процесс создания пакета, а также снизить стоимость разработки. При этом особое внимание уделяется созданию системных средств, позволяющих использовать в качестве предметного обеспечения ППП написанные ранее прикладные программы. Кроме того, инструментальные системы обычно реализуются таким образом, что их можно использовать в качестве базы (готовых компонентов) для системного обеспечения разрабатываемых пакетов (поэтому их иногда называют базовые инструментальными системами). Создание инструментальных средств, упрощающих разработку ППП в различных предметных областях, представляет собой одно из актуальных направлений системного программирования в пакетной проблематике. При выборе метода реализации того или иного ППП следует учитывать особенности конкретной ситуации, в частности, имеющиеся в наличии людские и материальные ресурсы. Так пакет библиотечного типа, не являясь развитой системой с точки зрения рассмотренных требований, обладает, однако, тем преимуществом, что входной язык и системное обеспечение такого пакета могут быть достаточно легко реализованы силами прикладного программиста. Поэтому в случае, когда подобный пакет удовлетворяет конкретных пользователей, его разработка является вполне оправданной. Достоинства ППП 1) Сокращение затрат на разработку; (до нескольких десятков процентов, в среднем 20–30%) 2) По сравнению с элементарными средствами, более высокая комплексная увязка решений; 3) Более высокое качество документирования ПИ; 4) Более высокая функциональная надежность; 5) Наличие развитой системы сопровождения (набор сервисных услуг, которые поддерживают эксплуатацию у пользователя); 6) ППП – средство передачи и обмена опытом между разработчиками и между конечными пользователями; Недостатки ППП 1) Сложность освоения ППП; 2) Большое разнообразие ППП по распространенным задачам затрудняет выбор. На сегодня отсутствуют объективные методы оценки ППП; 3) Низкая степень системной увязки существующих ППП (в случае увязки нескольких конкретных программ по входам–выходам); 4) Проблема наращивания и модификации; 5) Малая функциональная полнота. 9. МАШИНЫ ЛОГИЧЕСКОГО ВЫВОДА В ИНТЕЛЛЕКТУАЛЬНЫХ ИНФОРМАЦИОННЫХ СИСТЕМАХ Машина вывода. Дедуктивные выводы Логика - дедуктивное рассуждение (выводы) Машина вывода (интерпретатор правил) выполняет две функции: во-первых, просмотр существующих фактов из рабочей памяти (базы данных) и правил из базы знаний и добавление (по мере возможности) в рабочую память новых фактов и, во-вторых, определение порядка просмотра и применения правил. Этот механизм управляет процессом консультации, сохраняя для пользователя информацию о полученных заключениях, и запрашивает у него информацию, когда для срабатывания очередного правила в рабочей памяти оказывается недостаточно данных. В подавляющем большинстве систем, основанных на знаниях, механизм вывода представляет собой небольшую по объему программу и включает два компонента — один реализует собственно вывод, другой управляет этим процессом. Действие компонента вывода основано на применении правила, называемого modus ponens. Правило modus ponens. Если известно, что истинно утверждение А и существует правило вида «ЕСЛИ А, ТО В», тогда утверждение В также истинно. Правила срабатывают, когда находятся факты, удовлетворяющие их левой части: если истинна посылка, то должно быть истинно и заключение. Компонент вывода должен функционировать даже при недостатке информации. Полученное решение может и не быть точным, однако система не должна останавливаться из-за того, что отсутствует какая-либо часть входной информации. Управляющий компонент определяет порядок применения правил и выполняет четыре функции. 1. Сопоставление — образец правила сопоставляется с имеющимися фактами. 2. Выбор — если в конкретной ситуации может быть применено сразу несколько правил, то из них выбирается одно, наиболее подходящее по заданному критерию (разрешение конфликта). 3. Срабатывание — если образец правила при сопоставлении совпал с какими-либо фактами из рабочей памяти, то правило срабатывает. 4. Действие — рабочая память подвергается изменению путем добавления в нее заключения сработавшего, правила. Если в правой части правила содержится указание на какое-либо действие, то оно выполняется (как, например, в системах обеспечения безопасности информации). Интерпретатор продукций работает циклически. В каждом цикле он просматривает все правила, чтобы выявить те, посылки которых совпадают с известными на данный момент фактами из рабочей памяти. После выбора правило срабатывает, его заключение заносится в рабочую память, и затем цикл повторяется сначала. В одном цикле может сработать только одно правило. Если несколько правил успешно сопоставлены с фактами, то интерпретатор производит выбор по определенному критерию единственного правила, которое срабатывает в данном цикле. Дедукция (лат. deductio — выведение), дедуктивное умозаключение, дедуктивный вывод — метод мышления, при котором частное положение логическим путем выводится из общего, вывод по правилам логики;цепь умозаключений (рассуждение), звенья которой (высказывания) связаны отношением логического следования. Началом (посылками) дедукции являются аксиомы, постулаты или просто гипотезы, имеющие характер общих утверждений («общее»), а концом — следствия из посылок, теоремы («частное»). Если посылки дедукции истинны, то истинны и ее следствия. Дедукция — основное средство доказательства. Противоположно индукции. Машина вывода. Индуктивные выводы. Логика индуктивная (дополняет дедуктивную). Индукция (лат. inductio — наведение) — процесс логического вывода на основе перехода от частного положения к общему. Индуктивное умозаключение связывает частные предпосылки с заключением не столько через законы логики, а скорее через некоторые фактические, психологические или математические представления. Различают полную индукцию — метод доказательства, при котором утверждение доказывается для конечного числа частных случаев, исчерпывающих все возможности, и неполную индукцию — наблюдения за отдельными частными случаями наводит на гипотезу, которая, конечно, нуждается в доказательстве. Также для доказательств используется метод математической индукции. Индуктивные выводы возможны в случае, когда представление результата вывода частично определяется из представления входной информации. В последнее время обращают на себя внимание программы генерации программ по образцу с использованием индуктивных выводов. Машина вывода. Прямой и обратный вывод. Прямой и обратный вывод (взять из лекций) Пусть БЗ состоит из двух правил: П1: ЕСЛИ «отдых-летом» и «человек-активный», ТО «ехать в горы» П2: ЕСЛИ «любит-солнце», ТО «отдых-летом» В систему поступили факты: 1- человек активный 2- любит солнце Цель – получить рекомендацию 1. Прямой вывод. Управление фактами: (факты → цель) Цикл 1. Шаг 1. Правило1. Не срабатывает. Не хватает факта «отдых-летом» Шаг2. Правило 2. Срабатывает. В рабочей памяти поступает новый факт «отдых-летом» Шаг 3. Правил нет – конец Цикла 1. Цикл 2. Шаг 1.Пробуем правило П1, не сработавшие ранее срабатывают. В РП поступает факт «ехать в горы» Шаг 2. Больше не сработавших правил нет. Ответ системы – «ехать в горы» 2. Обратный вывод. Управление целями. (Цель → факт) Цикл 1. Шаг 1. Выдвигается гипотеза (цель) – «ехать в горы». Подтвердим ее. Шаг2. Пробуем П1 – не работает. Не хватает фактов, «отдых-летом». Он становится новой целью. Шаг 3. Пробуем П2 – работает. Цель подтверждается. (Она рассматривается как факт – заносится в РП). П2 понимается как сработавшее. Цикл 2. Шаг 1. Выдвигается цель «ехать в горы». Шаг 2. Пробуем П1 – работает. Цель подтверждается. Шаг 3. Больше правил – нет. Ответ ЭС – «ехать в горы» 10. ИСКУССТВЕННЫЙ НЕЙРОН, НЕЙРОННЫЕ СЕТИ. КЛАССИФИКАЦИЯ. В последние несколько лет мы наблюдаем взрыв интереса к нейронным сетям, которые успешно применяются в самых различных областях - бизнесе, медицине, технике, геологии , физике. Нейронные сети вошли в практику везде, где нужно решать задачи прогнозирования, классификации или управления. Такой впечатляющий успех определяется несколькими причинами: Богатые возможности. Нейронные сети - исключительно мощный метод моделирования, позволяющий воспроизводить чрезвычайно сложные зависимости. В частности, нейронные сети нелинейны по свой природе (смысл этого понятия подробно разъясняется далее в этой главе). На протяжение многих лет линейное моделирование было основным методом моделирования в большинстве областей, поскольку для него хорошо разработаны процедуры оптимизации. В задачах, где линейная аппроксимация неудовлетворительна (а таких достаточно много), линейные модели работают плохо. Кроме того, нейронные сети справляются с "проклятием размерности", которое не позволяет моделировать линейные зависимости в случае большого числа переменных Простота в использовании. Нейронные сети учатся на примерах. Пользователь нейронной сети подбирает представительные данные, а затем запускает алгоритм обучения, который автоматически воспринимает структуру данных. При этом от пользователя, конечно, требуется какой-то набор эвристических знаний о том, как следует отбирать и подготавливать данные, выбирать нужную архитектуру сети и интерпретировать результаты, однако уровень знаний, необходимый для успешного применения нейронных сетей, гораздо скромнее, определение искусственного нейрона дается следующим образом: Он получает входные сигналы (исходные данные либо выходные сигналы других нейронов нейронной сети) через несколько входных каналов. Каждый входной сигнал проходит через соединение, имеющее определенную интенсивность (или вес); этот вес соответствует синаптической активности биологического нейрона. С каждым нейроном связано определенное пороговое значение. Вычисляется взвешенная сумма входов, из нее вычитается пороговое значение и в результате получается величина активации нейрона (она также называется пост-синаптическим потенциалом нейрона - PSP). Классификация по типу входной информации Аналоговые нейронные сети (используют информацию в форме действительных чисел); Двоичные нейронные сети (оперируют с информацией, представленной в двоичном виде). Классификация по характеру обучения Обучение с учителем — выходное пространство решений нейронной сети известно; Обучение без учителя — нейронная сеть формирует выходное пространство решений только на основе входных воздействий. Такие сети называют самоорганизующимися; Обучение с подкреплением — система назначения штрафов и поощрений от среды. Классификация по характеру настройки синапсов Сети с фиксированными связями (весовые коэффициенты нейронной сети выбираются сразу, исходя из условий задачи, при этом, где W — весовые коэффициенты сети); сети с динамическими связями (для них в процессе обучения происходит настройка синоптических связей, то есть, где W — весовые коэффициенты сети). Классификация по времени передачи сигнала В ряде нейронных сетей активирующая функция может зависеть не только от весовых коэффициентов связей, но и от времени передачи импульса (сигнала) по каналам связи. Поэтому в общем виде активирующая (передающая) функция связи от элемента к элементу имеет вид: . Тогда синхронной сетью называют такую сеть, у которой время передачи каждой связи равно либо нулю, либо фиксированной постоянной . Асинхронной называют такую сеть у которой время передачи для каждой связи между элементами и свое, но тоже постоянное. Классификация по характеру связей Сети прямого распространения (Feedforward).Все связи направлены строго от входных нейронов к выходным. Примерами таких сетей являются перцептрон Розенблатта, многослойный перцептрон, сети Ворда. Рекуррентные нейронные сети Сигнал с выходных нейронов или нейронов скрытого слоя частично передается обратно на входы нейронов входного слоя (обратная связь). Рекуррентная сеть Хопфилда «фильтрует» входные данные, возвращаясь к устойчивому состоянию и, таким образом, позволяет решать задачи компрессии данных и построения ассоциативной памяти[13]. Частным случаем рекуррентных сетей является двунаправленные сети. В таких сетях между слоями существуют связи как в направлении от входного слоя к выходному, так и в обратном. Классическим примером является Нейронная сеть Коско. Самоорганизующиеся карты Кохонена служат, в первую очередь, для визуализации и первоначального («разведывательного») анализа данных. Области применения Класс задач, которые можно решить с помощью нейронной сети, определяется тем, как сеть работает и тем, как она обучается. При работе нейронная сеть принимает значения входных переменных и выдает значения выходных переменных. Таким образом, сеть можно применять в ситуации, когда у Вас имеется определенная известная информация, и Вы хотите из нее получить некоторую пока не известную информацию (Patterson, 1996; Fausett, 1994). Вот некоторые примеры таких задач: Прогнозирование на фондовом рынке. Зная цены акций за последнюю неделю и сегодняшнее значение индекса FTSE, спрогнозировать завтрашнюю цену акций. Предоставление кредита. Требуется определить, высок ли риск предоставления кредита частному лицу, обратившемуся с такой просьбой. В результате разговора с ним известен его доход, предыдущая кредитная история и т.д. Управление. Нужно определить что должен делать робот (повернуться направо или налево, двигаться вперед и т.д.), чтобы достичь цели; известно изображение, которое передает установленная на роботе видеокамера. Терминология Банк данных – разновидность информационной системы, в которой реализованы функции централизованного хранения и накопления обрабатываемой информации организованной в одну или несколько баз данных. Банк данных в общем случае состоит из нескольких компонентов: База данных или несколько баз данных, Системы Управления Базами Данных, Словаря данных, администратора, Вычислительной системы и персонала. База данных – совокупность специальным образом организованных данных, хранимых в памяти вычислительной системы и отображающих состояние объектов и их взаимосвязей в рассматриваемой предметной области. Моделью представления данных называют логическую структуру хранимых в БД данных. Основными моделями данных являются: иерархическая, сетевая, реляционная, пост-реляционная, многомерная, объектно-ориентированная. СУБД – комплекс языковых и программных средств, предназначенный для создания, ведения и совместного использования БД многими пользователями. Обычно СУБД классифицируют по используемой модели данных. Приложение – представляет собой программу или комплекс программ, который обеспечивает автоматизированную обработку информации для прикладной задачи. Словарь данных предназначен для централизованного хранения информации о структурах данных, взаимосвязях файлов БД друг с другом, типов данных и форматов их представления, принадлежности данных пользователям, коды защиты и разграничение доступа. Администратор базы данных – лицо или группа лиц, отвечающих за выработку требований к БД, ее проектирование, создание, эффективное использование и сопровождение. Целостность БД есть свойство БД, означающее, что в ней содержится полная непротиворечивая и адекватно отражающая предметную область информация. Реляционная модель данных некоторой предметной области – это набор отношений, который изменяется во времени. Формы текущего, промежуточного и рубежного контроля Вопросы Основные концепции баз данных. Файловые системы. База данных. Система управления базами данных - СУБД. Структура и функции СУБД. Классификация СУБД. Компоненты СУБД. Трехуровневая архитектура ANSI-SPARC. Сетевая архитектура систем БД. Проектирование базы данных. Цели проектирования базы данных. Подходы к проектированию базы данных. Критерий оптимальности модели данных. Модель "Сущность - связь". Основные термины модели "Сущность - связь". Проблемы моделирования. Расширенная модель "сущность-связь" Методы проектирования баз данных. Проектирование баз данных с помощью правил нормализации. Проектирования баз данных с помощью метода ?сущность - связь?. Этапы проектирования. Нормальные формы. Декомпозиция без потерь. 1НФ, 2НФ, ЗНФ и НФБК. Нормальные формы высших порядков. Реляционная алгебра. Замкнутость реляционной алгебры. Примитивные операции. Производные операции. Свойства операторов реляционной алгебры. Реляционная модель данных в теории баз данных. Домены. Отношения. Определение отношения. Свойства отношений. Отношения и их интерпретация. Представления отношений. Переменные-отношения. Определение базовых переменных-отношений. Обновление переменных-отношений. Средства определения переменных-отношений языка SQL. Функциональные зависимости. Тривиальные и нетривиальные зависимости. Транзитивные функциональные зависимости. Сокращения количества функциональных зависимостей. Замыкание множества функциональных зависимостей. Правила вычисления замыкания. Неприводимые множества зависимостей Ограничения целостности. Классификация ограничений целостности. Средства определения ограничений целостности языка SQL. Язык SQL. Операторы выборки данных и операторы реляционной алгебры. Операторы модификации данных. Операторы определения данных и ограничения целостности. Принципы организации системы безопасности на примере одной из современных СУБД. Операторы разграничения прав пользователей. Лабораторная работа №1 |