Лабораторная 1. Представление знаний

ЛАБОРАТОРНАЯ РАБОТА 1.
РАЗЛИЧНЫЕ СПОСОБЫ
ПРЕДСТАВЛЕНИЯ ЗНАНИЙ

Задание по лабораторной работе:
1.Необходимо описать факты и правила согласно индивидуальному заданию и выполнить четыре запроса в системе SWI_Prolog,
2. Представление базы знаний с помощью семантической сети по программе
3. Представление базы знаний с помощью фреймов на бумаге.
Индивидуальные варианты:
1. Флэш собака. Ровер собака. Бутси кошка. Стар лошадь.
Флэш черная. Бутси коричневая. Ровер рыжая. Стар белая.
Домашнее животное: собака или кошка.
Животное: домашнее или лошадь.
У Тома есть собака не черного цвета.
У Кейта есть лошадь или что-то черного цвета.
Запросы:
Ровер рыжая?
Определить клички всех собак.
Определить владельцев чеголибо.
Определить владельцев животных небелого цвета.
2. Бутси коричневая кошка. Корни черная кошка. Мактэвити рыжая кошка.
Флэш, Ровер и Спот собаки; Ровер рыжая, а Спот белая. Флэш пятнистая собака.
Все животные, которыми владеют Том и Кейт, имеют родословные.
Том владеет всеми черными и коричневыми животными.
Кейт владеет всеми собаками не белого цвета, которые не являются собственностью Тома.
Алан владеет Мактэвити, если Кейт не владеет Бутси и если Спот не имеет родословной.
Запросы:
Какие животные не имеют хозяев?
Найдите всех собак и укажите их цвет.
Укажите всех животных, которыми владеет Том.
Перечислите всех собак Кейта.
3. Определить родственные отношения: СЫH, ДОЧЬ, ОТЕЦ, МАТЬ, МУЖЧИHА и ЖЕHЩИHА.
Описать факты для некоторых из них.
Запросы:
Определить всех сыновей определенной матери.
Определить всех детей определенной пары родителей.
Определить родителей определенного человека.
Является ли определенный человек женщиной?
4. Мэри любит персики. Мэри любит кукурузу. Мэри любит яблоки.
Бет любит то, что любит Мэри, если это фрукт и если он красный.
Бет любит то, что любит Мэри, если это кукуруза.
Персики фрукт. Яблоки фрукт.
Цвет персиков желтый. Цвет апельсинов оранжевый. Цвет яблок красный.
Цвет яблок красный. Цвет яблок желтый.
Запросы:
Что любит Бет?
Любит ли Мэри кукурузу?
Какие фрукты известны?
Какого цвета фрукты, которые любят Бет и Мэри?
5. Задано дерево родственных связей:


Пам Том Кроме того, определить отношения
\ /\ ПОЛ, РЕБЕHОК, РОДИТЕЛЬ_РОДИТЕЛЯ и
\ / \ МАТЬ.
\ / \
Боб Лиз Запросы: Кто родитель Пат?
/ \ Есть ли у Лиз ребенок?
/ \ Кто потомки Пат?
/ \ Является ли Пам матерью Боба?
Энн Пат
/
/
/
Джим
6. Медведь большой. Слон большой. Кот маленький. Медведь коричневый.
Кот черный. Слон серый. Любой черный или коричневый предмет является темным.
Запросы:
Кто одновременно большой и темный?
Есть ли коричневые маленькие слоны?
Есть ли большие и темные медведи?
Есть ли черный кот?
7. Мэри, Сьюзи и Джейн работают в дневную смену. Сэм, Джейн, Боб и Патриция работают в вечернюю смену. Знают друг друга те, кто работает в одну смену.
Запросы:
Знают ли друг друга Мэри и Джейн?
Кто работает в дневную смену?
Есть ли ктото, кто работает в обе смены?
Есть ли ктото, кто не знает друг друга?
8. Можно совершить такие виды путешествий:
Компания Из В Вид транспорта
Амтрак Hью-Йорк Бостон Поездом
Транзит Hью-Йорк Принстон Поездом
Амтрак Бостон Портленд Поездом
Грейхаунд Бостон Портленд Автобусом
Амтрак Hью-Йорк Вашингтон Поездом
Пиплз Hью-Йорк Вашингтон Самолетом
Пиплз Бирлингтон Hью-Йорк Самолетом
Любые две транспортные компании являютя конкурентами, если они обслуживают один и тот же маршрут.
Можно путешествовать из одного города в другой, если возможно путешествие из одного города в другой через промежуточный (третий) город.
Запросы:
Являются ли Амтрак и Пиплз конкурентами?
Какие компании дают возможность путешествовать из HьюЙорка в Вашингтон?
Можно ли путешествовать из Бирлингтона в Портленд?
Определить всех конкурентов.
9. Определить факты о принадлежности студента определенной студенческой группе. Считается, что два студента знают друг друга, если они учатся в одной группе.
Запросы:
Кого знает определенный студент?
Определить состав определенной группы.
В каких группах учатся люди с определенным именем?
Знает ли один студент другого?
10. Имеются факты о маршрутах движения автобусов между двумя разными городами, в которых указаны: номер маршрута, названия двух городов, день и время отправления и прибытия. Известны также фамилии водителей, работающих на определенных маршрутах. Можно попасть из одного города в другой, если существуют автобусные маршруты из первого города во второй или из первого города в промежуточный и из промежуточного во второй (причем подходят и дни, и часы отправления) .
Запросы:
Можно ли проехать из одного города в другой?
Указать автобусы, выходящие из определенного города в определенный день и время их отправления.
Перечислить фамилии водителей определенного маршрута.
Указать дни и часы отправления определенного маршрута.
11. Есть факты об отцах некоторых людей и о братьях некоторых людей. Определить отношение ДЯДЯ.
Запросы:
Определить братьев конкретного человека.
Кто является отцом конкретного лица?
Определить, связаны ли два человека отношением ОТЕЦ.
Определить, является ли один человек дядей другого.
12. Определить отношения РОДИТЕЛЬ, ЖЕHЩИHА как набор фактов, правила:
РАЗЛИЧHЫ, СЕСТРА (определяемое через РОДИТЕЛЬ, ЖЕHЩИHА и РАЗЛИЧHЫ) и ТЕТЯ (определяемое через РОДИТЕЛЬ и СЕСТРА).
Запросы:
Кто является родителями определенного человека?
Определить всех детей определенных родителей.
Определить, есть ли сестры у определенного человека.
Определить, есть ли тетя у определенного человека.
13. Экспертная система для определения породы собак.

Правила
Порода собак
NN свойств

Английский бульдог
1,3.5,7

Бигл
1,3,6,7

Большой Дан
1,5,6,7,8

Американский Фокс
1,4,6,7

Кокер-спаниель
2,3,5,6,7

Ирландский сеттер
2,4,6

Колли
2,4,5,7

Сен-бернар
2,5,7,8

Свойства
Номер
Значение

1
Короткая шерсть

2
Длинная шерсть

3
Высота более 22 см

4
Высота более 30 см

