Antoshka

Путь к Файлу: /нгту / Введение в спец / AVDEENKO / ЛЕКЦИИ ИИС / Лекция 6-ИИС.ppt

Ознакомиться или скачать весь учебный материал данного пользователя
Скачиваний:   112
Пользователь:   Antoshka
Добавлен:   29.10.2014
Размер:   1.8 МБ
СКАЧАТЬ

Наверх страницы

Содержимое презентации:

Слайд 1

Лекция №6 Представление знаний фреймами

Слайд 2

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

Слайд 3

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

Слайд 4

Еще один пример иерархии фреймов • Свойством сети фреймов, заимствованным из семантических сетей, является наличие AKO-связей («A-Kind-Of»), которые связывают фреймы с фреймами, находящимися на уровень выше в иерархии, откуда неявно наследуются (переносятся) значения слотов. Каждый фрейм имеет уникальное имя (идентификатор) в пределах системы фреймов. • В данном случае представлено одно звено иерархии (ЧЕЛОВЕК- ЛЕКТОР). Фрейм «ЧЕЛОВЕК» является обобщающим для фрейма «ЛЕКТОР». Таким образом, фрейм «ЛЕКТОР» наследует от фрейма «ЧЕЛОВЕК» значение слота «УМЕЕТ». Цепочка наследования может быть продолжена вплоть до, например, фрейма «ЖИВОЕ СУЩЕСТВО».

Слайд 5

Реализация фреймовой модели представления знаний на примере решения задачи Эйнштейна Условия задачи следующие: 1. Есть пять домов, каждый разного цвета. 2. В каждом доме живет один человек, отличающийся от соседнего по национальности: немец, англичанин, швед, датчанин, норвежец. 3. Каждый пьет только один напиток, выращивает определенное растение и держит определенное животное. 4. Никто из 5 человек не пьет одинаковые с другими напитки, не выращивает одинаковое растение и не держит одинаковое животное. Задание : определить, кому принадлежит рыба?

Слайд 6

Реализация фреймовой модели представления знаний на примере решения задачи Эйнштейна При этом дополнительные условия включают следующее: 1. Англичанин живет в красном доме. 2. Швед держит собаку. 3. Датчанин пьет чай. 4. Зеленый дом стоит непосредственно слева от белого. 5. Жилец зеленого дома пьет кофе. 6. Человек, который выращивает ячмень, держит птицу. 7. Жилец из среднего дома пьет молоко. 8. Жилец из желтого дома выращивает томаты. 9. Норвежец живет в первом доме. 10.Тот, кто держит кошку, живет около того, кто выращивает свеклу. 11. Человек, который содержит лошадь, живет около того, кто выращивает томаты. 12. Тот, кто выращивает пшеницу, пьет сок. 13. Норвежец живет около голубого дома. 14. Немец выращивает капусту. 15. Тот, кто выращивает свеклу, живет по соседству с человеком, который пьет воду.

Слайд 7

В условии фигурируют объекты 5 классов: «дом», «человек», «напиток», «растение», «животное». Каждому классу принадлежит 5 объектов. Наиболее логичным решением в данном случае будет создание для каждого класса абстрактного фрейма, описывающего этот класс, а для каждого объекта, принадлежащего классу, создание конкретного фрейма, наследуемого от абстрактного и описывающего этот объект. Фреймы классов «Напиток», «Растение» и «Животное» достаточно тривиальны (не содержат ни одного слота). Фреймовые диаграммы классов «Дом» и «Человек».

Слайд 8

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

Слайд 9

Другая часть информации может быть заложена в модель с помощью процедур, задаваемых для фрейма и вызываемых при изменении значения его слотов. Эта информация носит характер проверяемых условий. Например, условие «жилец желтого дома выращивает томаты» может быть проверено процедурой, вызываемой при изменении значения слота «РАСТЕНИЕ» фрейма «ЧЕЛОВЕК», который ссылается на фрейм «ЖЕЛТЫЙ ДОМ». Фреймовые диаграммы классов «Дом» и «Человек».

Слайд 10

Реализация задачи Эйнштейна в модели ООП • Фреймовая модель очень удобна с точки зрения программной реализации, поскольку она напрямую соответствует парадигме объектно-ориентированного программирования (ООП). • С точки зрения ООП, фреймы представляют собой ничто иное, как классы. • Слоты являются аналогом полей классов. Иерархия фреймов соответствует иерархии классов, которая строится с помощью механизма наследования. • Процедуры фреймов, выполняемые при определенных условиях, можно реализовать с помощью обработчиков соответствующих событий, определенных для полей классов. • Горизонтальные связи реализуются путем добавления в класс ссылок на объекты других классов, с которыми планируется взаимодействие.

Слайд 11

Реализация задачи Эйнштейна в модели ООП • Программный модуль состоит из двух основных частей: набора классов, реализующих фреймовую модель, и внешнего модуля, который осуществляет генерацию наборов данных, наблюдение за «реакцией» модели и принятие необходимых решений. • Вся предметная область разбита на пять уровней иерархии: 1) уровень домов → 2) уровень людей → 3) уровень напитков → 4) уровень растений → 5) уровень животных. • Такой порядок следования уровней означает, что сначала определяется позиция дома, затем для данного дома определяется его жилец, после чего для жильца определяются его напиток, растение и животное. В общем случае порядок уровней не играет решающей роли, но для конкретной реализации он должен быть фиксирован.

