2003 г. Консультации по вопросам к госэкзамену (дополнительная часть)
Для кафедр АСВК, Системного программирования, Алгоритмических языков
1. Рекуррентные соотношения и алгоритмы построения прямой и окружности в компьютерной графике.
В ответе на этот вопрос раскрыть следующее:
-
Задача построения линий для растровых устройств.
-
Использование симметрии.
-
Алгоритм построения прямоугольного отрезка (или дуги окружности), вывод рекуррентных соотношений.
-
Достоинства алгоритма по сравнению с традиционными методами.
. . .
7. Транзакционное управление в СУБД. Методы сериализации транзакций.
В ответе на этот вопрос раскрыть следующее:
-
Понятие транзакции. Для чего нужны транзакции – целостность баз данных и изолированность пользователей.
-
Понятие целостности баз данных. Виды целостности – ссылочная, по значению. Чем обеспечивается – триггеры, домены, ограничения: первичные, уникальные ключи, внешние ключи.
-
Изолированность пользователей. Уровни изолированности транзакций.
-
Сериализация транзакций. Понятие сериализации транзакций, сериального плана выполнения. Методы сериализации транзакций – на основе синхронизационных захватов и временных меток. Двухфазный протокол фиксации транзакций, объекты синхронизационного захвата.
-
Гранулированные синхронизационные захваты.
-
Предикатные синхронизационные захваты.
-
Тупики, их обнаружение и разрушение.
-
Метод временных меток
8. Метод распараллеливания алгоритма общей рекурсии 1-го порядка.
В ответе на этот вопрос раскрыть следующее:
-
Рекурсия:
-
определить рекурсию;
-
формула рекурсии 1-го порядка: Xi = Ai * X(i-1) + Di, i = 1,2,..n;
-
последовательная программа вычисления рекурсии.
-
Циклическая редукция:
-
параллельные алгоритмы суммирования чисел методом циклической редукции;
-
алгоритмы параллельного суммирования чисел с сохранением частных сумм (рекурсия 1-го порядка при A (i-1) );
-
Редукция по Хокни:
-
чистая редукция: уменьшение числа уравнений пополам;
-
редукция Хокни: не уменьшая числа уравнений , получить соотношение между каждым предыдущим и последующим уравнением (связать Xi с X(i-2) ), затем каждые четвертые и т.д.;
-
привести общую форму вычислений: Xi = …;
-
векторная программа алгоритма цикличнской редукции.
-
Достоинства и недостатки алгоритма:
-
дать оценку степени параллельности алгоритма;
-
показать зависимость эффективности алгоритма от оборудования.
9. Понятие программного средства (ПС) и его жизненный цикл. Понятие качества ПС, критерии качества ПС.
В ответе на этот вопрос требуется определить следующие понятия:
-
Понятие программного средства [11, лекция 1] .
-
Понятие и структура жизненного цикла программного средства
[11, лекция 3, раздел З.2].
-
Понятие качества программного средства. Критерии качества ПС
[11, лекция 3, раздел 3.3].
10. Структурное программирование и пошаговая детализация.
В ответе на этот вопрос требуется раскрыть следующее:
-
Основные конструкции структурного программирования. Общее свойство этих конструкций. [11, лекция 8, раздел 8.2] .
-
Назначение и сущность метода пошаговой детализации.
[11, лекция 8, раздел 8.2].
3. Понятие и назначение псевдокода. [11, лекция 8, раздел 8.2]
11. Защита программных средств от несанкционированного доступа.
В ответе на этот вопрос требуется раскрыть следующее:
1. Сущность защиты от несанкционированного доступа. Понятие пароля.
[11, лекция 11, раздел 11.6 - Защита от несанкционированного доступа].
2. Защита от взлома защиты от несанкционированного доступа к хранящейся информации. Понятие электронной подписи.
[11, лекция 11, раздел 11.6 - Защита от несанкционированного доступа]
3. Защита от взлома защиты от несанкционированного доступа к передаче информации. Понятие электронной печати.
[11, лекция 11, раздел 11.6 - Защита от несанкционированного доступа]
12. Средства инкапсуляции данных. Абстрактные типы данных и их реализация в современных языках программирования.
План ответа на этот вопрос:
-
определение инкапсуляции;
-
необходимость поддержки инкапсуляции в современных языках программирования.
-
языковые средства инкапсуляции: управление видимостью (на примере языка Ада) . Принцип разделения определения, реализации и использования. Пакет, спецификация пакета, тело пакета;
-
языковые средства инкапсуляции: управление доступом (на примере Си++ и Ява). Классы, члены классов, спецификаторы доступа;
-
абстрактные типы данных (АТД) и их реализация: приватные и ограниченные приватные типы данных в Аде, реализация АТД с помощью классов языка Си++.
13. Основные принципы объектно-ориентированного программирования.
План ответа на этот вопрос:
-
инкапсуляция (см. предыдущий вопрос);
-
наследование – на примере языка Си++ и Ява – только единичное наследование;
-
статический полиморфизм (перекрытие операций) – на примере языков Ада и Си++;
-
динамический полиморфизм. Динамическое связывание методов – на примере виртуальных методов языка Си++ и нестатических методов языка Ява;
-
абстрактные классы и интерфейсы.
14. Построение детерминированного конечного автомата по регулярному выражению.
В ответе на этот вопрос требуется раскрыть следующее:
-
Определение регулярного множества.
-
Определение регулярного выражения (РВ).
-
Определение недетерминированного конечного автомата (НКА).
-
Определение детерминированного конечного автомата (ДКА).
-
Алгоритм может быть представлен либо как последовательность двух алгоритмов: НКА - ДКА, либо непосредственно построение ДКА по дереву РВ.
15. Построение канонической СИСТЕМЫ множеств LR(1) ситуаций и таблиц действий и переходов для LR(1) грамматик.
[в вопросе пропущено слово СИСТЕМЫ]
В ответе на этот вопрос требуется раскрыть следующее:
-
Правосторонний вывод.
-
Восстановление правостороннего вывода.
-
Схема работы магазинного анализатора, таблицы действий и переходов, конфигурации.
-
Основа сентенциальной формы.
-
LR(1) ситуация.
-
Построение замыкания и переходы.
-
Построение автомата (таблиц) анализатора по канонической системе множеств.
-
Конфликты в таблицах.
16. Алгоритм Сети-Ульмана оптимального распределения регистров и его обоснование
В ответе на этот вопрос требуется раскрыть следующее:
-
Задача оптимального распределения регистров.
-
Условия применения алгоритма.
-
Обоснование алгоритма (минимальность числа используемых регистров при принятых ограничениях).
-
Разметка дерева.
-
Распределение регистров.
-
Генерация кода.
17. Параллелизм обработки информации в вычислительных системах.
В ответе на этот вопрос требуется раскрыть следующее:
-
Способы классификации архитектур вычислительных систем.
-
Параллелизм работы основных устройств ЭВМ.
-
Конвейерность выполнения вычислений и обработки команд в ЭВМ.
-
Многопроцессорные вычислительные комплексы.
-
Многомашинные вычислительные комплексы.
18. Аппаратура управления оперативной памятью и обменом с внешней памятью в вычислительных системах.
В ответе на этот вопрос требуется раскрыть следующее:
1. Организация памяти типа cache.
2. Организация оперативной памяти. Односегментное отображение, сегментация, страничная и сегментно-страничная организация памяти.
3. Способы организации доступа к внешней памяти (селекторные каналы, использование шинной архитектуры связи).
19. Функции распределенных операционных систем. Синхронизация. Взаимное исключение критических интервалов.
В ответе на этот вопрос требуется определить следующие понятия:
-
Распределенная система [17, лекции 1-2].
-
Распределенная операционная система [17, лекции 1-2].
-
Синхронизация [17, лекции 3-4].
-
Взаимное исключение критических интервалов – суть проблемы и требования к решению [17, лекции 3-4].
-
Семафоры [17, лекции 3-4].
-
Алгоритмы взаимного исключения - знать идеи 5-ти алгоритмов [17, лекции 5-6, раздел 4.3]
20. Распределенная общая память. Методы реализации. Модели консистентности.
В ответе на этот вопрос требуется раскрыть следующее:
-
Достоинства DSM [17, Лекции 9-11, раздел 6.1].
-
Методы реализации [17, Лекции 9-11, раздел 6.2, раздел 6.5 – только принципы].
-
Модели консистентности [17, Лекции 9-11, раздел 6.3 - определение и возможные алгоритмы реализации].
21. Методы представления знаний в системах искусственного интеллекта (язык предикатов, семантические сети, фреймы, продукции).
Метод представления знаний – совокупность взаимосвязанных средств формального описания знаний и оперирования (манипулирования) этими описаниями (аналог модели данных в теории Баз Данных – понятие концептуального уровня).
Логические методы (язык предикатов)
Знания, необходимые для решения задач и организации взаимодействия с пользователем, – факты (утверждения).
Факт – формула в некоторой логике.
Система знаний – совокупность формул.
База знаний – система знаний в компьютерном представлении.
Основные операции:
логический вывод (доказательство теорем)
Примеры:
иметь (Саша, книга) «Саша имеет книгу»
иметь (Саша, книги) иметь (Саша, книга) «Если Саша имеет книги, то он имеет книгу»
(x) [человек (x) иметь (x, книга)] «Каждый человек имеет книгу»
(x) [свободен (x) (y) (на (y,x))] «Если кубик x свободен, то нет такого кубика y,
который находится на кубике x»
Достоинства:
-
формальный аппарат вывода (новых фактов/знаний из известных фактов/знаний),
-
возможность контроля целостности,
-
простая и ясная нотация.
Недостатки:
-
знания трудно структурировать,
-
при большом количестве формул вывод идет очень долго,
-
при большом количестве формул их совокупность трудно обозрима.
Семантические сети
Знания, необходимые для решения задач и организации взаимодействия с пользователем, – объекты/события и связи между ними.
Статические семантические сети - сети с объектами.
Динамические семантические сети (сценарии) - сети с событиями.
Система знаний – совокупность сетей (или одна общая сеть).
База знаний – система знаний в компьютерном представлении.
откуда? – место . . .
Для представления семантических сетей используются графы:
вершина - атомарный объект (событие),
подграф - структурно сложный объект (событие),
дуга - отношение или действие.
Примеры отношений:
род-вид («компьютер» – «персональный_компьютер»)
целое-часть («компьютер» – «память»)
понятие-пример («компьютер» – «конкретный компьютер . . . »)
Основные операции:
сопоставление с образцом, поиск, замена, взятие копии
Пример сети:
<�описание компьютера>
Достоинства:
-
знания хорошо структурированы, структура понятна человеку.
Недостатки:
-
при большом объеме сети очень долго выполняются все операции,
-
при большом объеме сети она трудно обозрима.
Фреймы
Знания, необходимые для решения задач и организации взаимодействия с пользователем, – фреймы.
Фрейм-понятие – отношение/действие + связанные этим отношением/участвующие в этом действии объекты.
Фрейм-пример – конкретный экземпляр отношения/действия + конкретные объекты (связанные этим отношением/участвующие в этом действии).
Система знаний – совокупность фреймов-понятий и фреймов-примеров.
База знаний – система знаний в компьютерном представлении.
Фрейм: ИМЯ - отношение/действие
СЛОТЫ - объекты или другие фреймы
С каждым слотом может быть связана такая информация:
УСЛОВИЕ НА ЗАПОЛНЕНИЕ (тип, «по умолчанию», связь с другими слотами)
АССОЦИИРОВАННЫЕ ПРОЦЕДУРЫ (действия, выполняемые, например, при заполнении этого слота)
Основные операции:
поиск фрейма/слота, замена значения слота, взятие копии фрейма-понятия
Примеры:
Фрейм-понятие «Перемещать»
ПЕРЕМЕЩАТЬ (кто?, что?, откуда?, куда?, когда?, . . .)
Условия: кто? – человек, робот, . . .
откуда? – место
. . .
Фрейм-пример
ПЕРЕМЕЩАТЬ (Саша, Саша, Главное_Здание_МГУ, Факультет_ВМК, вчера в 15-30, . . .)
Фрейм-понятие «Персональный_компьютер»
ПЕРСОНАЛЬНЫЙ_КОМПЬЮТЕР (процессор?, тактовая_частота?, память?, монитор?, . . .)
Фрейм-пример
ПЕРСОНАЛЬНЫЙ_КОМПЬЮТЕР (Pentium-III, 600 МГц, 128Мб, SONY, . . .)
Достоинства:
-
знания хорошо структурированы, структура понятна человеку.
Недостатки:
-
при большом количестве фреймов долго выполняются все операции,
-
при большом количестве фреймов знания трудно обозримы.
Продукции
Знания, необходимые для решения задач и организации взаимодействия с пользователем, – продукции (продукционные правила).
Продукция – правило вида: p: (где: p – предусловие, - антецедент, - консеквент).
Система знаний – система продукционных правил + стратегия выбора правил.
База знаний – система знаний в компьютерном представлении.
Основные операции:
вывод (применение правила, определение правила-преемника и т.д.)
Примеры:
True: T > 200C & P > 5 кПа открыть клапан № 3
True: Х - башня Х имеет_часть У1 & У1 есть КРЫША & . . .
Достоинства:
Недостатки:
-
при большом количестве правил вывод идет очень долго,
-
при большом количестве правил их совокупность трудно обозрима.
22. Методы поиска решения задач в системах искусственного интеллекта (эвристический поиск в пространстве состояний и на И/ИЛИ деревьях).
В ответе на этот вопрос требуется раскрыть следующее:
-
Пространство состояний, поиск решения в пространстве состояний (примеры задач - 2-3 шт.).
-
Классификация алгоритмов поиска:
полные vs. неполные;
слепые vs. эвристические.
-
Словесное описание одного из алгоритмов (например, алгоритма поиска вширь).
-
Характер изменений в алгоритме при реализации поиска вглубь, эвристического поиска.
-
Фрагмент дерева поиска (например, для задачи "8").
-
Особенности игровых задач.
-
Использование при их решении аппарата И/ИЛИ-деревьев.
-
Фрагмент дерева решения (например, для игры "крестики-нолики" на поле 3 х 3).
-
Минимаксная процедура.
-
Эвристические приемы сокращения поиска (α-β процедура).
23. Основные особенности Плэнера как языка программирования для задач искусственного интеллекта.
Особенности задач ИИ (с точки зрения программирования):
-
сложные и динамически меняющиеся структуры данных;
-
символьные (в основном) данные;
-
модели, отражающие состояние проблемной среды;
-
переборные алгоритмы;
-
алгоритмы поиска по образцу;
-
гибкие структуры управления.
Основные составляющие языка Плэнер:
- средства для работы со списками (лисповская часть) - (1), (2);
- плэнерская база данных - (3);
- встроенный режим возвратов - (4), (6);
- аппарат работы с образцами - (5);
- аппарат теорем - (5), (6).
Три типа процедур языка Плэнер:
- функции;
- сопоставители (для работы с образцами);
- теоремы (процедуры, вызываемые по образцу).
24. Экспертные системы: архитектура, типы решаемых задач, области применения.
Экспертная система (ЭС) – вычислительная система, в которой представлены знания специалистов в некоторой конкретной узко-специализированной предметной области и которая в рамках этой области способна принимать решения (решать задачи) на уровне эксперта-профессионала.
Основные особенности ЭС:
-
ориентированы на решение практических задач в трудноформализуемых предметных областях,
-
результаты работы сравнимы с результатами человека-эксперта,
-
«прозрачность» решения,
-
открытая совокупность знаний.
Основные компоненты ЭС:
-
решатель / машина вывода (решение задач пользователя),
-
база знаний (хранение знаний, необходимых для решения задач),
-
подсистема объяснений (объяснение того, как получено решение),
-
пользовательский интерфейс,
-
подсистема приобретения знаний,
-
интерфейс администратора / инженера знаний.
Типичные задачи, решаемые с помощью ЭС:
Интерпретация - описание ситуации по информации, поступающей от датчиков.
SPE - определение концентрации гамма-глобулина в крови.
Прогноз - определение вероятных последствий заданных ситуаций.
PLANT/cd - определения потерь урожая от черной совки.
Планирование - определение последовательности действий.
TATR - планирование авиаударов по аэродромам противника.
Диагностика - выявление причин неправильного функционирования системы.
MYCIN - диагностика бактериальных инфекций.
Отладка - составление рецептов исправления неправильного функционирования системы.
ONCOCIN - планирования химиотерапевтического лечения.
Ремонт - выполнение последовательности предписанных исправлений.
TQMSTUNE - настройка масс-спектрометра.
Проектирование - построение конфигурации объектов при заданных ограничениях.
XCON (R1) - выбор оптимальной конфигурации аппаратных средств (VAX).
Наблюдение - сравнение результатов наблюдения с ожидаемыми результатами.
VM - наблюдение за состоянием больного в палате интенсивной терапии.
Обучение - диагностика, отладка и ремонт поведения обучаемого.
GUIDON - обучение студентов-медиков (антибактериальная терапия).
Управление - управление поведением системы как целого. VM
Сферы применения ЭС:
ХИМИЯ: DENDRAL (интерпр.) - определение структурной формулы хим.в-ва.
МЕДИЦИНА: VM, MYCIN (см. выше).
ВОЕННОЕ ДЕЛО: TATR (см. выше), I&W (прогнозир.) - прогнозирование вооруженных конфликтов.
ЭЛЕКТРОНИКА: EURISKO (проектир.) - проектирование СБИС.
КОМПЬЮТЕРНЫЕ СИСТЕМЫ: XCON (см. выше), PTRANS (планир.&прогнозир.) - маркетинг в DEC.
ТЕХНИКА: REACTOR (наблюден.) - в составе системы управления ядерным реактором.
ГЕОЛОГИЯ: PROSPECTOR (интерпр.) - оценка потенциальной рудоносности района.
25. Эталонная модель взаимосвязи открытых систем OSI ISO. Основные элементы и архитектура OSI ISO. Уровни протоколов и их основные функции. Правила описания сервиса уровней.
В ответе на этот вопрос требуется раскрыть следующее:
Эталонная модель взаимосвязи открытых систем OSI ISO.
Уровни протоколов и их основные функции.
Понятие сервиса, интерфейса, протокола.
[24, раздел 1.4-1.8]
26. Эталонная модель TCP/IP (Internet) и ее сравнение с эталонной моделью OSI ISO. Основные функции протоколов IP и TCP. Основные прикладные протоколы архитектуры TCP/IP.
Ответ изложен в литературе:
[24, разделы 1.7, 1.10, 5.5, 7.1, 7.2, 7.3, 7.4]
27. Принципы организации и функционирования системы передачи данных в компьютерных сетях.
Ответ изложен в литературе:
[24, разделы 1.9, 2.1 – 2.5]
28. Средства межсетевого взаимодействия (мосты, маршрутизаторы, шлюзы).
Ответ изложен в литературе:
[24, разделы 4.4, 5.2 – 5.4]
29. Унифицированный язык моделирования UML. Основные средства языка
В ответе на этот вопрос раскрыть следующее:
-
Назначение UML;
-
История создания и перспективы развития UML;
-
Состав диаграмм UML и их назначение:
-
диаграммы вариантов использования (use case diagrams);
-
диаграммы классов (class diagrams);
-
диаграммы последовательности (sequence diagrams);
-
кооперативные диаграммы (collaboration diagrams);
-
диаграммы состояний (statechart diagrams);
-
диаграммы деятельности (activity diagrams);
-
диаграммы компонентов (component diagrams);
-
диаграммы размещения (deployment diagrams).
См. литературу [25], [26]. Примеры диаграмм см. в методическом пособии http://sp.cmc.msu.ru/courses/prak5/exercise.doc97.zip,
а также http://sp.cmc.msu.ru/courses/prak5/umlpracticum.pdf.
30. Распределенные файловые системы. Семантика разделения файлов. Кэширование.
В ответе на этот вопрос требуется раскрыть следующее:
-
Цели создания DFS [17, Лекции 7-8, раздел 5].
-
Прозрачность именования [17, Лекции 7-8, раздел 5.1.2].
-
Семантика разделения файлов [17, Лекции 7-8, раздел 5.1.3].
-
Серверы с состоянием и без состояния. Их достоинства и недостатки.
[17, Лекции 7-8, раздел 5.2.2].
-
Организация кэширования [17, Лекции 7-8, раздел 5.2.3].
Литература к дополнительной части вопросов для кафедр.
1. Шикин Е.В., Боресков А.В. Компьютерная графика. Динамика, реалистические изображения. - М.: ДИАЛОГ-МИФИ.
2. Яблонский С.В. Введение в дискретную математику. - М.: Наука, 1986.
3. Алексеев В.Б., Ложкин С.А. Элементы теории графов и схем. Методическая разработка.
4. Чень Ч., Ли Р. Математическая логика и автоматическое доказательство теорем.
5. Братко И. Программирование на языке Пролог для искусственного интеллекта. М.МИР.1990
6. Дейт К. Введение в системы баз данных. - М.: Наука, 1980.
7. Хокни Р., Джессхоуп К. Параллельные ЭВМ. - М.: Радио и связь , 1986.
8. Кауфман В.Ш. Языки программирования. Концепции и принципы. - М.: Радио и связь, 1993.
9. Джехани Н. Язык Ада. - М.: Мир, 1988.
10. Вирт Н. Программирование на языке Модула-2. - М.: Мир, 1988.
11. Жоголев Е.А. Лекции по технологии программирования. - М.: Издат. отдел ф-та ВМК МГУ, 2001.
12. Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и трансляции, т.1, т.2.
13. Королев Л.Н. Структура ЭВМ и их математическое обеспечение. - М.: наука, 1978.
14. Малые ЭВМ высокой производительности. Архитектура и программирование. - М.: Радио и связь, 1990.
15. Коуги П. Архитектура конвейерных ЭВМ. - М.: Радио и связь, 1985.
16. Смирнов А.Д. Архитектура вычислительных систем. - М.: Наука, 1990.
17. Крюков В.А. Распределенные операционные системы. http://sp.cmc.msu.ru в разделе информация
18. Нильсон Н. Принципы искуственного интеллекта. - М.: Радио и связь, 1985.
19. Интеллектуализация ЭВМ. - М.: Высшая школа, 1989.
20. Пильщиков В.Н. Язык плэнер. - М.: Наука, 1983.
21. Ларионов А.М. Майоров С.А., Новиков Г.И. Вычислительные комплексы, системы и сети – Л., Энергоиздат, 1987.
22. Нильсон Н. Знакомьтесь World Wide Web. Киев, BHV, 1996.
23. Смелянский Р.Л., Брежнев А.Ф. Протокол TCP/IP. Технологии электронных коммуникаций - М.1991, Т.3.стр.61-125.
-
Смелянский Р.Л. Конспекты лекций «Компьютерные сети», http://lvk.cs.msu.su/index.php/docs/255
25. Вендров А.М. Проектирование программного обеспечения экономических информационных систем - М.: Финансы и статистика, 2000.
26. Фаулер М., Скотт К. UML в кратком изложении. Применение стандартного языка объектного моделирования.: Пер. с англ. – М.: Мир, 1999.
Дополнительная литература
-
Шикин Е.В., Боресков А.В. "Компьютерная графика: полигональные модели" М., 2000. Стр.156-164
-
http://graphics.cs.msu.su/courses/cg_el99/notes/lect01.doc
|