5
Опущенный хвост

6
Удлиненные глаза

7
Хорошая порода

8
Вес свыше 100 фунтов

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

15. Имеются следующие факты и правила:
Иван, Елена, Татьяна, Игорь – студенты;
студент получает зачет, если он отчитается по лабораторным занятиям;
Иван отчитается по лабораторным занятиям только вместе с Игорем;
Елена и Татьяна отчитались по лабораторным занятиям и пойдут вечером на дискотеку;
если Игорь пойдет на дискотеку вместе с Татьяной, то он отчитается по лабораторным занятиям;
Игорь пойдет вечером на дискотеку, если у него будет свободное время.
Сформировать следующие запросы:
Кто пойдет вечером на дискотеку?
Кто получит зачет?
Кто не отчитался по лабораторным работам?
Игорь отчитался по лабораторным работам?
16. Дан список сотрудников некоторого предприятия:
Имя:
Иван
Елена
Джон
Мария
Том
Эрик
Билл
Марк

Возраст:
22
25
40
22
32
22
32
43

Определив правило «А старше Б», сформировать следующие запросы:
Сколько лет Тому?
Работают ли на предприятии люди, которым 22 года?
Кто старше Джона?
Кто из работающих на предприятии являются ровесниками?
17. Дан список сотрудников некоторого предприятия:
Имя:
Иван
Елена
Джон
Мария
Том
Эрик
Билл
Марк

Возраст:
22
25
40
22
32
22
32
43

Определив правила «А старше Б» и «А и Б являются ровесниками», сформировать следующие запросы:
Сколько лет Тому?
Работают ли на предприятии люди, которым 22 года?
Кто старше Джона?
Кто из работающих на предприятии являются ровесниками?

Такие понятия как "интеллект", "интеллектуальность", у специалистов различного профиля (системного анализа, информатики, нейропсихологии, психологии, философии и др.) могут несколько различаться, причем это не несет в себе никакой опасности.
Примем следующую "формулу интеллекта":
"Интеллект = цель + факты + способы их применения",
или, в несколько более "математическом", формализованным виде:
"Интеллект = цель + аксиомы + правила вывода из аксиом".
При поиске наиболее удобных, рациональных средств и форм информационного обмена человек чаще всего сталкивается с проблемой компактного, однозначного и достаточно полного представления знаний.
Знания - система понятий и отношений для такого обмена. Можно условно классифицировать знания в предметной области на понятийные, конструктивные, процедурные, фактографические знания и метазнания.
Понятийные знания - набор понятий, используемых при решении данной задачи, например, в фундаментальных науках и теоретических областях наук, т.е. это понятийный аппарат науки.
Конструктивные знания - наборы структур, подсистем системы и взаимодействий между их элементами, например, в технике.
Процедурные знания - методы, процедуры (алгоритмы) их реализации и идентификации, например, в прикладных науках.
Фактографические - количественные и качественные характеристики объектов и явлений, например, в экспериментальных науках.
Метазнания - знания о порядке и правилах применения знаний ( знания о знаниях ).
Представление знаний есть процесс, конечная цель которого - представление информации (семантического смысла, значения) в виде информативных сообщений (синтаксических форм): фраз устной речи, предложений письменной речи, страниц книги, понятий справочника, объектов географической карты, мазков и персонажей картины и т.п.

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

Использование языковых систем и диалектов повышает надежность информационного обмена, снижая возможность неправильного истолкования передаваемой информации и уровень шумов в сообщениях. Главное назначение языка науки - создавать и использовать типовые, "стандартные" формы изложения, сжатия и хранения знаний, ликвидация полисемии (смысловой многозначности) естественного языка. Полисемия, обогащая естественный язык, делая его богаче и выразительнее, тем не менее, является в информационном обмене источником семантического шума, смысловой неоднозначности, а часто - и алогичности, неалгебраичности.
Одной из важных форм (методов) формализации знаний является их представление классом (классификация ).
Классификация - выделение некоторого критерия (некоторых критериев) распределения и группировка систем или процессов таким образом, что в одну группу попадают лишь те системы (процессы), которые удовлетворяют этому критерию (значению критерия). Классификация - это метод научной систематики, особенно важный на начальном этапе формирования базовых знаний научного направления. Классификация, установление эквивалентности объектов, систем позволяет решать такие важные задачи информатики как фиксация знаний, поиск по образцу, сравнение и др.
Пример. Такими системами являются классификационная система К. Линнея в ботанике, систематика живых организмов, таблица элементов Д. Менделеева, систематика экономических систем, механизмов, "табель о рангах", введенная Петром Первым в 1722 г. Эта табель подразделяла чины на 14 рангов. Каждому чину соответствовала определенная должность. Первые 6 рангов статской и придворной служб и первый обер-офицерский чин в армии давали право на получение потомственного дворянства, что способствовало формированию дворянской бюрократии. Таким образом, "табель о рангах" выполняла социально-экономическую классификацию определенной (определяющей) части общества, социально-экономическое стимулирующее упорядочивание.
Указанные выше классификационные системы - иерархические структуры (модели) представления знаний. Отдельные понятия, факты, знания, связаны между собой отношениями индуктивного (от частного к общему), дедуктивного (от общего к частному) или индуктивно-дедуктивного вывода и формализуются соответствующими формальными структурами: древовидными, морфологическими, реляционными и др.
Пример. Рассмотрим систему "Фирма". Опишем всех сотрудников фирмы в лексикографически упорядоченном списке с именем "Сотрудники", указывая табельный номер, ФИО, год рождения, образование, специальность, разряд, стаж работы. Этот список дает нам знание о коллективе, его возрастных и профессиональных качествах и др. Составим другой список - "Заработная плата", где укажем для каждого сотрудника условия оплаты, величину их заработка (стоимости единицы времени их работы). Этот список дает нам знания о системе оплаты фирмы, ее финансового состояния и др. Оба списка содержат необходимый объем знаний о трудовом коллективе, если цель исследования этой системы - начисление заработной платы.
Для компьютерного представления и обработки знаний и данных о предметной области (об объектах, процессах, явлениях, их структуре и взаимосвязях), они должны быть формализованы и представлены в определенном формализованном виде.
При традиционном способе реализации математической модели, знаний, заложенных в ней, строится моделирующий алгоритм (моделирующая программа), т.е. знания процедурно зависят от метода (алгоритма) обработки. В интеллектуальных системах (в системах искусственного интеллекта, в частности) знания о предметной области представлены в виде декларативной (описательной) модели формирования базы знаний и соответствующих правил вывода из нее и явно не зависят от процедуры их обработки. Для этого используются специальные модели представления знаний, например, продукционные, фреймовые, сетевые и логические. При обработке модели знаний используются процедуры логического вывода, называемые также механизмом или машиной вывода. Обычно в базе знаний зафиксированы общие закономерности, правила, описывающие проблемную среду и предметную область.
Процедуры вывода позволяют на основании общих правил вывести решение для заданной конкретной ситуации, описываемой некоторыми исходными данными. Цепочка логического вывода строится по мере приближения к решению, в зависимости от введенных на каждом шаге данных и выведенных к этому шагу новых знаний. Конкретные формы организации дедуктивного вывода зависят от того, в какой форме представлены знания в базе знаний (на каком языке представления знаний).

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

