Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций.doc
Скачиваний:
108
Добавлен:
02.05.2014
Размер:
686.08 Кб
Скачать

Лекция 12

2.1 Процесс решения задач в системе семантического моделирования

Одна из главнах целей методики семантического моделирования - автоматизация процесса решения задач с помощью ЭВМ. Схема этого процесса представлена на рисунке 2.1.

┌────────────┐

│пользователь│◄────────────────────────┐

└──────┬─────┘ │

╔════════▼════════╗ ╔══════════╧══════════╗

║постановка задачи║ ║интерпретация решения║

╚════════╤════════╝ ╚══════════▲══════════╝

┌────────▼────────┐ ┌───┴───┐

│вербальная модель│ │решение│

└────────┬────────┘ └───▲───┘

╔══════▼═════╗ ╔═════╧════╗

║формализация║ ║исполнение║

╚══════╤═════╝ ╚═════▲════╝

┌────────▼────────┐ ┌────┴────┐

│формальная модель│ │программа│

└────────┬────────┘ └────▲────┘

╔══════════▼══════════╗ ╔════════╧═══════╗

║аналитическое решение║ ║программирование║

╚══════════╤══════════╝ ╚════════▲═══════╝

┌───▼───┐ ╔══════════════╗ ┌────┴───┐

│формула├──►║алгоритмизация╟──►│алгоритм│

└───────┘ ╚══════════════╝ └────────┘

Рисунок 2.1 - Процесс решения задач с помощью ЭВМ

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

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

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

При использовании метода семантического моделирования автоматизации подвергаются все стадии решения задач, а не только этап программирования.

Предлагаемый подход семантического моделирования имеет некоторую аналогию с решением задач человеком:

а) человек формулирует условия задачи в рамках системы понятий предметной области;

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

в) выполняя найденный алгоритм, получают решение задачи.

Функциональная и компонентная схемы процесса решения задач в системе семантического моделирования представлены на рисунке 2.2.

Интерактивный модуль в диалоге с пользователем поддерживает процесс постановки задачи и выдает ее формализованное представление на языке семантического моделирования. Этот модуль обеспечивает привычный для пользователя интерфейс в его профессиональной области: редактор электронных схем для инженера-электроника, редактор математических формул для математика, анатомический атлас для врача и т.п.. Условия задачи представляются семантической сетью (см. п. 2.2) и задаются в виде программы на языке семантического моделирования с использованием понятий, описанных в базе знаний.

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

Исполняющий модуль обеспечивает выполнение алгоритма и получает решение задачи пользователя. Алгоритм его работы состоит из следующих этапов:

а) анализ типов данных и операций;

б) распределение памяти;

в) инициализация, задание исходных данных;

г) выполнение действий;

д) выдача результата.

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

┌────────────┐ ┌────────────┐

┌───►│пользователь│ ┌─────►│пользователь│

│ └─────┬──────┘ │ └──────┬─────┘

│ ╔════▼═════╗ │ ╔══════▼══════╗

│ ║постановка║ │ ║интерактивный║

│ ║задачи ║ │ ║модуль ║

│ ╚════╤═════╝ │ ╚══════╤══════╝

│ ┌───▼───┐ │ ┌──────▼──────┐

│ │ │ │ │непроцедурная│

│ │условия│ │ │программа на │

│ │задачи │ │ │языке семант.│

│ │ │ │ │моделирования│

│ └───┬───┘ │ └──────┬──────┘

╔═══════════╗╔═════▼═══╗┌──────┐╔═══════════╗╔══════▼═══╗┌──────┐

║отображение║║синтез ◄┤знания│║модуль ║║семантич. ◄┤база │

╚═══════════╝║алгоритма║└──────┘║отображения║║процессор ║│знаний│

▲ ╚═════╤═══╝ ╚═══════════╝╚══════╤═══╝└──────┘

│ ┌────▼───┐ ▲ ┌──────▼──────┐

│ │ │ │ │процедурная │

│ │алгоритм│ │ │программа на │

│ │решения │ │ │языке семант.│

│ │ │ │ │моделирования│

│ └────┬───┘ │ └──────┬──────┘

│ ╔═════▼════╗ │ ╔═════▼═════╗

│ ║выполнение║ │ ║исполняющий║

│ ║алгоритма ║ │ ║модуль ║

│ ╚═════╤════╝ │ ╚═════╤═════╝

│ ┌───▼───┐ │ ┌───▼───┐

│ │решение│ │ │решение│

│ └───┬───┘ │ └───┬───┘

└──────────┘ └─────────────┘

Рисунок 2.2 - Функциональная и компонентная схемы процесса

решения задач в системе семантического моделирования

Работа семантического процессора представлена на следующей

укрупненной схеме (рисунок 2.3):

┌───────┐

│условия│

│задачи │

└───┬───┘

╔═══▼══╗ ┌──────────────┐

║сборка◄─┤знания о │

╚═══╤══╝ │предм. Области│

┌───▼───┐└──────────────┘

│семант.│

│сеть │

└───┬───┘

╔══════▼═══════╗ ┌──────────┐

║преобразование◄─┤метазнания│

║семант. сети ║ └──────────┘

╚══════╤═══════╝

┌───▼───┐

│вычисл.│

│сеть │

└───┬───┘

╔═══▼══╗

║синтез║

╚═══╤══╝

┌────▼───┐

│алгоритм│

└────────┘

Рисунок 2.3 - Функциональная схема семантического процессора

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

─┐

З │

СС├──► А,

─┘

где З - знания о предметной области,

СС - семантическая сеть задачи,

А - алгоритм решения задачи пользователя.

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

─┐

МЗ│ МВ

СС├──► ВС ──► А,

З│

─┘

где МЗ - метазнания,

СС - семантическая сеть задачи,

З - знания о предметной области,

ВС - вычислительная сеть,

МВ - машина вывода,

А - алгоритм решения задачи пользователя.