Слайд 12

Диаграммы классов предметной области задачи Эйнштейна

Слайд 13

Реализация задачи Эйнштейна в модели ООП (осуществление перебора вариантов, откат в случае несоответствия генерируемой перестановки условию задачи) • Программа действует методом проб и ошибок. На самом верхнем уровне генерируется перестановка домов. Каждому дому присваивается позиция, соответствующая его номеру в перестановке. • При этом программа наблюдает за «реакцией» модели. Допустим, что в перестановке зеленый дом оказался справа от белого (по условию, зеленый дом стоит слева от белого). При присвоении зеленому дому его позиции он проверит, где в данный момент находится белый дом. Если позиция белого дома уже определена, и он не стоит слева от зеленого, объект, представляющий зеленый дом, выбросит исключение, сигнализирующее о том, что произошел конфликт с условием задачи. Внешняя программа перехватит исключение, произведет откат перестановки на текущем уровне (обнулит позиции всех домов) и перейдет к генерации следующей перестановки.

Слайд 14

Реализация задачи Эйнштейна в модели ООП (переход на нижележащий уровень иерархии) • Если текущая перестановка не вызвала конфликт условий, программа спустится на уровень ниже. • На следующем уровне генерируется перестановка людей. После генерации каждому человеку присваивается дом из текущей перестановки домов, номер которого соответствует номеру данного человека в перестановке людей. При этом модель автоматически присваивает значения определенным атрибутам объектов в соответствии с условиями задачи. • Допустим, внешняя программа пытается «поселить» датчанина в желтый дом, стоящий на позиции «3». Объект, представляющий датчанина, проверяет позицию желтого дома и, обнаружив, что дом стоит посередине, присваивает атрибуту «напиток» значение «молоко», т.к. по условию жилец из среднего дома пьет молоко. При этом этот же объект проверяет, не связано ли молоко с каким-либо другим человеком. Если оказывается, что молоко уже используется для кого-то в качестве напитка, генерируется исключение. Таким образом, модель самостоятельно проверяет соблюдение всех условий задачи. Внешней программе остается лишь генерировать перестановки и следить за реакцией модели.

Слайд 15

Реализация задачи Эйнштейна в модели ООП (временная сложность решения задачи) • Предметная область задачи состоит из 5 уровней по 5 объектов в каждом, т.е. количество всех возможных перестановок составляет (5!)5 = 24 883 200 000. • Для каждого уровня существуют условия, которые позволяют «забраковать» перестановку еще до спуска на уровень ниже. Для уровня домов это условие «Зеленый дом стоит слева от белого», которое сразу отбрасывает больше половины всех возможных перестановок домов. На уровне людей имеются 2 условия: «Англичанин живет в красном доме» и «Норвежец живет в первом доме». Можно показать, что уже после применения условий для 1-го и 2-го уровней, от исходных 25 миллиардов остаются не более 500 миллионов перестановок, проверка которых требует спуска на нижние уровни модели.

Слайд 16

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

Слайд 17

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

Слайд 18

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

Слайд 19

Фрейм - визуальный образ Если позиция наблюдения куба перемещается вправо, то грань А исчезает из поля зрения и становится видимой грань С. Если бы потребовалось провести полный анализ этого нового визуального образа, необходимо было бы: 1) утратить знания о грани А, 2) повторно воспринять (с помощью соответствующих "вычислений") образ грани В, 3) воспринять образ новой грани С.

Слайд 20

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

Слайд 21

Фрейм - визуальный образ Можно продолжить эту процедуру построения системы фреймов, соответствующую перемещению точки наблюдения вокруг куба. Это приводит к получению более широкой системы фреймов, в которой каждый фрейм соответствует своей позиции наблюдения куба. На рис.П1в) показана система, состоящая из трех фреймов- визуальных образов, получающийся в одной из трех позиций наблюдения. Две из этих позиций соответствуют перемещению вправо и влево на 45° относительно третьей позиции; указатели между фреймами соответствуют перемещениям точки наблюдения.

Слайд 22

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

Слайд 23

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

Слайд 24

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

Слайд 25

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

Слайд 26

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

Слайд 27

Способ формализации фреймов-сценариев Описанная структура сводится к обычному графу И/ИЛИ, если отождествить терминалы фреймов и субфреймов, обозначенные на рис. П2 прямоугольниками, с вершинами типа И, задания этих терминалов - с вершинами ИЛИ, а каждой дуге, идущей от вершины И к ИЛИ, поставить в соответствие значение теста. На рис.П3 дано представление ранее представленного фрейма (рис.П2) в виде графа И/ИЛИ. Заметим, что при такой формализации дочерними вершинами для верхнего узла будут вершины типа И. Терминалы фрейма и субфреймов в предлагаемой формализации можно в большинстве случаев отождествлять не только с тестом, но и с действием. При таком представлении все вершины И/ИЛИ графа, формализующего фрейм, соответствуют действиям, причем тем более конкретизированным, чем ниже по иерархии вершина.