Продукционная модель, или модель, основанная на правилах, позволяет представить знания в виде предложений типа:
ЕСЛИ посылка, ТО заключение.
Посылка и заключение – это некоторые высказывания.
Здесь необходимо ввести понятия высказывания и исчисления высказываний.
Высказывание есть утвердительное предложение, которое либо истинно, либо ложно, но не то и другое вместе.
Примеры высказываний: «Снег белый», «Прохоров – декан».
Исчисление высказываний – формальная логическая система. Множество ее базовых элементов составляют логический алфавит T из множества высказываний, обозначаемых строчными латинскими буквами (иногда с индексами) и называемых атомами и четырех элементарных логических функций (связок):
«отрицание» ~, , not, не;
«конъюнкция» 13SYMBOL 217 \f "Symbol" \s 1414Щ15, &, and, и;
«дизъюнкция» 13SYMBOL 218 \f "Symbol" \s 1414Ъ15, 13SYMBOL 247 \f "Symbol" \s 1414ч15, or, или;
«импликация» 13SYMBOL 174 \f "Symbol" \s 1414®15;
Исчисление высказываний дает возможность строить составные высказывания из простых, соединяя их логическими связками.
Значение истинности высказывания зависит от его структуры и от значений истинности составляющих ее простых высказываний (табл. 3.1).

Таблица 3.1
P
Q
- P
P 13SYMBOL 217 \f "Symbol" \s 1414Щ15 Q
P 13SYMBOL 218 \f "Symbol" \s 1414Ъ15 Q
P 13SYMBOL 174 \f "Symbol" \s 1414®15 Q

И
И
Л
И
И
И

И
Л
Л
Л
И
Л

Л
И
И
Л
И
И

Л
Л
И
Л
Л
И


