федеральное агенство связи - Кафедра вычислительных систем

advertisement
ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ
ОБРАЗОВАТЕЛЬНОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ»
УТВЕРЖДАЮ
проректор по учебной работе –
ФГОБУ ВПО «СибГУТИ»
_________ д.э.н профессор Л.А. Сафонова
« ___ » ___________ 2011 г.
ПРОГРАММА
ИТОГОВОГО ГОСУДАРСТВЕННОГО ЭКЗАМЕНА
по специальности 230101.65
«Вычислительные машины, комплексы, системы и сети»
Новосибирск – 2011 г.
Итоговая государственная аттестация инженера включает в себя
защиту выпускной квалификационной работы и государственный экзамен.
Итоговый государственный экзамен проводится по специальным дисциплинам с целью определения соответствия знаний, умений и
навыков студентов по комплексу специальных дисциплин и их соответствия требованиям государственного образовательного стандарта.
К сдаче итогового государственного экзамена допускаются студенты, не имеющие задолженностей по учебной программе.
Экзамен проводится в письменно-устной форме.
На экзамене студент получает билет, содержащий 6 вопросов
(по одному на каждый раздел), на которые он отвечает в письменном
виде в течение 4 часов.
Результаты сдачи экзамена определяются оценками: «отлично»,
«хорошо», «удовлетворительно», «неудовлетворительно», которые
оглашаются комиссией.
В случае несогласия с оценкой студент имеет право обжаловать
её перед комиссией, ответив в устой форме на возникшие у комиссии
вопросы.
Студенты, успешно сдавшие Итоговый государственный экзамен, допускаются к прохождению преддипломной практики.
Студенты, получившие оценку «неудовлетворительно», имеют
право на одну повторную сдачу экзамена не раньше, чем через месяц.
До
этого
к
преддипломной
практики
они
не
допускаются.
РАЗДЕЛ 1. АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
1.1 Архитектура вычислительных систем
1.1.1 Принципы построения, архитектурные возможности машин
ENIAC и EDVAC.
1.1.2 Модель коллектива вычислителей. Основные принципы построения вычислительных систем. Типовые структуры ВС.
1.1.3 Понятие «архитектура вычислительной системы». Классификация архитектур ВС.
1.1.4 Методика крупноблочного распараллеливания сложных задач.
Параллельные программы и показатели эффективности параллельных
алгоритмов.
1.1.5 Конвейерные вычислительные системы. Системы STAR-100,
CRAY-1, CRAY-2, CRAY X-MP.
1.1.6 Матричные вычислительные системы. Системы ILLIAC-IV,
DAP.
1.1.7 Мультипроцессорные вычислительные системы. Системы
C.mmp, Burroughs, Эльбрус, Cm*.
1.1.8 Архитектура вычислительной системы «Минск-222».
1.1.9 Вычислительные системы с программируемой структурой.
МИНИМАКС, СУММА.
1.1.10 Распределённые вычислительные системы. Кластерные ВС и
GRID-системы.
1.2 Высокопроизводительные вычислительные системы
1.2.1 Направления развития вычислительных систем.
1.2.2 Теория структур распределённых вычислительных систем.
3
Циркулянтные (Dn-графы). L(n,v,g)-графы.
1.2.3
1.2.4
1.2.5
1.2.6
1.2.7
1.2.8
1.2.9
Структурные характеристики ВС. Оптимальные структуры ВС
Вычислительная система Connection Machine.
Вычислительная система CRAY X.
Вычислительная система МИКРОС.
Семейство вычислительных систем МВС.
Система доменных имен (DNS).
Протокол передачи почтовых сообщений SMTP.
1.2.10 Сетевой экран iptables.
1.2.11 Протокол передачи файлов FTP. Конфигурирование сервера
ProFTPD.
1.3 Отказоустойчивые вычислительные системы
1.3.1 Операции, необходимые для обеспечения отказоустойчивости
вычислительной системы
1.3.2 Структуры отказоустойчивых систем
1.3.3 Организация отказоустойчивых систем с дублированием
1.3.4 Активная защита от отказов
1.3.5 Поиск одиночных отказов в системах со структурно-временной
избыточностью
1.3.6 Графовые модели отказоустойчивых систем
1.3.7 Синдром вычислительной системы
1.3.8 Диагностические модели
1.3.9 Методы дешифрации синдрома системы
1.3.10 Использование парных элементарных проверок между машинами
1.3.11 Использование коллективных диагностических проверок
4
1.3.12 Состояния отказоустойчивых вычислительных систем
1.3.13 Принципы организации самодиагностирования
1.3.14 Планирование загрузки элементарных машин с учетом операций диагностирования
РАЗДЕЛ 2. СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
2.1 Операционные системы
2.1.1 Перечислите и поясните основные функции операционных систем. Приведите примеры исполнения этих функций, на основе современных ОС.
2.1.2 Опишите, какие типы операционных систем Вы знаете? Поясните что такое ядро ОС? Приведите примеры современных ОС, и поясните, к какому классу они относятся.
2.1.3 Что такое «виртуальный адрес», «виртуальное адресное пространство»? Чем (в общем случае) определяется максимально возможный объём виртуального адресного пространства программы?
2.1.4 Для чего операционные системы используют несколько режимов работы процессора? Чем отличается супервизорный режим (режим
ядра) от пользовательского режима? Как часто процессор переводится из
одного режима в другой и зачем?
2.1.5 Дайте определение терминам «процесс» и «поток». Объясните
в чем их отличия. Определите условия, в которых лучше всего использовать процессы и потоки. Приведите примеры.
2.1.6 Дайте определение термину «состояние процесса». Опишите, в
каких состояниях могут находиться процессы. Нарисуйте диаграмму семи состояний процессов.
5
2.1.7 Что такое «файловая система»? Что дает использование той
или иной файловой системы? Приведите примеры файловых систем, используемых в современных операционных системах.
2.1.8 Дайте определение задачи «производитель – потребитель».
Приведите алгоритм её решения с использованием семафоров.
2.1.9 Дайте определение понятию «взаимоблокировка». Опишите
условия, при которых взаимоблокировка не может возникнуть. Приведите пример.
2.1.10 Зачем используются алгоритмы планирования выполнения
процессов? Приведите примера алгоритмов. Укажите, какие из них используются в современных операционных системах.
2.2 Системное программное обеспечение
2.2.1 Написать КС-грамматику для языка L, построить дерево вывода и левосторонний вывод для цепочки aabbbcccc
L = {a2nbmc2k | m = n + k, m  1}
2.2.2 Построить грамматику, порождающую сбалансированные относительно круглых скобок цепочки в алфавите {a, (, ), }. Сбалансированную цепочку определим рекуррентно: цепочка  сбалансирована, если:
  не содержит круглых скобок;
  = (1) или  = 12, где 1 и 2 сбалансированы.
