Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты все_на ГОСы.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
2.03 Mб
Скачать
  1. Технология разработки эс: основные технологические этапы, уровни готовности эс, характеристики эффективности эс.

Основные технические этапы:

  1. Обоснование построения ЭС: Исследование необходимости, возможности (есть ли соответствующие эксперты), целесообразности системы (если тиражируема, рентабельна, нетривиальна).

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

  3. Концептуализация: Извлечение (из экспертов, литературы) и структурирование (систематизируются полученные знания) знаний.

  4. Формализация: Определяются адекватные, подходящие модели знаний. Определяется стратегия вывода.

  5. Реализация: Выбор инструментального средства для реализации. Реализация. Результат: все блоки (см. Структура ЭС) + заполненная база знаний.

  6. Тестирование: Отладка ПО и знаний системы. Определение характеристик системы (показатели качества и быстродействия).

Уровни готовности ЭС:

  1. Демонстрационный прототип: Система решает часть задач, демонстрирует жизнеспособность подхода. База знаний содержит несколько десятков правил и понятий.

  2. Исследовательский прототип: Система решает большинство задач, но неустойчива в работе. База знаний содержит несколько сотен правил и понятий.

  3. Действующий прототип: Система надежно решает все задачи на реальных примерах, но для сложной задачи требуется много времени, памяти и т.д.

  4. Промышленная система: Система обеспечивает высокое качество решений при минимуме ресурсов, реально происходит переписывание системы.

  5. Коммерческая система: Промышленная система, готовая к продаже. Хорошо документирована и снабжена сервисом.

Характеристики эффективности ЭС:

  1. По критериям пользователей: Удобство, прозрачность системы.

  2. По критериям экспертов: Проверка на адекватность, оценка советов решений.

  3. По критериям разработчиков:Производительность, время отклика, отработка тупиковых ситуаций.

  1. Показатели качества системы:

а. Работоспособность (процент задач предметной области, который система способна решить);

б. Корректность (процент задач решаемых правильно из всего количества решаемых задач);

в. Информативность (среднее количество шагов логического вывода для получения решения).

  1. Показатели быстродействия системы:

а. Отношение времени решения задачи системой ко времени решения этой же задачи экспертом;

б. Быстродействие (количество операций над элементами рабочей памяти в секунду);

в. Эффективность логического вывода (средняя длина цепочки логического вывода);

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

2. Структура транслятора. Этапы, фазы, проходы процесса трансляции.

Процесс трансляции рассматривается на двух основных этапах:

  • Анализ: Анализируется исходный текст программы. Вход этапа анализа – исходный текст (или код).

  • Синтез: Генерируется иное представление программы, отличное от исходного текста. Вход этапа синтеза – целевой текст (или код).

Также может присутствовать процесс предварительной обработки (препроцессинг) – присоединение исходных файлов, макроподстановки и т. д.

Преобразование исходного текста в целевой – процесс трансляции. Логически процесс трансляции делится на этапы и фазы, физически – на стадии и проходы.

Фазы этапа анализа:

  • Лексический анализ: Происходит формирование лексем (или символов) языка из знаков, составляющих программу.

  • Синтаксический анализ: Определяется структура программы, т. е. порядок следования символов, из множества лексем формируется синтаксическое представление, как правило, в древовидной форме. (синтаксическое дерево)

  • Семантический анализ: Уточняется структура программы. Учитываются типы программных объектов, значения операторов, сигнатуры методов/функций и прочая контекстная информация. (модифицированное синтаксическое дерево)

Фазы этапа синтеза:

  • Генерация промежуточного кода: Обычно это линеаризованное представление модифицированного синтаксического дерева (примеры: трехадресный код, байт-код, Java).

  • Оптимизация промежуточного кода.

  • Генерация целевого кода:На основе промежуточного кода с учетом архитектуры целевой системы.

  • Оптимизация машинно-зависимого кода.

  • Иногда выделяют фазу распределения памяти:

Распределение памяти для программных объектов, которые могут размещаться в статической, динамической и глобальных областях.

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

  • front end – от лексического анализа до генерации промежуточного кода

  • middle end – оптимизация промежуточного кода

  • back end – генерация и оптимизация машинно-зависимого кода

Виды трансляторов:

  • Компилятор:Если целевой код близок к языку целевой машины или ассемблеру, и он выполняется с помощью соответствующих инструментальных средств.

  • Интерпретатор:Если целевой код выполняется средствами транслятора.