Расширением исчисления высказываний является исчисление предикатов.
В логике предикатов по сравнению с логикой высказываний имеется еще три логических понятия: термы, предикаты и кванторы.
Термы описывают понятия изучаемой предметной области, а предикаты свойства этих понятий, а также их поведение и отношения между ними.
Кроме того, имеется два квантора: 13SYMBOL 34 \f "Symbol" \s 1414"15 всеобщности и 13SYMBOL 36 \f "Symbol" \s 1414$15 существования. Если x терм, то (13SYMBOL 34 \f "Symbol" \s 1414"15x) читается как «для всех x», «для каждого x», «для любого x», тогда как (13SYMBOL 36 \f "Symbol" \s 1414$15x) читается как «существует x», «для некоторых x», «по крайней мере для одного x».
Запишем следующие утверждения:
Каждое рациональное число есть вещественное число.
Существует число, которое является простым.
Для каждого числа x существует такое число y , что xОбозначим «x есть простое число» через предикат P(x), «x есть рациональное число» через Q(x), «x есть вещественное число» через R(x) и «x меньше y» через предикат МЕНЬШЕ (x, y).
Тогда указанные выше утверждения могут быть записаны соответственно выражениями:
(13SYMBOL 34 \f "Symbol" \s 1414"15X) (Q(X)13SYMBOL 174 \f "Symbol" \s 1414®15 R(X)),
(13SYMBOL 36 \f "Symbol" \s 1414$15X) P(X),
(13SYMBOL 34 \f "Symbol" \s 1414"15X) (13SYMBOL 36 \f "Symbol" \s 1414$15Y) МЕНЬШЕ (X, Y).
Следует обратить внимание, что терм, начинающий с заглавной буквы – это переменная, вместо котолрой может быть подставлена любая константа.
Переменная, к которой применяется квантор, называется связанной, а переменная, к которой не применен квантор, называется свободной.
Определим область действия квантора, входящего в выражение, как то выражение, к которому этот квантор применяется. Так, область действия квантора существования в выражении 3 есть МЕНЬШЕ (X, Y), а область действия квантора всеобщности в выражении 3 есть (13SYMBOL 36 \f "Symbol" \s 1414$15Y) МЕНЬШЕ (X, Y).
Пример атомарных предикатов:
является (ласточка, птица)
отец (X, джон)
Пример предикатной формулы, соответствующей сложному предложению:
имеет (ласточка, крылья), владеет (ласточка, гнездо)
является (ласточка, птица)
где является (_,_); имеет (_,_); владеет (_ _) атомарные предикаты.
Подставляя вместо «ласточка» переменную, получим формулу более общего вида. Однако из вышеприведенной конструкции предикатной формулы позволяет сформулировать утверждение не только о конкретном объекте, которым является ласточка, но и обо всех объектах из класса птиц:
имеет (Х, крылья), владеет (Х, гнездо) (является (Х, птица)
Однако предикат, который содержит переменные; например,
имеет (Х, крылья)
не может быть оценен, т.е. нельзя определить ложь он или истина, пока вместо переменной не будет поставлена константа.
Однако иногда можно определить значения предиката, связав переменные кванторами.
Программные средства, оперирующие со знаниями, представленными правилами, получили название продукционных систем (или систем продукции) и впервые были предложены Постом в 1941 г.
Система продукции, реализованная в виде модели представления знаний экспертной системы, состоит из трех элементов:
1. Набор фактов и правил, образующих базу знаний;
2. Рабочая память, где хранятся факты из базы знаний, а также результаты выводов, получаемых на основе фактов и правил;
3. Механизм логического вывода, использующий правила в соответствии с содержимым рабочей памяти.
Конфигурацию системы продукции упрощенно можно представить рисунок.
13 EMBED Visio.Drawing.11 1415
Рис.

На простом примере рассмотрим упрощенно механизм функционирования системs продукции.
Допустим, что факты, записанные в базу знаний, имеют вид:
Намерение (отдых).
Место отдыха (горы).
Кроме того, имеются правила:
Намерение (отдых), Дорога (ухабистая)(Использовать (джип).
Место отдыха (горы) (Дорога (ухабистая).
Допустим, что требуется определить истинность или ложность предиката
Использовать (джип).
Возможна прямая и обратная цепочка рассуждений.
В том и другом случае факты переписывются из базы знаний в рабочую память.
При прямой цепочке рассуждений в базе знаний отыскивается правило, в котором анализируемый предикат находится в заключении. При этом проверяется истинность посылки. Если посылка истинна, то она переписывается в рабочую область, и процесс вывода закончен. В противном случае отыскивается следующее правило и так до тех пор, пока будет доказана либо истинность, либо ложность заданного предиката.
Для рассматриваемого примера последовательность логического вывода будет следующей:
Механизм вывода анализирует правила, начиная с него, определяет наличие факта
Намерение (отдых)
в рабочей памяти и отсутствие в ней факта
Дорога (ухабистая).
Посылка правила 1 считается ложной, механизм вывода переходит к следующему правилу (в нашем случае к правилу 2).
Посылка правила 2 признается истинной, так как факт
Место отдыха (горы)
присутствует в рабочей памяти и механизм вывода считает заключение правила 2 истинным.
Заключение правила 2
Дорога (ухабистая)
заносится в рабочую память.
После просмотра всех правил происходит вторичное их применение, начиная с правила 2, за исключением тех, которые уже были применены (в примере это правило 2).
При повторном рассмотрении правила 1 его посылка становится истинной ввиду доопределения рабочей памяти, и механизм вывода выполняет его заключение.
Заключение
Использовать (джип)
переносится в рабочую память, а правило 1 исключается из дальнейшего согласования.
Правил для сопоставления не остается, система останавливается, то есть. доказана истинность анализируемого предиката.
Способ, при котором на основании фактов исследуется возможность применения правила, пригодного для подтверждения, называется обратным выводом.
Для пояснения этого способа обратимся к тому же примеру. Целью запроса также является доказательство истинности предиката
Использовать (джип).
Считая, что рабочая память содержит факты
Намерение (отдых)
и
Место отдыха (горы),
ищем правило, которое в качестве заключения содержит анализируемый предикат.
Последовательность вывода следующая:
Определяется правило, в котором в заключительной части содержится предикат
Использовать (джип).
Это правило 1.
Исследуется возможность применения правила 1 для подтверждения истинности предиката.
Поскольку факт
Намерение (отдых)
из посылки правила 1 занесен в рабочую память, то для достижения цели достаточно подтвердить факт
Дорога (ухабистая).
Факт
Дорога (ухабистая)
принимается за новую цель, и необходимо найти правило, подтверждающее этот факт.
Исследуется возможность применения правила 2. Посылка этого правила является истинной, так как факт
Место отдыха (горы)
имеется в рабочей памяти.
Ввиду возможности применения правила 2, рабочая память пополнится фактом
Дорога (ухабистая)
и появляется возможность применения правила 1 для подтверждения цели
Использовать (джип).
Итак, и в этом случае истинность анализируемого предиката доказана.
В более сложных случаях, если правила содержат переменные, то в процессе вывода им ставится в соответствие некоторые константы из фактов и таким образом получается результат.
ЯЗЫК PROLOG КАК РЕАЛИЗАЦИЯ ПРОДУКЦИОННОЙ МОДЕЛИ ДАННЫХ

Работа в системе SWI_Prolog

Prolog это язык программирования, включающий небольшой набор основных механизмов, включая сопоставление с шаблоном, древовидное представление структур данных и автомагический перебор с возвратами. Этот набор средств образует удивительно мощную и гибкую среду программирования.
Prolog особенно хорошо подходит для решения задач, в которых рассматриваются объекты (в частности, структурированные объекты) и отношения между ними. Например, на языке Prolog совсем не сложно выразить пространственные связи между объектами, допустим, указать, что синий шар находится за зеленым. Столь же просто определить можно более общее правило: если объект X ближе к наблюдателю,чем объект Y, a Y ближе, чем Z, то X должен быть ближе, чем Z. После этого система Prolog получает возможность формировать рассуждения о пространственных связях и их совместимости с общим правилом. Благодаря таким особенностям Prolog становится мощным языком для искусственного интеллекта и нечислового программирования в целом. Можно указать известные примеры символических вычислений, реализация которых на других стандартных языках вызывает необходимость создавать десятки страниц кода, чрезвычайно сложного в изучении. А после реализации тех же алгоритмов на языке Prolog результатом становится кристально ясная программа, которая легко помещается на одной странице.
При вызове SWI_PROLOG появляется окно вида (рис.):


Рис. Окно SWI_Prolog

Для создания программы следует выбрать пункт меню File, New и в появившемся окне Блокнота набирать текст. По окончании набора сохранить файл. Его расширение .pl. Аналогично с помощью пункта меню File, Edit выбирается файл для редактирования, который сохраняется.
С помощью пункта меню File, Consult выбранный файл загружается в память и компилируется. При отсутствии ошибок можно выполнять запрос. Примеры запросов рассмотрены ниже.



Определение предикатов на основе фактов

Prolog это язык программирования для символических, нечисловых вычислений. Он особенно хорошо приспособлен для решения проблем, которые касаются объектов и отношений между объектами. На рисунке приведен подобный пример: семейные отношения. Тот факт, что Том является одним из родителей Боба, можно записать на языке Prolog следующим образом:
parent( tom, bob).
В данном случае в качестве имени предиката выбрано слово parent; tom и bob являются параметрами этого предиката. По причинам, которые станут понятными позже, такие имена, как tom, записываются со строчной буквой в начале. Все дерево семейных отношений определено с помощью следующей программы Prolog:
parent( pam, bob) .
parent( tom, bob).
parent( tom, liz).
parent( bob, ann).
parent( bob, pat).
parent( pat, jim).
Эта программа состоит из шести предложений, каждое из которых объявляет один факт о предикате parent. Например, факт
parent ( tom, bob)
представляет собой конкретный экземпляр предиката parent. В целом предикат определяется как множество всех своих экземпляров.
После компиляции программы в системе Prolog ей можно задать некоторые вопросы об отношении parent, например, является ли Боб одним из родителей Пэт? Этот вопрос можно передать системе Prolog, введя его на терминале:
?- parent( bob, pat).
Обнаружив, что это факт, о существовании которого утверждается в программе, Prolog отвечает:
yes
После этого можно задать еще один вопрос:
7- parent( liz, pat) .
Система Prolog ответит:
no
поскольку в программе нет упоминания о том, что Лиз является одним из родителей Пэт.
Система ответит также "по" на вопрос
?- patent( torn, ben).
поскольку в программе даже не встречалось имя Бэн.
Кроме того, системе можно задать более интересные вопросы. Например, кто является родителями Лиз?
?- parent( X, liz ) .
На этот раз Prolog ответит не просто "yes" или "по", а сообщит такое значение X, при котором приведенное выше утверждение является истинным. Поэтому ответ будет:
X = tom
Вопрос о том, кто является детьми Боба, можно сообщить системе Prolog следующим образом:
?- parent( bob, X).
На этот раз имеется больше одного возможного ответа. Система Prolog вначале выдаст в ответ одно решение:



Рис. Дерево семейных отношений

X = ann
Теперь можно потребовать у системы сообщить еще одно решение {введя точку с запятой), и Prolog найдет следующий ответ:
X = pat
Если после этого будут затребованы дополнительные решения, Prolog ответит "по", поскольку все решения уже исчерпаны.
Этой программе может быть задан еще более общий вопрос о том, кто является чьим родителем? Этот вопрос можно также сформулировать иным образом:
Найти X и Y, такие, что X является одним кэ родителей Y.
Этот вопрос может быть оформлен на языке Prolog следующим образом:
?- parent ( X, Y) .
После этого Prolog начнет отыскивать все пары родителей и детей одну за другой.
Решения отображаются на дисплее по одному до тех пор, пока Prolog получает указание найти следующее решение (в виде точки запятой) или пока не будут найдены асе решения. Ответы выводятся следующим образом:
X= рат
Y= bob;
X= torn
Y = bob;
X = tom
Y = liz ;
Чтобы прекратить вывод решений, достаточно нажать клавишу Enter вместо точки с запятой.
Этой программе, рассматриваемой в качестве примера, можно задать еще более сложный вопрос, например, спросить о том, кто является родителями родителей Джима (дедушками и бабушками). Поскольку в программе непосредственно не предусмотрено использование соответствующего отношения grandparent, этот запрос необходимо разбить на следующие два этапа.
1. Кто является одним из родителей Джима? Предположим, что это некоторый объект Y.
2. Кто является одним из родителей Y7 Предположим, что это некоторый объект X.
Подобный сложный запрос записывается на языке Prolog как последовательность двух простых:
?- parent( Y, jim), parent( X, Y) .
Ответ должен быть следующим:
X = bob
Y = pat
Аналогичным образом, программе можно задать вопрос о том, кто является внуками Тома:
? - parent( tom, X), parent( X, Y).
Система Prolog ответит следующим образом:
X = bob
Y = ann;
X = bob
У = pat
Могут быть также заданы и другие вопросы, например, имеют ли Энн и Пэт общих родителей. Эту задачу также можно разбить на два этапа.
1. Кто является одним из родителей Энн (X)?
2. Является ли (тот же) X одним из родителей Пэт?
Поэтому соответствующий вопрос в языке Prolog выглядит следующим образом:
? - parent( X, ann) , parent (X, pat ) .
Ответом на него является;
X = bob
Рассматриваемый пример программы позволяет проиллюстрировать перечисленные ниже важные понятия.
В языке Prolog можно легко определить предикат, такой как parent, задавая n-элементные группы параметров, которые удовлетворяют этому предикату.
Пользователь может легко запрашивать систему Prolog о предикатах, определенных в программе.
Программа Prolog состоит из предложений. Каждое предложение оканчивается точкой.
Параметрами предикатов могут быть (кроме всего прочего) определенные объекты или константы (такие как torn и апп), а также объекты более общего характера (такие как X и Y). Объекты первого типа, применяемые в рассматриваемой программе, называются атомами. Объекты второго типа называются переменными,
Вопросы к системе состоят из одной или нескольких целей. Последовательность целей, такая как parent( X, ann), patent( X, pat) означает конъюнкцию целей:
X является одним из родителей Энн и
X является одним из родителей Пэт.
Слово "цель" (goal) используется для обозначения таких вопросов потому, что система Prolog воспринимает вопросы как цели, которых необходимо достичь.
Ответ на вопрос может быть положительным или отрицательным, в зависимости от того, может ли быть достигнута соответствующая цель или нет. В случае положительного ответа считается, что соответствующая цель была достижимой и что цель достигнута. В противном случае цель была недостижимой и не достигнута.
Если вопросу соответствует несколько ответов, Prolog отыскивает столько ответов, сколько потребует пользователь (в пределах возможного).

Определение предикатов на основе правил

Рассмотренный ранее пример программ можно легко дополнить с применением многих интересных способов. Вначале введем информацию о мужском или женском поле людей, участвующих в предикате parent. Эту задачу можно решить, добавив следующие факты к программе:
female( pam).
male( tom).
male( bob).
female ( liz) .
female( pat) .
female( ann} .
male( jim).
В этом случае введены предикаты male и female. Эти предикаты являются унарными (или одноместными). Бинарные предикаты типа parent определяют связь между парами объектов. С другой стороны, унарные отношения могут использоваться для объявления простых свойств объектов, которые они могут иметь или не иметь. Первое из приведенных выше унарных предложений можно прочитать таким образом: Пэм женщина. Вместо этого информацию, объявленную в двух унарных отношениях, можно передать с помощью одного бинарного отношения. В таком случае приведенная выше часть программы примет примерно такой вид:
sех( pam, feminine).
sex( tom, masculine).
sex( bob, masculine).
В качестве следующего дополнения к программе введем предикат offspring (отпрыск), обратный предикату parent. Предикат offspring можно определить таким же образом, как и parent, предоставив список обычных фактов о предикате offspring, и в качестве каждого факта указать такую пару людей, что один из них является сыном или дочерью другого, например:
вffspring( liz, tom).
Но предикат offspring можно определить гораздо более изящно, используя то, что он является противоположным parent и что parent уже было определено. Этот альтернативный способ может быть основан на следующем логическом утверждении:
Для всех X и Y Y является сыном или дочерью X, если X является родителем Y.
Такая формулировка уже более близка к синтаксису языка Prolog. Соответствующее предложение Prolog, которое имеет тот же смысл, выглядит таким образом:
offspring( Y, X) :- parent( X, Y) .
Это предложение можно также прочитать так:
Для всех X и Y, если X является родителем Y, то Y является сыном или дочерью X.
Предложения Prolog, такие как ospring(Y, X) :- parent( X, Y). называются правилами. Между фактами и правилами существует важное различие. Такие факты, как parent( tom, liz), представляют собой логические утверждения, которые всегда и безусловно являются истинными. С другой стороны, правила представляют собой утверждения, которые становятся истинными, если удовлетворяются некоторые условия. Поэтому принято считать, что правила состоят из следующих частей:
условие (правая часть правила);
заключение (левая часть правила).
Если условие parernt(X, Y) является истинным, то его логическим следствием становится offspring( Y, X).
Применение правил в языке Prolog иллюстрируется в следующем примере. Зададим программе вопрос, является ли Лиз дочерью Тома:
?- offspring( liz, tom).
Поскольку в программе отсутствуют факты о дочерях и сыновьях, единственным способом поиска ответа на этот вопрос является использование правила с определением предиката offspring. Данное правило является общим в том смысле, что оно применимо к любым объектам X и Y; но его можно также применить и к таким конкретным объектам, как liz и tom. Чтобы применить правило к объектам liz и tom, вместо Y необходимо подставить liz , а вместо X tom. Это действие называется конкретизацией переменных (в данном случае X и Y), которое выполняется следующим образом:
X = tom и Y = liz
После конкретизации будет получен частный случай общего правила, который выглядит следующим образом:
offspring( liz, tom) :- parent( tom, liz ) .
Часть с обозначением условия принимает вид parent( tom, liz).
После этого система Prolog пытается определить, является ли истинной часть с обозначением условия. Поэтому первоначальная цель:
offspring( liz, tom) заменяется подцелью parent( tom, liz)
Оказалось, что задача достижения новой цели является тривиальной, поскольку ее можно найти как факт в рассматриваемой программе. Это означает, что часть данного правила с обозначением заключения также является истинной, и Prolog в качестве ответа на вопрос выводит yes.
Теперь введем в рассматриваемый пример программы еще некоторую информацию о семейных отношениях. Определение отношения mother может быть основано на следующем логическом утверждении:
Для всех X и Y, X является матерью Y, если X является одним из родителей Y и X - женщина.
Это утверждение можно перевести на язык Prolog в виде следующего правила:
mother( X, Y) :- parent( X, Y), female(X).
Запятая между двумя условиями указывает на конъюнкцию этих условий; это означает, что оба условия должны быть истинными.
Предикат grandparent (родитель родителя) можно непосредственно записать на языке Prolog следующим образом:
grandparent(X, Z) :- parent(X, Y) , parent( Y, Z).
Схема предиката sister имеет следующее определение:
Для любого X и Y X является сестрой Y, если
1) X и Y имеют общего родителя и
2) X - женщина.
На язык Prolog этот предикат описывется следующим образом:
sister( X, Y) :- parent( Z, X), parent( Z, Y) , female(X).
Теперь системе можно задать вопрос:
?- sister( ann, pat).
Ответом должно быть "yes", как и следовало ожидать. Поэтому можно сделать вывод, что предикат sister в том виде, в каком он определен, действует правильно. Но в рассматриваемой программе имеется незаметный на первый взгляд недостаток, который обнаруживается при получении ответа на вопрос о том, кто является сестрой Пэт:
?- sister( X, pat) .
Prolog находит два ответа, и один из них может оказаться неожиданным.
X = ann;
X = pat
Итак, Пэт является сестрой самой себя?! По-видимому, такой исход не подразумевался при определении предиката sister . Но согласно правилу, касающемуся сестер, ответ системы Prolog является полностью обоснованным. В правиле о сестрах нет упоминания о том, что X и Y не должны быть одинаковыми, если X рассматривается как сестра Y. Поскольку это требование не предъявляется, система Prolog предполагает, что X и Y могут быть одинаковыми, и поэтому приходит к заключению, что любая женщина, имеющая родителя, является сестрой самой себя.
Чтобы исправить приведенное выше правило о сестрах, необходимо дополнительно указать, что X и Y должны быть разными. Такую задачу можно решить несколькими способами, но на данный момент предположим, что системе Prolog уже известно отношение different и условие different( X, Y) удовлетворяется, если и только если X и Y не равны. Поэтому усовершенствованное правило для отношения sister может выглядеть следующим образом:
Sister( X, Y) :-parent( Z, X),parent( Z, Y),female( X),different( X, Y) .
На основании изложенного в этом разделе можно сделать следующие важные выводы.
Программы Prolog можно дополнять, вводя новые предложения.
Предложения Prolog относятся к трем типам: факты, правила и запросы.
С помощью фактов можно вводить в программу сведения, которые всегда и безусловно являются истинными.
С помощью правил можно вводить в программу сведения, которые являются истинными в зависимости от заданного условия,
В процессе вычисления переменные можно заменять другими объектами.
В таком случае переменная становится конкретизированной.

Рекурсивные правила

Введем еще один предикат в рассматриваемую программу с описанием семьи предикат predecessor (предок). Этот предикат будет определен через предикат parent. Его можно представить с помощью двух правил. Первое правило определяет прямых (непосредственных) предков, а второе правило непрямых предков. Говорят, что некоторый X является непрямым предком некоторого Z, если существует цепочка родительских связей между людьми от X до Z. В приведенном примере Том является прямым предком Лиз и непрямым предком Пэт.
Первое правило является простым и может быть сформулировано следующим образом:
Для всех X и Z, X - предок Z, если X - родитель Z.
Это утверждение можно сразу же перевести на язык Prolog таким образом:
predecessor( X, Z) :-parent(X, Z).
Второе правил является более сложным, поскольку решение задачи представления цепочки родительских связей может вызвать некоторые проблемы. Предикат predecessor должен быть определен как множество следующих предложений:
predecessor( X., Z) :-parent( X ,Z) .
predecessor(X, Z) :-parent( X, Y),parent( Y, Z).
predecessor( X, Z) :-parent(X, Y1) ,parent( Yl, Y2),parent(Y2, Z) .
predecessor(X,Z) :-parent( X,Yl),parent(Yl,Y2),parent(Y2,Y3),parent(Y3, Z).
Пределы действия этой программы довольно ограничены. Она позволяет находить предков в генеалогическом дереве только до определенного уровня, поскольку длина цепочки людей между предками и потомками лимитируется длиной существующих предложений с определением предков.
Но для формулировки отношения predecessor можно применить гораздо более изящную и правильную конструкцию. Она является правильной в том смысле, что позволяет находить предков до любого колена. Основная идея состоит в том, что предикат predecessor должен быть определен в терминах себя самого. Эта идея выражается в виде следующего логического утверждения:
Для всех Х и Z X - предок Y, если имеется такой Y, что
1) X родитель Y и
2) Y - предок Z.
Предложение Prolog1, имеющее такой же смысл, приведено ниже.
predecessor( X, Z) :-parent(X, Y),predecessor( Y, Z} .
Таким образом, сформулирована полная программа для отношения predecessor, которая состоит из двух правил: первое из них определяет прямых, а вторая непрямых предков. Оба правила, записанные вместе, приведены ниже.
predecessor( X, Z) :-parent(X, Z) .
predecessor( X, Z) :-parent(X,Y),predecessor( Y, Z) .
Ключом к анализу этой формулировки является то, что отношение predecessor используется для определения самого себя. Подобные определения имеют общее название рекурсивных.
Cистема Prolog действительно способна очень легко применять рекурсивные определения. Рекурсивное программирование фактически является одним из фундаментальных принципов программирования на языке Prolog. Без использования рекурсии на языке Prolog невозможно решать какие-либо сложные задачи.
Возвращаясь к рассматриваемой программе, можно задать системе Prolog вопрос о том, кто является потомками Пэм. Иными словами, для кого Пэм является предком?
? - predecessor( pam, X).
X = bob;
X = ann;
X = pat ;
X = jim
Ответы системы Prolog, безусловно, верны и логически следуют из определения отношений predecessor и parent.

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

В семантической структуре понятий существуют отношения, по крайней мере, двух типов:
отношение включения (IS A);
отношение «целое – часть» (PART OF).
Например, в предложении
человек IS A млекопитающее
основной мыслью является, что человек принадлежит к классу млекопитающих. Это означает, что имеет место отношение включения. Для этих отношений характерным является то, что экземпляры понятий нижнего уровня содержат все атрибуты понятий верхнего уровня. Это свойство называется наследованием атрибутов между уровнями иерархии IS A.
Отношение «целое - часть» можно иллюстрировать предложением
нос PART OF тело,
которое характеризует то, что экземпляры понятия «нос» являются частью любого экземпляра понятия «тело».
Часто используется графическое представление семантических сетей в виде диаграммы. Так, предложение
все собаки – млекопитающие
можно представить графом, содержащим две вершины, соответствующие понятиям, и дугу, указывающую отношение между ними (рис. 3.2).
13 EMBED Visio.Drawing.11 1415

Рис. 3.2

Если собака имеет конкретное имя, например, Шарик, то семантическая сеть может быть расширена (рис. 3.3).

13 EMBED Visio.Drawing.11 1415
Рис. 3.3

Наряду с тем, что с помощью данной сети описаны два факта
Шарик – собака
собака – млекопитающее
из нее можно вынести, используя отношение наследования, факт
Шарик – млекопитающее.
Этот факт показывает, что способ представления семантической сетью позволяет легко делать выводы благодаря иерархии наследования.
Семантическими сетями можно представлять знания, касающиеся атрибутов объекта. Например, факт
Собаки имеют лапы
можно отобразить в виде рисунка 3.4.
Это означает, что, используя отношения «IS – A» и «PART – OF», можно вывести факт:
Шарик имеет лапы.
Вершины в семантической сети обычно показывают объект проблемной области или ситуацию, а дуги это отношения между ними. При расширении семантической сети в ней возникают дополнительные отношения. Например, если рассматриваемую сеть дополнить фактами
Шарик имеет конуру
и Шарик имеет конуру с весны по осень,
13 EMBED Visio.Drawing.11 1415
Рис. 3.4

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

13 EMBED Visio.Drawing.11 1415

Рис. 3.5

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

13 EMBED Visio.Drawing.11 1415

Рис. 3.6

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


13 EMBED Visio.Drawing.11 1415
Рис. 3.7

Лингвистические отношения отображают смысловую взаимосвязь между событиями, между событиями и понятиями или свойствами. Лингвистические отношения бывают:
глагольные (время, вид, род, залог, наклонение);
атрибутивные (цвет, размер, форма);
падежные (см. ниже).
Логические отношения это операции, используемые в исчислении высказываний: дизъюнкция, конъюнкция, импликация.
Теоретико - множественные это отношения подмножества, отношение части целого, отношение множества и элемента. Примерами таких отношений являются ISA, PARTOF.
Квантифицированные отношения это логические кванторы общности и существования. Они используются для представления таких знаний, как «Любой станок надо ремонтировать», «Существует работник А, обслуживающий склад Б».
Рассмотрим использование семантических сетей для представления структуры понятий. Основой для определения любого понятия является множество его отношений с другими понятиями. Обязательными отношениями являются:
класс, которому принадлежит данное понятие;
свойства, выделяющие понятие из всех понятий данного класса;
экземпляры данного понятия.
Так как термы, используемые в определении понятия, сами являются понятиями, то их определение организуется по той же схеме. В итоге связи понятий образуется сетевая структура, в которой используется как минимум два типа связей (IS A и PART – OF).
Пример: Семантическая сеть, отображающая связи понятий при описании знаний о структуре понятия «Юридическое лицо» будет иметь вид, представленный на рисунке 3.8.

13 EMBED Visio.Drawing.11 1415
Рис. 3.8

Так, для понятия «предприятие» в этой сети:
определен класс, которому оно принадлежит, и все свойства которого оно наследует (юридическое лицо);
выделено три свойства, которые выделяют это понятие из всех остальных понятий класса «Юридическое лицо»;
определен экземпляр данного понятия, а именно: Авиазавод.
Рассмотрим использование семантических сетей для представления структуры событий.
При представлении событий предварительно выделяются простые отношения, которые характеризуют основные компоненты события. В первую очередь из события выделяется действие, которые обычно описываются глаголом. Далее определяются объекты:
1. которые действуют;
2. над которыми эти действия выполняются.
Все связи понятий, событий и свойств с действием (глаголом) называют падежами или падежными отношениями, которые относятся к классу лингвистических отношений. Обычно рассматривают следующие основные падежи:
Падеж
Лингвистическое отношение, определяющее
связь действия с:

агент
предметом, являющимся инициатором действия;

объект
предметом, подвергающимся действию;

источник
размещение предмета перед действием;

приемник
размещение предмета после действия;

время
моментом выполнения действия;

место
местом проведения действия;

цель
действием другого события.

Так, например, семантическая структура знания о событии «Директор авиазавода остановил 30.03.08 цех 4, чтобы заменить оборудование» представлена на риунке 3.9.

13 EMBED Visio.Drawing.11 1415
Рис. 3.9
Особенность семантической сети как модели знаний состоит в единстве базы знаний и механизма вывода.
Основным способом вывода в семантической сети является сопоставление частей сетевой структуры. Сущность его состоит в следующем. Содержание и цель запроса списывается автономной семантической сетью (сетью запроса), построенной по тем же правилам и отображающей те же объекты и отношения, которые представлены семантической сетью. Поиск ответа на запрос реализуется сопоставлением сети запроса с фрагментами семантической сети. Положительный результат сопоставления позволяет получить один из ответов запроса. Все ответы можно получить путем обнаружения всех сопоставимых с сетью запроса фрагментов
Рассмотрим пример семантической сети, отражающей подчиненность сотрудников организации (рис. 3.10).
13 EMBED Visio.Drawing.11 1415

Рис. 3.10

Запрос: «Кто руководит Сидоровым?» представим в виде подсети (рис. 3.11).
13 EMBED Visio.Drawing.11 1415

Рис. 3.11

Сопоставление общей сети с сетью запроса начинается с поиска вершины «руководит», имеющий ветвь «объект», направленную к вершине «Сидоров». Затем производится переход по ветви «агент», что и приводит к ответу «Петров».
Необходимо отметить ряд преимуществ семантической сети:
1) описание понятий и событий производится на уровне, очень близком к естественному языку;
2) обеспечивается возможность объединения различных фрагментов сети;
3) отношение между понятиями и событиями образуют достаточно небольшое и хорошо формализованное множество;
4) для каждой операции над данными и знаниями можно выделить из полной сети, представляющей все знания, некоторый ее участок, который охватывает необходимые в данном запросе смысловые характеристики.