2.2.3 Дан язык L = {13n+20n | n ≥ 0}. Определить его тип, написать
грамматику, порождающую язык L. Построить левосторонний и правосторонний выводы, дерево разбора для цепочки 1111111100.
2.2.4 Построить КС-грамматику, эквивалентную грамматике с правилами:
6
S
 AB | ABS
AB  BA
BA  AB
A a
B b
2.2.5 Дана грамматика с правилами:
S  if B then S | B = E
EB|B+E
Ba|b
Построить восходящим и нисходящим методами дерево вывода для
цепочки:
if a then b = a + b + b
2.2.6 Написать леволинейную регулярную грамматику, эквивалентную данной праволинейной, допускающую детерминированный разбор
S  Ab
B  aC | aD | dB
C  aB
D
2.2.7 Для данной грамматики:
а) определить ее тип;
в) какой язык она порождает;
с) написать Р-грамматику, почти эквивалентную данной;
d) построить ДС и анализатор на Си.
S  0S | S0 | D
D  DD | 1A | 
A  0B | 
B  0A |0
7
2.2.8 Преобразовать грамматику к виду, допускающему детерминированный разбор (использовать алгоритм преобразования НКА к детерминированному КА). Какой язык порождает грамматика? Написать анализатор.
S  C
C  B1
B  0 | D0
D  B1
2.2.9 Написать регулярную грамматику, порождающую язык:
L = {11 |   {0,1}+, где все подряд идущие 0 – подцепочки нечетной
длины}; по грамматике построить ДС, а по ДС написать на Си анализатор.
2.2.10 Написать для данной грамматики (предварительно преобразовав ее, если это требуется) анализатор, действующий методом рекурсивного спуска.
S  P = E | while E do S
P  I | I (E {, E})
EE+T|T
TT*F|F
F  P | (E)
Ia|b|c
2.2.11 Написать для данной грамматики процедуры анализа методом
рекурсивного спуска, предварительно преобразовав ее.
F  function I(I) S; I:=E end
S  ; I:=E S | 
E  E*I | E+I | I
2.2.12 Восстановить Кс-грамматику по функциям, реализующим син8
таксический анализ методом рекурсивного спуска. Можно ли было по
этой грамматике вести анализ методом рекурсивного спуска?
#include <stdio.h>
int c; FILE *fp;
void A( );
void ERROR( );
void S (void)
{
A( );
if( c != ‘’ )
ERROR( );
}
void A (void)
{
B( );
while ( c = = ‘a’ ){
c = fgetc(fp);
B( );
}
B();
}
void B(void)
{
if( c = = ‘b’ )
c = fgetc(fp);
}
void main ( )
{
fp = fopen(“data”, “r”);
c = fgetc(fp);
S( );
printf(“O.K.!”);
}
2.2.13 Записать в ПОЛИЗе следующий оператор языка Си, используя
стек, выполнить его при указанных начальных значениях переменных:
S = 0;
for ( I = 1; I <= k; I = I + 1)
S = S +i*i;
при k = 3.
9
2.2.14 Записать в ПОЛИЗе следующий оператор языка Си, используя
стек, выполнить его при указанных начальных значениях переменных:
switch (k) {
case 1: a = not a; break;
case 2: b = a or not b;
case 3: a = b;
}
2.2.15 Написать грамматику для выражений, содержащих переменные, знаки операций + , -, *, / и скобки ( ), где операции должны выполняться строго слева направо, но приоритет скобок сохраняется. Определить действия по переводу таких выражений в ПОЛИЗ.
2.3 Распределённые операционные системы
2.3.1 Дайте определение термина «распределённые вычислительные
системы». Опишите их отличия от других. Сформулируйте основные
функции, выполняемые распределёнными операционными системами.
2.3.2 Что такое «открытая система»? Приведите примеры.
2.3.3 Дайте определение проблеме синхронизации событий в распределённых системах. Приведите примеры решения этой проблемы с
использованием различных алгоритмов. Определите достоинства и недостатки каждого из подходов.
2.3.4 Опишите способы именования объектов в распределённых системах. Приведите пример использования DNS, LDAP. Покажите, как
используются в современных компьютерных сетях и распределённых
системах эти протоколы.
2.3.5 Дайте определение «контроля доступа к разделяемым объектам». Какие проблемы могут возникать в случае неконтролируемого доступа параллельных процессов к общим перезаписываемым данным?
Приведите примеры алгоритмов исключения взаимоблокировок.
10
2.3.6 Каким образом осуществляются взаимодействия между параллельными процессами в распределённых системах? Для чего используется промежуточное программное обеспечение? Приведите примеры
взаимодействия процессов, с использованием механизмов RPC, промежуточного программного обеспечения.
2.3.7 Приведите примеры объектов или ресурсов, которые выделяются системой по требованию параллельных приложений. Можно ли
определить эти требования определить до запуска программы или нет?
Приведите примеры решения проблемы взаимоблокировки при доступе
к разделяемым ресурсам.
2.3.8 Дайте определение термину «репликация данных». Зачем она
нужна? Приведите пример использования репликации.
2.3.9 Опишите модель «сетевой файловой системы». Определите
цели их использования. Приведите примеры современных сетевых файловых систем.
2.3.10 Как в распределённых системах осуществляется контроль доступа к объектам файловой системы? Что такое режим доступа? Приведите примеры контроля доступа с использованием различных режимов.
РАЗДЕЛ 3. РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
3.1 Программирование на языках высокого уровня
3.1.1 Разработать подпрограмму на языке Си, удаляющую лишние
пробелы в строке (между словами только один пробел).
3.1.2 Разработать подпрограмму на языке Си, выполняющую разложение числа на простые множители (например, 36=3*3*2*2). Результат
– последовательность множителей в массиве, ограниченная 0.
11
3.1.3 Разработать подпрограмму на языке Си, "переворачивающую"
все слова в строке. (Например: "Жили были дед и баба" - "илиЖ илыб
дед и абаб").
3.1.4 Разработать подпрограмму на языке Си, выполняющую поиск
двух одинаковых фрагментов в строке, не содержащих пробелы и имеющих максимальную длину. Результат – указатель на начало первого из
них.
3.1.5 Разработать подпрограмму на языке Си, выполняющую поиск
конца предложения в строке (символ "точка"), в первом слове следующего предложения необходимо выполнить замену первой строчной буквы на прописную. Между словами количество пробелов может быть любым.
3.1.6 Разработать подпрограмму на языке Си, заменяющую в строке
принятое в Си обозначение символа с заданным кодом в восьмеричной
системе счисления на сам символ в базовой кодировке ASCII. Например,
ASCII код символа A – 4116 и 1018 тогда строка “test101 and test_102”
должна быть преобразована в строку “testA and test_B”.
3.1.7 Разработать подпрограмму на языке Си, выполняющую поиск
слова в строке, начинающегося с самой младшей латинской буквы, и
возвращающую указатель на его начало.
3.1.8 Разработать подпрограмму на языке Си, удаляющую из строки
комментарии вида "/* ... */". Игнорировать вложенные комментарии.
3.1.9 Разработать подпрограмму на языке Си, выполняющую поиск
в строке наиболее часто встречающегося символа, и заменяющую его на
пробел.
3.1.10 Разработать подпрограмму на языке Си, выполняющую поиск
подстроки в строке. Строка и подстрока заданы в массивах символов.
12
Результат функции – указатель на начало подстроки в строке или NULL.
3.1.11 Разработать подпрограмму на языке Си, определяющую в
массиве максимальную длину последовательности расположенных подряд возрастающих значений, и возвращающую индекс ее начала.
3.1.12 Разработать подпрограмму на языке Си, преобразовывающую
дробную часть переменной типа double в строку символов (путем последовательного умножения дробной части на 10).
3.1.13 Разработать подпрограмму на языке Си, выполняющую поиск
наименьшего общего кратного для всех элементов массива - минимальное число, которое делится на все элементы массива без остатка.
3.1.14 Разработать подпрограмму на языке Си, формирующую массив
простых чисел в диапазоне от 2 до заданного. Очередное простое число
определяется попыткой деления нацело числа на все уже накопленные
простые числа.
3.1.15 Разработать подпрограмму на языке Си, осуществляющую
двоичный поиск строки по образцу в упорядоченном массиве строк. Если найдено несколько строк, то требуется найти первую. Функция возвращает указатель на найденную строку.
3.2 Технологии программирования
3.2.1 Реализовать класс «одномерный массив». Перегрузить для него операторы ([], ==, !=, =, <, >). Объяснить использование указателей,
ссылок, квалификатора const.
3.2.2 Прочитать текстовый файл по словам с сохранением порядка,
после чего реализовать простейший редактор. А именно, предусмотреть
возможность поиска слов, удаления всех найденных слов, вставки заданных слов после найденных. Объяснить принцип выбора использо-
13
ванных контейнерных типов данных.
3.2.3 Прочитать текстовый файл по словам, вывести все слова, которые встречаются не менее n раз (n задается пользователем). Предусмотреть сортировку вывода по длине слов. Объяснить принцип выбора использованных контейнерных типов данных.
3.2.4 Реализовать класс, хранящий некоторый набор слов и реализующий основные операции над ним (поиск, вставка, удаление). Объяснить выбор представления данных в памяти (дерево, хэш-таблица, список или массив), показать один из вариантов реализации итератора.
3.2.5 Написать прототипы функций, создающей одномерный массив
заданного размера и с заданными начальными значениями. Предусмотреть возможность создания клона имеющегося массива. Известно, что
большинство массивов будет иметь размер 10 и начальные значения – 1.
Реализовать описанные функции.
3.2.6 Реализовать две функции с одинаковой сигнатурой в разных
пространствах имен. Использовать в своей программе обе эти функции
одновременно. Объяснить влияние using-директив на области видимости.
3.2.7 Реализовать несколько функций поиска минимального элемента (из 2 аргументов, 3 аргументов, массива, строки). Объяснить алгоритм
разрешения перегрузки функций.
3.2.8 Реализовать несколько шаблонов функций поиска минимального элемента (из 2 аргументов, 3 аргументов, массива). Объяснить алгоритм конкретизации шаблонов.
3.2.9 Реализовать функцию, которая считывает двумерный массив
из файла. Размерность массива определяется двумя первыми числами в
файле. Предусмотреть вероятность неправильных форматов данных.
14
Объяснить используемый алгоритм обработки нештатных ситуаций.
3.2.10 Необходимо отсортировать слова из файла по числу входящих
в них гласных букв. Объяснить критерий выбора обобщенного алгоритма, преимущества использования объекта-функции.
3.2.11 Реализовать класс комплексных чисел (конструктор, несколько
операторов =, ==, !=, <<, >>). Объяснить взаимосвязь между уровнями
доступа и друзьями класса.
3.2.12 Написать прототип класса «User». Методы класса должны
быть доступны всем, но создавать объекты этого класса имеют право
только объекты типа «Administrator». Объяснить принципы использования открытых и закрытых конструкторов.
3.2.13 Реализовать класс «Int100» для представления целых чисел от
0 до 100 включительно. Предусмотреть конструктор по умолчанию и
копирующий конструктор, несколько операторов (=, ==, !=, +=, –=), преобразования в тип int и обратно.
3.2.14 Реализовать шаблон класса “Stack”, основные операции работы
со стеком (создание, уничтожение, чтение и извлечение верхнего элемента, добавление элемента).
3.2.15 Для небольшой игры написать иерархию классов «Monsters»
(текущее местоположение, запас здоровья, особенности визуализации), и
основной цикл, который производит отображение всех участников на
экран. Объяснить принцип действия полиморфизма.
РАЗДЕЛ 4. АППАРАТУРНОЕ ОБЕСПЕЧЕНИЕ ЭВМ и СИСТЕМ
4.1 Организация ЭВМ и систем
4.1.1 Поколения ЭВМ.
4.1.2 Жесткое и микропрограммное управление.
15
4.1.3 Оценки производительности ЭВМ.
4.1.4
4.1.5
4.1.6
4.1.7
4.1.8
4.1.9
4.1.10
Простейшие механические и электромеханические ВМ.
Организация памяти ЭВМ.
Прямой доступ к памяти - основные принципы.
Прерывания - основные принципы.
ЭВМ фон Неймана. Принцип открытой архитектуры.
Обобщенная схема процессора.
Архитектура ЭВМ.
4.1.11
4.1.12
4.1.13
4.1.14
4.1.15
Количественные оценки производительности.
Количественные оценки памяти.
Два направления развития средств обработки информации.
Виды архитектур ВС.
Конвейерная организация процессора.
4.2 Микропроцессорные системы
4.2.1 Сравнительный анализ архитектур и функциональных возможностей микроконтроллеров х-51 совместимых семейств фирм Intel,
Analog Devices, Silicon Laboratories, Texas Instruments и др.
4.2.2 Сравнительный анализ архитектур и функциональных возможностей микроконтроллеров семейств MC68HC05/08/11 фирмы Freescale
Semiconductor.
4.2.3 Организация процессорных ядер в микроконтроллерах 8разрядных семейств фирм Intel и Freescale Semiconductor. (Основные характеристики и сравнительная оценка).
4.2.4 Организация последовательных интерфейсов в микроконтроллерах 8-разрядных семейств фирм Intel и Freescale Semiconductor. (Основные характеристики и сравнительная оценка).
16
4.2.5 Организация таймерных подсистем в микроконтроллерах 8разрядных семейств фирм Intel и Freescale Semiconductor. (Основные характеристики и сравнительная оценка).
4.2.6 Организация подсистем аналого-цифрового преобразования в
микроконтроллерах 8-разрядных семейств фирм Intel и Freescale
Semiconductor. (Основные характеристики и сравнительная оценка).
4.2.7 Организация параллельного обмена и портов ввода/вывода в
микроконтроллерах 8-разрядных семейств фирм Intel и Freescale
Semiconductor. (Основные характеристики и сравнительная оценка).
4.2.8 Организация систем прерывания в микроконтроллерах 8разрядных семейств фирм Intel и Freescale Semiconductor. (Основные характеристики и сравнительная оценка).
4.2.9 Сравнительный анализ архитектур и функциональных возможностей микроконтроллеров 16-разрядных семейств MCS – 96/196/296
фирмы Intel.
4.2.10 Сравнительный анализ архитектур и функциональных возможностей микроконтроллеров 16- и 32-разрядных семейств фирмы
Freescale Semiconductor.
4.3 Интерфейсы периферийных устройств
4.3.1 Параллельный интерфейс ввода-вывода.
4.3.2 Последовательные порт ввода-вывода UART.
4.3.3 COM-порт персонального компьютера.
4.3.4 Подключение клавиатуры к параллельному порту микроконтроллера.
4.3.5 Интерфейс I2C.
4.3.6 Обмен информацией с микросхемой часов по интерфейсу I2C.
17
4.3.7 Подключение жидкокристаллического индикатора к миктроконтроллеру.
4.3.8 ЦАП и АЦП микроконтроллера.
4.3.9 Интерфейса MicroLAN. Подключение температурного датчика.
4.3.10 Интерфейс IrDA.
РАЗДЕЛ 5. ПАРАЛЛЕЛЬНЫЕ
ВЫЧИСЛИТЕЛЬНЫЕ ТЕХНОЛОГИИ
5.1.1 Написать блок-схему алгоритма умножения двух прямоугольных матриц А – MxN и B – NxL на n процессорах, разрезая первую матрицу на n полос по строкам, а вторую на n полос по столбцам, если в
каждом процессоре хранится по одной полосе матриц А и В.
5.1.2 Метод прогонки для решения систем линейных алгебраических уравнений и алгоритм его распараллеливания. Напишите блоксхему алгоритма.
5.1.3 Метод Гаусса для решения систем линейных алгебраических
уравнений с квадратной матрицей и алгоритм его распараллеливания.
Напишите блок-схему алгоритма.
5.1.4 Метод продольно-поперечной прогонки для решения двумерного уравнения теплопроводности
2
2

u 
u
u


( 2 2) (первая краевая

t

x 
y
задача) в прямоугольной области и его распараллеливание. Напишите
блок-схему параллельного алгоритма
5.1.5 Метод расщепления по пространственным переменным для
2
2

u 
u
u


(

)
решения двумерного уравнения теплопроводности
2
2 в

t

x

y
прямоугольной области (первая краевая задача) и его распараллелива18
ние. Напишите блок-схему параллельного алгоритма.
5.1.6 Поточечный метод Зейделя для решения двумерного уравнения Пуассона
2
2

u
u

f(x
,y
)в прямоугольной области (задача Ди2
2

x 
y
рихле) и его распараллеливание. Напишите блок-схему параллельного
алгоритма.
5.1.7 Блочный метод Зейделя для решения двумерного уравнения
2
2

u
u

f(x
,y
)в прямоугольной области (задача ДирихПуассона
2
2

x

y
ле) и его распараллеливание. Напишите блок-схему параллельного алгоритма.
5.1.8 Метод матричной прогонки для решения двумерного уравне2
2

u 
u
u


(

)
ния теплопроводности
2
2 в прямоугольной области

t

x 
y
(первая краевая задача) и его распараллеливание. Напишите блок-схему
параллельного алгоритма.
5.1.9 Поставить первую краевую задачу и написать блок-схему алгоритма распараллеливания для решения двумерного уравнения перено
u
u
u

a

b

f
(
x
,
y
),
a

0
,
b

0
са 
в прямоугольной области с
t 
x
y
помощью неявной разностной схемы бегущего счета.
5.1.10 Записать явную разностную схему для решения трехмерного
уравнения теплопроводности
2 2 2

u 
u
u
u


(2
2
2
) в области

t

x 
y 
z
D  {0  x  1, 0  y  1, 0  z  1, t  0} (первая краевая задача) и
блок-схему алгоритма ее распараллеливания.
5.1.11 Явный метод Эйлера для решения системы из N обыкновенных
19

d
y 
f(x
,y
,
,y
)(задача Коши) и его
дифференциальных уравнений
1
N
dx
распараллеливание. Написать блок-схему параллельного алгоритма и
определить максимальное значение коэффициента ускорения вычислений.
5.1.12 Параллельный алгоритм вычисления определителя квадратной
матрицы А – n x n методом Гаусса. Написать блок-схему алгоритма. Какие процессоры будут при этом наиболее загружены?
5.1.13 Параллельный алгоритм вычисления обратной матрицы для
матрицы А – n x n методом Гаусса. Написать блок-схему параллельного
алгоритма. Какие процессоры будут наиболее загружены в обратном ходе этого метода?
5.1.14 Неявный метод Эйлера для решения системы «жестких» диф

dy
 A y (задача Коши, А – числовая матференциальных уравнений
dx
рица n x n) и его распараллеливание. Написать блок-схему параллельного алгоритма.
5.1.15 Алгоритм статистического метода «блуждания по сферам» для
2u 2u

0 в прямоугольной области
решения уравнения Лапласа
x2 y2
(задача Дирихле) и его распараллеливание. Написать блок-схему параллельного алгоритма и определить максимальное значение коэффициента
ускорения вычислений.
5.2 Теория функционирования распределённых вычислительных
систем
5.2.1 Показатели надежности вычислительных систем. Модель
функционирования вычислительных систем со структурной избыточно20
стью.
5.2.2 Методика расчета показателей надежности вычислительных
систем со структурной избыточностью.
5.2.3 Показатели живучести вычислительных систем. Стохастическая модель функционирования живучих вычислительных систем.
5.2.4 Континуальный подход к анализу живучести большемасштабных вычислительных систем.
5.2.5 Режимы функционирования вычислительных систем. Мультипрограммный режим обработки набора параллельных задач.
5.2.6 Режимы функционирования вычислительных систем. Мультипрограммный режим обслуживания потока параллельных задач.
5.2.7 Эвристические алгоритмы распределения параллельных задач
набора по элементарным машинам вычислительной системы.
5.2.8 Теоретико-игровой подход к организации функционирования
распределенных
вычислительных
систем.
Игра
“Диспетчер  Вычислительный центр”.
5.2.9 Подход к организации функционирования распределенных вычислительных систем с привлечением аппарата стохастического программирования. Задача разбиения вычислительной системы на подсистемы элементарных машин.
5.2.10 Подход к организации функционирования распределенных вычислительных систем с привлечением аппарата стохастического программирования. Методы решения задач стохастического программирования.
21
5.2.11 Подход к организации функционирования пространственнораспределенных вычислительных систем с привлечением аппарата стохастического программирования. Задача распределения элементарных
машин по терминалам пространственно-распределенной вычислительной системы.
5.2.12 Задача вложения в распределенные вычислительные системы
параллельных программ с целью минимизации времени их выполнения.
5.2.13 Задача формирования оптимальной подсистемы элементарных
машин.
5.2.14 Децентрализованные алгоритмы диспетчеризации параллельных программ в распределенных вычислительных системах.
5.2.15 Задача оптимизации коллективных операций информационных
обменов в распределенных вычислительных системах.
РАЗДЕЛ 6. ТЕОРИЯ АВТОМАТОВ
6.1
Какая из двух нижеследующих записей а) и б) репрезентирует
(детерминированный) автомат:
а) ({1, 2}, {0, 1}; {(1, 0, 1), (2, 0, 2), (1, 1, 2), (2, 1, 1)});
б) ({1, 2}, {0, 1}; {(1, 0, 1), (2, 0, 1), (1, 1, 2), (2, 1, 1)}).
6.2
Какая из двух нижеследующих записей a) и b) репрезентирует
недетерминированный автомат:
а) ({1, 2}, {0, 1}; {(1, 0, 1), (2, 0, 2), (1, 1, 2), (2, 1, 1)});
б) ({1, 2}, {0, 1}; {(1, 0, 1), (2, 0, 1), (1, 1, 2), (2, 1, 1)}).
6.3
Пусть (Q, X, Y;  ) — автомат. Допустимо ли считать, что
Q = X = Y?
6.4
Пусть (Q, X, Y;  ) — автомат. Допустимо ли считать, что
22
Q =  или X =  или Y = ?
6.5
Какое из трёх нижеследующих утверждений а), б), в) истинно:
а) каждый инициальный автомат с входом, выходом и памятью имеет
два и только два поведения.
б) каждый инициальный автомат с входом, выходом и памятью имеет
одно и только одно словарное поведение.
в) каждый автомат с входом, выходом и памятью имеет одно и только
одно словарное поведение.
6.6
Какое из двух нижеследующих утверждений а), б) истинно:
а) каждый инициальный автомат с входом, выходом и памятью имеет
одно и только одно сверхсловарное поведение.
б) каждый автомат с входом, выходом и памятью имеет одно и только
одно сверхсловарное поведение.
6.7
Какое из двух нижеследующих утверждений а), б) истинно:
а) автомат является конечным, если конечен его внутренний алфавит.
б) автомат является конечным, если конечны все его алфавиты.
6.8
Какое из двух нижеследующих утверждений а), б) истинно:
а) автомат является конечным, если и только если конечен его внутренний алфавит.
б) автомат является конечным, если и только если конечны все его
алфавиты.
6.9
Пусть заданы алфавиты Q, X, Y, причём Q = k, X = m, Y = n.
Сколько существует различных недетерминированных автоматов в заданных алфавитах? Ответы: а) 2km(n+k); б) (kn)mk.
6.10 Пусть заданы алфавиты Q, X, Y, причём Q = k, X = m, Y = n.
Сколько существует различных детерминированных автоматов в заданных алфавитах? Ответы: а) 2km(n+k); б) (kn)mk.
23
6.11
Пусть заданы алфавиты Q, X, Y, причём Q = k, X = m, Y = n.
В каких точно случаях число недетерминированных конечных автоматов
в заданных алфавитах ровно на 3 превышает число детерминированных
автоматов в этих же алфавитах? Ответы: а) k = m = n = 1; б) k = m = n = 2.
6.12 Пусть заданы алфавиты Q, X, Y, причём Q = k, X = m, Y = n.
В каких точно случаях все конечные детерминированные автоматы в заданных алфавитах распадаются на два класса — класс автоматов Мура и
класс автоматов с задержкой? Ответы: а) k = 1, m = n = 2; б) k = 2,
m = n = 1.
6.13 Пусть заданы алфавиты Q, X, причём Q = k, X = m. В каких
точно случаях число макронастроенных автоматов без выхода в заданных алфавитах превышает в 32 раза число настроенных автоматов в этих
же алфавитах? Ответы: а) k = 3; б) k = 2.
6.14 Задача: «Пусть задан автомат M0:
0
1
x \q
2
0
1
2
1
2
1
Укажите макронастроенный автомат автомата M0, поведение которого
состоит из всех сверхслов с нечётным числом единиц и всех сверхслов с
бесконечным числом единиц». Какой из нижеследующих ответов является решением этой задачи? Ответы:
а) (M0, 1,{{1,2}, {2}});
б) (M0, 1, {1}). 2).
24
6.15 Задача: «Пусть задан автомат M0:
0
x \q
1
2
0
1
2
1
2
1
Укажите настроенный автомат автомата M0, поведение которого состоит из всех слов с чётным числом единиц». Какой из нижеследующих ответов является решением этой задачи? Ответы:
а) (M0, 1,{{1,2}, {2}});
б) (M0, 1, {1}). 2).
6.16 Задача: «Укажите хотя бы один алфавит A и одно сверхслово x в
этом алфавите такие, что lim x =  ». Существуют ли решения этой задачи?
6.17 Задача: «Пусть x — переменная для сверхслов в алфавите A,
причём A = {1, 2, 3}. Решить уравнение lim x =  относительно x ».
Можно ли решить эту задачу?
6.18 Какое из нижеследующих утверждений а), б), в) истинно:
а) автономный автомат не имеет входного алфавита;
б) автономный автомат имеет пустой входной алфавит;
в) автономный автомат имеет входной алфавит, состоящий из одного
символа.
6.19 Пусть заданы алфавиты Q, X, Y, причём Q = k, X = m, Y = n.
Чему равно число m, если (Q, X, Y;  ) —автономный автомат?
6.20 Пусть заданы множества Q и Y, причём Q = k, Y = n. Чему равно число различных автономных автоматов (Q, Y; ) в заданных алфавитах Q и Y?
25
6.21 Верно ли, что каждое выходное сверхслово каждого инициального автономного автомата с конечным выходным алфавитом является
периодическим (быть может, с некоторым конечным предпериодом)?
6.22 Верно ли, что каждое выходное сверхслово каждого инициального автономного автомата с конечным внутренним алфавитом является
периодическим (быть может, с некоторым конечным предпериодом)?
6.23 Как общепринято называть операторы, реализуемые автоматами
без памяти? Ответы: а) истинностными операторами; б) операторами без
памяти; в) тождественными операторами.
6.24 Если не накладывать никаких ограничений на употребляемые
автоматы без выхода и на способ их настройки, то верно ли, что любой
язык представим в некотором автомате без выхода, настроенном подходящим образом?
6.25 Если не накладывать никаких ограничений на употребляемые
автоматы без выхода и на способ их макронастройки, то верно ли, что
любой сверхъязык представим в некотором автомате без выхода, макронастроенном подходящим образом?
6.26 Как называется класс  всех языков, представимых в конечных
автоматах (без выхода)? Ответы: а) автоматный язык; б) конечноавтоматный язык.
6.27 Как называется класс  всех сверхъязыков, представимых в конечных автоматах (без выхода)? Ответы: а) автоматный сверхъязык; б)
конечно-автоматный сверхъязык.
6.28 Верно ли, что всякий язык, состоящий из единственного слова
конечно-автоматен?
6.29 Верно ли, что всякий сверхъязык, состоящий из единственного
сверхслова конечно-автоматен?
26
6.30 Верно ли, что всякий конечный язык конечно-автоматен?
6.31 Существует ли алгоритм, который по заданному конечному
настроенному автомату (М, q0, Q) строит конечный настроенный автомат, представляющий язык   (М, q0, Q)?
6.32 Существует ли алгоритм, который по заданному конечному
макронастроенному автомату (М, q0, Q) строит конечный макронастроенный автомат, представляющий сверхязык   (М, q0, Q)?
6.33 Существует ли алгоритм, который по заданным конечным
настроенным автоматам (М, q0, Q) и (М, q0, Q) с общим входным
алфавитом X строит конечный настроенный автомат (М, q0, Q),
представляющий язык  (М, q0, Q)   (М, q0, Q)?
6.34 Существует ли алгоритм, который по заданным конечным макронастроенным автоматам (М, q0, Q) и (М, q0, Q) с общим входным
алфавитом
X
строит
конечный
макронастроенный
автомат
(М, q0, Q), представляющий язык  (М, q0, Q)   (М, q0, Q)?
6.35 Существует ли алгоритм, который по заданному конечному
настроенному автомату (М, q0, Q) и алфавиту Y строит конечный
настроенный автомат (N, q0, Q), представляющий Y -цилиндр языка 
(М, q0, Q)?
6.36 Верно ли, что для всякого бесконечного автомата без выхода
ранг разбиения всех входных сверхслов по отношению неразличимости
данным автоматом может быть конечным и может быть бесконечным?
6.37 Осмысленно ли говорить о ранге разбиения всех входных слов
данным настроенным автоматом без памяти?
6.38 Осмысленно ли говорить о ранге разбиения всех входных сверхслов данным макронастроенным автоматом без памяти?
27
6.39 Рассмотрим следующий автомат без выхода:

