
- •Обзорные лекции к государственному экзамену по информатике для студентов математического факультета специальность «Математика с дополнительной специальностью «Информатика»
- •Теория и методика обучения информатике
- •1.Понятие информации. Непрерывная и дискретная формы представления информации. Количество и единицы измерения информации. Эвм как универсальное средство обработки информации.
- •2.Понятие алгоритма, его основные свойства. Исполнитель алгоритмов. Способы представления алгоритмов. Рекурсия и итерация.
- •3. Понятие объектно-ориентированного анализа, проектирования и программирования.
- •4.Понятие о системе программирования, ее основные функции и компоненты. Интерпретаторы и компиляторы. Трансляция программ.
- •5.Интерфейсные объекты: управляющие элементы, окна, диалоги. События и сообщения. Механизмы передачи и обработки сообщений в объектно-ориентированных средах.
- •Страница Dialogs
- •6.Классификация данных. Типы данных. Совместимость типов. Константы и переменные. Работа с данными статической структуры. Простые типы данных и работа с ними.
- •Целые типы
- •Вещественные типы
- •Логический тип
- •Символьный тип
- •Выражения
- •7. Структурированные типы данных и работа с ними
- •8.Операторы передачи управления в языках программирования.
- •9.Операторы организации циклов в языках программирования.
- •12.Графические процедуры и функции. Графические объекты.
- •1 Группа:
- •Оператор
- •Рисует эллипс, вписанный в компонент ImgGrafic и заполненный красной штриховкой.
- •2 Группа:
- •13.Алгоритмы сортировки, сравнение алгоритмов сортировки.
- •Сортировка выбором
- •Сортировка обменом (методом "пузырька")
- •Сортировка хоара
- •1.Возьмем для сортировки несколько чисел
- •2.Установим указатели на I и j. Теперь будем двигать j по направлению (влево)
- •3.Меняем местами числа, указатели, условие и направление на противоположное.
- •5.Меняем местами числа, указатели, условие и направление на противоположное.
- •7.Так делаем до тех пор, пока I не встретится с j.
- •8.Теперь разделим данный список на 2 и отсортируем их по тому же закону при помощи рекурсивной процедуры.
- •14.Последовательный и бинарный поиск, сравнение способов организации поиска.
- •15.Операционные системы (ос. Основные функции ос. Состав ос: внутренние (встроенные) и внешние (программы-утилиты). Команды ос Сетевые ос.
- •16.Прикладное программное обеспечение общего назначения. Системы обработки текстов. Системы машинной графики.
- •При наборе текста в Word 97 придерживаются следующих правил:
- •Свои параметры форматирования имеют и символы текста (шрифт): - тип (какое-либо название, например, Times New Roman, Arial и т.Д.);
- •- Начертание (обычный, полужирный, курсив, подчеркнутый).
- •17. Электронные таблицы
- •Отмена операций
- •Создание рабочей книги
- •Сохранение рабочей книги
- •Закрытие рабочей книги
- •Завершение работы с Microsoft Excel
- •Операции с листами рабочих книг
- •Установление шрифта
- •18.Прикладные инструментальные пакеты для решения задач на эвм.
- •19.Антивирусные программы. Архиваторы. Программы обслуживания дисков.
- •16. Понятие "модель". Виды моделирования. Компьютерная модель. Математические модели.
- •21. Понятие архитектуры и основные типы архитектуры эвм. Типовая схема эвм, принципы Фон-Неймана. Оперативная память, центральный процессор эвм.
- •22. Периферийные устройства персонального компьютера
- •23. Компьютерные сети.
- •24. Интернет как технология и информационный ресурс (сеть). Технология электронной почты. Технология обмена файлами (ftp). Технология www. Поиск информации в Интернет.
- •25.Язык html как средство создания информационных ресурсов Интернет.
- •Список базовых тэгов html
- •Добавление стилей в html-документ
- •26.Понятие мультимедиа. Создание мультимедийных приложений.
- •Видео и анимация.
- •27.Основные направления исследований в области искусственного интеллекта. Представление знаний в иис.Понятие об экспертной системе.
- •29.Информационные модели данных: реляционные, иерархические, сетевые. Последовательность создания информационной модели. Взаимосвязи в модели.
- •30.Проектирование баз данных. Определение взаимосвязи между элементами баз данных. Ключи атрибутов данных. Приведение модели к требуемому уровню нормальной формы.
- •I этап. Постановка задачи.
- •II этап. Анализ объекта.
- •III этап. Синтез модели.
- •IV этап. Выбор способов представления информации и программного инструментария.
- •V этап. Синтез компьютерной модели объекта.
- •VI этап. Работа с созданной базой данных.
- •1. Информатика в средней школе. Цели и задачи обучения информатике в школе. Структура обучения информатике в средней общеобразовательной школе. Стандарт школьного образования по информатике.
- •Образовательный стандарт основного общего образования по информатике и информационным технологиям
- •Обязательный минимум содержания основных образовательных программ
- •Требования к уровню подготовки выпускников
- •2. Анализ учебных и методических пособий. Программное обеспечение по курсу информатики.
- •3.Педагогическая функция курса информатики
- •4.Методика введения понятия "Графическая оболочка Windows"
- •Этап работы с готовыми документами
- •Этап построения новых документов
- •5.Методика введения понятия "Компьютер"
- •2 Этап Работа с готовыми программами
- •3 Этап Составление программ
- •7.Методика введения понятия «Графические методы»
- •1 Этап Подготовительный
- •2 Этап Работа с готовыми программами
- •3 Этап Составление программ
- •8.Методика введения понятия “Процедуры”
- •1 Этап Подготовительный
- •2 Этап Работа с готовыми программами
- •3 Этап Составление программ
- •9.Методика введения понятия “Команда выбора if”
- •1 Этап Подготовительный
- •2 Этап Работа с готовыми программами
- •3 Этап Составление программ
- •10.Методика введения понятия «Классы»
- •1 Этап Подготовительный
- •2 Этап Работа с готовыми программами
- •3 Этап Составление программ
- •11.Методика введения понятия «Наследование классов»
- •1 Этап Подготовительный
- •2 Этап Работа с готовыми программами
- •3 Этап Составление программ
- •12.Методика введения понятия “Полиморфизм ”
- •1 Этап Подготовительный
- •2 Этап Работа с готовыми программами
- •3 Этап Составление программ
- •13.Методика введения понятия “Команда выбора case”
- •1 Этап Подготовительный
- •2 Этап Работа с готовыми программами
- •Проект «График функции в полярной системе координат»
- •Проект «Обучение английскому»
- •3 Этап Составление программ
- •17.Методика введения понятия “Цикл while”
- •1 Этап Подготовительный
- •2 Этап Работа с готовыми программами
- •3 Этап Составление программ
- •18.Методика введения понятия “Строки”
- •1 Этап Подготовительный
- •2 Этап Работа с готовыми программами
- •Количество символов
- •3 Этап Составление программ
- •19. Методика введение понятия о табличной величине и способах обработки табличной информации
- •1 Этап Подготовительный
- •5.Вывод данных из массива в объект:
- •2 Этап Работа с готовыми программами
- •3 Этап Составление программ
- •20. Методика введение понятия о методах сортировки табличной информации
- •1 Этап Подготовительный
- •Сортировка обменом (методом "пузырька")
- •Сортировка выбором
- •2 Этап Работа с готовыми программами
- •3 Этап Составление программ
- •21.Методика введения понятия “Файлы”
- •1 Этап Подготовительный
- •2 Этап Работа с готовыми программами
- •Грибник Нарисовать путь грибника по координатам
- •3 Этап Составление программ
- •22.Методика введения понятия «Технология обработки текстовой информации» Подготовительный этап
- •Этап работы с готовыми текстами
- •Этап построения новых текстов
- •23. Методика введения понятия «Технология обработки графической информации» Подготовительный этап
- •Этап работы с готовыми рисунками
- •Этап построения новых рисунков
- •24. Методика введения понятия «Технология обработки числовой информации» Подготовительный этап
- •Этап работы с готовыми таблицами
- •Этап построения новых таблиц
- •25. Методика введения понятия «Технология хранения, поиска и сортировки информации» Подготовительный этап Виды баз данных
- •Виды структур баз данных
- •Этап работы с готовыми таблицами
- •Запросы
- •2.Создание отчетов
- •26.Методика введения понятия “Компьютерные коммуникации”
- •27.Методика введения понятия “Мультимедийные технологии”
- •28. Применение средств информационных и коммуникационных технологий (икт) в образовании
- •29.Организация контроля знаний учащихся с применением средств икт.
- •Критерии отбора материала для тестовых заданий
- •30.Особенности дистанционного обучения.
Видео и анимация.
MPEG - это аббревиатура от Moving Picture Experts Group. Эта экспертная группа работает под совместным руководством двух организаций - ISO (Организация по международным стандартам) и IEC (Международная электротехническая комиссия). Официальное название группы - ISO/IEC JTC1 SC29 WG11. Ее задача - разработка единых норм кодирования аудио- и видеосигналов.
MPEG-1 предназначен для записи синхронизированных видеоизображения (обычно в формате SIF, 288 x 358) и звукового сопровождения на CD-ROM с учетом максимальной скорости считывания около 1.5 Мбит/с. Качественные параметры видеоданных, обработанных MPEG-1, во многом аналогичны обычному VHS-видео, поэтому этот формат применяется в первую очередь там, где неудобно или непрактично использовать стандартные аналоговые видеоносители.
MPEG-2 предназначен для обработки видеоизображения соизмеримого по качеству с телевизионным при пропускной способности системы передачи данных в пределах от 3 до 15 Мбит/с, профессионалы используют и большие потоки. В аппаратуре используются потоки до 50 Мбит/с. На технологии, основанные на MPEG-2, переходят многие телеканалы, сигнал сжатый в соответствии с этим стандартом транслируется через телевизионные спутники, используется для архивации больших объёмов видеоматериала.
MPEG-3 - предназначался для использования в системах телевидения высокой чёткости (high-defenition television, HDTV) со скоростью потока данных 20-40 Мбит/с, но позже стал частью стандарта MPEG-2 и отдельно теперь не упоминается. Кстати, формат MP3, который иногда путают с MPEG-3, предназначен только для сжатия аудиоинформации и полное название MP3 звучит как MPEG Audio Layer III.
MPEG-4 - задает принципы работы с цифровым представлением медиа-данных для трех областей: интерактивного мультимедиа (включая продукты, распространяемые на оптических дисках и через Сеть), графических приложений (синтетического контента) и цифрового телевидения.
Звук. MIDI (Musical Instrument Digital Interface) — представляет собой последовательность команд для инструмента (нажатия клавиш, поворот регулятора), WAV (Waveform Audio) — цифровое неупакованное аудио, полученный путем квантования и оцифровки, MP3 — упакованное цифровое аудио.
Текст. Рекомендуется использовать язык разметки гипертекстовых документов HTML (Hyper Text Markup Language), который представляет собой совокупность команд, называемых тегами (от английского tag). HTML-тег записывается в угловых скобках и состоит из имени, за которым может следовать список атрибутов.
Для создания мультимедийных приложений можно использовать следующие программы: Microsoft PowerPoint, Macromedia Flash и другие.
27.Основные направления исследований в области искусственного интеллекта. Представление знаний в иис.Понятие об экспертной системе.
Искусственные интеллект (ИИ) - одно из направлений развития информатики, изучающий способы и приемы моделирования и воспроизведения с помощью ЭВМ разумной деятельности человека, связанной с решением задач. Цель этого направления - разработка программно-аппаратных средств, позволяющих пользователю-непрограммисту ставить и решать свои задачи, традиционно считающиеся интеллектуальными, общаясь с ЭВМ на ограниченном подмножестве естественного языка. Искусственным интеллектом также называют свойство интеллектуальных систем выполнять функции (творческие), которые традиционно считаются прерогативой человека.
Фундаментальные разделы ИИ:
1. теория представления знаний: найти такие способы описания и представления фактов, общих сведений, закономерностей, правил и предписаний, которые позволят использовать все эти знания с помощью некоторых универсальных и формальных процедур анализа, рассуждения и синтеза, доступных доля простой реализации на ЭВМ;
2. теория обработки информации, выраженной на естественном языке: найти методы и способы понимания устной речи, извлечения смысла из письменных сообщений, переводы с одного языка на другой, синтеза речи и т.п. с тем, чтобы реализовать все эти формы языковой практики на ЭВМ (лингвистические процессоры).
Фундаментальные разделы ИИ, воспринимая достижения смежных наук (математики, логики, психологии, физиологии, кибернетики, бионики, лингвистики и др.), результируют в создании теоретических моделей целенаправленного поведения человека, включая такие его компоненты, как восприятие, рассуждение и действие. Эти теоретические модели, имея собственную познавательную ценность, выступают в качестве строительных блоков в решении различных прикладных задач.
Основные направления развития искусственного интеллекта:
-
Представление знаний и разработка систем, основанных на знаниях, разработка моделей представления знаний, создание баз знаний, моделей и методов извлечения и структурирования знаний).
-
Игры и творчество
-
Разработка естественно-языковых интерфейсов и машинный перевод. Естественно-языковый интерфейс - это совокупность программных и аппаратных средств, обеспечивающих общение интеллектуальной системы с пользователем на ограниченном рамками проблемной области естественном языке. В его состав входят словари, отражающие словарный состав и лексику языка, а также лингвистический процессор, осуществляющий анализ текстов (морфологический, синтаксический, семантический и прагматический) и синтез ответов пользователю.
-
Распознавание образов - Это направление, основной задачей которого является создание моделей, методов и средств, связанных с решением задач классификации, таксономии, формирования понятий и т. п.
-
Новые архитектуры компьютеров
-
Интеллектуальные роботы. Здесь главными задачами ИИ являются задачи «машинного зрения» и управления движением. «Машинное зрение» включает в себя способность робота ориентироваться в пространстве, воспринимать обстановку и строить ее план (т.н. анализ сцен), узнавать контуры и форму предметов, обнаруживать и обходить препятствия при движении и т.д. Управление движением позволяет роботу перемещаться, совершать рабочие движения своими подвижными элементами, воспринимать нагрузку и дозировать собственные усилия.
-
Специальное программное обеспечение, направленное на обучение и самообучение
Информация, с которой имеют дело ЭВМ, разделяется на процедурную и декларативную. Процедурная информация овеществлена в программах, которые выполняются в процессе решения задач, декларативная информация - в данных, с которыми эти программы работают.
Данные - это отдельные факты, характеризующие объекты, процессы и явления в предметной области, а также их свойства.
Параллельно с развитием структуры ЭВМ происходило развитие информационных структур для представления данных. Появились способы описания данных в виде векторов и матриц, возникли списочные структуры, иерархические структуры. В настоящее время в языках программирования высокого уровня используются абстрактные типы данных, структура которых задается программистом. Появление баз данных (БД) знаменовало собой еще один шаг на пути организации работы с декларативной информацией. В базах данных могут одновременно храниться большие объемы информации, а специальные средства, образующие систему управления базами данных (СУБД), позволяют эффективно манипулировать с данными, при необходимости извлекать их из базы данных и записывать их в нужном порядке в базу.
По мере развития исследований в области интеллектуальных систем возникла концепция знаний, которые объединили в себе многие черты процедурной и декларативной информации.
Знания - совокупность сведений, образующих целостное описание, соответствующее некоторому уровню осведомленности об описываемом вопросе, предмете, проблеме и т.д. Знания - это выявленные закономерности в предметной области (принципы, связи, законы), позволяющие решать задачи в этой области.
В ЭВМ знания так же, как и данные, отображаются в знаковой форме - в виде формул, текста, файлов, информационных массивов и т.п. Поэтому можно сказать, что знания - это особым образом организованные данные. Но это было бы слишком узкое понимание. А между тем, в системах ИИ знания являются основным объектом формирования, обработки и исследования. База знаний, наравне с базой данных, - необходимая составляющая программного комплекса ИИ. Машины, реализующие алгоритмы ИИ, называются машинами, основанными на знаниях, а подраздел теории ИИ, связанный с построением экспертных систем, - инженерией знаний.
Знания могут быть классифицированы по следующим категориям:
-
поверхностные - знания о видимых взаимосвязях между отдельными событиями и фактами в предметной области;
-
глубинные - абстракции, аналогии, схемы, отображающие структуру и процессы в предметной области.
Кроме того, знания можно разделить на следующие виды:
-
процедурные: знания, отвечающие на вопрос «Как решать поставленную задачу?»; эти знания хранятся в памяти интеллектуальной системы в виде описаний процедур, с помощью которых их можно получить. В таком виде обычно описывается информация о предметной области, характеризующая способы решения задач в этой области, а также различные инструкции, методики и т.п.
декларативные: знания, не содержащие в явном виде процедуры решения задач; которые записаны в памяти так, что они непосредственно доступны для использования после обращения к соответствующему полю памяти. В таком виде обычно записывается информация о свойствах предметной области фактах, имеющих в ней место и т.п. информация.
Модель знаний - описание знаний в базе знаний. Известны четыре типа моделей знаний:
1. логические, в основе которых лежит формальная логическая модель;
2. сетевые, в основе которых лежат семантические сети;
3. фреймовые, основанные на фреймах;
4. продукционные, основанные на продукциях.
Каждая такая М.З. определяет форму представления знаний.
Формальные логические модели
Система ИИ в определенном смысле моделирует интеллектуальную деятельность человека и, в частности, - логику его рассуждений. В грубо упрощенной форме наши логические построения при этом сводятся к следующей схеме: из одной или нескольких посылок (которые считаются истинными) следует сделать «логически верное» заключение (вывод, следствие).
Логические выражения, построенные в данном языке, могут быть истинными или ложными. Некоторые из этих выражений, являющиеся всегда истинными, объявляются аксиомами (или постулатами). Они составляют ту базовую систему посылок, исходя из которой и пользуясь определенными правилами вывода, можно получить заключения в виде новых выражений, также являющихся истинными.
Если перечисленные условия выполняются, то говорят, что система удовлетворяет требованиям формальной теории. Ее так и называют формальной системой (ФС). Система, построенная на основе формальной теории, называется также аксиоматической системой.
Классическими примерами аксиоматических систем являются исчисление высказываний и исчисление предикатов. Эти ФС хорошо исследованы и имеют прекрасно разработанные модели логического вывода.
ФС имеют и недостатки, которые заставляют искать иные формы представления. Главный недостаток - это «закрытость» ФС, их негибкость.
Логические модели
В основе моделей такого типа лежит формальная система, задаваемая четверкой вида: M = <T, P, A, B>. Множество T есть множество базовых элементов различной природы, например слов из некоторого ограниченного словаря, деталей детского конструктора, входящих в состав некоторого набора и т.п.
Множество P есть множество синтаксических правил. С их помощью из элементов T образуют синтаксически правильные совокупности.
В множестве синтаксически правильных совокупностей выделяется некоторое подмножество A. Элементы A называются аксиомами.
Множество B есть множество правил вывода. Применяя их к элементам A, можно получать новые синтаксически правильные совокупности, к которым снова можно применять правила из B. Так формируется множество выводимых в данной формальной системе совокупностей.
Для знаний, входящих в базу знаний, можно считать, что множество A образуют все информационные единицы, которые введены в базу знаний извне, а с помощью правил вывода из них выводятся новые производные знания. Другими словами формальная система представляет собой генератор порождения новых знаний, образующих множество выводимых в данной системе знаний. Это свойство логических моделей делает их притягательными для использования в базах знаний. Оно позволяет хранить в базе лишь те знания, которые образуют множество A, а все остальные знания получать из них по правилам вывода.
Семантические (смысловые) сети
В основе моделей этого типа лежит конструкция, названная ранее семантической сетью. Сеть, в вершинах которой находятся информационные единицы, а дуги характеризуют отношения и связи между ними. Семантическая сеть является наиболее общей моделью представления знаний.
В зависимости от типов связей, используемых в модели, различают классифицирующие сети, функциональные сети и сценарии. В классифицирующих сетях используются отношения структуризации. Такие сети позволяют в базах знаний вводить разные иерархические отношения между информационными единицами. Функциональные сети характеризуются наличием функциональных отношений. Их часто называют вычислительными моделями. Под фреймом понимается абстрактный образ или ситуация.
В отличие от моделей других типов во фреймовых моделях (под фреймом понимается абстрактный образ или ситуация) фиксируется жесткая структура информационных единиц, которая называется протофреймом. В общем виде она выглядит следующим образом:
(Имя фрейма:
Имя слота 1(значение слота 1)
Имя слота 2(значение слота 2)
. . . . . . . . . . . . . . . . . . . . . .
Имя слота К (значение слота К)).
Значением слота может быть практически что угодно (числа или математические соотношения, тексты на естественном языке или программы, правила вывода или ссылки на другие слоты данного фрейма или других фреймов). В качестве значения слота может выступать набор слотов более низкого уровня, что позволяет во фреймовых представлениях реализовать «принцип матрешки».
При конкретизации фрейма ему и слотам присваиваются конкретные имена и происходит заполнение слотов. Таким образом, из протофреймов получаются фреймы - экземпляры. Переход от исходного протофрейма к фрейму - экземпляру может быть многошаговым, за счет постепенного уточнения значений слотов.
Связи между фреймами задаются значениями специального слота с именем «Связь». Часть специалистов по ИС считает, что нет необходимости специально выделять фреймовые модели в представлении знаний, т.к. в них объединены все основные особенности моделей остальных типов.
Продукционная модель
Продукционная модель, или модель, основанная на правилах, позволяет представить знания в виде предложений типа: Если (условие), то (действие).
В моделях этого типа используются некоторые элементы логических и сетевых моделей. Из логических моделей заимствована идея правил вывода, которые здесь называются продукциями, а из сетевых моделей - описание знаний в виде семантической сети. В результате применения правил вывода к фрагментам сетевого описания происходит трансформация семантической сети за счет смены ее фрагментов, наращивания сети и исключения из нее ненужных фрагментов. Таким образом, в продукционных моделях процедурная информация явно выделена и описывается иными средствами, чем декларативная информация. Вместо логического вывода, характерного для логических моделей, в продукционных моделях появляется вывод на знаниях.
Экспертные системы основаны на использовании искусственного интеллекта. Главная идея использования технологии экспертных систем заключается в том, чтобы получить от эксперта его знания и, загрузив их в память компьютера, использовать всякий раз, когда в этом возникает необходимость.
Экспертные системы (ЭС) - это сложные программные комплексы, аккумулирующие знания специалистов в конкретных предметных областях и тиражирующие этот эмпирический опыт для консультаций менее квалифицированных пользователей.
Традиционно знания существуют в двух видах - коллективный опыт и личный опыт. Если большая часть знаний в предметной области представлена в виде коллективного опыта (например, высшая математика), эта предметная область не нуждается в экспертных системах. Если в предметной области большая часть знаний является личным опытом специалистов высокого уровня (экспертов), если эти знания по каким-либо причинам слабо структурированы, такая предметная область, скорее всего, нуждается в экспертной системе.
При создании баз знаний самая трудная задача - извлечение из них эксперта. Для этого существуют методы извлечения знаний. Экспертные системы представляют собой компьютерные программы, трансформирующие опыт экспертов в какой-либо области в форму эвристических правил.
Эвристики не гарантируют получения результата с такой же степенью уверенности, как алгоритмы ППР. Однако они часто дают приемлемые решения для практического использования. Таким образом, экспертные системы используются в качестве советующих систем.
Пользователь - специалист предметной области, для которого предназначена система. Обычно его квалификация недостаточно высока, и поэтому он нуждается в помощи и поддержке своей деятельности со стороны ЭС.
Специалист по знаниям - специалист по искусственному интеллекту, выступающий в роли промежуточного буфера между экспертом и базой знаний. Синонимы: когнитолог, инженер по знаниям, инженер-интерпретатор, аналитик.
Интерфейс пользователя - комплекс программ, реализующих диалог пользователя с ЭС как на стадии ввода информации, так и получения результатов. Специалист использует интерфейс также для ввода команд, содержащих параметры, определяющие процесс обработки информации. Пользователь может использовать четыре метода ввода информации: меню, команды, естественный язык, собственный интерфейс.
Технология экспертных систем предусматривает возможность получать в качестве выходной информации не только решения, но и объяснения.
База знаний (БЗ) - ядро ЭС, совокупность знаний предметной области, записанная на машинный носитель в форме, понятной эксперту и пользователю (обычно на некотором языке, приближенном к естественному). Параллельно такому «человеческому» представлению существует БЗ во внутреннем «машинном» представлении. Для организации базы знаний используют различные модели представления знаний: продукционную, семантическое сети, фреймы, формальные логические модели.
Интерпретатор - часть ЭС, производящая в определенном порядке обработку знаний, находящихся в базе знаний. Как правило, в нем выделяют два блока: решатель и подсистема объяснений. Решатель - программа, моделирующая ход рассуждений эксперта на основании знаний, имеющихся в БЗ (синонимы: дедуктивная машина, блок логического вывода). Подсистема объяснений - программа, позволяющая пользователю получить ответы на вопросы: «Как была получена та или иная рекомендация?» и «Почему система приняла такое решение?» Ответ на вопрос «как» - это трассировка всего процесса получения решения с указанием использованных фрагментов БЗ, т.е. всех шагов цепи умозаключений. Ответ на вопрос «почему» - ссылка на умозаключение, непосредственно предшествовавшее полученному решению, т.е. отход на один шаг назад. Кроме этого, во многих экспертных системах вводят дополнительные блоки: базы данных, блок расчета, блок ввода и корректировки данных.
Модуль создания системы - служит для создания набора (иерархии) правил. Существует два подхода, которые могут быть положены в основу модуля создания системы: использование алгоритмических языков программирования и использование оболочек экспертных систем. Как правило, в модуль создания системы включается интеллектуальный редактор БЗ - программу, предоставляющую инженеру по знаниям возможность создавать БЗ в диалоговом режиме. Включает в себя систему вложенных меню, шаблонов языка представления знаний, подсказок («help» - режим) и других сервисных средств, облегчающих работу с базой.
Класс «экспертные системы» сегодня объединяет несколько тысяч различных программных комплексов, решающих разные типы задач:
Задачи интерпретации данных.
Задача диагностики.
Задача мониторинга.
Задача проектирования.
Задача прогнозирования.
Задача планирования.
Задачи обучения.
Информационные технологии ППР и информационные технологии ЭС широко используются для решения задач в слабоформализованных предметных областях, однако между ними существуют существенные различия:
1) решение проблемы в рамках систем ППР открывает уровень понимания возможностей системы пользователем и его возможности получить и осмыслить решение; технология экспертных систем предлагает пользователю принять решение, превосходящее его возможности;
2) экспертные системы способны пояснить свои рассуждения в процессе получения решения (очень часто эти пояснения более важны для пользователя, чем само решение);
3) новый компонент информационных технологий - знания, использующиеся только в экспертных системах;
4) главная ориентация СППР - принятие решений, а ИТЭС - на тиражирование знаний.
28.Представление о логическом программировании. Представление знаний о предметной области в виде фактов и правил базы знаний. Языки программирования ИИ.
Логическое программирование - программирование, основанное на использовании механизма доказательства теорем в логике, который позволяет выяснить, является ли противоречивым некоторое множество логических формул. При этом программа рассматривается как набор логических формул, описывающих предметную область, совместно с теоремой, которая должна быть доказана. Логическое программирование избавляет программиста от необходимости определения точной последовательности шагов выполнения вычислений.
ПРОЛОГ - язык логического программирования (ПРОграммирование в ЛОГике), используемый для представления и манипулирования знаниями в системах ИИ.
Основными понятиями в языке Пролог являются факты, правила и вопросы. Из фактов и правил образуются описания данных, процедур и программы на языке Пролог. Вопросы - это основное средство ведения диалога с базами знаний и программами, имеющимися в памяти ЭВМ.
Факты в Прологе служат для описания конкретных данных и простейших сведений. Примеры фактов:
мама (зина, вова); - Зина - мама Вовы
папа (миша, вова); - Миша - папа Вовы
Группы фактов могут образовывать данные. Совокупность данных, размещаемых на дисках, образуют базы данных. Общее определение данных в Прологе:
данные:
<факт>; [<факт>;...]
Правила используются для описания определений, процедур принятия решений и обработки данных. Примеры использования правил для описания определения понятия «родитель»:
родитель (х,у) ¬ папа (х,у); - Родитель — это папа или мама
родитель (х,у) ¬ мама (х,у);
Процедуры образуются из некоторых групп правил. Общая форма описания процедур в Прологе:
процедура:
[<факты>] <правило>; [<правило>; ...]
Пример описания рекурсивной процедуры, в которой определяемое понятие задается через самое себя:
предок (х,у) ¬ родитель (х,у);
предок (x,z) ¬ родитель (х,у), предок (y,z);
Программа на Прологе — это совокупность процедур над определенными данными:
программа:
<процедуры>; [<данные>;]
Описания баз данных на Прологе образуют совокупность описаний данных:
база данных:
<данные>; [<данные>; ... ]
Базы знаний на Прологе описываются наборами фактов и правил определения обобщенных понятий над ними:
база знаний:
<данные>; <правила>;
Вопросы в языке Пролог служат запросами к базам данных и знаний, а также обращениями к процедурам и программам. Примеры вопросов:
? мама (х,вова)
? предок (х,вова)
С е м а н т и к а : каждый факт в Прологе интерпретируется как некоторое истинное утверждение. Опираясь на эти утверждения, интерпретатор Пролога рассматривает различные вопросы как утверждения, которые должны быть доказаны или опровергнуты исходя из имеющихся фактов и правил.
Вопросы в Прологе служат для записи простых или сложносоставных запросов к базам знаний или обращений к процедурам и программам. Ответами на запросы к базам данных и знаний могут быть логические значения ДА (истина) или НЕТ (ложь) либо список конкретных данных, отвечающих запросу.
Общая форма записи сложносоставных вопросов:
сложный вопрос:
? <вопрос>[,<вопрос> ...]
В сложносоставных вопросах составляющие его подвопросы разделяются запятыми. Любой вопрос в Прологе начинается со знака вопроса «?» и заканчивается знаком «точка с запятой». Пример сложносоставного вопроса:
? папа (х,у), папа (у,вова);
Простые вопросы имеют следующую форму записи:
простой вопрос:
? <имя>(<арг>[,<арг> ...])
Здесь <имя> - это имя некоторого факта или правила в программе или базе знаний. Количество аргументов в таком простейшем вопросе должно строго совпадать с количеством аргументов (параметров) в описаниях соответствующих фактов и правил.
В роли аргументов в вопросах могут указываться как конкретные значения, так и переменные. Если в вопросе указаны только конкретные значения, то ответом будет логическое значение ДА или НЕТ. Если же в вопросе указываются переменные, то при положительном ответе дополнительным результатом будет вывод конкретных значений переменных, указанных в исходном вопросе.
В роли переменных в Прологе могут указываться латинские и русские буквы, как строчные, так и прописные: а, b, с, ..., х, у, z; A, В, С, ..., X, Y, Z; а, б, в, ... , э, ю, я; А, Б, В, ..., Э, Ю, Я.
Кроме того, в качестве имен переменных могут употребляться любые слова и словосочетания, заканчивающиеся знаком апострофа ['].
Примеры имен: дед ', х1 ', оценка4 ' и т. п.
Кроме того, в вопросах и правилах на Пролог аргументы могут иметь неопределенные значения. Для этого вместо конкретных значений или имен переменных в вопросе указывается знак подчеркивания [ _ ].
Пример вопроса с использованием неопределенных значений:
? мама (мать', _ );
Ответом на указанный вопрос будет перечень имен всех матерей, сведения о которых имеются в базе знаний.
Правила в Прологе используются для описания определений, запросов к базам данных, а также обращений к другим правилам и процедурам. Примеры записи правил:
родитель (х,у) ¬ мама (х,у);
родитель (х,у) ¬ папа (х,у);
бабушка (x,z) ¬ мама (х,у), родитель (y,z);
дедушка (x,z) ¬ папа (х,у), родитель (y,z);
Общая форма записи правил на Прологе:
правило:
<заголовок> ( <определение>;
Здесь <заголовок> отделяется от <определения> двумя знаками: ¬ «меньше» и «тире». В конце правила записывается «точка с запятой».
Заголовки правил имеют следующую форму:
заголовок:
<имя>(<парам>[,<парам> ...])
Здесь <имя> - это любое слово или словосочетание. В роли параметров в заголовках правил могут указываться переменные или конкретные значения либо неопределенные значения с помощью знака подчеркивания [_].
Описание заголовка служит образцом записи обращений к правилам и процедурам. Определения в правилах образуются из обращений к другим правилам и процедурам, а также из запросов к данным и встроенным процедурам Пролога. Общая форма записи определений в правилах:
определение:
<заголовок>[,<заголовок> ...]
Запросы и определения отделяются в описаниях правил запятыми и записываются по тем же правилам, что и заголовки.
Порядок записи обращений и запросов в определениях правил в языке Пролог весьма существенен, поскольку он задает порядок их применения и выполнения. Нарушение этого порядка может привести к значительному изменению конечных результатов выполнения правил и процедур.
Результатом выполнения любых процедур и правил в Прологе всегда являются логические значения - ДА либо НЕТ, соответствующее успеху или неуспеху их применения. В этом смысле применение правил в Прологе совпадает с проверкой условий в логике. Соответственно форма записи обращений к правилам и процедурам в Прологе совпадает с формой записи предикатов в математической логике.
Однако в отличие от математической логики, где существенны только логические значения этих предикатов, в Прологе результатом применения правил и процедур может быть конкретизация значений переменных, указанных в обращениях к ним.
Пример такого обращения:
? родитель (х,вова)
х = зина
Полученный ответ имеет двойной результат: во-первых, подтверждение истинности наличия «родителей» у «вовы», а во-вторых, конкретизация переменной «х» в обращении к процедуре «родитель» с именем «вова», которая дает значение «х = зина».
Кроме конкретизации значений переменных в запросах и обращениях результатами выполнения процедур и правил в Прологе могут быть различного рода побочные эффекты - вывод на экран линий, точек, картинок, сообщений, запись и считывание данных и т. п.
В этом смысле результаты выполнения процедур и программ на Прологе могут быть эквивалентны результатам выполнения программ на других языках программирования.