Фреймовая модель

В сложных семантических сетях, включающих множество понятий, процесс обновления узлов и контроль связей между ними становится затруднительным. При этом количество опосредованных связей между понятиями резко возрастает.
Термин фрейм (от англ. frame – рамка, каркас) предложен Марвином Минским, одним из пионеров ИИ, в 70-е годы ХХ века для обозначения структуры знаний для восприятия пространственных сцен. Эта модель, как и семантическая сеть, имеет глубокое психологическое обоснование.
Фрейм – это абстрактный образ для представления некоего стереотипа восприятия.
Отправным моментом для данной теории служит тот факт, что человек, пытаясь познать новую для себя ситуацию или по-новому взглянуть на уже привычные вещи, выбирает из своей памяти некоторую структуру данных (образ), называемую нами фреймом, с таким расчетом, чтобы путем изменения в ней отдельных деталей сделать ее пригодной для понимания более широкого класса явлений или процессов.
Фрейм является структурой данных для представления стереотипной ситуации. С каждым фреймом ассоциирована информация разных видов. Одна ее часть указывает, каким образом следует использовать данный фрейм, другая - что предположительно может повлечь за собой его выполнение, третья - что следует предпринять, если эти ожидания не подтвердятся.
Фрейм можно представлять себе в виде сети, состоящей из узлов и связей между ними. "Верхние уровни" фрейма четко определены, поскольку образованы такими понятиями, которые всегда справедливы по отношению к предполагаемой ситуации. На более низких уровнях имеется много особых вершин-терминалов или "ячеек", которые должны быть заполнены характерными примерами или данными.
Марвин Минский «Фреймы для представления знаний»

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

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

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