x \q
1
2
0
1
2
1
2
1
Верно ли, что существует 4 класса неразличимых этим автоматом слов в
алфавите {0, 1}?
6.40 Рассмотрим следующий автомат без выхода:

x \q
1
2
0
1
2
1
2
1
Верно ли, что существует два класса неразличимых этим автоматом слов
в алфавите {0, 1}?
6.41 Рассмотрим следующий автомат без выхода:

x \q
1
2
0
1
2
1
2
1
Верно ли, что язык Б, состоящий из всех слов в алфавите {0, 1} с нечётным числом единиц, является классом неразличимых этим автоматом
слов?
28
6.42 Рассмотрим следующий автомат без выхода:

x \q
1
2
0
1
2
1
2
1
Верно ли, что язык Б, состоящий из всех слов в алфавите {0, 1} с чётным
числом единиц , является классом неразличимых этим автоматом слов?
6.43 Рассмотрим следующий автомат без выхода:

x \q
1
2
0
1
2
1
2
1
Верно ли, что существует 9 классов неразличимых этим автоматом
сверхслов в алфавите {0, 1}?
6.44 Рассмотрим следующий автомат без выхода:

x \q
1
2
0
1
2
1
2
1
Верно ли, что существует 3 класса неразличимых этим автоматом сверхслов в алфавите {0, 1}?
6.45 Рассмотрим следующий автомат без выхода:

