Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

билет 2

.pdf
Скачиваний:
8
Добавлен:
12.04.2015
Размер:
1.84 Mб
Скачать

Билет 2

Вопрос 1

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

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

Под термином «представление знаний» чаще всего подразумеваются способы представления знаний, ориентированные на автоматическую обработку современнымикомпьютерами, и, в частности, представления, состоящие из явных объектов ('класс всех слонов', 'Клайд — индивид') и из суждений или утверждений

о них ('Клайд — слон', 'все слоны серые'). Представление знаний в подобной явной форме позволяет компьютерам делать дедуктивные выводы из ранее сохранённого знания ('Клайд — серый').

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

Некоторые вопросы, которые возникают в представлении знаний с точки зрения ИИ:

Как люди представляют знания?

Какова природа знаний и как мы их представляем?

Должна ли схема представления связываться с частной областью знаний, или она должна быть общецелевой?

Насколько выразительна данная схема представления?

Должна ли быть схема декларативной или процедурной?

Было очень немного скрупулёзного, нисходящего обсуждения вопросов представления знаний, и исследования в данной области так по сути и не продвинулись за последние годы. Есть хорошо известные проблемы, такие как «spreading activation» (задача навигации в сети узлов), категоризация (это связано с выборочным наследованием; например, вездеход можно считать специализацией (особым случаем) автомобиля, но он наследует только некоторые характеристики) и классификация.

Например, помидор можно считать как фруктом, так и овощем.

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

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

Информационный процесс представления знаний

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

Основные свойства знаний:

Внутренняя интерпретируемость. Вместе с элементом данных в ЭВМ хранится система имен. Это позволяет «знать», что хранится в памяти системы и уметь отвечать на запросы о содержании памяти..

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

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

Формы существования знаний:

в памяти человека (эксперта)

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

Типы знаний:

Глубинные знания - результат обобщения первичных понятий в абстрактные структуры;

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

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

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

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

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

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

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

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

Логическая модель представления знаний

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

М = < T, P, A, F >,

где T - множество базовых элементов,

P - множество правил,

A - множество истинных выражений (аксиом),

F - правило вывода.

Рассмотрим подробнее, что представляют собой базовые элементы Т:

Т = Т1 U Т 2 U Т 3 U Т 4 U Т5 .

Множество Т1 - это имена задач и подзадач, Т1 = { И1, И2, ....,};

Множество Т2 определяет структуру их взаимосвязи,{ ǽ, υ };

Множество Т3 - это символы сведения задач к подзадачам, { → };

Множество Т4 - вспомогательные символы,{ ( , )};

Множество Т5 - cимволы истинности и ложности результатов решения,{ t, f }

На основе символов алфавита строятся формулы логической модели, т.е. множество правил Р, например : .Задается имя задачи и ее описание;

Обозначим описание задач А,В. Тогда, если Аǽ В, то это значит, что нужно решить задачу с описанием А и описанием В.

Если А υ В , то это описание задачи, для которой следует решать или задачу с описанием А или задачу с описанием В.

Если описанием задачи является ее имя, то задача называется элементарной. Если задача с именем И сводится к задаче с описанием А , то можно записать И → А. При этом элементы с описанием А являются описанием подзадач, входящих в задачу с именем И.

3. Дополнительные символы 1,Ø означают описания задач с результатами их решения. При этом символ 1 означает А = t; символ Ø означает A= f.

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

А υ В = В υ А. Смысл аксиомы в том, что определяется решение задачи из двух подзадач А и В. Искомая задача будет решена, если решена одна из подзадач.

(А υ В ) υ С = А υ (В υ С), т.е., если имеются три подзадачи А,В,С, то исходная задача решена, если решена одна из подзадач, при этом любые две подзадачи могут быть объединены в одну подзадачу.

( Аæ В ) æ С = А æ ( В æ С). При такой записи аксиомы предполагается, что исходная задача включает три подзадачи А,В,С. Решение задачи может быть получено, если решены подзадачи А,В. Т.к. между А и Вотсутствует знак символьной связи, подзадачи могут решаться в любой последовательности.

Всего для построения логической модели используется 10 аксиом.

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

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

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

Алгоритмическая модель представления знаний.

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

Алфавит определяется множеством Т = Т1 U Т2 U Т3,

где: Т1 = {A1, A2, ...An } - имена подзадач. Последовательность А представляет собой описание исходной задачи;

Т2 = { ; , case, of, while, do } - включает слова, позволяющие строить синтаксические конструкции описания последовательности решения ( например, case A of A1,A2, ...An - означает, что описание исходной задачи А, для решения которой достаточно решить одну подзадачу);

Т3 = { begin, end} - вспомогательные значения.

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

Семантическая модель представления знаний.

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

G = { Y1, Y2,...Yn; β1, β2,...βm },

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

Вершины отображают сущности разной степени общности. Их упорядочение происходит по видам отношений.

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

Фреймовая модель представления знаний.

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

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

Ф = [ (C1,d1), (C2,d2),...(Cn,dn) ],

где Ф - имя фрейма; С - имена слотов;

d - значения слотов.

Заполнение слотов происходит по мере получения знаний о предметной области.

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

Продукционная модель содержит совокупность Правил (продукции) в виде:

ЕСЛИ условие ТО действие ЕСЛИ причина ТО следствие ЕСЛИ ситуация ТО решение.

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

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

Вопрос 2

Физическая организация БД.

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

Основными средствами физического моделирования в БнД являются:

1.структура хранения данных (в простейшем случае, структуру хранения данных можно представить в виде структуры записи файла БД, которая включает поля записи, порядок их размещения, типы и длины полей);

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

3.язык описания данных.

ВСУБД на ПК чаще всего используют следующие типы поисковых структур:

-

линейный список;

-

цепной список;

-

инвертированные файлы;

-

индексные файлы.

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

Достоинства: по критерию «min-памяти» он наиболее экономичный.

Недостаток: по быстродействию проигрывает остальным способам.

Цепной список представляет собой файл, записи которого имеют ссылки на другие записи. Ссылками элементов являются указатели, которые встраиваются в записи как дополнительные поля. Поле, которое выделяется под указатель называется адресомсвязи. Чтобы войти в список надо указать адрес начала списка (АНС).

Пример цепного списка приведем ниже:

ФС– фиксатор списка или заголовок

АС– адрес связи

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

Достоинства: обеспечивает самый быстрый поиск данных по не ключевому полю.

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

Инвертированный по полю «год»

 

Фамилия

Год

Телефон

Должность

001

Квитко

1969

792-55-66

Техник

002

Сейфулин

1969

599-99-99

Инженер

003

Борисов

1970

458-46-10

Инженер

Целесообразно создавать файлы, которые содержат вместо записей БД адреса этих данных.

Индексный файл содержит два поля: поле, по которому упорядочивают и поле адресов.

Год

Адрес

1969

002

1969

003

1970

001

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

БД={ФБД, [ИФ1,ИФ2,…, ИФп]}

Хешированные файлы

Статическое хеширование

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

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

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

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

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

Более популярный альтернативный метод основан на перемешивании на основе остатка от деления.

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

Если х - ключ, то h(x) является номером сегмента, который содержит запись с ключом х (при условии существования такой записи). Блоки, составляющие каждый сегмент, образуют связный список. Таким образом, заголовок i-го блока содержит указатель на физический адрес (i+1)-го блока. Последний блок сегмента содержит в своём заголовке NIL-указатель.

Список элементов каждого бакета

0

1

В-1

Рисунок 5 – Схема организации хешированного файла

Заголовки Использование метода хеширования для извлечения записей основано на

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

Динамическое хеширование

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

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