ИМЯ СЛОТА

ЗНАЧЕНИЕ СЛОТА
СПОСОБ
ПОЛУЧЕНИЯ ЗНАЧЕНИЯ

ПРИСОЕДИ-НЕННАЯ ПРОЦЕДУРА







Дополнительные столбцы предназначены для описания способа получения слотом его значения и возможного присоединения к тому или иному слоту специальных процедур, что допускается в теории фреймов.
При конкретизации фрейма ему и слотам присваивают конкретные имена и происходит заполнение слотов.
Из фреймов-прототипов получаются фреймы-экземпляры. Экземпляр фрейма - фрейм, в котором определены значения слотов.
Значением слота может быть:
числа или математические соотношения,
тексты на естественном языке,
программы,
правила вывода,
ссылки на другие слоты данного фрейма или других фреймов,
набор слотов более низкого уровня – реализация принципа «матрешки».
Если в качестве значения слота выступает имя другого фрейма, то образуются сети фреймов.
ПРИМЕР
Фрейм-прототип:
(Список студентов:
Фамилия (значение слота 1);
Год рождения (значение слота 2);
Специальность (значение слота 3);
Средний балл (значение слота 4)
)
Фрейм-экземпляр:
(Список студентов:
Фамилия (Иванов-Петров-Сидоров)
Год рождения (1980-1981-1982)
Специальность (ОЗИ-САПР-ПО)
Средний балл (4-4-5)
)
Связи между фреймами могут задаваться значениями специального слота с именем «Связь».
Важнейшее свойство теории фреймов – заимствование из теории семантических сетей наследования свойств. И во фреймах и в семантических сетях наследование происходит по AKO-связям (A-Kind-Of = это).
Слот AKO указывает на фрейм более высокого уровня иерархии, откуда неявно наследуются, то есть переносятся, значения аналогичных слотов.
ПРИМЕР
В сети фреймов понятие «ученик» наследует свойства фреймов «ребенок» и «человек», которые находятся на более высоком уровне иерархии.
На вопрос «любят ли ученики сладкое» следует ответ «да», так как этим свойством обладают все дети, что указано во фрейме «ребенок». Наследование свойств может быть частичным, так как возраст учеников не наследуется из фрейма «ребенок», поскольку указан явно в своем собственном фрейме.
13 SHAPE \* MERGEFORMAT 1415

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