x \q
1
0
1
1
2
Верно ли, что сверхъязык Б, состоящий из
29
2
2
1
всех сверхслов с бесчислен-
ным множеством единиц, является классом неразличимых этим автоматом сверхслов в алфавите {0, 1}?
30
6.46 Рассмотрим следующий автомат без выхода:

x \q
1
2
0
1
2
1
2
1
Верно ли, что сверхъязык Б, состоящий из всех сверхслов с конечным и
притом нечётным числом единиц, является классом неразличимых этим
автоматом сверхслов в алфавите {0, 1}?
6.47 Рассмотрим следующий автомат без выхода:

x \q
1
2
0
1
2
1
2
1
Верно ли, что сверхъязык Б, состоящий из всех сверхслов с конечным и
чётным числом единиц, является классом неразличимых этим автоматом
сверхслов в алфавите {0, 1}?
6.48 Верно ли, что поведение  (М, q0, Q) настроенного автомата
(М, q0, Q) является, вообще говоря, объединением некоторого множества классов неразличимых в М слов (и, в частности, может совпадать с
одним из них)?
31
Составители:
Хорошевский В.Г.,
Самохвалов К.Ф.,
Борисов А.В.,
Курносов М.Г., Майданов Ю.С., Мамойленко С.Н., Молдованова О.В.,
Поляков А.Ю.
Программа одобрена на заседании совета Факультета информатики и
вычислительной техники, протокол №___ от «___» _______ 2011 г.
Декан Факультета ИВТ
профессор
_________ В.К. Трофимов
Программа рассмотрена на заседании Кафедры вычислительных систем,
протокол
№ 3 от 11 ноября 2011 года.
Заведующий Кафедрой ВС
член-корреспондент РАН, профессор
32
_________ В.Г. Хорошевский
Download