Слайд 28

Фрейм-сценарий посещения ресторана Сценарий: ресторан Роли: посетитель, официантка, шеф, кассир Цель: получить пищу, чтобы утолить голод Сцена I. Вход 1. Войти в ресторан 2. Глаза направить туда, где есть пустые столы 3. Выбрать, где сесть 4. Направиться к столу 5. Сесть Сцена II. Заказ 6. Получить меню 7. Прочитать меню 8. Решить, что хочешь заказать 9. Сделать заказ официантке Сцена III. Еда 10. Получить пищу 11. Съесть пищу Cцена IV. Уход. 12. Попросить счет 13. Получить чек 14. Направиться к кассиру 15. Заплатить деньги 16. Выйти из ресторана

Слайд 29

Формализация фрейма-сценария «ресторан» Фрейм-сценарий посещения ресторана легко можно изобразить в виде такой графовой структуры И/ИЛИ (рис.П4). Номера сцен и действий сценария присвоены вершинам графа, представляющим соответствующие действия. Заголовок фрейма-сценария соответствует вершине графа. Каждая из четырех сцен соответствует вершине И, т.е. терминалу фрейма. Две первые И вершины, соответствующие входу в ресторан и заказу обеда, имеют по две вершины ИЛИ, остальные две - по одной. Первые вершины ИЛИ первых двух вершин И соответствуют действию, совершаемому при утвердительном ответе на вопросы "а что если посетитель уже в ресторане", "а что если заказ сделан другом". Очевидно, в этом случае действия не нужны и вершины пусты.

Слайд 30

Формализация фрейма-сценария «ресторан» Все остальные ИЛИ-вершины I,II,II,IV так же, как и их материнские вершины, соответствуют входу, заказу, еде, уходу. Каждая из этих вершин имеет вершины И, соответствующие действиям, помеченным в сценарии арабскими цифрами. Наконец, вершины И 9 и 16 имеют по три дочерних вершины ИЛИ, соответствующие вариантам заказа и уплаты денег.

Слайд 31

Формализация фрейма-сценария «кража» • Вершина графа соответствует названию сценария "кража". Она имеет две дочерние вершины, одна из которых представляет собой схему действия вора X, вторая – потерпевшего Z после кражи. • Дочерние вершины ИЛИ представляют собой более конкретные схемы действий потерпевшего. В данном случае имеет место 6 вариантов действия вора и 9 вариантов действий потерпевшего. Всего имеется 15 вершин ИЛИ.

Слайд 32

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

Слайд 33

Механизмы "приспособления" фрейма к реальной ситуации • Пусть в базу знаний входят два фрейма А и В, представленные в виде графовой структуры И/ИЛИ (рис.П7а). Первая порция входной информации соответствует заданию 1 (зачерненный круг). Оно удовлетворяет одному из трех T1, Т2, Т3 терминалов фрейма А-Т2. Это задание является субфреймом фрейма А; субфрейм вызывается из памяти со своими терминалами T'1 и T'2 , заполненными заданиями отсутствия 1 и 2. • На рис.П7б структура активизированного субфрейма показана жирными линиями.

Слайд 34

Механизмы "приспособления" фрейма к реальной ситуации Новая порция информации соответствует «заданию 2». Она удовлетворяет одному из терминалов активизированного субфрейма и вытесняет задание отсутствия «2», ранее занимавшее этот терминал, так как оно не совпадает с воспринятым «заданием 2». В результате происходит уточнение активизированного субфрейма, структура которого изображена на рисунке П7в. Следующая порция информации – «задание 3», как видно из графовой структуры И/ИЛИ, не может быть заданием ни одного из терминалов Т‘1 , T‘2 субфрейма задания 1, а является заданием одного из терминалов Т"1 , Т"2 субфрейма «а» (рис.П7г).

Слайд 35

Механизмы "приспособления" фрейма к реальной ситуации В соответствии с используемой стратегией все три порции воспринятой информации должны удовлетворять терминалам одного фрейма. Очевидно, этим фреймом может быть только фрейм А, так как субфрейм «а» является заданием одного из трёх его терминалов, задание же 1 является заданием другого терминала Т2 и в качестве субфрейма объемлет задание 2, так как последнее является заданием этого субфрейма. В результате фрейм А вызывается из памяти в виде структуры, изображенной на рисунке П7г жирными линиями. Два из трёх его терминалов заполнены субфреймами: задание 1 и «а», третий терминал - заданием отсутствия 3.


Внимание! Не забудьте ознакомиться с остальными документами данного пользователя!

Соседние файлы в текущем каталоге:

На сайте уже 21970 файлов общим размером 9.9 ГБ.

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

Не нашли нужный документ? Воспользуйтесь поиском по содержимому всех файлов сайта:



Каждый день, проснувшись по утру, заходи на obmendoc.ru

Товарищ, не ленись - делись файлами и новому учись!

Яндекс.Метрика