13PAGE \* MERGEFORMAT14115




° Ѓ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ђ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·C
·
·
·
·
·Ђ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·c
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·‚
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·г
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·J
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·E
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·‚
·
·
·
·
·
·
·
·
·
·B
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·ї
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·@
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·@
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·B
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ђ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·з
·
·
·
·
·
·
·н
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·c
·
·
·
·
·
·
·
·
·
·
·
·
·ў
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·ж
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·І
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·@
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·@
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ю
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·@
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·7
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·µ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·13
·
·
·
·
·
·
·<
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·з
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·@
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·"
·
·
·
·Ђ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·<
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·І
·B
·
·
·
·
·
·
·
·
·
·
·Є
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ђ
·
·
·
·
·Ђ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ђ
·
·
·
·
·
·
·Ђ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·U
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·=
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·N
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·…
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·<
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·М
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·я
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·µ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Р
·
·4
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·µ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·=
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ђ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ў
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·в
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·@
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·$
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·$
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·g
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·М
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·<
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ь
·
·
·
·Ё
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·@
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·h
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·@
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·ё
·
·
·
·
·
·Y
·!
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·<
·
·
·
·
·
·
·
·
·
·
·
·#
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·Y
·!
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ђ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·@
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ґ
·
·
·
·
·
·
·
·
·
·
·
·
·
·µ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·а
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·ў
·У
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·М
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Њ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·o
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ђ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ё
·
·
·
·
·Х
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·F
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Т
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·…
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·!
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·‡
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·u
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·†
·
·
·
·
·
·
·
·
·
·
·
·Ћ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·‡
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·L
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ќ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·’
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·д
·
·<
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ѓ
·°
·
·
·
·
·
·<
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·д
·
·
·
·
·
·
·S
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ј
·
·
·
·
·
·
·
·!
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·!
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·C
·
·
·
·
·
·
·
·д
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·D
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·C
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·!
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·’
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·№
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·C
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·ц
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·C
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·В
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·!
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·В
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·<
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ґ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·|
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·м
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·‡
·
·
·
·
·
·
·
·
·
·
·ы
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Є
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ы
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·C
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·&<
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
· 
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ђ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·…
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·‰
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·B
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·D
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·O
·
·
·
·
·
·
·Ы
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ј
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ј
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Џ
·
·
·
·
·
·
·
·
·
·я
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
· 
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ђ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·O
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
· 
·
·Ђ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·n
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·@
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ђ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·A
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·A
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·!
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·C
·
·
·
·Х
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·C
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·е
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ф
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·@
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ђ
·
·
·
·
·
·Џ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·@
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·C
·
·
·
·
·@
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·‡
·
·
·@
·Ђ
·К
·
·
·м
·
·
·
·
·@
·Ђ
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·ѓ
·
·
·‡
·
·
·
·
·
·
·°
·
·
·
·@
·
·
·
·!
·@
·Ђ
·
·
·
·
·
·°
·
·
·Ц
·@
·
·м
·
·
·
·
·
·
·
·
·
·
·h
·
·
·
·
·
·
·
·
·
·
·
·
·Р
·
·
·
·
·
·Ф
·
·Р
·
·
·
·
·
·
·
·h
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·h
·
·
·
·
·
·
·
·h
·
·
·Р
·
·
·
·
·
·
·
·
·
·
·
·h
·
·
·Р
·
·
·
·
·
·
·
·Р
·
·
·
·
·
·
·
·
·
·
·
·
·
·Р
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·h
·
·
·Р
·
·
·
·
·
·
·
·
·
·
·h
·
·
·
·
·
·
·
·h
·
·
·Р
·
·
·
·
·
·
·
·
·
·
·h
·
·
·Р
·
·
·
·
·
·Ф
·
·
·
·
·
·
·
·
·
·h
·
·
·
·
·
·
·
·sRoot EntryМеханизм Рабочая память
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Рабочая память
База знаний
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·База знаний 
·
·
·
·
·я
·Н
·
·
·
·!Ђ
·
·
·
·
·
·3
·
·
·
·ї
·ч
·
·
·
·м
·
·
·
·
·
·ш
·Н
·
·
·
·
·
·И
·в
·
·
·
·}
·
·
·
·
·я
·т
·
·
·
·
·k
·
·ќЩ
·
·
·
·
·ї
·
·
·
·
·
·їt (c
·2
·
·
·
·
·
·
·
·
·
·
·
·
·A
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·їSF
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·І
·
·
·
·
·№
·
·
·
·
·
·
·
·
·
·
·
·I
·
·
·
·
·
·
·
·
·
·
·
·
·
·о
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ф
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·M
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Їм в
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·¶
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·џ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ї
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·ї
·
·
·
·
·
·
·
·
·
·
·
·l
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·т
·
·
·
·
·e
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·я
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·

Приложенные файлы

  • doc 119060
    Размер файла: 744 kB Загрузок: 0

Добавить комментарий