МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Теория групп» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Храмцов Дмитрий Геннадьевич, к.ф.- м.н. (подпись) Аннотация рабочей программы Дисциплина «Теория групп» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Алгебры и математической логики ММФ НГУ. Содержание дисциплины охватывает круг вопросов, связанных с основами теории конечных, нильпотентных, разрешимых групп, групповых действий, групп автоморфизмов, а также с современной геометрической и комбинаторной теорией групп. Дисциплина нацелена на формирование общекультурных компетенций, профессиональных компетенций выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: рубежный контроль в виде семестрового и (или) годового экзамена Общая трудоемкость дисциплины составляет зачетных единиц, 144 академических часа. Программой дисциплины предусмотрены 72 часов лекционных, а также 72 часов самостоятельной работы студентов. Остальное время – контроль в форме экзамена. 2 1. Цели освоения дисциплины Специальный курс «Теория групп» предназначен для освоения студентами и магистрантами механико-математического факультета НГУ основ теории групп, необходимых для применения как в собственно теории групп, так и в других разделах алгебры, топологии, дискретной математики, теории дифференциальных уравнений и других математических дисциплинах, а также расширению их теоретического кругозора и созданию предпосылок для самостоятельной научной работы в области теории групп. В первой части, данный курс знакомит студентов, изучавших стандартный университетский курс алгебры с базисными понятиями теории групп. В их число входят: понятие группы, подгруппы, множества порождающих группы, основные классы групп. порядок элемента группы, смежные классы по подгруппе, индекс подгруппы, нормальная подгруппа и факторгруппа, гомоморфизм, изоморфизм, конструкции прямого и декартова произведений групп, прямого и декартова сплетений групп, автоморфизмы и эндоморфизмы групп, действия групп на множествах. Значительное внимание уделяется самостоятельному практическому решению задач начального уровня, существенно повышающему эффективность усвоения теоретического материала. Важным шагом в обучении является освоение методологических азов работы с базовыми понятиями теории групп и приобретение начальных практических навыков . Во второй части на базе освоенных концепций и понятий идёт изучение основных методов теории групп, аспектов строения и свойств основных классов групп, таких, как силовская теория и подстановочные представления конечных групп, структурная теория нильпотентных групп и структурная теорема для конечных нильпотентных групп, структурная теорема для конечных разрешимых групп, основные результаты элементарного уровня о периодических группах. Целью данной части является существенное расширение теоретического кругозора, приобретение обучающимися фундаментального образования в основных областях теории групп, позволяющего в дальнейшем специализироваться в одной из них. Третья часть содержит базисные сведения об объектах и методах современной комбинаторной и геометрической теории групп, берущих начало в алгебраической топологии и геометрии, таких как техника групп, действующих на деревьях, техника накрывающих отображений клеточных комплексов, фундаментальных групп. Данная часть основной целью имеет знакомство обучающихся с современным состоянием исследований в данной области и создание предпосылок для самостоятельной работы в ней. Теоретический материал второй и третьей частей сопровождается достаточным количеством практических упражнений различной сложности для самостоятельного решения. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Теория групп» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина «Теория групп» опирается на следующие дисциплины данной ООП: Математическая логика (формализация методов рассуждений, логические связки, аксиоматические модели); Высшая алгебра (матричные вычисления, структура основных матричных групп, поля и кольца, алгебра многочленов); Теория чисел (технологичные методы счёта в конечных объектах); Математический анализ (топологические пространства). Результаты освоения дисциплины «Теория групп» используются в следующих дисциплинах данной ООП: Линейные представления групп; Группы и геометрии Лобачевского. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Теория групп»: общекультурные компетенции: ОК-6, ОК-8, ОК-11, ОК-12; профессиональные компетенции: ПК-12, ПК-20, ПК-21, ПК-25, ПК-29. В результате освоения дисциплины обучающийся должен: знать основные понятия современной теории групп; владеть навыками решения задач, встречающихся в математических исследования по алгебре и другим разделам математика – криптографии, дифференциальным уравнениям, алгебраической топологии, теории чисел; получить широкий кругозор и базисные знания в основных разделах теории групп, позволяющие в дальнейшем специализироваться в исследовательской деятельности в одной из областей теории групп. Самостоятельная работа 1 2 2 1.2. 2 2 2 3 2 2 4 2 2 5 2 2 6 7 2 2 2 2 8 2 2 9 2 2 10 2 2 11 2 2 12 2 2 13 2 2 14 2 2 15 2 2 16 2 2 17 2 2 1.2 1.3 1.4 1.5 1.6 2.1 2.2 2.3 2.4 2.5 2.6 2.8 2.9 2.10 2.11 Раздел дисциплины линейные группы, группы подстановок, группы симметрий, квазициклические группы, группы кватернионов, фундаментальные группы топологических пространств Подгруппы, подгруппы, порождённые множеством элементов. Порождающие и непорождающие элементы групп. Подгруппа Фраттини. Подгруппы Фраттини циклических, симметрических, квазициклических групп, группы рациональных чисел. Порядок элемента группы. Смежные классы по подгруппе, индекс подгруппы. Теорема Лагранжа. Нормальная подгруппа и факторгруппа. Простая группа, простота знакопеременной группы Сопряжение в группе, классы сопряжённых элементов в симметрических и линейных группах. Нормализатор и централизатор множества элементов группы Гомоморфизм, изоморфизм, теоремы о гомоморфизмах Конструкции прямого и декартова произведений групп, внешнее и внутреннее определения. Поддекартовы произведения групп, теорема Ремака. Субнормальный и нормальный ряды в группе, секция группы. Полициклические группы. Теоремы Шрайера и Гёльдера об уплотнениях рядов в группах. Автоморфизмы и эндоморфизмы групп. Автоморфизмы циклических групп, группы рациональных чисел. Характеристические подгруппы. Внешние автоморфизмы. Расширения посредством групп автоморфизмов, голоморф. Совершенные группы, башня автоморфизмов. Критерий совершенности группы автоморфизмов. Конструкции прямого и декартова сплетений групп, теорема Фробениуса, теорема Смирнова- Баумслага Действие группы на множестве. Орбиты, стабилизаторы точек, неподвижные точки элементов. Ядро действия, точные и регулярные действия. смежные классы по стабилизатору элемента, мощности фактор множества. Примитивность и транзитивность, блоки. Подстановочное представление группы, степень представления. Теоремы о подстановочных представлениях. Точные представления степени шесть симметрической группы на пяти элементах. Теорема об индексе примитивной подгруппы симметрической группы. Нильпотентные группы. Верхний и нижний центральный ряды в группе. Нильпотентность конечных p-групп Тождество нильпотентности. Факторы и подгруппы нильпотентных групп. Коммутаторные тождества. Теоремы о нильпотентных группах: подгруппа Фраттини, 4 Экзамен Лекция 1.1 Понятие группы, аксиомы, примеры: циклические группы, № п/п Семестр Неделя семестра 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 4 зачетные единицы, 144 часов 2 2.12 2.13 2.14 2.15 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 подгруппа элементов конечного порядка, нильпотентные группы без кручения и извлечение корней, факторы верхнего центрального ряда нильпотентных групп без кручения Теорема Фиттинга и подгруппа Фиттинга. Конечные нильпотентные группы, теоремы Бернсайда - Виланда и Фраттини. Конечнопорождённые нильпотентные группы без кручения. Разрешимые группы. Тождество разрешимости. Холловы подгруппы конечных разрешимых групп, теорема Холла Разрешимые группы. Теорема Миллера-Морено. Свободные группы. Несократимые слова над алфавитом, конкатенация, свободный базис. Представления групп в терминах порождающих и определяющих соотношений. Эквивалентность конечных представлений, преобразования Тице и теорема Тице. Фундаментальные группы графов. Морфизмы и накрытия графов. Теорема об антиизоморфизме решётки подгрупп свободной группы и множеством накрытий графа Ранг фундаментальной группы и эйлерова характеристика графа. Реализация подгруппы через накрытие. Подгруппы свободных групп. Подгруппы свободных групп конечного индекса Клеточные 2-комплексы, представления их фундаментальных групп. Триангуляция и барицентрическое продразбиение. Теорема о накрытиях 2-комплексов. Переписывающий процесс Райдемастера – Шрайера. Конструкция свободного произведения с объединением и свободного расширения групп. Несократимая и нормальная форма записи элемента. Граф групп, фундаментальная группа графа групп. Комплекс Кэли графа групп. Действие фундаментальной группы графа групп на дереве Басса – Серра. Действия групп на деревьях, фундаментальная область, теорема Макбета. Представление группы, действующей на дереве, в виде фундаментальной группы графа групп Подгруппы фундаментальных групп графов групп. 18 2 2 19 20 2 2 2 2 21 22 2 2 2 2 23 2 2 24 2 2 25 2 2 26 2 2 27 2 2 28 29 2 2 2 2 30 2 2 31 2 2 32 2 2 33 2 2 34 2 72 2 70 2 5. Образовательные технологии. Лекционно-семинарская система обучения, опережающая самостоятельная работа. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины Типовые задачи и упражнения к курсу. Широкий набор задач и упражнений можно найти в задачниках [3] и [4]. Контроль – в форме беседы-опроса в начале занятия. 1. Найти все конечные группы а) с двумя, б) с тремя классами сопряжённых элементов. 2. Найти подгруппы Фраттини групп S n , Z , Z n , Q, Q p , C p . 3. Вычислить башню групп автоморфизмов группы D . 4. Доказать, что автоморфизм подгруппы конечнопорождённой абелевой группы всегда продолжается до автоморфизма всей группы. 5. Найти ступень нильпотентности прямого сплетения групп Z p и Z p . 6. Описать строение силовских подгрупп симметрической группы S n . 7. Доказать, что количество элементов данного простого порядка в конечной группе сравнимо с -1 по модулю этого порядка. a a 8. Доказать, что группа S n содержит элемент порядка N p1 1 ... p s s тогда и только тогда, когда is ( p i 1 i ai pi ai 1 ) n. 5 9. Доказать, что транзитивная подгруппа конечной симметрической группы содержит регулярный элемент. 10. Доказать, что конечнопорождённая группа содержит конечное количество подгрупп данного конечного индекса. 11. Реализовать подгруппы x, yxy 1 , x 2 , xy, y 2 , [ F , F ] свободной группы F2 ( x, y ) в виде накрытия графа R2 . 12. Перечислить подгруппы индексов 2 и 3 в свободной группе ранга 2. Указать среди них нормальные. 13. Привести пример максимальной подгруппы бесконечного индекса в свободной группе конечного ранга. 14. Построить в конечнопорождённой свободной группе подгруппу бесконечного индекса, содержащую некоторые степени всех элементов группы. 15. Охарактеризовать все подгруппы свободной группы Fn , ранг которых больше ранга любой их надгруппы. 16. Охарактеризовать все подгруппы свободной группы Fn , ранг которых меньше ранга любой их надгруппы. 17. Найти пересечение подгрупп x, yxy 1 , x 2 , xy, y 2 свободной группы F2 ( x, y ) . 18. Найти количество различных подгрупп индекса 2 в фундаментальной группе S g ориентируемой поверхности рода g. Доказать, что они тоже являются фундаментальными группами поверхностей, найти их род. 19. Доказать, что автоморфизм 2-комплекса поднимается до автоморфизма его универсального накрывающего. 20. Используя переписывающий процесс Райдемастера-Шрайера доказать, что декартова подгруппа свободного произведения групп является свободной. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. М.И.Каргаполов, Ю.И.Мерзляков, Основы теории групп. – Москва, СанктПетербург, Лань, 2009. 2. А.Г.Курош, Теория групп.- Москва, Санкт-Петербург, Краснодар, Лань, 2005. 3. О.В.Богопольский, Введение в теорию групп.- Москва, Ижевск, 2002 4. В.А.Белоногов, Задачник по теории групп.- Москва, Наука, 2000. 5. Крылов, Туганбаев, Чехлов, Сборник задач по группам и кольцам.- Томск, 2008. б) дополнительная литература: 1. М.Холл, Теория групп. –Москва: Иностранная литература, 1962. 2. J.P.Serre, Trees. -Berlin-Heidelberg-New-York: Springer-Verlag, 1980. 3. Wielandt, Groups of permutations.- Berlin-Heidelberg-New-York: Springer, 1958. 6 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Теория колец» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Пожидаев Александр Петрович, к.ф.- м.н., доцент (подпись) 7 Аннотация рабочей программы Дисциплина «Теория колец» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Алгебры и математической логики ММФ НГУ. Содержание дисциплины охватывает круг вопросов, связанных с основами абстрактной алгебры и теории колец. Дисциплина нацелена на формирование общекультурных компетенций ОК-6, ОК-8, ОК-11, ОК-12, профессиональных компетенций ПК-12, ПК-20, ПК-21, ПК-25, ПК-29 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции и самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: рубежный контроль успеваемости. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 72 академических часов. Программой дисциплины предусмотрены 2 часов лекционных и 34 часа самостоятельной работы студентов. 8 1. Цели освоения дисциплины Курс ставит своей целью усвоение студентами понятий, связанных с основами теории колец, овладение студентами Механико-Математического факультета основами теории колец, необходимыми для применения в других математических дисциплинах. Основной целью освоения дисциплины является знание основ классической теории колец. Для достижения поставленной цели выделяются задачи курса: 1) освоение теории радикала Джекобсона и строения полупростых артиновых колец; 2) освоение основ теории модулей над полупростыми артиновыми кольцами, 3) изучение основ PI-алгебр и алгебраических алгебр; 4) освоение комбинаторных методов теории колец; 5) освоение элементов гомологической алгебры. Задачи 1)-2) осваиваются в первом семестре курса, а 3)-5) – во втором. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Теория колец» входит в вариативную часть профессиональнго цикла ООП по направлению подготовки «Математика и компьютерные науки»,. Дисциплина «Теория колец» опирается на следующие дисциплины данной ООП: Теория чисел; Высшая алгебра. Результаты освоения дисциплины «Теория колец» используются в следующих дисциплинах данной ООП: Математический анализ; Функциональный анализ; Теория Галуа; Теория функций комплексного переменного. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Теория колец»: общекультурные компетенции: ОК-6, ОК-8, ОК-11, ОК-12; профессиональные компетенции: ПК-12, ПК-20, ПК-21, ПК-25, ПК-29. В результате освоения дисциплины обучающийся должен: иметь представление о задачах, которыми занимается классическая теория колец; знать основные теоремы курса; использовать полученные навыки для решения близких задач. 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 72 часов. Лабор. работа Самост. работа Контр. работа 1 1 2 2 1 2 2 2 9 Зачет Лекция 1.1 Модули. Точные и неприводимые модули. Централизатор кольца. Лемма Шура. Характеризация точных и неприводимых модулей. 1.2 Радикал Джекобсона. Регулярный идеал. Различные характеризации радикала Джекобсона. Неделя семестра Раздел дисциплины Семестр № п/п Виды учебной работы, включая самостоятельную работу студентов и Формы текущего трудоемкость контроля успеваемости (в часах) (по неделям семестра) Форма промежуточной аттестации (по семестрам) 1.3 Артиновы кольца. Теорема Гопкинс. Леммы об идемпотентах. 1.4 Полупростые артиновы кольца. 1.5 Теорема Машке. Теорема о единице полупростого артиного кольца. 1.6 Теорема Веддербарна 1.7 Примитивное кольцо. Теорема плотности. 1.8 Теорема о дважды транзитивном кольце. 1.9 Теорема о примитивном кольце. 1.10 Первичные кольца. Центроид кольца 1.11 Теорема Веддербарна-Артина 1.12 Алгебраические алгебры 1.13 Подпрямая сумма. Подпрямо неразложимые кольца 1.14 Теоремы коммутативности 1.15 Теорема Веддербарна о конечном теле 1.16 Простые алгебры. Тензорное произведение алгебр. Группа Брауэра 1.17 Максимальные подполя 2.1 Модули над полупростыми артиновыми кольцами 2.2 Теорема Нетер-Сколема 2.3 Дифференцирования простых алгебр 2.4 Теорема Фробениуса 2.5 Теорема о двойном централизаторе 2.6 PI-алгебры 2.7 Теорема Капланского 2.8 Проблема Куроша для PI-алгебр 2.9 Лемма Ширшова 2.10 Теорема Ширшова о высоте 2.11 Теоремы Капланского и Левицкого 2.12 Левое кольцо частных. Теорема Оре 2.13 Кольцо Голди. Теоремы Голди 2.14 Теорема Познера 2.15 Теорема Голода-Шафаревича 2.16 Элементы гомологической алгебры. 2.17 Проективные и инъективные модули. Критерий Бэра. 1 3 2 2 1 1 4 5 2 2 2 2 1 1 1 1 1 1 1 1 6 7 8 9 10 11 12 13 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 14 15 16 2 2 2 2 2 2 1 2 17 18 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 38 34 2 5. Образовательные технологии Традиционная лекционно-семинарская система обучения, а также подготовка рефератов. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины Для самостоятельной работы студенты имеют доступ к необходимой литературе по предмету в библиотеке НГУ. Некоторые темы рефератов: 1) супералгебры; 2) биалгебры; 3) n-арные алгебры; 4) йордановы алгебры; 5) алгебры Ли; 6) операды; 7) диалгебры. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Херстейн И. Некоммутативные кольца. – М.: Мир, 1972. 2. Жевлаков К.А., Слинько А.М., Шестаков И.П., Ширшов А.И. Кольца, близкие к ассоциативным. – М.: Наука, 1976. 3. Скорняков Л.А. Элементы общей алгебры. – М.: Наука, 1983. 10 б) дополнительная литература: 1. Мельников О. В., Ремесленников В.Н., Романьков В.А., Скорняков Л.А., Шестаков И.П. Общая алгебра, Том 1. – М.: Наука, 1990. 2. Loday J.-L., Frabetti A., Chapoton F., Goichot F. Dialgebras and related operads / Lecture Notes in Mathematics, Vol. 1763. – Berlin: Springer, 2001, pp. 1-133. в) программное обеспечение и Интернет-ресурсы: 1. The GAP Team, GAP - Groups, Algorithms and Programming, U. St. Andrews, available at – url: http://www.gap-system.org/. 2. Курсы Интернет университета информационных технологий. – url: http://www.intuit.ru. 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 11 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Линейные алгебраически группы» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Вдовин Евгений Петрович, д.ф.- м.н., доцент (подпись) Аннотация рабочей программы Дисциплина «Линейные алгебраически группы» входит в вариатвную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Алгебры и математической логики ММФ НГУ. Содержание дисциплины охватывает круг вопросов, связанных с основами теории линейных алгебраических групп и связанных с ними конечных групп лиева типа, необходимыми для применения в других разделах теории групп. Дисциплина нацелена на формирование общекультурных компетенций, профессиональных компетенций выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: рубежный контроль в виде семестрового и (или) годового экзамена Общая трудоемкость дисциплины составляет 5 зачетных единиц, 172 академических часа. Программой дисциплины предусмотрены 68 часов лекционных, а также 68 часов самостоятельной работы студентов. Остальное время – контроль в форме экзамена. 13 1. Цели освоения дисциплины Специальный курс «Линейные алгебраически группы» предназначен для того, чтобы студенты механико-математического факультета овладели основами теории линейных алгебраических групп и связанных с ними конечных групп лиева типа, необходимыми для применения в других разделах теории групп. Основной целью освоения дисциплины является знание основ линейных алгебраических групп и конечных групп лиева типа. Для достижения поставленной цели выделяются задачи курса: классификация абстрактных корневых систем и смежные вопросы, освоение основ топологии Зарисского, построение простых алгебраических групп над алгебраически замкнутым полем произвольной характеристики, изучение автоморфизмов и эндоморфизмов линейных алгебраических групп, доказательство теоремы Ленга-Стейнберга и построение конечных групп лиева, изучение подгруппового строения конечных групп лиева типа методами алгебраических групп. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Линейные алгебраически группы» входит в вариатвную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина «Линейные алгебраически группы» опирается на следующие дисциплины данной ООП: Математическая логика (формализация методов рассуждений, логические связки, аксиоматические модели); Высшая алгебра (матричные вычисления, структура основных матричных групп, поля и кольца, алгебра многочленов); Теория чисел (технологичные методы счёта в конечных объектах); Теория групп; Математический анализ (топологические пространства). Результаты освоения дисциплины «Линейные алгебраически группы» используются в следующих дисциплинах данной ООП: Линейные представления групп; Группы и геометрии Лобачевского. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Линейные алгебраически группы»: общекультурные компетенции: ОК-6, ОК-8, ОК-11, ОК-12; профессиональные компетенции: ПК-12, ПК-20, ПК-21, ПК-25, ПК-29. В результате освоения дисциплины обучающийся должен: иметь представление о строении и свойствах линейных алгебраических групп; знать основные теоремы курса; уметь применять основные технические теоремы курса, в частности, теорему Ленга-Стейнберга. 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 5 зачетные единицы, 172 часов 14 8. 9. 1-2 3-4 5-7 8-13 14-18 4 4 6 12 10 4 4 6 12 10 1-2 4 4 3-9 14 14 10-12 13-16 6 8 6 8 68 68 Экзамен Самостоятельная работа 7. Абстрактные корневые системы С Введение в алгебраическую геометрию Базовые структурные результаты об алгебраических группах Максимальные торы, разрешимые группы, корневые системы Разложение Брюа, параболические подгруппы, централизаторы торов Строение редуктивных, полупростых и простых алгебраических групп. Их автоморфизмы. Автоморфизм Фробениуса и его свойства. Теорема ЛенгаСтейнберга. Группы лиева типа Простота групп лиева типа и их порядки. Подгруппа Бореля, параболические подгруппы, разложение Брюа. Автоморфизмы конечных групп лиева типа. Лекция 6. Раздел дисциплины Неделя семестра 1. 2. 3. 4. 5. Семестр № п/п 36 36 4.1. Содержание отдельных разделов и тем 1. Простые алгебры Ли над C. Форма Киллинга, подалгебра Картана и корневые подалгебры. Системы корней и структурные константы, теорема об изоморфизме. 2. Введение в алгебраическую геометрию. Аффинные многообразия, топология Зарисского. Произведение аффинных многообразий. Проективные многообразия, открытые аффинные подмножества. Произведение проективных многообразий. Полные многообразия. Касательные пространства. 3. Базовые структурные результаты об алгебраических группах. Понятие алгебраической группы, простейшие свойства. Теорема о порождении замкнутыми связными подмножествами. Действие алгебраической группы на многообразии, существование замкнутых орбит. Алгебра Ли, разложение Жордана для групп и алгебр. Сопряженность борелевских подгрупп. 4. Максимальные торы, разрешимые группы, корневые системы. Диагонализируемые группы и их характеры. Торы, действие максимального тора на унипотентном радикале подгруппы Бореля. Одномерные T-инвариантные унипотентные подгруппы. 5. Разложение Брюа, параболические подгруппы, централизаторы торов. Параболические подгруппы, разложение Брюа. Централизаторы торов, подгруппы Бореля в централизаторах торов. 6. Строение редуктивных, полупростых и простых алгебраических групп. Их автоморфизмы. Структурные теоремы по редуктивных, полупростых и простых алгебраических группах. Теорема об изоморфизме. 7. Автоморфизм Фробениуса и его свойства. Теорема Ленга-Стейнберга. Группы лиева типа. Определение автоморфизма Фробениуса σ. Построение групп σ -неподвижных точек для простых линейных алгебраических групп. Теорема Ленга-Стейнберга. Подгруппа Бореля, параболические подгруппы, редуктивные подгруппы и торы в конечных группах лиева типа. Связь между классами сопряженности. 8. Простота групп лиева типа и их порядки. Теорема о простоте конечных групп лиева типа. Порядки σ-неподвижных точек параболических и редуктивных подгрупп. Порядки конечных групп лиева типа. 9. Подгруппа Бореля, параболические подгруппы, разложение Брюа. 15 Автоморфизмы конечных групп лиева типа. Разложение Брюа в конечных группах лиева типа. Теорема об автоморфизмах простых конечных групп лиева типа. 5. Образовательные технологии. Лекционно-семинарская система обучения, опережающая самостоятельная работа. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины Итоговый контроль: для контроля усвоения дисциплины учебным планом предусмотрен экзамен. Текущий контроль: в течение семестра во время курса даются задачи для самостоятельного решения. 6.1. Перечень примерных контрольных вопросов и заданий для самостоятельной работы: 1. Доказать, что матричные единицы образуют лиевский базис в алгебре Ли gln. 2. Доказать, что аффинное многообразие полно тогда и только тогда, когда его размерность равна 0. 3. Доказать, что коммутант алгебраической группы является замкнутой подгруппой. 4. Проверить справедливость коммутаторной формулы Шевалле в GLn(F). 5. Доказать, что компонента единицы централизатора полупростого элемента является редуктивной группой. 6. Доказать, что автоморфизм Фробениуса не является автоморфизмом алгебраической группы. 7. Показать, что N(G,R) не всегда равняется NG(R). 8. Найти порядки максимальных торов в GLn(q). 9. Построить графовый автоморфизм в группе G2(32n+1). 6.2. Образцы вопросов для подготовки к экзамену: 1. Доказать, что подгруппа, порожденная замкнутыми подгруппами, необязательно замкнутая. 2. Доказать, что множество регулярных элементов открыто. 3. Доказать, что замыкание любого класса сопряженности содержит полупростую часть элемента. 4. Доказать, что подгруппа является параболической в том и только в том случае, когда фактор-многообразие по ней проективно. 5. Доказать, что графовый автоморфизм является автоморфизмом алгебраических групп. 6. Доказать, что классы максимальных торов в нескрученных группах лиева типа находятся во взаимно однозначном соответствии с классами σ-сопряженных элементов в группе Вейля. 7. Описать классы полупростых элементов в группе PSL2(q). 8. Описать классы полупростых элементов в группе SL2(q). 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Стейнберг Р. Лекции о группах Шевалле. – М.: Мир, 1975. 16 2. Хамфри Дж. Линейные алгебраические группы. – М.: Наука, 1980. 3. Carter R.W. Simple groups of Lie type. Wiley and sons, 1972. 4. Carter R.W. Finite groups of Lie type. Conjugacy classes and complex characters. Wiley and sons, 1985. 5. Steinberg R. Endomorphisms of linear algebraic groups // Mem. of AMS, N 80, 1968. 6. Springer T.A. Linear alebraic groups, Birkhauser Boston, 2-nd edition, 1998, reprinted in 2009. 7. Хамфри Дж. Введение в теорию алгебр Ли и их представлений. – М.: МЦНМО, 2003. 17 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Теория моделей» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Морозов Андрей Сергеевич, д.ф.- м.н., профессор (подпись) 18 Аннотация рабочей программы Дисциплина «Теория моделей» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Дискретной математики и информатики ММФ НГУ. Содержание дисциплины охватывает круг вопросов, связанных с общими свойствами моделей теорий первого порядка и связи между семантическими и синтаксическими свойствами таких теорий, в частности, принципиальными вопросами, касающимися возможности и невозможности описания моделей (алгебраических систем) в языке логики первого порядка Дисциплина нацелена на формирование общекультурных компетенций ОК-6, ОК7, ОК-9 – ОК-12, ОК-14, ОК-15, профессиональных компетенций ПК-2 – ПК-14, ПК-16, ПК-26, ПК-27, ПК-29 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, практические занятия, контрольная работа, самостоятельная работа студента, консультации. Программой дисциплины предусмотрены следующие виды контроля: итоговый экзамен. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 4 зачетных единиц, 144 академических часа (из них 80 аудиторных). Программой дисциплины предусмотрены 64 часов лекционных, 16 часов консультаций и 32 часа самостоятельной работы студентов. Остальное – зачет. 19 1. Цели освоения дисциплины Курс является введением в классическую теорию моделей. Он ставит своей целью усвоение студентами понятий, связанных с алгебраическими системами, рассматриваемыми, как модели логики первого порядка. Эти знания необходимы современному специалисту по математической логике, алгебре и теоретическому программированию. Они могут в дальнейшем применяться в исследовательской работе специалистов п о алгебре и логике а также задают нетривиальные принципиальные методологические ограничения при описании структур в теоретической информатике. Поскольку теория моделей существенно использует теорию множеств, приобретенных ране студентами знаний в рамках наивной теории множеств для изучения материала курса недостаточно. Поэтому курс начинается с углубленного теоретикомножественного введения. Потом изучаются модельно полные, подмодельно полные теории и связанные с ними вопросы типа элиминации кванторов. Далее изучаются насыщенные и однородные системы, играющие особую роль среди моделей теории, теорема Вота о числе моделей полной счетной теории, дается характеризация счетнокатегоричных теорий и показывается принципиальная невозможность в большинстве случаев полного описания счетных структур средствами только логики первого порядка без привлечения дополнительных условий. Остальное время посвящено доказательству теоремы Морли о несчетно категоричных теорий и связанным с ней вопросам типа стабильности, неразличимости и т.п. Особое внимание уделено примерам и методологическим следствиям из математических результатов. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Теория моделей» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина «Теория моделей» опирается на следующие дисциплины данной ООП: Математическая логика (логические языки, наивная теория множеств); Теория алгоритмов (понятие об алгоритме, тезис Черча); Алгебра (группы, кольца, поля). Результаты освоения дисциплины «Теория моделей» используются в научноисследовательской практике и при написании выпускной квалификационной работы. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Теория моделей»: общекультурные компетенции: ОК-6, ОК-7, ОК-9 – ОК-12, ОК-14, ОК-15; профессиональные компетенции: ПК-2 – ПК-14, ПК-16, ПК-26, ПК-27, ПК-29. В результате освоения дисциплины обучающийся должен: знать основные понятия, относящиеся к алгебраическим системам и основные классические результаты о свойствах элементарных теорий и их моделей, понимать принципиальные ограничения и возможности описания структур в формальных языках; уметь в ряде случаев распознавать основные свойства элементарных теорий, доказывать их категоричность или некатегоричность в разных мощностях; владеть наиболее распространенными методами доказательства свойств теорий и моделей, такими, как, например, локальная теорема Мальцева, элементарные цепи и челночные конструкции. 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 4 зачетные единицы, 144 часа. Консульт ации Самост. работа Контр. работа 7 7 1-2 3-4 4 4 2 2 7 5 2 1 7 6-7 4 2 7 8 2 4 4 7 13 2 1 7 1415 4 2 7 16 2 1 7 7 8 8 17 18 1 2-5 2 8 6-15 20 8 16 64 Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) 1 7 9-12 8 2 8 Зачет Лекция 1 Теоретико-множественное введение. 2 Алгебраические системы и связанные с ними основные понятия. Теорема о существовании модели. 3 Теорема Левенгейма-Скулема (общий случай). 4 Модельно полные, подмодельно полные теории, элиминация кванторов. Примеры. 5 Типы элементов, их реализация и опускание, теорема Рылль-Нардзевского об опускании счетного семейства неглавных типов. 6 Насыщенные и однородные системы. Определение, существование, вопросы единственности. 7 Теорема Вота о числе моделей счетной полной теории. 8 Счетно-категоричные теории. Теорема о характеризации счетно-категоричных теорий. Примеры. 9 Теорема Райса. Неразличимые элементы, теорема Эренфойхта. 10 Модели с малым числом типов. 11 12 Автоморфизмы моделей. 13 Омега-стабильные теории. Общие свойства, примеры. 14 Теорема Морли. 15 Неделя семестра Раздел дисциплины Семестр № п/п Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) 4 1 4 1 4 4 10 16 32 4 зачет 0 4 зачет 8 5. Образовательные технологии Лекционная-семанрская система обучения. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины Самостоятельный разбор лекций. Консультации преподавателя. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Model Theory: An Introduction, Springer-Verlag, 2002. б) дополнительная литература: 1. Кейслер Г., Чэн Ч.Ч. Теория моделей. Пер. с англ. – М.: Мир, 1977. 2. Сакс Дж , Теория насыщенных моделей. – М.: Мир, 1976. 8. Материально-техническое обеспечение дисциплины Доска, мел МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Универсальная алгебра и теория решёток» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Кравченко Александр Владимирович, к.ф.- м.н., доцент (подпись) Аннотация рабочей программы Дисциплина «Универсальная алгебра и теория решёток» является дисциплиной по выбору по направлению подготовки «Математика и компьютерные науки». Она реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Дискретной математики и информатики ММФ НГУ. Содержание дисциплины охватывает круг вопросов, связанных с теорией общих алгебраических систем и их аксиоматизируемых классов, а также теорией решеток, являющейся важным инструментом исследования и представляющей самостоятельный интерес. Дисциплина нацелена на формирование общекультурных компетенций ОК-6, ОК-8, ОК-11, ОК-12, профессиональных компетенций ПК-12, ПК-20, ПК-21, ПК-25, ПК-29 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, самостоятельная работа студента, консультации по темам курса и контроль самостоятельной работы. Программой дисциплины предусмотрен рубежный контроль, форма которого определяется решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 3 зачетных единиц, 108 академических часов. Программой дисциплины предусмотрены 34 часов лекционных часов, 66 часов самостоятельной работы студентов. Остальное время – текущий и рубежный контроль. 1. Цели освоения дисциплины Курс ставит своей целью усвоение студентами понятий, связанных с алгебраическими системами и аксиоматизируемыми классами таких систем, знакомство с современным состоянием исследований в теории многообразий и квазимногообразий, развитие базовых навыков использования универсальных алгебраических конструкций и методов в исследованиях по алгебре и математической логике. Первая часть курса знакомит студентов с основными понятиями теории решеток, многие из которых широко используются и другими направлениями математики: частично упорядоченное множество, решетка подсистем, решетка конгруэнций, решетка замкнутых подмножеств, порожденная подрешетка, изоморфизм, гомоморфизм (монотонное отображение), идеал. Значительное внимание уделяется роли решеточных понятий и методов в описании иерархий объектов. Вторая часть курса посвящена понятию алгебраической системы (в смысле Мальцева) и аксиоматизируемых классов таких систем. В этой части приводятся общие определения алгебраической системы и конструкций, частными случаями которых являются классические алгебраические системы (группы, кольца, поля, решетки и .т. п.) и понятия изоморфизма, гомоморфизма, конгруэнции, произведений и пределов. Особое внимание уделено описанию систем и их свойств с помощью формул логики первого порядка и вопросам сохранения этих свойств при использовании введенных конструкций. Здесь же приводятся характеризации многообразий и квазимногообразий. Третья часть курса знакомит студентов с полудистрибутивными решетками, которые используются при изучении свойств решеток квазимногообразий. Основное содержание этой части составляют определения важных классов полудистрибутивных решеток и изучение их свойств. Четвертая часть курса посвящена решеткам квазимногообразий. В ней используется материал предыдущих частей, позволяющий связать свойства элементов таких решеток со свойствами соответствующих классов алгебраических систем. В частности, рассматриваются вопросы о базисах квазитождеств и сложности решеток квазимногообразий. Данная часть также знакомит студентов с актуальными проблемами теории квазимногообразий. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Универсальная алгебра и теория решёток» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина «Универсальная алгебра и теория решёток» опирается на следующие дисциплины данной ООП: Математическая логика (алгебраические системы, формулы первого порядка, аксиоматизируемые классы); Алгебра (классические алгебраические системы и конструкции). Результаты освоения дисциплины «Универсальная алгебра и теория решёток» используются в следующих дисциплинах данной ООП: 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Универсальная алгебра и теория решёток»: общекультурные компетенции: ОК-6, ОК-8, ОК-11, ОК-12; профессиональные компетенции: ПК-12, ПК-20, ПК-21, ПК-25, ПК-29. В результате освоения дисциплины обучающийся должен: знать основные понятия универсальной алгебры и теории решеток и возможности их применения в исследованиях по алгебре и математической логике; уметь описывать свойства систем и классов в языке логики первого порядка и в терминах универсальных алгебраических конструкций; владеть навыками решения задач, связанных с аксиоматизируемыми классами алгебраических систем. 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 3 зачетные единицы, 108 часов. 1 2 2 5 2 2 4 5 3 2 4 5 4 5 5 2 2 5 6 2 2 5 7 2 4 5 5 8 9 2 2 2 4 5 10 2 6 5 5 11 12 2 6 6 1 2 6 6 2 2 4 3 3 Экзамен Самост. работа 5 Консультации Лекция 1.1 Начальные понятия теории решеток: определения и их эквивалентность, изоморфизмы и гомоморфизмы решеток, подрешетки и идеалы. 1.2 Операторы замыкания: операторы замыкания и полные решетки, алгебраические операторы замыкания, решетки подалгебр и конгруэнций. 1.3 Дистрибутивные о модулярные решетки: определения и характеризация, представление дистрибутивных решеток. 1.4 Консультация и контроль самостоятельной работы по теме 1 2.1 Алгебраические системы: определение и примеры алгебраических систем, изоморфизмы и вложения, подсистемы, гомоморфизмы, порождение подсистем, произведения систем. 2.2 Конгруэнции: определение, теоремы о гомоморфизмах, разложения систем и решетки конгруэнций. 2.3 Конгруэнц-свойства.: конгруэнцдистрибутивные многообразия и лемма Йонссона, конгруэнц-модулярные многообразия. 2.4 Определяющие соотношения. 2.5 Прямые и надпрямые пределы: категорное и алгебраическое определение, свойства пределов, их локальное строение, связь с решетками конгруэнций. 2.6 Операторы на классах систем: определения и примеры, сравнения между операторами, устойчивость формул, характеризация многообразий. 2.7 Характеризация квазимногообразий. 2.8 Консультация и контроль самостоятельной работы по теме 2 3.1 Полудистрибутивные и модулярные решетки: определения и примеры, характеризация модулярных и полудистрибутивных решеток 3.2 Решетки подпространств: определение и Неделя семестра Раздел дисциплины Семестр № п/п Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) 3.3 3.4 4.1 4.2 4.3 4.4 4.5 примеры, характеризационная теорема фон Ноймана — Йонссона Свободные и ограниченные по Маккензи решетки Консультация и контроль самостоятельной работы по теме 3 Решетки квазимногообразий: определение, простые решеточные свойства Решетки алгебраических подмножеств: определение, свойства, вложение полудистрибутивных решеток в решетки алгебраических подмножеств. Разложения и базируемость: разложения (в пересечение) в решетках квазимногообразий, связь с существованием конечных и независимых базисов. Сложность решеток квазимногообразий: бесконечные и универсальные решетки квазимногообразий, примеры для классических алгебраических систем. Консультация и контроль самостоятельной работы по теме 4 Консультация к экзамену Экзамен 6 3 2 4 6 4 6 5 2 2 6 6 2 4 6 7 2 4 6 8 2 6 6 9 3 6 6 10 11 2 3 34 66 14 2 2 5. Образовательные технологии При реализации учебной работы используется лекционный способ в сочетании с внеаудиторной работой по решению практических задач и упражнений по материалу, изложенному в лекциях. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины Самостоятельная внеаудиторная работа обучающегося организована в виде выполнения упражнений и решения задач по материалу, изложенному в лекциях. После изучения каждой из четырех тем предусмотрены консультации по материалу темы и контроль самостоятельной работы, включающий проверку выполнения задач и упражнений. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. G. Grätzer, General Lattice Theory, Birkhäuser, Basel—Boston—Berlin, 2003. 2. В. А. Горбунов, Алгебраическая теория квазимногообразий, - Новосибирск: Научная книга, 1999. 3. А. В. Кравченко, М. В. Семенова, Универсальная алгебра и теория решеток (учебное пособие), Новоибирск: НГУ, 2010. б) дополнительная литература: 1. А. И. Мальцев, Алгебраические системы, М.: Наука, 1970. 2. R. Freeze, J. Ježek, J. B. Nation, Free lattices, AMS, Providence, 1995. 8. Материально-техническое обеспечение дисциплины МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Топология для дискретной математики» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Викентьев Александр Александрович, к.ф.- м.н., доцент (подпись) Аннотация рабочей программы Дисциплина «Топология для дискретной математики» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Дискретной математики и информатики ММФ НГУ. Основной целью освоения дисциплины является изучение студентами теоретических основ топологии для дискретных объектов и денотационной семантики программирования. Дисциплина нацелена на формирование общекультурных компетенций ОК-5, ОК10, профессиональных компетенций ПК-2, ПК-6, ПК-8, ПК-12 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, самостоятельная работа студента и проверка результатов СРС. Программой дисциплины предусмотрены следующие виды контроля: промежуточный контроль в форме зачета. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 3 зачетных единиц, 108 академических часа. Программой дисциплины предусмотрены 36 часов лекционных занятий, а также 36 часов самостоятельной работы студентов. Остальное время – контроль в СРС и экзамена. 1. Цели и задачи курса Основной целью освоения дисциплины «Топология для дискретной математики» является изучение студентами теоретических основ топологии для дискретных объектов и денотационной семантики программирования. Курс «Топология для дискретной математики» является уже традиционной дисциплиной в НГУ в математической подготовке студентов по топологическим конструкциям и денотационной семантике программирования; его новизна состоит в том, что этот курс, поставленный и разработанный Академиком Ю.Л.Ершовым, необходим для будущих математиков-дискретчиков (алгебраистам, логикам, программистам, специалистам по искусственному интеллекту и др.): классический материал по этой дисциплине весьма обширен, многие интересные результаты изложены в статьях, а изложение его теоретических основ за 36 лекционных часов требует тщательного отбора тем и методов для решения широкого круга задач. Курс характеризуется математической строгостью изложения, большим числом предлагаемых теоретических вопросов и примеров. 2. Место дисциплины в структуре ООП магистратуры Дисциплина «Топология для дискретной математики» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Топология для дискретной математики». Дисциплина «Топология для дискретной математики» опирается на следующие дисциплины данной ООП и бакалавриата: Математическая логика (формальные исчисления, аксиоматические модели, основы теории множеств); Теория алгоритмов (понятие вычислимой функции); Топология (топологические пространства, операции над ними). 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Топология для дискретной математики»: общекультурные компетенции: ОК-5, ОК-10; профессиональные компетенции: ПК-2, ПК-6, ПК-8, ПК-12. В результате освоения дисциплины обучающийся должен: иметь представление о месте и роли изучаемой дисциплины среди других наук; знать содержание программы курса, формулировки задач, условия применимости; уметь определять применимость конкретных топологий для решения задач в дискретных системах. Зачет Лабор. Работа Самост. работа Контро ль СРС Виды учебной работы, включая самостоятельную работу Формы текущего контроля студентов и успеваемости (по трудоемкость неделям семестра) (в часах) Форма промежуточной аттестации (по семестрам) Лекция Раздел дисциплины Неделя семестра № п/п Семестр 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 3 зачетные единицы, 108часа. 1.1 Конструкции фактор-множества, декартова (прямого) произведения. Аксиома выбора и лемма Цорна. Примеры исчислений (типовое Лямбда-исчисление, безтиповое Лямбда-исчисление) , их семантика и естественные модели исчислений. 1.2 Обратный спектр и обратный предел множеств; примеры. Прямой предел прямого спектра множеств. Их категорные свойства. 1.3 Непустота обратного предела обратного спектра непустых конечных множеств; лемма Кёнига для бесконечных деревьев с конечными ветвлениями. 1.4 Топология, топологическое пространство X; базис (предбазис) топологии; наименьшая топология, содержащее заданное семейство подмножеств множества X. 1.5 Непрерывные отображения; предпорядок специализации; Различные свойства отделимости. В пространствах и их взаимоотношения; примеры и контрпримеры. 1.6 Предельные точки; операторы int, cl (внутренности, замыкания) и их свойства; эквивалентные способы задания топологии. 1.7 Компактность; простейшие свойства и примеры. Прямое произведение топологических пространств; пространство непрерывных отображений их Х в У. 1.8 Теорема Тихонова (о прямом произведении компактных топологических пространств). 1.9 Обратный спектр и обратный предел топологических пространств; прямой спектр и прямой предел топологических пространств; Их категорные свойства (естественное1-1соответствие между непрерывными отображениями топологических пространств) 1.10 Неприводимые множества; уравновешенные пространства; свойство обратного предела уравновешенных пространств 2.1 Характеризация обратных пределов конечных пространств – спектральные пространства. A-дискретные пространства; характеризация A-дискретных пространств. 3.1 Дистрибутивные решётки, идеалы, фильтры, простые идеалы и фильтры; существование простых идеалов и фильтров. Отношение аппроксимации ; альфа-пространства и их свойства. 3.2 Топология Дея-Келли и Скотта и их свойства. Поведение отношений аппроксимации и специализации в прямых произведен иях топологических пространств. Топология поточечной сходимости на C(Y,Z). Взаимосвязь метрик и топологий. 3.3 Гомеоморфизмы и их свойства; связь с гомоморфизмами решёток в топологиях. Верхний и нижний конусы множеств и их связь с открытыми и замкнуты мимножествами топологического пространства. Инъективные пространства и декартова степень 2, «двойки» 3 1 2 2 3 2 2 2 3 3 2 2 3 4 2 2 3 5 2 2 3 6 2 2 3 7 2 2 3 8 2 2 3 9 2 2 3 10 2 2 3 11 2 2 3 12 2 2 3 13 2 2 3 14 2 2 2 Проверка СРС 4 Коллоквиум. Проверка СРС 4.1 4.2 4.3 4.4 Серпинского; гомеоморфность T_0пространства подпространству подходящей прямой степени пространства 2. Пространство простых фильтров топологии и его уравновешенность. Пространство Spec( D), его уравновешенность. Характеризация пространств Spec( D). Теорема Нахбина. Коммутативные кольца R, идеалы и простые идеалы, радикальные идеалы, существование простых идеалов. Описание радикалов идеала. Пространство Spec( R) и его спектральность. Лямбда-допустимые и лямбда+допустимые топологии на C(Y,Z); правильные топологии на C(Y,Z). Правильность топологии поточечной сходимости на C(Y,Z) для альфапространства Y. Построение топологического пространства X: C(X,X) гомеоморфно X. 3 15 2 2 3 16 2 2 3 17 2 2 3 18 2 2 2 3 19 36 8 36 0 Проверка СРС 36 Экзамен 36 5. Образовательные технологии Лекционно-семинарская система обучения. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины Коллоквиум, разбор задач, разработка интересных исследовательских тем. В течение семестра выполняются самостоятельные домашние задания. Выполнение указанных видов работ является обязательным для всех студентов. 7. Учебно-методическое и информационное обеспечение дисциплины а) список основной литературы: 1. Александров П.С. Введение в теорию множеств и общую топологию. – М.: Наука, 1977. 2-е изд. – М.:УРСС, 2004. 2. Келли Дж. Общая топология. – М: Наука, 1981. 3. Понтрягин Л.С. Непрерывные группы. – М: Наука, 1973. 4. Александрян Р.А., Мирзаханян Э.А. Общая топология. – М.: Высшая школа,1979. 5. Ершов Ю.Л. Спектральная теория полутопологических полурешеток // Сибирский Матем. Журнал, – Т. 44, № 5, 2003. – С 1021-1032. 6. Ершов Ю.Л. О Д-пространствах. Препринт № 30. – Новосибирск: ИМ СО РАН, 1997. 7. Ершов Ю.Л. Теория А-пространств // Алгебра и Логика, – Т. 12, № 4, 1973. – С 209-232. 8. Гончаров С.С., Ершов Ю.Л. Конструктивные модели. – Новосибирск: Научная книга, 1999. 9. Ершов Ю.Л. Теория нумераций. – М.: Наука, 1977. 10. Ершов Ю.Л. Проблемы разрешимости и конструктивные модели. – М.: Наука, 1980. 11. Ершов Ю.Л. Определимость и вычислимость. – М.: Экономика, 2000. б) список дополнительной литературы 1. V. Stoltenberger-Hansen, I.Lindstrom, E. R. Griffor. Mathematical Theory of Domain. – Cambrig: Cambrig University Press, 1994. 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Алгебраическая топология» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Базайкин Ярослав Владимирович, к.ф.- м.н., доцент (подпись) Аннотация рабочей программы Дисциплина «Алгебраическая топология» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Геометрии и топологии ММФ НГУ. Содержание дисциплины охватывает круг вопросов, связанных с гомотопической топологией, теорией гомологий, топологией клеточных комплексов и многообразий. Дисциплина нацелена на формирование общекультурных компетенций ОК-6, ОК-8, ОК-11, ОК-12, профессиональных компетенций ПК-12, ПК-20, ПК-21, ПК-25, ПК-29 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции. Программой дисциплины предусмотрены следующие виды контроля: экзамен в конце курса лекций. Общая трудоемкость дисциплины составляет 3 зачетных единиц, 108 академических часа. Программой дисциплины предусмотрены 32 часов лекционных занятий. 1. Цели освоения дисциплины Курс ставит своей целью усвоение студентами понятий и методов, связанных с основными понятиями топологии, в объеме. В первой части, данный курс знакомит студентов с теорией гомотопий клеточных пространств. Во второй части, данный курс знакомит студентов с теорией гомологий, и ее приложениями к клеточным комплексам и многообразиям. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Алгебраическая топология» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина «Алгебраическая топология» опирается на следующие дисциплины данной ООП: Алгебра; Дифференциальная геометрия; Математический анализ. Результаты освоения дисциплины «Алгебраическая топология» используются в следующих дисциплинах данной ООП: 1. Алгебраическая топология-2; 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Алгебраическая топология»: общекультурные компетенции: ОК-6, ОК-8, ОК-11, ОК-12; профессиональные компетенции: ПК-12, ПК-20, ПК-21, ПК-25, ПК-29. В результате освоения дисциплины обучающийся должен: знать основные понятия топологии: топологические пространства, клеточные комплексы, многообразия, гомотопии, гомотопические группы, группы гомологий, расслоения, спектральная последовательность Серра; уметь применять основные методы алгебраической топологии при исследовании топологических свойств многообразий и клеточных пространств. 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 3 зачетные единицы, 108 часа. 1 2 0 2 4 2 2 0 2 35 Зачет Семинар 4 Самост. работа Контр. работа Лекция 1 Топология. Непрерывное отображение. Понятие функтора, примеры топологических инвариантов: число компонент связности, фундаментальная группа. 2 Фундаментальная группа, ее определение и свойства. Фундаментальная группа окружности, теорема Брауэра о Неделя семестра Раздел дисциплины Семестр № п/п Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) неподвижной точке. 3 Накрытия. Теорема о накрывающей гомотопии. Накрытие и фундаментальная группа. Универсальные накрытия, существование универсальных накрытий. Регулярные накрытия и действия групп. 4 Высшие гомотопические группы, их свойства. Высшие гомотопические группы и накрытия. Относительные гомотопические группы. 5 Локально тривиальные расслоения. Теорема о накрывающей гомотопии. Лемма Фельдбау. Расслоения в смысле Серра. Точная гомотопическая последовательность расслоения. 6 Умножение Уайтхеда в гомотопичесих группах. Теорема Фрейденталя о надстройке. n-Мерная гомотопическая группа n-мерной сферы. 7 Слабая и сильная гомотопическая эквивалентности. Теорема Уайтхеда. 8 Комплекс сингулярных цепей. Сингулярные гомологии, их гомотопическая инвариантность. 9 Относительные группы гомологий. Точная последовательность пары, тройки. Последовательность Майера-Виеториса. 10 Клеточный и симплициальный комплексы, клеточные и симплициальные (относительные) гомологии. Совпадение клеточных и сингулярных гомологий. 11 Когомологии. Умножение в когомологиях. 12 Формула Кюннета, формула универсальных коэффициентов. 13 Гомологии и многообразия, степень отображения, индекс пересечения, коэффициент зацепления. 14 Теория препятствий. 15 Спектральная последовательность Лере, спектральная последовательность расслоения. 16 Умножение в спектральной последовательности расслоения, трансгрессия, некоторые приложения. 4 3 2 0 2 4 4 2 0 2 4 5 2 0 2 4 6 2 0 2 4 7 2 0 2 4 8 2 0 2 4 9 2 4 10 2 0 2 4 4 11 12 2 2 0 0 2 2 4 13 2 0 2 4 4 14 15 2 2 0 0 2 2 4 16 2 0 2 32 2 32 36 Экзамен 36 5. Образовательные технологии Традиционная лекционно-семинарская система обучения, а также подготовка рефератов. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины. Экзаменационные темы 1. Топология. Непрерывное отображение. Понятие функтора, примеры топологических инвариантов: число компонент связности, фундаментальная группа. 2. Фундаментальная группа, ее определение и свойства. 3. Фундаментальная группа окружности, теорема Брауэра о неподвижной точке. 4. Накрытия. Теорема о накрывающей гомотопии. 5. Накрытие и фундаментальная группа. 6. Универсальные накрытия, существование универсальных накрытий. 36 7. Регулярные накрытия и действия групп. 8. Высшие гомотопические группы, их свойства. Высшие гомотопические группы и накрытия. 9. Относительные гомотопические группы. 10. Локально тривиальные расслоения. Теорема о накрывающей гомотопии. Лемма Фельдбау. 11. Расслоения в смысле Серра. Точная гомотопическая последовательность расслоения. 12. Умножение Уайтхеда в гомотопичесих группах. 13. Теорема Фрейденталя о надстройке. n-Мерная гомотопическая группа n-мерной сферы. 14. Слабая и сильная гомотопическая эквивалентности. Теорема Уайтхеда. 15. Комплекс сингулярных цепей. Сингулярные гомологии, их гомотопическая инвариантность. 16. Относительные группы гомологий. Точная последовательность пары, тройки. 17. Последовательность Майера-Виеториса. 18. Клеточный и симплициальный комплексы, клеточные и симплициальные (относительные) гомологии. Совпадение клеточных и сингулярных гомологий. 19. Когомологии. Умножение в когомологиях. 20. Формула Кюннета. 21. Формула универсальных коэффициентов. 22. Гомологии и многообразия, степень отображения, индекс пересечения, коэффициент зацепления. 23. Теория препятствий. 24. Спектральная последовательность Лере. 25. Спектральная последовательность расслоения. 26. Умножение в спектральной последовательности расслония. 27. Трансгрессия, некоторые приложения. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная: 1. Фоменко А.Т., Фукс Д.Б. Курс гомотопической топологии. – М.: Наука, 1989. б) дополнительная: 1. Новиков С.П., Тайманов И.А. Современные геометрические структуры и поля. – М.: МЦНМО, 2005. 2. Дубровин Б.А., Новиков С.П., Фоменко А.Т. Современная геометрия. Переработанное издание. Том 2. – М.: Изд-во Эдиториал УРСС, 1998. 37 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Элементы теории дискретных структур» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Васильева Анастасия Юрьевна, к.ф.- м.н. (подпись) 38 Аннотация рабочей программы Дисциплина «Элементы теории дискретных структур» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Теоретической кибернетики ММФ НГУ. Дисциплина «Элементы теории дискретных структур» предназначена для изучения дополнительных глав дискретной математики. Основной целью курса является ознакомление с перечислительными методами комбинаторики, теорией дискретных логических устройств и алгебраическими структурами на графах. Содержание дисциплины охватывает круг классических вопросов, такие как комбинаторные формулы обращения, производящие функции, теория Рамсея, конечные геометрии, теория автоматов. Эти разделы будут полезны как студентам, специализирующимся в области дискретной математики, так и всем остальным. Рассматривается также более специальный раздел дискретной математики, а именно алгебраическая комбинаторика (схемы отношений и дистанционно регулярные графы), плодотворно развивающийся в настоящее время и тесно связанный с такими актуальными областями, как теория кодирования. Дисциплина нацелена на формирование общекультурных компетенций ОК-6, ОК-8, ОК-11, ОК-12, профессиональных компетенций ПК-12, ПК-20, ПК-21, ПК-25, ПК-29 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: экзамен. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 2 зачетных единиц, 72 академических часа. Программой дисциплины предусмотрены 32 часа лекционных и 16 часов самостоятельной работы студентов. 39 1. Цели освоения дисциплины Курс ставит своей целью усвоение студентами понятий, связанных с перечислительными, логическими и геометрическими методами комбинаторики, теории логических устройств и схемами отношений. Дисциплина «Элементы теории дискретных структур» предназначена для изучения дополнительных глав дискретной математики. Основной целью курса является ознакомление с перечислительными методами комбинаторики, теорией дискретных логических устройств и алгебраическими структурами на графах. Содержание дисциплины охватывает круг классических вопросов, такие как комбинаторные формулы обращения, производящие функции, теория Рамсея, конечные геометрии, теория автоматов. Эти разделы будут полезны как студентам, специализирующимся в области дискретной математики, так и всем остальным. Рассматривается также более специальный раздел дискретной математики, а именно алгебраическая комбинаторика (схемы отношений и дистанционно регулярные графы), плодотворно развивающийся в настоящее время и тесно связанный с такими актуальными областями, как теория кодирования. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Элементы теории дискретных структур» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина «Элементы теории дискретных структур» опирается на следующие дисциплины данной ООП: Математическая логика; Алгебра; Математический анализ; Теория графов и алгоритмы. Результаты освоения дисциплины «Элементы теории дискретных структур» используются в следующих дисциплинах данной ООП: Дискретная математика; Дискретные экстремальные задачи; Основы теории кодирования. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Элементы теории дискретных структур»: общекультурные компетенции: ОК-6, ОК-8, ОК-11, ОК-12; профессиональные компетенции: ПК-12, ПК-20, ПК-21, ПК-25, ПК-29. По окончании изучения указанной дисциплины студент должен: иметь представление о перечислительных, логических и геометрических методах комбинаторики, теории логических устройств и схемах отношений; знать формулы обращения, метод производящих функций, основные понятия теории автоматов и теории схем отношений; уметь оценить возможности применения и применить изученные понятия и методы для решения конкретных прикладных задач. Раздел дисциплины Неделя семестра № п/п Семестр 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 2 зачетные единицы, 72 часов. Виды учебной работы, Формы текущего контроля включая самостоятельную успеваемости работу студентов и (по неделям семестра) трудоемкость Форма промежуточной (в часах) аттестации 1 2 1 2 2 1 3 2 1 4 2 1 5 2 1 6 7 2 2 1 1 8 2 1 9 2 1 11 2 1 12 2 1 13 2 1 14 2 1 15 2 1 16 2 1 Зачет Контр. работа Самост. работа Лабор. работа Лекция 1.1 Формулы обращения. Формула включений и исключений. 1.2 Частично упорядоченные множества, их функции Мебиуса и теорема об обращении Мебиуса. 1.3 Производящие функции. Возвратные последовательности и рекуррентные соотношения. 1.4 Решение линейных рекуррентных соотношений. 1.5 Теорема Рамсея и ее частный случай для графов. Одно приложение теремы Рамсея. 1.6 Теорема Ван-дер-Вардена. 1.7 Конечные геометрии. Структура конечной плоскости. 1.8 Конечные плоскости и их связь с другими комбинаторными конфигурациями: латинские квадраты. 1.9 Блок-схемы и их связь с конечными плоскостями. 2.1 Булевы функции, формулы. Реализации булевых функций. Дискретные устройства без памяти – схемы из функциональных элементов. 3.1 Дискретные устройства с конечной памятью – конечные автоматы. Представление событий в автоматах. Существование событий, не представимых в конечных автоматах. 3.2 Регулярные события. Источники. Детерминированные источники. Теоремы синтеза и анализа автоматов. 3.3 Схемы отношений и дистанционно регулярные графы. Алгебра Боуза-Меснера. 4.1 Дуальность в схемах отношений. Подмножества в схемах отношений. 4.2 Схемы Хэмминга и Джонсона. Метрические и P(Q)-полиномиальные схемы. (по семестрам) 16 5. Образовательные технологии Используется традиционная лекционная система преподавания. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Баннаи Э., Ито Т. Алгебраическая комбинаторика. – М.: Мир, 1987. 2. Дельсарт Ф. Алгебраический подход к схемам отношения теории кодирования. – М.: Мир, 1976. 3. Виленкин Н.А., Виленкин А.Н., Виленкин П.А. Комбинаторика. – М.: МЦНМО, 2006. 4. Комбинаторный анализ. Задачи и упражнения / Под ред. Рыбникова К.А. – М.: Наука, 1982. 5. Ландо С.К. Лекции о производящих функциях. – М.: МЦНМО, 2007. 41 6. Холл М. Комбинаторика. – М.: Мир, 1970. 7. Шоломов Л.А. Основы теории дискретных логических и вычислительных устройств. – М.: Наука, 1980. (Готовится переработанное и дополненное издание в издательстве «Лань», СПб.) б) дополнительная литература: 1. Баранов В.И., Стечкин Б.С. Экстремальные комбинаторные задачи и их приложения. – М.: Физматлит, 2004. 2. Белоусов А.И., Ткачев С.Б. Дискретная математика. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2004. 3. Грэхем Р., Кнут Д., Паташник О. Конкретная математика: Основание информатики. – М.: Вильямс, 2010. 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 42 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Графы в программировании» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Касьянов Виктор Николаевич, д.ф.- м.н., профессор (подпись) Аннотация рабочей программы Дисциплина «Графы в программировании» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Программирования ММФ НГУ. Основной целью освоения дисциплины является получение базовых знаний и умений в области применения теоретико-графовых моделей, методов и алгоритмов в программировании. Дисциплина нацелена на формирование общекультурных компетенций ОК-5, ОК6, ОК-8, ОК-10, ОК-11, ОК-14, профессиональных компетенций ПК-2, ПК-3, ПК-4, ПК5, ПК-6, ПК-9, ПК-10, ПК-11, ПК-12, ПК-18, ПК-23, ПК-27 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, семинары, самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме контрольных работ, промежуточный контроль в форме зачета и экзамена. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 6 зачетных единиц, 216 академических часа (из них 128 аудиторных). Программой дисциплины предусмотрены 64 часов лекционных и 64 часов семинарских занятий, а также 68 часов самостоятельной работы студентов. Остальное время – контроль в форме контрольных работ, зачета и экзамена. 44 1. Цели освоения дисциплины Цели курса дать обучающимся систематизированные базовые знания об основных теоретико-графовых моделях, методах и алгоритмах, применяемых в программировании; дать возможность обучающимся приобрести навыки и умения, необходимые, для успешного использования теоретико-графовых моделей, методов и алгоритмов при построении вычислительных, программных и информационных систем; сформировать у обучающихся аналитические способности, которые бы позволили им делать обоснованный выбор изученных теоретико-графовых моделей, методов и алгоритмов при решении различного класса задач программирования. Первая часть курса посвящена базовым моделям и алгоритмам, связанным с применением теории графов в программировании. Изложение материала привязано к трём основным типам графов: деревья, дэги или бесконтурные графы и сводимые или регуляризуемые графы. Алгоритмы для данных типов графов образуют наиболее важные и широко используемые в программировании классы алгоритмов теории графов. Вторая часть курса посвящена вопросам построения наглядных изображений графов и визуализации структурированной информации на основе графовых моделей. Визуализация графов и графовых моделей является ключевым компонентом многих приложений в науке и технике. В третий части курса рассматриваются такие основные приложения графов и графмоделей в программировании, как хранение и поиск информации, трансляция и оптимизация программ, анализ, преобразование и распараллеливание программ, параллельная и распределенная обработка информации. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Графы в программировании» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина «Графы в программировании» опирается на следующие дисциплины данной ООП: Теория алгоритмов; Программирование; Математический анализ; Математическая логика. Результаты освоения дисциплины «Графы в программировании» используются в научно-исследовательской практике и в дипломной работе. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Графы в программировании»: общекультурные компетенции: ОК-5, ОК-6, ОК-8, ОК-10, ОК-11, ОК-14; профессиональные компетенции: ПК-2, ПК-3, ПК-4, ПК-5, ПК-6, ПК-9, ПК-10, ПК-11, ПК-12, ПК-18, ПК-23, ПК-27. В результате освоения дисциплины обучающийся должен: иметь базовые знания об основных методах и подходах к решению фундаментальных задач программирования, разрабатываемых в рамках прикладной теории графов; уметь профессионально использовать теоретико-графовые модели и методы при решении различных задач программирования; владеть навыками практического использования при создании вычислительных, программных и информационных систем теоретико-графовых алгоритмов и методов визуализации на основе графовых моделей. 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 6 зачетных единиц, 216 часов 1.2 1.3 1.4 1.5 1.6 1.7 1.8 2.1 2.2 2.3 2.4 2.5 2.6 3.1 3.2 3.3 3.4 2 2 2 5 2 2 2 2 5 3 2 2 2 5 4 2 2 3 5 5 2 2 2 5 6 2 2 3 5 7 2 2 2 5 5 8 9 2 2 2 2 2 3 5 10 2 2 2 5 11 2 2 2 5 12 2 2 3 5 13 2 2 2 5 14 2 2 2 5 15 2 2 3 5 16 2 2 2 5 17 2 2 2 5 18 2 2 2 46 Экзамен 1 Зачета 5 Семинар. занятия Самост. работа Контр. работа Базовые модели и алгоритмы, связанные с применением теории графов в программировании. Неориентированные графы. Орграфы и сети. Ордеревья и их свойства. Обходы графов и деревьев в глубину и в ширину. Генерация деревьев. Каркасы графа и алгоритмы их выделения. Бесконтурные графы (дэги). Основные свойства и алгоритмы. Методы и алгоритмы построения транзитивных и конгруэнтных замыканий, нахождения общих предков двух вершин дерева, выявления бикомпонент и построения графов конденсации (графов Герца). Сводимые и регуляризуемые графы. Основные свойства и алгоритмы для класса сводимых графов. Задача разрушения контуров в сводимых графах. Анализ циклической структуры и циклически сводимые графы. Укладки и перечисление путей. Задача и методы визуализации графов и графовых моделей. Рисование деревьев. Планарные графы и их изображение. Поуровневое рисование орграфов. Использование физических аналогий. Потоковые методы. Изображения помеченных графов. Визуализация больших графов и интерактивные методы визуализации информации. Гиперболические размещения. Основные методы навигации. Методы дерево-карта. Метрика и фильтрация. Методы фокус+контекст. Иерархические графы и граф-модели. Системы визуализации графов и графовых моделей. Информационные деревья. Деревья сортировки, АВЛ-деревья, BB-деревья, выровненные деревья, 1-2 братские деревья, 2-3 деревья. Кучи. B-деревья. Другие страничные деревья. Многомерные деревья сортировки и многомерные В-деревья. Парадигмы для МАТ-структур. Графы адресуемых данных. Графы и частично-упорядоченные множества. Лекция 1.1 Неделя семестра Раздел дисциплины Семестр № п/п Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) 2 Контрольная 2 Контрольная 2 Зачет 3.5 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 Синтаксические деревья. Синтаксис языка и фазы анализа. Порождающие грамматики и регулярные выражения. Автоматы и преобразователи. Лексический анализ. Задача и методы синтаксического анализа. Перевод и конструкторы анализаторов. Задача контекстного анализа. Атрибуты абстрактной программы, идентификация и семантическая индукция. Атрибутные грамматики и конструирование абстрактных синтаксических представлений. Основные классы атрибутных грамматик и вычислений. Распределение памяти под атрибуты. Задача кодогенерации и объектная машина. Управление памятью периода исполнения. Линейные участки и управляющие графы. Распределение и присваивание регистров. Представление лучей дэгами и алгоритмы кодогенерации. Генерация кодогенераторов. Задача и методы анализа потока управления. Метод нумераций и гамачное представление уграфов. Отношения обязательного предшествования и обязательной преемственности. Алгоритм ЛенгаураТарьяна. Понятие структурной сложности программ. Цикломатическая мера МакКейба и другие меры сложности, основанные на уграфе. Задача анализа потока данных. Метод и алгоритмы разметки. Факторизация. Унификация и системы переписывания термов. Графовые промежуточные представления программ. Граф-схемы программ. Упорядоченные диаграммы бинарных решений и логические фрагменты, конструирование и манипуляция. Сети Петри, их основные свойства и применения. Классы языков и основные подклассы сетей Петри. Регулярные и иерархические сети Петри. Обобщения сетей Петри. Итого: 6 1 2 2 3 6 2 2 2 2 6 3 2 2 2 6 4 2 2 3 6 5 2 2 2 6 6 2 2 2 6 7 2 2 3 6 8 2 2 2 6 9 2 2 2 6 10 2 2 2 6 11 2 2 3 6 12 2 2 2 6 13 2 2 2 6 14 2 2 3 6 15 2 2 2 6 16 2 2 6 17 64 64 2 Контрольная 2 2 Контрольная 74 4 2 8 Экзамен 8 5. Образовательные технологии Используется традиционная система обучения, включающая лекции и семинарские занятия. Содержание лекции должно отвечать следующим дидактическим требованиям: изложение материала от простого к сложному, от известного к неизвестному; логичность, строгость, четкость и ясность в изложении материала; возможность проблемного изложения, с целью активизации деятельности студентов. Цель семинарских занятий состоит в выработке устойчивых навыков решения основных примеров и задач дисциплины, на которых основана теория лекционного курса. Главная и определяющая особенность любого семинарского занятия – наличие элементов дискуссии, диалога между преподавателем и студентами и самими студентами. По курсу 47 семинарских занятий рекомендуется проведение двух контрольных работ в течение каждого семестра и зачета в конце первого семестра. Самостоятельная работа выполняется студентами по предлагаемым темам (см. пункт 6). Некоторые из них докладывают свои результаты на семинарах с последующим обсуждением всеми студентами и преподавателем. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины Примеры тем для самостоятельной работы студентов: 1. Методы и алгоритмы генерации деревьев. 2. Основные методы и приложения визуализации информации на основе деревакарты. 3. Иерархические графовые модели, используемые при визуализации структурированной информации, и их основные свойства. 4. Эквивалентные преобразования грамматик и эффективность алгоритмов синтаксического анализа. 5. Графовые промежуточные представления императивных транслируемых программ, ориентированные на оптимизацию и распараллеливание. 6. Разрешимые и неразрешимые свойства основных подклассов сетей Петри. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Касьянов В.Н., Евстигнеев В.А. Графы в программировании: обработка, визуализация и применение. — СПб: БХВ-Петербург, 2003. 2. Касьянов В.Н., Касьянова Е.В. Визуализация графов и графовых моделей. — Новосибирск: Сибирское Научное Издательство, 2010. 3. Drawing Graphs. Methods and Models / Ed. M. Kaufmann, D. Wagher. — Berlin: Springer, 2001. — (Lect. Notes Comput. Sci.; 2025). б) дополнительная литература: 1. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. — М.: Мир, 1979. 2. Евстигнеев В.А. Применение теории графов в программировании — М.: Наука, 1985. 3. Евстигнеев В.А., Касьянов В.Н. Толковый словарь по теории графов в информатике и программировании – Новосибирск: Наука, 1999. 4. Ершов А.П. Введение в теоретическое программирование. Беседы о методе — М.: Наука, 1977. 5. Касьянов В.Н. Оптимизирующие преобразования программ — М.: Наука, 1988. 6. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. — М.: МЦНМО, 1999. 7. Котов В.Е. Сети Петри. — М.: Наука, 1984. 8. Лавров С.С. Программирование. Математические основы, средства, теоремы. — СПб.: БХВ-Петербург, 2001. 9. Питерсон Дж. Теория сетей Петри и моделирование систем. — М.: Мир, 1984. 10. Jensen K. Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use.— Springer Verlag, 1997.— Vol. 1,2,3. 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 48 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Факторные языки» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Фрид Анна Эдуардовна, к.ф.- м.н. (подпись) 49 (ФИО) Аннотация рабочей программы Дисциплина «Факторные языки» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Теоретической кибернетики ММФ НГУ. Содержание дисциплины охватывает круг вопросов, связанных с комбинаторикой – в частности, комбинаторикой на словах, теорией формальных языков, дискретными динамическими системами. Дисциплина нацелена на формирование общекультурных компетенций ОК-6, ОК-8, ОК-11, ОК-12, профессиональных компетенций ПК-12, ПК-20, ПК-21, ПК-25, ПК-29 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, практические занятия, контрольная работа, самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме контрольной работы, промежуточный контроль в форме зачета. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 2 зачетных единиц, 72 академических часа. Программой дисциплины предусмотрены 34 часов лекционных, а также 17 часов самостоятельной работы студентов. Остальное время – контроль в форме экзамена. 50 1. Цели освоения дисциплины Курс ставит своей целью введение студентов в современное состояние дел в комбинаторике на словах и смежных областях, которая, в частности, является современным средством исследования свойств дискретных динамических систем и вопросов «сложности» символьных последовательностей. Студент, прослушавший курс, может приступить к научной работе по соответствующим темам. 2. Место дисциплины в структуре ООП бакалавриата Спецкурс «Факторные языки» опирается на общеобразовательные курсы первых лет обучения, прежде всего на следующие: Линейная алгебра (общие знания); Дискретная математика (перечислительная комбинаторика, основы теории графов). Результаты освоения дисциплины могут помочь в освоении следующих дисциплин данной ООП: Теория графов, Теория кодирования, и быть использованы в научно-исследовательской практике в соответствующих областях алгебры и дискретной математики. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Факторные языки»: общекультурные компетенции: ОК-6, ОК-8, ОК-11, ОК-12; профессиональные компетенции: ПК-12, ПК-20, ПК-21, ПК-25, ПК-29. В результате освоения дисциплины обучающийся должен: знать основные понятия и постановки задач комбинаторики на словах и смежных областях; иметь представление о современном состоянии данной теории; владеть навыками решения задач, встречающихся в данной теории. Факторные языки: определение, примеры, операции над языками. Подсловная сложность, частота подслов. Периодичность, равномерная рекуррентность. Теорема Файна-Вилфа о периодичности (в том числе для частичных слов). Простейшие уравнения над словами. 1 2 1 2 Слова Штурма: эквивалентные определения, связь с цепными дробями. Слова Роте. Количество всех конечных слов Штурма. 2 2 1 Самост. работа 1 Лабор. работа Раздел дисциплины Лекция № п/п Зачет Виды учебной работы, включая самостоятельную работу студентов и трудоемкость Формы текущего контроля (в часах) успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) Контр. работа Неделя семестра Семестр 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 2 зачетные единицы, 872 часа. 3 Теорема Пансьо о возможных порядках роста сложности D0L слов. Лемма о биспециальных словах. Алгоритм Кассеня. Циркулярность D0L слов. Формула для подсловной сложности равноблочного маркированного D0L слова. 3 2 1 4 Сложность слов Тёплица, возможные порядки ее роста. 4 2 1 5 Слова с экспоненциальной сложностью. Примеры Кассеня слов с промежуточной сложностью. Нерешенные проблемы о подсловной сложности. 5 2 1 6 Многомерные слова. Проблема обобщения понятий подсловной сложности, периодичности и т.д.. Результаты и гипотезы о двумерных словах с низкой сложностью. 6 2 1 7 Модифицированные определения сложности. *-сложность Накасимы, Тамуры и Ясутоми. Шаблонная сложность Рестиво и Салеми. 7 2 1 8 Сложность Камаэ, возможные порядки ее роста. 8 2 1 9 Минимальная сложность Камаэ для непериодических слов. 9 2 1 10 Сложность Камаэ для двумерных слов. 10 2 1 11 Арифметическое замыкание. Арифметическая сложность для симметричных D0L слов, регулярных слов Тёплица.. 11 2 1 12 Характеризация равномерно рекуррентных слов с линейной арифметической сложностью. Наименьшая арифметическая сложность. 12 2 1 13 Верхняя оценка на арифметическую сложность слов Штурма. 13 2 1 14 Нижняя оценка на арифметическую сложность слов Штурма. 14 2 1 15 Слово Туэ-Морса, его свойства 15 2 1 16 Избегание шаблонов. Характеризация избегаемых шаблонов. Избегаемость над малыми алфавитами. 16 2 1 17 Порог избегаемости для разных алфавитов. 17 2 1 18 18 34 17 36 Экзамен 36 5. Образовательные технологии Используется традиционная лекционная система преподавания. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины Решение задач из [2] списка 7.1. 7. Учебно-методическое и информационное обеспечение дисциплины 52 7.1. Монографии, учебные пособия: 1. Lothaire M. Algebraic combinatorics on words. – Cambridge: Cambridge Univ. Press, 2002. http://www-igm.univ-mlv.fr/~berstel/Lothaire/AlgCWContents.html. 2. Шур А.М. Комбинаторика слов. – Екатеринбург, Изд-во УрГУ, 2003. 3. Allouche J .-P., Shallit J. Automatic words: Theory, applications, generalizations. – Cambridge: Cambridge Univ. Press, 2003. . 7.2. Статьи, интернет-материалы: 1. J. Berstel, J. Karhumaki. Combinatorics on words – a tutorial. http://www.tucs.fi/publications/insight.php?id=tBeKa03a. 2. Статьи. Доступны в интернете по адресам http://iml.univ-mrs.fr/editions/biblio/bib-cassaigne.html , http://www.sci.osaka-cu.ac.jp/~kamae/e-kamae.html , http://dipmat.math.unipa.it/~mignosi/Pubblicazioni.htm , http://www.math.nsc.ru/LBRT/k4/Frid/frid_publications.htm . 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 53 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Введение в математические основы САПР» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Ушаков Дмитрий Михайлович, к.ф.- м.н. (подпись) 54 Аннотация рабочей программы Дисциплина «Введение в математические основы САПР» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Программирования ММФ НГУ. Основной целью освоения дисциплины является получение общего представления и знаний в области систем автоматического проектирования (САПР); изучение математического аппарата, применяемого в данной области; получение практических навыков программирования наукоемких компонент САПР. Дисциплина нацелена на формирование общекультурных компетенций ОК-1, ОК6, ОК-7, ОК-8, ОК-9, ОК-10, ОК-11, ОК-12, профессиональных компетенций ПК-1, ПК2, ПК-3, ПК-7, ПК-8, ПК-11, ПК-15, ПК-19, ПК-20 , ПК-23 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, семинары, тренинги, консультации, самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: контроль усвоения теоретических знаний в форме экзамена; контроль выполнения задач из практической части дисциплины. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 3 зачетные единицы, 108 академических часов (из них 100 аудиторных). Программой дисциплины предусмотрены 36 часов лекционных и 24 часа практических занятий, а также 30 часов самостоятельной работы студентов. Остальное время – контроль в форме экзамена и приемка практических заданий. 55 1. Цели освоения дисциплины Основной целью освоения дисциплины «Введение в математические основы САПР» является изучение базовой функциональности современных систем автоматизированного проектирования, конструирования, производства и управления жизненным циклом изделия (CAD/CAM/CAE/PLM); знакомство с математическими методами и алгоритмами, лежащими в основе наукоемкой функциональности САПР; приобретение опыта программирования в одной из сред разработки программных компонент САПР. Для достижения поставленной цели выделяются задачи курса: анализ современных методов автоматизированного проектирования, инженерного анализа и подготовки производства на станках с ЧПУ и роботизированных сборочных линиях; подготовка студентов к участию в промышленной разработке наукоемких программных компонент САПР; изучение современных средств разработки программных компонент для САПР. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Введение в математические основы САПР» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина «Введение в математические основы САПР» опирается на следующие дисциплины данной ООП: Основы компьютерных наук (математическое моделирование, базы данных, операционные системы и др.); Численные методы; Аналитическая геометрия; Дифференциальная геометрия и топология; Фундаментальная и компьютерная алгебра; Компьютерная геометрия и геометрическое моделирование. Результаты освоения дисциплины «Введение в математические основы САПР» используются в научно-исследовательской практике и в дипломной работе. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Введение в математические основы САПР»: общекультурные компетенции: ОК-1, ОК-6, ОК-7, ОК-8, ОК-9, ОК-10, ОК-11, ОК12; профессиональные компетенции: ПК-1, ПК-2, ПК-3, ПК-7, ПК-8, ПК-11, ПК-15 , ПК-19, ПК-20 , ПК-23. В результате освоения дисциплины обучающийся должен: Иметь представление о современных системах CAD, CAE, CAPP, CAM, PDM и PLM; о концепциях и идеях, на которых они основаны; об актуальных задачах автоматизированного проектирования; о математических методах, применяемых при решении этих задач; о современных способах представления геометрической информации, используемых в средах разработки САПР; о средствах хранения и визуализации геометрической информации; о типичных операциях над геометрическими моделями; об архитектурном устройстве сред разработки программных компонент САПР, типах данных и методах предоставляемых ими. 56 Знать базовую функциональность современных систем автоматизированного проектирования; основы геометрического объемного моделирования, вариационного моделирования на основе конструктивных элементов, методы структурной оптимизации, методы анализа кинематики, динамики и статики деталей и механизмов, основы технологической подготовки производства (включая создание управляющих программ для станков с ЧПУ) и управления данными на протяжении жизненного цикла изделия; методики решения конкретных математических задач САПР; основные типы данных, методы и интерфейсы, используемые для создания, отображения или модификации геометрических моделей; различные способы представления геометрических моделей: граничное и сеточное представление; методики реализации решения конкретных математических задач САПР. Уметь делать анализ существующих алгоритмов и методов, используемых для решения задач САПР; закодировать и отладить любой из известных алгоритмов, применяемых при решении типовых задач САПР; использовать средства предоставляемые средами разработки для создания, модификации и отображения геометрических моделей; реализовать на языке высокого уровня и отладить некоторые алгоритмы, применяемые при решении типовых задач САПР. 4. Структура и содержание дисциплины 4.1 Тематический план курса (распределение часов) Общая трудоемкость дисциплины составляет 3 зачетные единицы, 108 часов. 1 2 2 1.2 Геометрическое моделирование 7 2 2 2 1.3 Базовые геометрические объекты 1.4 Инженерные кривые и поверхности 7 7 3 4 2 2 2 2 1.5 Обмен геометрическими данными 7 5 2 2 7 6 2 2 7 7 2 2 Вариационное моделирование: 1.6 алгебраический подход Вариационное моделирование: 1.7 диагностика и декомпозиция задачи 57 Экзамен 7 Раздел дисциплины Семина ры Самост. работа Неделя семестра 1.1 Введение в САПР № п/п Лекция Семестр Виды учебной работы, включая самостоятельную Формы текущего работу студентов и контроля успеваемости трудоемкость (по неделям семестра) (в часах) Форма промежуточной аттестации (по семестрам) 1.8 Инженерия знаний в САПР 1.9 Методы поиска и оптимизации решения Инженерный анализ кинематики 1.10 механизмов Инженерный анализ динамики 1.11 механизмов Инженерный анализ методом конечных 1.12 элементов 1.13 Автоматизация производства Технологическая подготовка 1.14 производства Управление данными на протяжении 1.15 жизненного цикла изделия 2.1 2.2 2.3 2.4 2.5 2.6 Изучение основных принципов механического моделирования в САПР системе Создание сборки в САПР Освоение среды разработки программных компонент САПР Работа с представлением геометрических данных САПР Создание пользовательского интерфейса на основе модулей САПР Выполнение практического задания 7 7 8 9 2 2 2 7 10 2 2 7 11 2 2 7 12 2 2 7 13 2 2 7 14 2 2 7 15 2 2 7 16 8 1 8 2-4 8 5-6 2 2 8 6-9 2 4 8 10 2 8 11-16 8 17 18 Экзамен 2 6 12 2 Прием задания 36 24 30 20 4.2 Содержание отдельных разделов и тем 1.1. Введение в САПР 1.1.1. Классы САПР 1.1.2. Автоматизация современного машиностроительного предприятия 11..3. Исторический обзор развития систем автоматизации проектирования 1.1.4. Функциональность CAD систем 1.1.5. Современные CAD системы и их классификация 1.1.6. Системы инженерного анализа (CAE) 1.1.7. Системы технологической подготовки производства (CAPP) 1.1.8. Системы автоматизации производства (CAM) 1.1.9. Системы управления данными об изделии (PDM) 1.1.10. Интегрированные пакеты управления жизненным циклом изделия 1.2. Геометрическое моделирование 1.2.1. Автоматизация черчения и геометрическое моделирование 1.2.2. Виды геометрического моделирования 1.2.3. Функции твердотельного моделирования 1.2.4. Декомпозиционные модели 1.2.5. Конструктивные модели 1.2.6. Граничные модели 1.2.7. Корректность граничных моделей 1.2.8. Пакеты геометрического моделирования и их функциональность 1.3. Базовые геометрические объекты 1.3.1. Аффинное пространство и соглашение о нотации 1.3.2. Способы задания аналитических кривых и поверхностей 1.3.3. Изометрии аффинного пространства 58 1.3.4. Матричное представление трансформации в аффинном пространстве 1.3.5. Связь геометрических параметров трансформации с ее матричным представлением 1.3.6. Однородные координаты 1.3.7. Углы Эйлера 1.3.8. Экспоненциальное представление трансформации 1.4. Инженерные кривые и поверхности 1.4.1. Кусочные кривые и их гладкость 1.4.2. Билинейный лоскут 1.4.3. Поверхности сдвига и вращения 1.4.4. Линейчатая поверхность 1.4.5. Лоскут Кунса 1.4.6. Эрмитова кривая, бикубическая поверхность и лоскут Фергюсона 1.4.7. Кривые и поверхности Безье 1.4.8. Алгоритм де Кастелжо 1.4.9. B-сплайны и B-сплайновые поверхности 1.4.10. Рациональные кривые и поверхности 1.4.11. Интерполяционные кривые и поверхости 1.5. Обмен геометрическими данными 1.5.1. Стандарты обмена геометрическими данными 1.5.2. Формат IGES 1.5.3. Формат DXF 1.5.4. Формат STEP 1.5.5. Мозаичные модели 1.5.6. Формат STL 1.5.7. Формат VRML 1.5.8. Поверхности подразделения 1.6. Вариационное моделирование: алгебраический подход 1.6.1. Параметры, ограничения и вариационные модели 1.6.2. Создание эскизов и проектирование сборок 1.6.3. Задача размещения геометрических объектов и ее характеристики 1.6.4. Вариационный геометрический решатель 1.6.5. Способы алгебраического моделирования геометрической задачи 1.6.6. Метрический тензор геометрической задачи 1.6.7. Методы символьного упрощения систем алгебраических уравнений 1.6.8. Декомпозиция Далмеджа-Мендельсона 1.6.9. Метод Ньютона-Рафсона 1.6.10. Решение систем линейных уравнений 1.6.11. Методы координатного и градиентного спуска 1.7. Вариационное моделирование: диагностика и декомпозиция задачи 1.7.1. Диагностика геометрических задач 1.7.2. Методы упрощения геометрических задач 1.7.3. Определение и классификация методов декомпозиции 1.7.4. Граф ограничений 1.7.5. Методы рекурсивного деления 1.7.6. Методы рекурсивной сборки 1.7.7. Формирование кластеров с помощью анализа графа ограничений 1.7.8. Формирование кластеров на основе шаблонов 1.7.9. Эвристическое формирование псевдокластеров 1.7.10. Распространение степеней свободы 1.8. Инженерия знаний в САПР 1.8.1. Параметрическое проектирование на основе конструктивных элементов 59 1.8.2. Инженерные параметры 1.8.3. Отношения базы знаний 1.8.4. Параметрическая оптимизация 1.8.5. Экспертные знания и продукционные системы 1.9. Методы поиска и оптимизации решения 1.9.1. Задачи удовлетворения ограничениям и оптимизации в ограничениях в общей постановке, их связь 1.9.2. Классификация методов поиска и оптимизации решения 1.9.3. Метод координатного спуска 1.9.4. Метод градиентного спуска 1.9.5. Жадный алгоритм 1.9.6. Метод Ньютона 1.9.7. Методы перебора 1.9.8. Методы редукции областей 1.9.9. Метод ветвей и границ 1.9.10. Алгоритм модельной закалки 1.9.11. Генетические алгоритмы 1.10. Инженерный анализ кинематики 1.10.1. Прямая и обратная задачи кинематики механизмов 1.10.2. Виды кинематических пар 1.10.3. Моделирование механизмов 1.10.4. Геометрические измерения 1.10.5. Моделирование задачи кинематики 1.10.6. Задача кинематики как задача оптимизации 1.10.7. Дифференциальное уравнение задачи кинематики 1.10.8. Натуральный градиент уравнения 1.10.9. Алгоритмы численного решения дифференциальных уравнений 1.10.10. Планирование движения 1.11. Инженерный анализ динамики 1.11.1. Задача анализа динамики механизмов 1.11.2. Движение абсолютно твердого тела в трехмерном пространстве 1.11.3. Моделирование контакта тел 1.11.4. Альтернативный подход: уравнения Лагранжа 1.11.5. Методы определения столкновений 1.11.6. Алгоритмы широкой фазы 1.11.7. Алгоритмы фазы сужения 1.11.8. Коммерческое программное обеспечение для симуляции движения 1.12. Инженерный анализ методом конечных элементов 1.12.1. Конечно-элементный анализ 1.12.2. Введение в метод конечных элементов 1.12.3. Анализ упругости тела 1.12.4. Тензор деформаций 1.12.5. Тензор напряжений 1.12.6. Обобщенный закон Гука, матрицы жесткости и упругости 1.12.7. Уравнение равновесия тела под нагрузкой 1.12.8. Применение МКЭ для расчета малых напряжений тела под нагрузкой 1.12.9. Другие приложения МКЭ 1.12.10. Типы конечных элементов 1.12.11. Разбиения для МКЭ 1.12.12. Общая схема конечно-элементного анализа в CAE-системах 1.12.13. Коммерческие пакеты конечно-элементного анализа 1.13. Автоматизация производства 60 1.13.1. Архитектура станков с ЧПУ 1.13.2. Принципы программирования для станков с ЧПУ 1.13.3. Языки программирования высокого уровня для станков с ЧПУ 1.13.4. Генерация программ для станков с ЧПУ по CAD моделям 1.13.5. Быстрое прототипирование и изготовление 1.13.6. Виртуальная инженерия 1.14. Технологическая подготовка производства 1.14.1. Интеграция CAD и CAM 1.14.2. Задачи инженера-технолога 1.14.3. Модифицированный подход к технологической подготовке 1.14.4. Групповая технология 1.14.5. Классификация и кодирование деталей 1.14.6. Генеративный подход к технологической подготовке 1.14.7. Конструкторско-технологические элементы 1.14.8. Методы автоматического распознавания конструктивных элементов 1.14.9. Пример автоматического распознавания КТЭ 1.15. Управление данными на протяжении жизненного цикла изделия 1.15.1. Системы управления данными об изделии 1.15.2. Цифровой макет изделия (DMU) и спецификация материалов (BOM) 1.15.3. Примеры PDM-систем 1.15.4. Программное обеспечение для организации бизнес-процессов 1.15.5. Из чего состоит PLM? 1.15.6. Интеграция PLM с системами управления отношениями с заказчиками 1.15.7. Интеграция PLM с системами управления цепочками поставок 1.15.8. Интеграция PLM с системами управления ресурсами предприятия 1.15.9. Практические подходы к интеграции систем PLM с CRM, SCM и ERP 1.15.10. Преимущества внедрения систем PLM 2. 1. Создание сборки в САПР 2.1.1 Пользовательский интерфейс в САПР 2.1.2 Построение и модификация плоских контуров 2.1.3 Применение экструзии, построение поверхностей сдвига и вращения 2.1.4 Использование конструктивных элементов (прорезание дырок, создание фасок) 2.1.5 Экспортирование модели в различные форматы хранения данных 2. 2 Освоение среды разработки программных компонент САПР 2.2.1 Пользовательский интерфейс разработчика 2.2.2 Программный интерфейс САПР 2.3 Работа с представлением геометрических данных САПР 2.3.1 Модель BRep – создание, обход, работа с файлами. 2.3.2 Операции над BRep 2.4 Создание пользовательского интерфейса на основе модулей САПР 2.4.1 Элементы пользовательского интерфейса САПР 2.4.2 События, таймеры 5. Образовательные технологии Лекционные занятия освещают концептуальные и теоретические вопросы. На них обучаемым предлагается базовый материал курса. Практические занятия проводятся с целью выполнения задач по созданию программных компонент и модулей САПР. Самостоятельная работа выполняется студентами по лекционному материалу. Консультации по курсу учебным планом не регламентируются. Они проводятся в форме ответов на вопросы студентов и обсуждений. 61 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины 6.1. Текущий контроль осуществляется в процессе приемки учебных заданий, выполняемых студентов в течение семестра. 6.2. Промежуточный контроль. Для контроля усвоения дисциплины в целом учебным планом предусмотрен экзамен. Для проверки усвоения практических навыков программирования компонент САПР обучающийся выполняет практическое задание. 6.2.1 Образцы вопросов для подготовки к экзамену Раздел 1.1 1) Опишите программное обеспечение, относящееся к классу САПР. Какова его доля на современном рынке ПО? 2) Опишите типичную схему автоматизации современного машиностроительного предприятия. 3) Укажите ключевые этапы в истории развития САПР. 4) Какова базовая функциональность систем механического проектирования? 5) Опишите концепцию параметрического проектирования на основе конструктивных элементов. 6) В чем отличия восходящего и нисходящего методов проектирования механизмов? 7) Как классифицируются современные CAD-системы? Назовите примеры в каждом классе. 8) Опишите функциональность систем инженерного анализа и приведите примеры таких систем. 9) Их чего складывается функциональность систем технологической подготовки производства? Приведите примеры систем CAPP. 10) Для чего предназначены системы автоматизации производства? Приведите примеры CAM-систем. 11) Какие задачи решают системы управления данными об изделии? Приведите примеры коммерческих систем PDM. Раздел 1.2 1) Опишите разницу между автоматизацией черчения и геометрическим моделированием. 2) Назовите и опишите виды геометрического моделирования. 3) Каковы основные функции твердотельного (объемного) моделирования? 4) Опишите три вида декомпозиционных моделей. 5) Что такое CSG-дерево? Опишите алгоритм перевода CSG-дерева в октантное дерево. 6) В чем разница между геометрией и топологией граничной модели? Опишите структуры данных BRep. 7) Приведите формулу Эйлера-Пуанкаре и опишите операторы Эйлера. Какими свойствами они обладают? 8) Что такое объемные параметры и как они рассчитываются по граничной модели? 9) Какова базовая функциональность пакетов геометрического моделирования? Приведите примеры таких пакетов. Раздел 1.3 1) Назовите основные способы задания кривых и поверхностей в трехмерном аффинном пространстве. Приведите примеры. 2) Назовите основные классы трансформаций в трехмерном аффинном пространстве. 62 Какими геометрическими параметрами они характеризуются? 3) Опишите матричное представление трансформации в трехмерном аффинном пространстве и назовите его свойства. 4) Приведите алгоритмы вычисления матричного представление трехмерной трансформации по ее геометрическим параметрам и наоборот. 5) Что такое однородные координаты? В чем преимущества их использования для представления трансформаций в трехмерном аффинном пространстве? 6) Дайте определение углов Эйлера. Приведите алгоритмы вычисления трансформации с заданными углами Эйлера и вычисления углов Эйлера по трансформации, заданной в матричном виде. 7) Какие параметры задают экспоненциальное представление трансформации? Приведите алгоритм их расчета по матричному представлению. Раздел 1.4 1) Дайте определение Cn и Gn гладкости кривых и поверхностей. Какой класс гладкости является предпочтительным на практике и почему? 2) Что такое билинейный лоскут и лоскут Кунса? Каковы их геометрические свойства? 3) Какие существуют способы задания поверхности по двум кривым? 4) В чем разница между Эрмитовой и кубической кривыми? Выведите формулу задания Эрмитовой кривой. 5) Как задается бикубическая поверхность? Что такое лоскут Фергюссона? 6) Дайте определение кривой Безье. Каковы ее геометрические свойства? 7) Опишите алгоритм де Кастелжо и объясните, как с его помощью можно построить кривую Безье шестой степени. 8) Как задаются однородные B-сплайновые кривые и поверхности? 9) Что такое NURBS? Какие классы кривых и поверхностей описываются с помощью NURBS? Раздел 1.5 1) Опишите типичные схемы обмена геометрическими данными между CADсистемами. 2) Опишите формат IGES. 3) Опишите формат DXF. Какова область его применения? 4) Опишите формат STEP. В чем его преимущества перед IGES? 5) Что такое мозаичные модели, и каковы области их применения? 6) Опишите формат STL. Каковы его недостатки? 7) Приведите алгоритм Чайкина. Какие кривые строятся с его помощью? 8) Опишите метод Ду-Сабина. Какие поверхности подразделения строятся этим методом? 9) Опишите метод Катмула-Кларка и приведите его отличия от метода Ду-Сабина. Раздел 1.6 1) Дайте определение вариационной параметрической модели. 2) Опишите области приложения вариационного моделирования. 3) Дайте определение задаче удовлетворения геометрическим ограничениям и объясните смысл понятий недоопределенность, переопределенность, хорошая определенность, жесткость, избыточность и сингулярность. 4) Что такое вариационный геометрический решатель? Приведите примеры. 5) В чем разница между декартовым и относительным моделированиями задачи удовлетворения геометрическим ограничениям? 6) Опишите тензорное моделирование задачи удовлетворения геометрическим ограничениям. В чем состоят его преимущества? 7) Опишите методы символьного упрощения систем алгебраических уравнений. 8) Опишите методы декомпозиции систем алгебраических уравнений. 9) Опишите метод Ньютона-Рафсона. Какие методы решения систем линейных 63 алгебраических уравнений могут использоваться совместно с ним? 10) Опишите методы релаксации и градиентного спуска. В чем их преимущества и недостатки по сравнению с методом Ньютона-Рафсона? Раздел 1.7 1) Какие понятия и методы используются для диагностики задачи удовлетворения геометрическим ограничениям? 2) Что такое декомпозиция задачи удовлетворения геометрическим ограничениям? Для чего она применяется? 3) Классифицируйте известные методы декомпозиции задачи удовлетворения геометрическим ограничениям. 4) Что такое граф ограничений? 5) Что такое точка и пара сочленения? Опишите метод декомпозиции задачи удовлетворения ограничениям, основанный на рекурсивном делении графа ограничений. 6) Опишите общую схему декомпозиции задачи удовлетворения геометрическим ограничениям методом «снизу вверх». 7) Что такое абстрактная степень свободы и структурно жесткая геометрическая подзадача? Приведите пример структурно жесткой задачи, не являющейся жесткой. 8) Опишите методы, используемые для поиска структурно жестких геометрических подзадач. 9) Что такое декомпозиция задачи удовлетворения геометрическим ограничениям с помощью отсечений? Раздел 1.8 1) Опишите схему «прототип-экземпляр» для моделирования конструктивных элементов. 2) Что такое цикл обновления конструктивного элемента? 3) Для чего используются инженерные параметры? 4) Опишите типичные отношения базы знаний. 5) Что такое параметрическая оптимизация в САПР? Приведите примеры. 6) Что такое «черный ящик» в контексте параметрической оптимизации? Приведите пример цикла обновления модели при оптимизации. 7) Как в САПР задаются экспертные знания? Раздел 1.9 1) Дайте общее определение задаче удовлетворения ограничениям. 2) Дайте общее определение задачам условной и безусловной оптимизации. 3) Как можно классифицировать методы поиска и оптимизации решения? 4) Опишите метод координатного и градиентного спуска в применении к непрерывным и дискретным областям. 5) Опишите метод Ньютона для решения оптимизационных задач. Что такое квазиньютоновские методы? 6) В чем отличие хронологического и нехронологических методов перебора? Приведите примеры. 7) Для чего используются методы редукции областей? Опишите их. 8) Опишите метод ветвей и границ. Каковы его достоинства и недостатки? 9) Опишите метод модельной закалки. Каковы области его применения? 10) Опишите общую схему работы генетического алгоритма. Раздел 1.10 1) Дайте определение прямой и обратной задачам кинематики. 2) Опишите основные кинематические пары. 3) Как моделируются механизмы в терминах задач удовлетворения ограничениям? 4) Что такое конфигурационное пространство механизма? 64 5) Каким дифференциальным уравнением описывается движение механизма? 6) Что такое натуральный градиент уравнения кинематической пары, и для чего он нужен? 7) Опишите общую схему численного решения системы обыкновенных дифференциальных уравнений. 8) Как осуществляется планирование движения с помощью дорожной карты? Раздел 1.11 1) Какими уравнениями описывается движение системы твердых тел в поле действия сил? 2) Как моделируются контакты тел при описании динамической системы с помощью уравнений Ньютона-Эйлера? 3) Что такое уравнения Лагранжа и в чем их преимущества перед уравнениями Ньютона-Эйлера при решении задач динамики системы твердых тел? 4) Опишите общую схему методов определения столкновений. Для чего они используются в САПР? 5) Опишите алгоритмы широкой фазы при определении столкновений. 6) Опишите алгоритмы фазы сужения при определении столкновений. 7) Какова основная функциональность пакетов программ для динамической симуляции механизмов? Приведите примеры таких пакетов. Раздел 1.12 1) Что такое конечно-элементный анализ? На каком математическом аппарате он основан? Каковы области его применения? 2) Опишите постановку задачи расчета деформации тела под нагрузкой. 3) Что такое тензоры деформаций и напряжений? Охарактеризуйте их физически и математически. 4) Опишите обобщенный закон Гука. Какие свойства материала определяются модулем Юнга и коэффициентом Пуассона? 5) Опишите и объясните уравнение деформации тела под нагрузкой. 6) Как применяется метод конечных элементов для решения задачи расчета деформаций тела под нагрузкой? 7) Что такое обобщенная матрица жесткости? Опишите применение метода конечных элементов для различных классов физических задач. 8) Опишите основные типы конечных элементов. 9) Какие существуют способы построения сеток для метода конечных-элементов? 10) Опишите общую схему конечно-элементного анализа в CAE-системах и приведите примеры пакетов программ. Раздел 1.13 1) Что такое станок с ЧПУ? Опишите архитектуру станка с ЧПУ. 2) Что такое степени свободы станка с ЧПУ? Как строится система координат станка? 3) Что такое G-код? Приведите примеры блоков команд. 4) Что такое CL-данные? Для чего нужны постпроцессоры при программировании станков с ЧПУ? 5) Какие существуют языки высокого уровня для программирования станков с ЧПУ? 6) Как осуществляется генерация программ для станков с ЧПУ по CAD-моделям? 7) Охарактеризуйте известные методы быстрого прототипирования и изготовления. 8) Что такое виртуальная инженерия и цифровое производство? Приведите примеры. Раздел 1.14 1) Какие задачи решает инженер-технолог? 2) В чем состоит модифицированный подход к технологический подготовке производства? 3) Охарактеризуйте базовые принципы групповой технологии. 65 4) Опишите известные системы классификации и кодирования деталей. 5) Опишите генеративный подход к технологической подготовке производства. 6) Что такое конструкторско-технологичный элемент? В чем состоят его отличия от конструктивных элементов? 7) Опишите известные методы распознавания конструкторско-технологических элементов. Раздел 1.15 1) Что такое станок цифровой макет изделия и спецификация материалов? Каковы типичные свойства систем управления данными об изделии? 2) Опишите жизненный цикл изделия. Какие задачи приходится решать на каждом из этапов? 3) Что такое управление жизненным циклом изделия? Опишите три фундаментальных концепции PLM. Охарактеризуйте основные компоненты соответствующего программного обеспечения. 4) Что такое системы управления отношениями с заказчиками? Каковы потоки информации между системами CRM и PLM? 5) Что такое системы управления цепочками поставок? Каковы потоки информации между системами SCM и PLM? 6) Опишите основные блоки систем планирования ресурсов предприятия? Каковы потоки информации между системами ERP и PLM? 7) Опишите практические подходы к интеграции систем PLM с системами CRM, SCM и ERP. 8) Охарактеризуйте преимущества внедрения PLM на предприятии. 6.2.2 Примеры практических заданий Задания могут выполняться студентами как индивидуально, так и в группах, в зависимости от сложности. Задание 1. Применение типичных операций твердотельного моделирования и отображение результатов Требуется написать программу, позволяющую загружать пару трехмерных тел, выполнять с ними некоторую твердотельную булеву операцию и отображать результат. Для этого необходимо: разработать структуру данных для хранения OctTree; реализовать метод трансляции граничного геометрического представления в эту структуру; реализовать выполнение булевых операций на OctTree структурах Задание 2. Анимация непрерывных твердотельных трансформаций для трехмерного тела (сравнение эйлеровых и экспоненциальных трансформации). Требуется написать программу, позволяющую загружать трехмерное тело, какимлибо образом считывать пользовательскую трансформацию (возможно, интерактивное задание трансформации) и выполнять непрерывную анимацию этой трансформации с помощью эйлеровой или экспоненциальной параметризации). Задание 3. Построение, отображение и модификация сплайнов и поверхностей. Требуется написать программу, позволяющую интерактивно строить плоские кривые (сплайны). После чего по этим кривым строится и визуализируется: поверхность сдвига; поверхность вращения. Для визуализации этих поверхностей необходимо выполнить их триангуляцию. Возможны и другие варианты этого задания, например, посторонние билинейных лоскутов и т.п. Задание 4. Написание программы читающей из файла сетку, и выполняющей на ней 66 алгоритм Катмулла-Кларка. Задание 5. Триангуляция плоских контуров или трехмерных поверхностей с отображением результата. Требуется написать программу, которая будет выполнять триангуляцию заданного контура с последующей визуализацией. Задание 6.. Реализация простейшего геометрического решателя (точки, расстояния, решение алгебраической системы). Требуется написать программу, которая будет позволять интерактивно задавать набор точек и расстояний между ними (или зачитывать его из файла) и выполнять решение геометрической задачи. Задание 7. Кинематический анализ заранее заданного механизма. Задан простейший механизм с двумя сочленениями, требуется написать программу, решающую задачу обратной кинематики. Программа должна строить и визуализировать траекторию движения механизма для достижения заданной геометрической конфигурации. Задание 8. Написание метода определения столкновений для треугольных сеток. Отображение результатов. Требуется написать программу, позволяющую загружать пару треугольных сеток и определять для них набор пересекающихся треугольников. Задание 9. Отображение простейшей физической симуляции. Требуется написать программу, моделирующую и отображающую движение системы тел простой формы в ограниченном пространстве с учетом соударений и силы тяжести. Задание 10. Задача планирования движения в плоском случае с прямоугольными телами. Отображение результатов. Требуется написать программу, которая позволяет задавать набор препятствий прямоугольной формы, начальную и конечные позиции передвигаемого объекта прямоугольной формы (или зачитывать эту информацию из файла) и вычисляет кратчайший путь между начальной и конечной позициями. 7. Учебно-методическое и информационное обеспечение дисциплины 7.1 Основная литература 1. Грувер М., Зиммерс Э. САПР и автоматизация производства. Пер. с англ. – М.: Мир, 1987. 2. Жермен-Лакур П., Жорж П.Л., Пистр Ф., Безье П. Математика и САПР: В 2-х кн. Пер. с франц. – М.: Мир, 1989. 3. Ли К. Основы САПР (CAD/CAM/CAE). Пер. с англ. – СПб.: Издательство «Питер», 2004. 4. Ушаков Д. Введение в математические основы САПР: В 2-х частях. – Препринты 17 и 18. – Новосибирск: ЗАО ЛЕДАС, 2005. 5. Shah J.J. and Mäntylä M. Parametric and Feature Based CAD/CAM. – New York: John Wiley & Sons, Inc, 1995. 7.2 Дополнительная литература 67 1. Гриньон П., Ушаков Д. Учет инженерных ограничений на различных этапах PLM. Препринт 9, ЗАО ЛЕДАС, Новосибирск, 2004. 2. Еремченко А., Ершов А. Два новых метода декомпозиции задач с геометрическими ограничениями. Препринт 11. ЗАО ЛЕДАС, Новосибирск, 2004. 3. Ермолин Е., Казаков А. Подход к моделированию механических систем твердых тел. Препринт 10. ЗАО ЛЕДАС, Новосибирск, 2004. 4. Ландау Л.Д., Лифшиц Е.М. Теоретическая физика: Учеб. пособие. – В 10-ти т. – Т. I. Механика. – М.: Наука, 1988. 5. Маслов Л.Б. Численные методы механики. Ивановский государственный энергетический университет. Публикация доступна в электронном виде по адресу http://www.ispu.ru/library/lessons/Maslov/index.html 6. Прейс С., Ушаков Д. Средства интеллектуализации PLM-решений: комплексное управление требованиями. Препринт 7, ЗАО ЛЕДАС, Новосибирск, 2003. 7. Прейс С., Снытников Н., Ушаков Д. Collaborative Design-2 (LCS): Концепция, архитектура и вычислительные методы. Препринт 8. ЗАО ЛЕДАС, Новосибирск, 2004. 8. Сидоров В. Программирование в ограничениях с черными ящиками. Препринт 2, ЗАО ЛЕДАС, Новосибирск, 2003. 9. Стародубов В. Роль и место PLM в линейке ERP, CRM и SCM // Журнал CIO, №7 (28) 2004. http://www.cio-world.ru/analytics/review/35177 10. Ушаков Д.М., Телерман В.В. Системы программирования в ограничениях (обзор) / Системная информатика: Сб. научн. тр. под ред. Поттосина И.В. – Вып. 7: Проблемы теории и методологии создания параллельных и распределенных систем. – Новосибирск: Наука, 2000. – С. 275-310. 11. Хоффманн К.М. Введение в двумерные задачи удовлетворения геометрических ограничений. Май, 2004. Препринт 14, ЗАО ЛЕДАС, Новосибирск, 2004. 12. Catmull E., Clark J. Recursively generated B-spline surfaces on arbitrary topological meshes // Computer-Aided Design, – № 10 (1978), – P. 350-355. 13. Chaikin G. An algorithm for high speed curve generation // Computer Graphics and Image Processing, – № 3 (1974), – P. 346-349. 14. Doo D., Sabin M. Behaviour of recursive division surfaces near extraordinary points // Computer-Aided Design, – № 10 (1978), – P. 356-360. 15. Dulmage A.L., Mendelsohn N.S. Coverings of Bipartite Graphs // Canad. J. Math., – № 10 (1958), – P. 517-534. 16. Evans M. Consultant’s Viewpoint on Product Lifecycle Management // Financial Times Information Technology (2002). Публикация доступна в электронном виде по адресу http://specials.ft.com/ftit/april2002/FT3BK49PJZC.html 17. Fares C., Hamam Y. Collision Detection for Rigid Bodies: A State of the Art Review / In Proceedings of 15th International Conference on Computer Graphics and Applications GraphiCon’2005, Novosibirsk, Institute of Computational Mathematics and Mathematical Geophysics, Novosibirsk, 2005. – P. 6-14. 18. C. Farinacci. PLM and CRM: A Not-So-Odd Couple // CMC Report (2004). Публикация доступна в электронном виде по адресу http://www.insightexec.com/cgibin/item.cgi?id=130900 19. Gillespie R.B., Colgate J.E. A Survey of Multibody Dynamics for Virtual Environments / In Proceedings of the ASME Dynamic Systems and Control Division. ASME, 1997, DSC-Vol. 61, – P. 45-54. 20. Han J.-H., Pratt M., Regli W. Manufacturing Feature Recognition from Solid Models: A Status Report // IEEE Trans. on Robotics and Automation (2000). 21. Hoffmann C.M., Lomonosov A., Sitharam M. Finding solvable subsets of constraint graph / In Proceedings of Principles and Practice of Constraint Programming CP’97 (1997), – P. 463-477. 68 22. Jermann C., Mathis P., Neveu B., Schreck P., Trombettoni G. Decomposition of Geometric Constraint Systems: A Survey // Int. J. Comp. Geometry & Applications (2005). 23. Laumond J.-P. Motion Planning for PLM: State of the Art and Perspectives // International Journal of Product Lifecycle Management (2009). 24. Mortenson M.E. Mathematics for Computer Graphics Applications. 2nd ed. – New York: Industrial Press, Inc., 1999. 25. On-Line Geometric Modeling Notes. Computer Science Department, University of California, Davis. Публикация доступна в электронном виде по адресу http://graphics.idav.ucdavis.edu/education/CAGDNotes/homepage.html 26. Owen J. Algebraic solution for geometry from dimensional constraints / In Proceedings of 1st ACM Symposium on Solid Modeling and CAD/CAM Applications, ACM Press (1991), – P. 397-407. 27. PLM and ERP Integration: Business Efficiency and Value. CIMdata Report (2005). Публикация доступна в электронном виде по адресу http://www03.ibm.com/solutions/plm/doc/content/bin/PLM_to_ERP_Integration_White_Paper_Final. pdf 28. Product Lifecycle Management: “Empowering the Future of Business”. CIMdata Report (2002). Публикация доступна в электронном виде по адресу http://www.ariondata.com/Contenidos/Hojas_de_datos/CIMdata_PLM_Empowering_Futu re_of_Business.pdf 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. Программное обеспечение для выполнения практических занятий. 69 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Верификация программных систем методом проверки моделей» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Гаранина Наталья Олеговна, к.ф.- м.н. (подпись) 70 Аннотация рабочей программы Дисциплина «Верификация программных систем методом проверки моделей» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механикоматематическом факультете Новосибирского государственного университета кафедрой Программирования ММФ НГУ. Основной целью освоения дисциплины является получение знаний основ современной методологии верификации программных систем с позиций ее практического использования в процессе разработки программных систем, а также формирование навыков, позволяющих применять на практике полученные знания в области верификации и анализа программных систем. Дисциплина нацелена на формирование общекультурных компетенций ОК-5, ОК6, ОК-8, ОК-9, ОК-11, ОК-12, профессиональных компетенций ПК-5, ПК-6, ПК-7, ПК-9, ПК-10, ПК-11, ПК-15, ПК-19, ПК-20, ПК-21, ПК-23, ПК-25 , ПК-27 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: контроль в форме экзамена. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 3 зачетных единицы, 108 академических часов (из них 36 аудиторных). Программой дисциплины предусмотрены 36 часов лекционных и 36 часов самостоятельной работы студентов. Остальное время – контроль в форме экзамена. 71 1. Цели освоения дисциплины Основной целью освоения дисциплины «Верификация программных систем методом проверки моделей» является получение знаний в области верификации программных систем. Для достижения поставленной цели выделяются задачи курса: 1. Изучение классических методов проверки на модели свойств программных систем, выраженных формулами самых распространенных логик спецификации. 2. Обучение современной методологии практического применения этих методов. 3. Изучение особенностей применения этих методов для распространённых частных случаев программных систем. Обеспечение надежности как важнейшего качества программных систем остается актуальным направлением современного программирования. Традиционный способ обеспечения надежности программных систем посредством их тестирования не может удовлетворить возрастающие требования практики. Качественно новый уровень в решении этой принципиальной проблемы достигается сочетанием методов тестирования, анализа и формальной верификации программных систем. Поэтому данный спецкурс является безусловно актуальным. Спецкурс включает классические методы модельной верификации и анализа программных систем, а так же символический и редукционный методы верификации. Определенное внимание уделяется автоматическим инструментам верификации программных систем. Поэтому данный спецкурс вполне соответствует мировому уровню подобных курсов, которые представлены в лучших университетах США и Западной Европы. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Верификация программных систем методом проверки моделей» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина «Верификация программных систем методом проверки моделей» опирается на следующие дисциплины данной ООП: Математическая логика (формализация методов рассуждений, логические связки, формальные модели, формальные языки); Теория алгоритмов (понятие сложности алгоритмов, понятие временной сложности алгоритма, формальные языки, конечные автоматы); Основы работы на ЭВМ (работа в среде Windows). Результаты освоения дисциплины «Верификация программных систем методом проверки моделей» используются в научных исследованиях и практической деятельности. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Верификация программных систем методом проверки моделей»: общекультурные компетенции: ОК-5, ОК-6, ОК-8, ОК-9, ОК-11, ОК-12; профессиональные компетенции: ПК-5, ПК-6, ПК-7, ПК-9, ПК-10, ПК-11, ПК-15 , ПК-19, ПК-20, ПК-21, ПК-23, ПК-25 , ПК-27. В результате освоения дисциплины обучающийся должен: иметь представление об основных концепциях современной теории верификации программных систем методом проверки моделей, а также об автоматизации процесса верификации; знать классические способы верификации программ методом проверки моделей и методологию практического применения этих методов; уметь применять методы верификации и анализа программных систем в конкретных типовых ситуациях. 1.1 Введение. Обоснование применения метода проверки моделей. Надежность программ и систем. Логический язык спецификаций. Понятие корректности программных систем. 1.2 Моделирование систем. Структура Крипке. Логическое представление программных систем. Примеры параллельных и взаимодействующих систем. 2.1 Спецификация программных систем с помощью временных логик CTL и LTL. 2.2 Алгоритм проверки на модели свойств систем, выраженных формулами временной логики CTL. 2.3 Алгоритм проверки на модели свойств систем, выраженных формулами временной логики LTL. 1 2 2 2 2 2 3 2 2 4 2 2 5 2 2 3.1 Символьные представления данных для алгоритмов проверки моделей. Булевские модели. Целочисленные модели. 3.2 Символьный алгоритм проверки на модели свойств систем, выраженных формулами временной логики CTL. Справедливость. Контрпримеры и свидетельства. 3.3 Символьный алгоритм проверки на модели свойств систем, выраженных формулами временной логики LTL. 3.4 Алгоритмы проверки на модели свойств систем, выраженных формулами мюисчисления. 3.5 Алгоритмы проверки моделей. Итоговое обсуждение, разбор примеров, консультации. 4.1 Спецификация типичных свойств моделей систем. Достижимость, живость, безопасность, справедливость, выигрыш. 4.2 Примеры типичных задач для метода проверки моделей. Анализ бизнеспроцессов. Планирование. Головоломки. Криптографические протоколы. 4.3 Инструмент проверки моделей SMV. Пример. 4.4 Инструмент проверки моделей Spin. Пример. 5.1 Использование особенностей проверяемых моделей: редукция, абстракция. 5.2 Использование особенностей проверяемых моделей: композиция, симметрия. 6.1 Системы реального времени 6 2 2 7 2 2 8 2 2 9 2 2 10 2 2 11 2 2 12 2 2 13 2 2 14 2 2 15 2 2 16 2 2 17 2 2 73 Экзамен Семина ры Самост. работа Виды учебной работы, включая самостоятельную Формы текущего работу студентов и контроля успеваемости трудоемкость (по неделям семестра) (в часах) Форма промежуточной аттестации (по семестрам) Лекция Раздел дисциплины Неделя семестра № п/п Семестр 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 3 зачетные единицы, 108 часов. Текущее тестирование Консультации. 18 19 2 2 36 36 Текущее тестирование 36 Экзамен 36 5. Образовательные технологии Лекционные занятия освещают концептуальные и теоретические вопросы. На них обучаемым предлагается базовый материал курса. Самостоятельная работа выполняется студентами в форме решения задач по предлагаемым темам. Консультации по курсу учебным планом не регламентируются. Они проводятся в форме ответов на вопросы студентов и обсуждений. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины 6.1. Текущий контроль. Для самостоятельной работы студентам предлагается ряд упражнений по текущим темам. Ниже приводятся некоторые из таких упражнений. 1. а) Протестируйте программу разделения множеств для различных наборов значений в множествах S и L. б) Докажите, что эта программа всегда работает правильно в случае одноэлементных множеств S и/или L. 2. Представьте в виде формулы LTL высказывание «Канал может терять сообщение только конечное число раз.» 3. Постройте процедуры проверки модели для формул AXp, EFq и A(qUr). 4. Построить ROBDD для формул f1=(ab) (cb) и f2=(aс) (bd), и ROBDD для их конъюнкции. 5. Написать формальное определение и классифицировать следующие высказывания: а) Если долго мучиться, что-нибудь получится; б) Лифт неопределённо часто возвращается на первый этаж. В качестве научно-практической работы студенты должны построить модели для несложных задач и затем верифицировать их, используя систему верификации Spin. 6.2. Итоговый контроль. Для контроля усвоения дисциплины в целом учебным планом предусмотрен экзамен. Экзамен выставляется по сумме следующих результатов. 1. выполнение самостоятельной работы. 2. выполнение научно-практической работы. 3. ответов на вопросы очного итогового экзамена. Вопросы к экзамену (примеры): Раздел 1. Базовые понятия. Моделирование систем. 1) Что такое логический язык спецификаций? 2) Как определяется корректность программы относительно заданной спецификации? 3) Каким образом программная система задается формулами первого порядка? 4) Привести примеры параллельных и взаимодействующих систем. Раздел 2. Проверка моделей для временных логик. 1) Определение LTL, примеры свойств систем, выразимых с помощью формул LTL. 2) Определение CTL, примеры свойств систем, выразимых с помощью формул CTL. 3) Относительная выразительная сила CTL и LTL, понятие справедливости. 4) Алгоритм проверки моделей для LTL, сложность и корректность. 5) Алгоритм проверки моделей для CTL, сложность и корректность. 74 Раздел 3. Символьная проверка моделей. 1) Определение Бинарных Разрешающих Диаграмм (BDD), алгоритмы работы с ними. 2) Другие символьные представления данных: периодические множества, арифметика Пресбургера, аффинное представление. 3) Общая идея символьной проверки моделей. 4) Символьная проверка моделей для CTL. 5) Символьная проверка моделей для LTL. 6) Мю-исчисление. Примеры свойств систем, выразимых с помощью формул мюисчисления. Относительная выразительная сила логик CTL, LTL и мю-исчисления. 7) Алгоритмы проверки моделей для мю-исчисления. Сложность и корректность Раздел 5. Проверка моделей на практике. 1) Свойства достижимости, живости, безопасности, справедливости. Примеры. 2) Задачи анализа и верификации бизнес-процессов и планирования 3) Задачи анализа и верификации коммуникационных и криптографических протоколов. 3) Устройство автоматической системы проверки моделей. 4) SMV: возможности моделирования, языки спецификаций, примеры использования. 5) Spin: возможности моделирования, языки спецификаций, примеры использования. Раздел 4. Использование особенностей моделей. 1) Редукция относительно частичных порядков. 2) Композиция. 3) Абстракция. 4) Симметрия. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Карпов Ю.Г. Model Checking. Верификация параллельных и распределенных программных систем. ─ СПб.: «БХВ-Петербург», 2010. ─ 560 с. 2. Clarke E.M., Grumberg O., Peled D. Model Checking. ─ London: MIT Press, 1999. ─ 314 p. (Pусский перевод: Э.М.Кларк, О.Грамберг, Д.Пелед. Верификация моделей программ: Model Checking. М., 2002) б) дополнительная литература: 1. Bultan T., Gerber R., and Pugh W. Model Checking Concurrent Systems With Unbounded Integer Variables: Symbolic Representations, Approximations and Experimental Results // ACM Trans. Progr. Lang, and Systems ─ 1999. ─ Vol. 21, N 4 ─ P. 747-789. 2. B. Boigelot and P. Wolper. Symbolic Verification with Periodic Sets // Lect. Notes Comput.Sci. ─ Berlin etc., 1994. ─ Vol. 818. ─ P. 55-67. 3. Гаранина Н.О. Верификация распределенных систем с использованием аффинного представления данных, логик знаний и действий. Диссертация на соискание ученой степени кандидата физико-математических наук ─ Новосибирск, 2004. ─ 172 с. в) программное обеспечение и Интернет-ресурсы: 1. Официальный сайт инструмента верификации моделей Spin – url: http://spinroot.com/spin/whatispin.html 2. Официальный сайт инструмента верификации моделей SMV – url: http://www.cs.cmu.edu/~modelcheck/smv.html. 8. Материально-техническое обеспечение дисциплины 75 Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 76 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Система автоматического доказательства PVS» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Шелехов Владимир Иванович, к.т.н. (подпись) 77 Аннотация рабочей программы Дисциплина «Система автоматического доказательства PVS» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механикоматематическом факультете Новосибирского государственного университета кафедрой Программирования ММФ НГУ. Целью курса является изучение языка спецификации PVS, теории и методов автоматического доказательства математических утверждений в некоторой проблемной области, а также ознакомление студентов с практикой спецификации и автоматического доказательства на PVS. Дисциплина нацелена на формирование общекультурных компетенций ОК-5, ОК6, ОК-8, ОК-9, ОК-11, ОК-12, профессиональных компетенций ПК-5, ПК-6, ПК-7, ПК-9, ПК-10, ПК-11, ПК-15, ПК-19, ПК-20, ПК-21, ПК-23, ПК-25 , ПК-27 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: контроль в форме экзамена. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 3 зачетных единицы, 108 академических часов (из них 36 аудиторных). Программой дисциплины предусмотрены 36 часов лекционных и 36 часов самостоятельной работы студентов. Остальное время – контроль в форме экзамена. 78 1. Цели освоения дисциплины Автоматическое доказательство математических утверждений является актуальной задачей достижения надежности программ. Автоматическое доказательство условий корректности программы гарантирует правильность программы относительно ее спецификации. Такое абсолютно недостижимо применением самых развитых методов тестирования программ. Автоматическое доказательство весьма трудоемкий процесс, требующий высокой квалификации. Поэтому формальная верификация программ (с автоматическим доказательством условий корректности) применяется в настоящее время лишь в областях критического программирования с высокой ценой ошибки. Целью курса является изучение языка спецификации PVS, теории и методов автоматического доказательства математических утверждений в некоторой проблемной области, а также ознакомление студентов с практикой спецификации и автоматического доказательства на PVS. Задачами курса является формирование у студентов убежденности в необходимости применения автоматических методов доказательства математических утверждений и обучение студентов построению формальных спецификаций проблемных областей, а также проведение автоматического доказательства утверждений проблемной области. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Система автоматического доказательства PVS» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина «Система автоматического доказательства PVS» опирается на следующие дисциплины данной ООП: Математическая логика (формализация методов рассуждений, логические связки, формальные модели, формальные языки); Теория алгоритмов (понятие сложности алгоритмов, понятие временной сложности алгоритма, формальные языки, конечные автоматы); Основы работы на ЭВМ (работа в среде Windows). Результаты освоения дисциплины «Система автоматического доказательства PVS» используются в научных исследованиях и практической деятельности. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Система автоматического доказательства PVS»: общекультурные компетенции: ОК-5, ОК-6, ОК-8, ОК-9, ОК-11, ОК-12; профессиональные компетенции: ПК-5, ПК-6, ПК-7, ПК-9, ПК-10, ПК-11, ПК-15 , ПК-19, ПК-20, ПК-21, ПК-23, ПК-25 , ПК-27. В результате освоения дисциплины обучающийся должен: иметь представление: o о концепциях и методах, на которых базируется автоматическое доказательство; o о проблемах, решаемых в процессе автоматического доказательства; знать: o язык спецификаций системы PVS; o типовые команды автоматического доказательства; o архитектуру системы PVS; уметь: o создать формальную спецификацию проблемной области в виде набора теорий; o провести автоматическое доказательство утверждений проблемной области. Раздел дисциплины 1 2 3 4 5 Системы автоматического доказательства Назначение и устройство системы PVS Язык спецификаций системы PVS Команды системы PVS Блок доказательства. Архитектура, система команд, стратегии 1 2-3 4-7 8 2 4 8 2 9 0 6 7 Библиотека теорий системы PVS Техника и искусство доказательства на примерах Консультации. 10 2 11 2 12 2 Лекция № п/п 22 4 6 Экзамен Виды учебной работы, включая самостоятельную Формы текущего работу студентов и контроля успеваемости трудоемкость (по неделям семестра) (в часах) Форма промежуточной аттестации (по семестрам) Семина ры Самост. работа Неделя семестра Семестр 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 3 зачетные единицы, 108 часов. 2 4 8 4 2 6 4 0 2 14 22 8 Зачет 8 Содержание отдельных разделов и тем. 1. Системы автоматического доказательства 1.1 Общая схема автоматического доказательства и верификации программ. Виды систем автоматической верификации программ. 1.2 Обзор существующих систем автоматического доказательства математических утверждений: PVS, HOL, Coq и др. 2. Назначение и устройство системы PVS 2.1 Система автоматизации доказательства PVS. 2.2 Назначение, структура, общая схема работы, основные компоненты и принципы работы. 3. Язык спецификаций системы PVS 3.1 Лексика. Декларации типов. Описания переменных и констант. Определение формул. Рекурсивные и индуктивные определения. Декларация утверждений (judgements) и приведений (conversions). Описания типов. 3.2 Выражения: логические, условные, вызовы функций, применение ламбда и кванторов, let- и where- выражения, множества, n-ки (tuples), проекции, записи, поля, модификаторы, приведения, таблицы. 3.3 Условия совместимости типов (TCCs). 3.4 Теории: имена и параметры теорий, импорт и экспорт, постулирующая часть (asuming), аксиомы, теоремы (леммы, ...), правила именования. 3.5 Рекурсивные типы данных (datatype): синтаксис и семантика, схема генерации служебных теорий, выражение cases. 4. Команды системы PVS 4.1 Команды завершения, помощи и редактирования. 4.2 Трансляция и (семантический) контроль совместимости типов. 4.3 Команды, применяемые в процессе доказательства: доказательство формулы и групп формул, выбор разрешающих процедур, редактирование и визуализация доказательства, доказательство в пошаговом режиме, визуализация условий 80 совместимости типов. 5. Блок доказательства. Архитектура, система команд, стратегии. 5.1 Структура формула в блоке доказательства: секвент. Дерево доказательства. Система логических правил. 5.2 Общее устройство команд блока доказательства. Команды управления процессом доказательства. Структурные правила. Пропозициональные правила. Правила работы с кванторами. Правила равенства. Использование определений и лемм. Правила экзистенциональности. Применение индукции. Упрощение с помощью разрешающих процедур и переписывания. Установка и снятие правил переписывания. 5.3 Вставка ограничений на типы. 5.4 Абстракция и проверка на моделях. 5.5 Преобразование стратегий в команды. 5.6 Стратегии доказательства. Структуры данных в стратегиях. Выражения, используемые в стратегиях. Определение новых стратегий. Базисные стратегии. Перечень стратегий PVS. 6. Библиотека теорий системы PVS 6.1 Стандартная библиотека prelude.pvs: теории стандартного математического базиса. 6.2 Библиотеки теорий NASA. 7. Техника и искусство доказательства на примерах 7.1 Примеры доказательства лемм для теорий логарифмов и экспоненты, списков, квадратного корня. 5. Образовательные технологии Используется традиционная лекционная система подготовки. Для контроля усвоения дисциплины учебным планом предусмотрен зачет и экзамен. Экзамен содержит вопросы по теоретической части. Зачет состоит из двух частей. Студентам предлагается индивидуальные задачи на построение спецификации простых проблемных областей. Далее студенты должны автоматически (на PVS) доказать несколько несложных лемм. Итоговая оценка по спецкурсу слагается из оценки по зачету и экзамену. Лекции по теоретической части чередуются с практическими занятиями, на которых осваиваются методы спецификации и техника доказательства в системе PVS. Студентам даются индивидуальные задачи, результаты решения которых учитываются в оценке по зачету. Выполнение указанных видов работ является обязательным для всех студентов, а результаты текущего контроля служат основанием для выставления оценок в ведомость контрольной недели на факультете. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины. 6.1 Вопросы к экзамену. Раздел 1. 1) Описать общую схема автоматического доказательства. 2) Определить схему применения автоматического доказательства в верификации программ. 3) Перечислить некоторые из существующих систем автоматического доказательства и описать их особенности. Раздел 2 81 4) Компоненты системы автоматизации доказательства PVS, их назначение. 5) Схема работы системы PVS. Раздел 3 6) Правила декларации типов, переменных и констант. 7) Правила определения формул. 8) Рекурсивные определения. 9) Индуктивные определения. 10) Декларация утверждений (judgements). 11) Классификация системы типов и способов их изображения. 12) Логические выражения. Условные выражения. Приведения (coercions). 13) Использование кванторов и ламбда-абстракции. 14) Выражения LET и WHERE. 15) Структурные выражения: n-ки (tuples), проекции, записи, поля. 16) Структурные выражения: модификаторы, таблицы. 17) Условия совместимости типов (TCCs). 18) Определение теории: синтаксис и семантика. 19) Правила импорта и экспорта в теориях. 20) Правила использования параметров в теории. 21) Концептуальное описание рекурсивных типов данных (datatype). 22) Рекурсивные типы данных (datatype): синтаксис и семантика. Выражение cases. Раздел 4 23) Команды завершения, помощи и редактирования в системе PVS. 24) Трансляция и (семантический) контроль совместимости типов. Перечень команд. 25) Команды, применяемые для доказательство формулы и групп формул. 26) Команды редактирования и визуализации доказательства. 27) Команды доказательства в пошаговом режиме, визуализации условий совместимости типов. Раздел 5. 28) Секвент и его структура. Правила именования. 29) Общая схема работы блока доказательства. Дерево доказательства. 30) Система логических правил, используемая в блоке доказательства PVS. 31) Общее устройство команд блока доказательства. 32) Структурные правила (команды) блока доказательства. 33) Пропозициональные правила (команды) блока доказательства. 34) Команды блока доказательства: использование определений и лемм. 35) Команды блока доказательства: правила экзистенциональности. 36) Команды блока доказательства: применение индукции. 37) Команды блока доказательства: упрощение с помощью разрешающих процедур и переписывания. 38) Команды блока доказательства: установка и снятие правил переписывания. 39) Команды блока доказательства: вставка ограничений на типы. 40) Команды блока доказательства: абстракция и проверка на моделях 41) Стратегии доказательства. Структуры данных в стратегиях. 82 42) Стратегии доказательства. Определение новых стратегий. 43) Стратегии доказательства. Перечень стратегий PVS. Раздел 6. 44) Стандартная библиотека prelude.pvs 45) Перечень библиотек теорий NASA. 7. Учебно-методическое и информационное обеспечение дисциплины а) программное обеспечение и Интернет-ресурсы: 1. PVS System Guide. Version 2.4. — SRI International. 2001. http://pvs.csl.sri.com/doc/pvs-system-guide.pdf 2. PVS Language Reference. Version 2.4. — SRI International. 2001. http://pvs.csl.sri.com/doc/pvs-language-reference.pdf 3. PVS Prover Guide. Version 2.4. — SRI International. 2001. http://pvs.csl.sri.com/doc/pvs-prover-guide.pdf 4. PVS Prelude Library. — SRI International. March, 2003. http://pvs.csl.sri.com/doc/pvs-prelude.pdf 5. S. Owre. A Brief Overview of PVS. — SRI International. 2008. 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 83 — — — — МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Разработка программ: алгоритмы, структуры данных и методы программирования» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Чурина Татьяна Геннадьевна, к.ф.-м.н. (подпись) 84 Аннотация рабочей программы Дисциплина «Разработка программ: алгоритмы, структуры данных и методы программирования» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Программирования ММФ НГУ. Основной целью освоения дисциплины является знакомство как с типовыми задачами программирования и основными моделями и методами их решения, на примере которых дается представление об искусстве программирования, так и с современными, постоянно развивающимися, используемыми в ведущих международных чемпионатах по информатике и программированию. Дисциплина нацелена на формирование общекультурных компетенций ОК-1, ОК2, ОК-5, ОК-6, ОК-8, ОК-10, ОК-11, профессиональных компетенций ПК-2, ПК-7, ПК-8 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, тренинги, консультации, самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме тестирования в автоматической системе тестирования NSUTS. В течение семестра каждую неделю выполняются практические работы, по решению задач, либо взятых с международных серверов, либо предложенных преподавателями данного курса. Выполнение указанных задач является обязательным для всех студентов, а результаты текущего контроля служат основанием для выставления оценок в ведомость контрольной недели на факультете. Объем дисциплины и виды учебной работы – 4 зачетных единиц (144 академических часа, из них 94 аудиторных), 2 единицы на годовой курс лекций, 2 единицы на практические занятия в течение двух семестров, 2 единицы – на самостоятельную работу. 85 1. Цели освоения дисциплины Основной целью освоения дисциплины «Разработка программ: алгоритмы, структуры данных и методы программирования» является освоение алгоритмов и методов разработки программ для решения задач повышенной сложности в разных направлениях информатики, совершенствование владения языками программирования и техникой программирования. Для реализации поставленных целей необходимо выполнить следующие задачи. Дать представление о типовых задачах программирования и основных методах их решения, о различных структурах данных, способах хранения и кодирования информации. Рассмотреть основные классические алгоритмы из теории графов, поиска, сортировки, используемые при решении задач повышенной сложности и представить методы: итерационный, рекурсивный, полного перебора и с отсечением, метод ветвей и границ, “разделяй и властвуй”. Также следует рассмотреть задачи минимизации, поиска оптимальных стратегий, теории расписаний, задачи, решаемые с использованием жадных алгоритмов и метода динамического программирования. И наконец, дать представление о сведении задач к известным классическим, об эвристический подход и научить оценивать объем требуемой для реализации памяти и быстродействие программ. Основой курса служат многочисленные публикации по данному предмету. В качестве методической основы представления материала использованы результаты деятельности ведущих вузов России, таких как МГУ, СПбГУ, СПбГУ ИТМО. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Разработка программ: алгоритмы, структуры данных и методы программирования» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина «Разработка программ: алгоритмы, структуры данных и методы программирования» опирается на следующие дисциплины данной ООП: Основы работы на ЭВМ (работа в среде Windows); Программирование (языки программирования высокого уровня; ООП проектирование; разработка пользовательских интерфейсов и хранилищ данных). Результаты освоения дисциплины «Разработка программ: алгоритмы, структуры данных и методы программирования» используются в научно-исследовательской практике и в дипломной работе. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Разработка программ: алгоритмы, структуры данных и методы программирования»: общекультурные компетенции: ОК-1, ОК-2, ОК-5, ОК-6, ОК-8, ОК-10, ОК-11; профессиональные компетенции: ПК-2, ПК-7, ПК-8. В результате освоения дисциплины обучающийся должен: иметь представление - о различных стилях программирования; - о способах оценки (объема памяти и быстродействия) методов решения задачи; - о приближенных алгоритмах; - об оптимальных стратегиях игр. знать - основные классические алгоритмы теории графов, расписаний, поиска, сортировки; - классические и типовые задачи, перечень NP-полных задач; - основные структуры данных и способы их реализации; - способы кодирования информации в ЭВМ. уметь - реализовать представленные методы (итерационный, рекурсивный, динамического программирования) и алгоритмы; корректно поставить задачу на основании формулировки проблемы и ее контекста; доказательно выбрать самый оптимальный способ решения на основе анализа вариантов решения и различных критериев эффективности; реализовать решение задачи в крайне ограниченное и строго определенное время. 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 4 зачетных единиц, 144 часа. Наименование разделов Лекции и тем Раздел 1 Представление данных в ЭВМ, способы реализации, оценка 12 сложности алгоритмов. Длинная арифметика. Способы кодирования. Раздел 2. Перестановки, поиск, сортировки, 8 хеширование Раздел 3. Алгоритмические аспекты решения задач из 6 теории чисел Раздел 4. Классические задачи на графах и 14 деревьях Раздел 5. Обзор NP-полных задач, метод ветвей и 6 границ, динамическое программирование Раздел 6. Стратегии игр, 4 геометрические задачи Раздел 7. Задачи теории расписаний, приближенные 4 алгоритмы Раздел 8. Потоки в сетях, 6 паросочетания. Итого по курсу Количество Лабораторные работы 60 часов Самостоятельная работа Всего часов 4 4 20 4 6 18 4 4 14 6 14 34 4 8 18 4 4 12 4 4 12 4 6 16 34 50 144 5. Образовательные технологии Лекционные занятия освещают концептуальные и теоретические вопросы. На них обучаемым предлагается базовый материал курса с демонстрацией конкретных примеров, а также разбора и обсуждения проблемных вопросов. Тренинги проводятся в автоматической системе тестирования по темам лекций, а также по решению задач на сторонних российских и международных серверах. Тренинг всегда сопровождается итоговым анализом достигнутого, обсуждением эффективности выполненных задач, а также границ применимости отрабатываемых методов и приемов. Как следствие, у студентов появляется возможность критического осмысления знаний и 87 навыков, полученных по темам тренингов. Самостоятельная работа выполняется студентами по предлагаемым темам. Некоторые из них докладываются во время тренинга с последующим обсуждением студентами. Консультации по курсу учебным планом не регламентируются. Они проводятся в форме ответов на вопросы студентов и обсуждений. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины 6.1. Текущий контроль. В течение семестра выполняются следующие работы: тестирование с использованием автоматической системы NSUTS, проверка выполнения самостоятельных работ. Выполнение указанных видов работ является обязательным для всех студентов, а оценка результатов текущего контроля суммируется и вносит свой вклад в итоговую оценку студента. Работы текущего контроля служат основанием для допуска к итоговому зачету. Для самостоятельной работы студентам предлагается перечень задач и тренировок, а также изучение конкретных методов и подходов по решению этих задач. Ниже приводятся некоторые из таких заданий. Задание 1. Во входном файле заданы целые числа N и M (0 ≤ N ≤ 109, 1 < M ≤ 109). Выведите в выходной файл максимальное число K такое, что N! делится на MK. Примеры input.txt 10 6 12345678 2598977 4 257200 output.txt Задание 2. У вас есть N вещей и рюкзак, который способен вместить любой набор вещей суммарным весом не более W. Требуется поместить в рюкзак набор вещей максимальной суммарной стоимости. В первой строке входного файла даны целые числа N и W (1 ≤ N ≤ 100, 1 ≤ W ≤ 1000). В каждой из следующих N строк записано два целых числа Ci и Wi (1 ≤ Ci, Wi ≤ 100) — стоимость и вес очередной вещи. Выведите в выходной файл искомую максимальную стоимость. Пример 3 3 4 5 10 4 5 7 input.txt 7 output.txt Задания 3. Заданы неориентированный граф без петель и кратных ребер и две выделенные вершины — s и t. Нужно найти простой путь из s в t. Путь должен иметь четную длину, а из обладающих таким свойством быть кратчайшим. Во входном файле есть несколько тестовых наборов данных. В первой строке теста через пробел даны числа n, m и s —количество вершин, количество ребер, начальная вершина 88 пути, конечная вершина пути. В следующих m строках описаны ребра графа, в каждой строке по 2 вершины. Входной файл заканчивается строкой 0 0 0 0. Вершины пронумерованы числами от 1 до n. Сумма n по всем тестам не превосходит 20. В каждом тесте n 2. Для каждого теста на отдельной строке выведите или путь, или фразу No path, если пути четной длины между заданными вершинами не существует. Пример 3 3 3 2 4 1 1 3 4 0 3 1 2 1 2 1 4 1 2 2 3 4 1 0 0 0 input.txt 1 3 2 No path output.txt 6.2. Итоговый контроль. Для контроля усвоения дисциплины в целом учебным планом предусмотрен зачет. Зачет выставляется по сумме следующих результатов. 4. тестирование в системе NSUTS (http://olimpic.nsu.ru). 5. проведение разбора решений. 6. ответы на вопросы по классическим алгоритмам и методам их реализации. 7. решение задач во время зачета. Вопросы к зачету: 1. Представление данных в ЭВМ: представление символов, целых чисел со знаком и без знака, вещественных чисел с фиксированной точкой и плавающей, представление массивов, структур. Системы счисления. Алгоритмы перевода из систем счисления с различными основаниями. 2. Длинная арифметика, способы реализации в Си и Паскале. Маски, решение задач с их использованием. 3. Понятие сложности алгоритмов, классификация алгоритмов по сложности. 4. Модель информационной системы Шеннона. Кодирование. Типы кодирования. Проблемы однозначного декодирования. Формулы Шеннона и Хартли для удельной емкости на символ. Избыточность кодирования. Метод Хаффмана построения кода с минимальной избыточностью. 5. Понятие перестановки и таблицы инверсии. Алгоритмы генерации перестановок: инверсионный, Дейкстры, рекурсивный, Кнута. 6. Постановка задач поиска и сортировки записей в произвольном наборе данных, внешняя и внутренняя постановка задачи. Алгоритмы поиска: прямой, бинарный, подстроки в строке, Бойера-Мура, Кнута-Морриса-Пратта, Рабина-Карпа. 7. Алгоритмы сортировки: метод простых вставок, простого выбора, обмена, быстрая сортировка, сортировка по методу Шелла, пирамидальная сортировка. Алгоритмы сортировки файлов. Достоинства организации исходного набора в виде древовидной структуры для совместного решения задач поиска и сортировки. 8. Хэш-функции, расширяемое хеширование. 9. Алгоритм Евклида нахождение наибольшего общего делителя. Реализация и оценка эффективности. 10. Диофантовы уравнения 11. Наименьшее общее кратное 12. Простые числа. Эффективная реализация поиска простых чисел 89 13. Основные определения и способы представления графов и деревьев. Обходы графов и деревьев в глубину и в ширину. 14. Классические задачи на деревьях, алгоритм построения сбалансированного дерева двоичного поиска. Б-деревья, способы реализации. 15. Классические задачи на графах: транзитивное замыкание, кратчайшие пути, достижимость вершин, топологическая сортировка. Поиск двусвязных компонент в графе Алгоритмы построения минимальных остовных деревьев Прима, Краскала. Задачи о лабиринтах. Эйлеровы циклы: алгоритм Флери. Гамильтоновы циклы. Раскраска графа. 16. Автоматы и грамматики, регулярные выражения. 17. Обзор NP-полных задач, метод ветвей и границ, динамическое программирование. 18. Обзор NP-полных задач, способы сведения задачи к известной. Способы реализации: полный перебор, перебор с отсечением, метод метод ветвей и границ. 19. Метод “Разделяй и властвуй”. 20. Метод динамического программирования. Классические задачи об умножении матриц, о рюкзаке. Задачи с международных чемпионатов, решаемые с помощью динамического программирования. Оценка быстродействия. 21. Стратегии игр. Определение игры, определение оптимальной стратегии, поиск оптимальных стратегий. Определение неподвижной точки. 22. Приемы решения геометрических задач. Построение выпуклой оболочки. Определение взаимного расположения точки и прямой, двух отрезков, точки и многоугольника, точки и плоскости, и т.д. Расчет площади многоугольника. 23. Задачи теории расписаний, оптимальное планирование, календарное планирование, задачи классов Flow-, Open-, Job-Shop. 24. Приближенные алгоритмы. Объяснить различные подходы к понятию точности алгоритма: константные оценки точности, асимптотическая точность, вероятностные алгоритмы. Дать анализ различным приближенным алгоритмам для решения задачи о рюкзаке, о ближайшем соседе, для задачи коммивояжера. 25. Потоки в сетях, понятие остаточной сети. Теорема о максимальном потоке и минимальном разрезе. Метод Форда-Фалкерсона и алгоритм Эдмодса-Карпа. Алгоритм поиска максимального потока методом проталкивания предпотока. 26. Паросочетания, поиск максимальных паросочетаний в двудольном графе. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. А.Ахо, Д.Хопкрофт, Д. Ульман. Структуры данных и алгоритмы. – М.: Издательский дом “Вильямс”, 2000. 2. А.Ахо, Д.Хопкрофт, Д. Ульман. Построение и анализ вычислительных алгоритмов (пер. с англ. под ред. Матиясевича Ю.А. ) – М: Мир, 1979. 3. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: Построение и анализ (пер. с англ. под ред. Шеня А.). Классические учебники: Computer science. – М: МЦНМО, 1999. 4. Вирт Н. Алгоритмы и структуры данных. – М.: Мир, 1989. 5. Хэзфилд Р., Кирби Л. Искусство программирования на C: Фундаментальные алгоритмы, структуры данных и примеры приложений (пер. с англ.) . Энциклопедия программиста. – К: ДиаСофт, 2001. 6. Кнут Д. Искусство программирования. Тома 1-3. – М.: Вильямс, 2000. 7. 8. Цикоза В.А., Чурина Т.Г. Методы программирования: представление и кодирование информации. Часть 1. – Новосибирск: НГУ, 2003. 90 б) дополнительная литература: 1. Подбельский В.В., Фомин С.С. Программирование на Си: учеб. пособие. – 2-е доп. изд. – М.: Финансы и статистика, 2007. в) программное обеспечение и Интернет-ресурсы: 1. Чурина Т.Г. Слайды курса «Программирование на языке высокого уровня». – [Электронный ресурс] URL: http://ccfit.nsu.ru/fit/cources/programming.. 2. Курсы Интернет университета информационных технологий. [Электронный ресурс] – URL: http://www.intuit.ru. 3. Алгоритмы [Электронный ресурс] URL: http://www.algoritmy.info/ 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 91 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Психология в программировании» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Городняя Лидия Васильевна, к.ф.-м.н. (подпись) 92 Аннотация рабочей программы Дисциплина «Психология в программировании» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Программирования ММФ НГУ. Содержание дисциплины охватывает круг вопросов, связанных человеческими факторами программирования, а также психологическими аспектами применения ИКТ в деятельности человека. Специальный курс «Психология в программировании» дополняет свод основных курсов по программированию изучением роли человеческих факторов и гуманитарных знаний, определяющих профессиональное становление специалистов, а также успех разработки и применения информационных систем. Включает в себя элементы различных знаний из психологии, которые могут быть полезны программисту, как индивидуально, так и в процессе выполнения коллективных проектов. Дисциплина нацелена на формирование общекультурных компетенций ОК-6, ОК-8, ОК-11, ОК-12, профессиональных компетенций ПК-12, ПК-20, ПК-21, ПК-25, ПК-29 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции и самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме письменных ответов на вопросы по темам лекций и итоговый контроль в форме экзамена. Общая трудоемкость дисциплины составляет 2 зачетные единицы, 72 академических часов. Программой дисциплины предусмотрены 36 часов лекционных и 24 часа самостоятельной работы студентов. Остальное время – контроль в форме экзамена. 93 1. Цели освоения дисциплины Курс «Психология в программировании» ставит своей целью усвоение студентами естественнонаучных и гуманитарных понятий, связанных с разработкой и применением ПО, и развивает базовые навыки понимания проблем программирования в команде. В первой части, данный курс знакомит студентов, обладающих представлением о коллективной деятельности, с общими факторами, определяющими поведение человека в производственном процессе разработки программ. В курсе рассматриваются человеческие факторы, влияющие на качество программирования и жизнеспособность информационных систем. Анализируются как коллективные, так и индивидуальные аспекты практической психологии с кратким экскурсом в этологию и соционику. Оценивается специфика профориентации в области программирования. Изучается взаимообусловленность программных интерфейсов, инструментов, обстановок и методов обучения программированию в проекции на информационные технологии, их связь с социально-этическими аспектами, речевой и гуманитарной культурой. Излагаемый материал иллюстрируется эпизодами из ряда реальных научно-производственных проектов, а также фрагментами программистской публицистики. Далее курс включает описание, как традиционных методов инженерной психологии, так и новых. Цель состоит в том, чтобы дать ряд базовых понятий и основных методов контроля своего состояния и деятельности, уметь применять психологические методе при подборе кадров, ведении переговоров и ведении коллективных проектов. В последнее время в процессе чтения лекция делается некоторый экскурс в нейрофизиологию, включая компьютерные методы биотренинга. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина опирается на следующие дисциплины данной ООП: Математическая логика (формализация методов рассуждений, логические связки, аксиоматические модели); Теория алгоритмов (понятие временной сложности алгоритма); Основы работы на ЭВМ (работа в среде Windows); Программирование I (принципы проектирования языков программирования высокого уровня, навыки реализации алгоритмов на ЯВУ, язык С, работа в среде Microsoft Visual Studio); Программирование II (основы многократного использования программных компонентов). Результаты освоения дисциплины используются в следующих дисциплинах данной ООП: Базы данных и экспертные системы; Вычислительная практика; Системное и прикладное ПО; Информационные системы; Спецкурсы для магистратуры; Постановка и выполнение курсовых и дипломных проектов. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Психология в программировании»: общекультурные компетенции: ОК-6, ОК-8, ОК-11, ОК-12; профессиональные компетенции: ПК-12, ПК-20, ПК-21, ПК-25, ПК-29. В результате освоения дисциплины обучающийся должен: иметь представление о месте и роли изучаемой дисциплины среди других наук; понимать социально-психологические особенности процесса разработки информационных систем, методы их проявления и прогнозирования, а также оценки их влияния на трудоемкость и жизнеспособность информационных ресурсов; уметь применять методы психологического контроля своего состояния и деятельности, уметь применять психологические методе при подборе кадров, ведении переговоров и ведении коллективных проектов. 8-12 1 2 0 8-12 2 2 0 8-12 3 2 2 8-12 4 2 0 8-12 5 2 2 95 Зачет Лабор. работа Самост. работа Контр. работа Осенний семестр 1.1 Программирование как человеческая деятельность. Подходы к текстографическому оформлению дружелюбного интерфейса ИС. Откуда берутся хорошие программы? Проблемы управления начальными и завершающими фазами разработки ИС. Спецификация программ. График разработки. Улучшаемость и эффективность программ. Модернизация и мобильность. 1.2 Специфика исследования программирования. Проблема исследования процесса и результатов программирования. Самоанализ, наблюдение и проверка гипотез программистами и аналитиками. Экспериментальное и творческое программирование. Профессиональное и любительское. Психологические и поведенческие оценки. 2.1 Программирование как социальная активность. Особенности программирования как социальной активности, выполняемой разными людьми на фоне общих интересов. Типизация программистских групп. Ошибки и самооценка. Неэгоистическое программирование. Создание и сохранение обстановки, способствующей программированию. 2.2 Программистская команда. Характеристика и классификация программистских команд как профессионально связанных групп, выполняющих общую задачу. “Хирургическая бригада”. Постановка и анализ целей. Лидерство и лидеры. Жизненный цикл команды. Кризисы. Профилактика и нейтрализация. Конкуренция, темп, конвейер. 2.3 Программистский проект. Программистский проект как долгоживущая структура, обеспечивающая непрерывное уточнение направления Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Лекция Раздел дисциплины Неделя семестра № п/п Семестр 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 2 зачетные единицы, 72 часов. Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) 3.1 3.2 3.3 3.4 4.1 5.1 5.2 5.3 6.1 6.2 деятельности. Стабильность путем изменений. Структура проекта. Общие проблемы больших проектов. Достоверность информации в многоуровневых структурах. Зрелость коллективов и предприятий. Программирование как проявление 8-12 индивидуальности. Рассматривается индивидуальное программирование на фоне проблемы связи реализуемых идей с реальностью. Профессионалы и любители. Заботы программиста. Стадии работы и разработки. Вариации программистских постановок задач. Пространство решений и критерии оценки результата. Личностные факторы. Анализ связи 8-12 личностных факторов с методами разработки ИС. Изменения и инварианты. Тип личности. Предпочтения и профориентация. Факторы успеха в программировании. Стартовые барьеры и азарт завершения. Обнаружение и исправление ошибок. Интеллектуальность и способности. 8-12 Сложность взаимовлияния интеллектуальности, знания методов решения задач и способности к принятию решений. Разброс способностей и производительность труда. Здравый смысл и алгоритмическое мышление. Когнитивный диссонанс и метаморфозы систем понятий. Мотивация. Роль не формализуемых 8-12 стимулов к активности. Навыки и опыт. Настойчивость и учеба. Уровень знаний и компетентность. Образование и программирование. Особенности функционирования психологических систем восприятия и обработки информации. Социально-этический контекст 8-12 программирования. Проблема ответственности разработчика за судьбу информационного продукта. Этические, правовые и лицензионные аспекты программирования. Информационные службы. Инструментарий программирования. 8-12 Естественный язык, диаграммы и рисунки. Подсказки, окна и меню. Унификация и универсальность. Компактность. Традиции и новации Парадигмы программирования. 8-12 Синтаксическое управление. Генерация текстов, структур, кодов. Преобразование и редактирование программ. Документация и достоверность. Иерархия и локальность. Линеаризация и структурированность. Функциональность. Специфика и общность. Концептуальное ядро. Свободно-распространяемое программное 8-12 обеспечение. Эволюция программных систем. Уровень изученности задач, решаемых при программировании. Направленное развитие программ. Грамотное и экстремальное программирование. Обучение и преподавание. Требования к 8-12 уровню квалификации специалистов. Программистское знание и его удостоверение. Интернет-поддержка профессионального становления программистов. Олимпиадное программирование. Студии, 8-12 мастерские, учебные проекты. Информационная стилистика. 96 6 2 0 7 2 2 8 2 0 9 2 2 11 2 0 12 2 2 13 2 0 14 2 2 15 2 0 16 2 0 6.3 6.4 1.1 1.2 1.3 1.4 1.5 2.1 2.2 2.3 2.4 2.5 3.1 3.2 3.3 3.4 3.5 Автоматизация эпизодической деятельности. Профориентационное тестирование. 8-12 Систематизация изученных аспектов человеческого фактора программирования с акцентом на его роль в профессиональной карьере. Практические выводы и рекомендации менеджерам и программистам по тактике взаимодействия на разных стадиях производства в зависимости от уровня зрелости предприятия. Весенний семестр Психофизиология умственного труда, 8-12 особенности умственного утомления, динамика умственной работоспособности, показатели функционального состояния психики Прогнозирование работы оператора в 8-12 технической системе, влияние факторов обитаемости и фармакологических средств,устойчивость человека к различным воздействиям, методы ритмической стимуляции умственной деятельности, установки и показатели эффективности Суточные ритмы и процессы адаптации, 8-12 формирование реакции ожидания, стрессовые реакции, циркадные ритмы. Поисковая активность, сон и устойчивость 8-12 организма Внимание, его виды и нарушения. 8-12 Нейролингвистическое программирование, 8-12 рефлексия. Особенности зрительного восприятия, связь 8-12 с работой памяти, Системы технического зрения, виды 8-12 компьютерной памяти, системы отслеживания целей. Методика скорочтения, дирлинг-автоматы, 8-12 нейрокомпьютеры. Экологическая модель зрительного 8-12 восприятия и возможность использования некоторых её элементов при создании систем искусственного интеллекта Формальная методика исследования связей 8-12 в коллективах Творческие процессы. 8-12 Конфликты. Техника ведения переговоров 8-12 Ведение коллективного проекта. 8-12 Классификация научных и производственных организаций. Психологические аспекты применения ИКТ 8-12 в деятельности человека. 17 2 0 1 2 0 2 2 0 3 2 0 4 2 0 5 6 2 2 0 0 7 2 0 8 2 0 9 2 2 11 2 2 12 2 2 13 14 15 2 2 2 2 2 2 16 2 0 32 32 8 экзамен 5. Образовательные технологии 5.1. Отдельным студентам дается задание выкачать литературу из сети Интернет и сделать обзор. Темы – воздействие света и звука на человека, экстремальное программирование, управление проектами. 5.2. Контроль текущей успеваемости осуществляется на семинарах, для проведения которых разработаны анкеты (файл ankety.zip). Кроме того, по завершении курса студенты выполняют экзаменационную работу реферативного типа или отвечают на 97 экзаменационные вопросы. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины 6.1. Компьютер с доступом в Интернет для самостоятельной работы. 6.2. Экзаменационная работа (этюды и зарисовки) Студентам предлагается привести примеры, соответствующие или противоречащие изложенному в лекциях материалу. Примеры могут быть как из жизни, так и из литературных источников. Может рассматриваться любая организация деятельности, связь с программированием предпочтительна, но не обязательна. 1. 2. 3. 4. 5. Психологические курьезы восприятия информационных технологий человеком Общечеловеческие проявления психологии при написании текстов программ Особенности чтения и восприятия текстов программ разными людьми Явное и неявное представление решений задач и границ их применимости Выделение целей и накопление рецептов решения задач при организации процессов 6. Определение качества выполненных заданий 7. График хода работы 8. Адаптация решений к реалиям жизни 9. Сравнение эффективности результата и затрат на его получение 10. Оценка "хорошести" программирования 11. Методы изучения психологии своей или чужой деятельности 12. Взаимосвязь формальных структур и не формализуемых факторов в производстве 13. Ошибки, самооценка и этика в совместной деятельности 14. Неэгоистичное программирование 15. Рабочая обстановка и социальный контекст программирования 16. Создание и поддержание рабочей обстановки для программирования 17. Формирование команд для срочных работ 18. Провозглашение и достижение целей при разработке программ 19. Лидерство и лидеры в программисткой команде 20. Преодоление кризисов при выполнении заказных работ 21. Стабильность проекта в его приспособленности к изменениям 22. Оперативное измерение уровня готовности результатов проекта 23. Организационная структура программистского проекта 24. Проблемы многолюдных проектов в проекции на программирование 25. Разница между профессионалами и дилетантами 26. Индивидуальные вариации поведения 27. Личностные особенности реагирования 28. Психологические множества в речевой и производственной практике 29. Измерение способности самостоятельно решать задачи и воплощать чужие готовые решения 30. Интеллектуальность программирования 31. Тестирование и контроль профессионалов непрофессионалами 32. Поощрение и признание 33. Обучение, образование и тренировки 34. Изучение программирования 35. Опыт или преподавание 36. Психология взаимодействия в интерфейсах 98 37. Психология в компьютерных играх 38. Общение в сетях и Сетях 39. Учебные и производственные средства программирования 40. Тестирование программ, методика испытаний 41. Документирование и сопровождение программ 42. Инструментальная поддержка процесса разработки информационных систем 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Weinberg G.M. An Introduction to General Systems Thinking: Silver Anniversary Edition ISBN 0-932633-49-8 2001. 2. Weinberg G.M. The Psychology of Computer Programming.- New York: Van Nostrand Comp., 1971. - 279 p. 3. Хрестоматия по нейропсихологии / Отв. ред. Хомская Е.Д. – М.: Институт общегуманитарных исследований, Московский психолого-социальный институт, 2004. – 896 с 4. Брукс Ф.П. мл. Мифический человеко-месяц. – М.: Символ-Плюс, 2000. - 304 с. 5. Новосибирская школа программирования. Мозаика воспоминаний. Новосибирск, 2001. - С. 195 6. Новосибирская школа программирования. Перекличка времен. Новосибирск, 2004. - С. 243 б) дополнительная литература: 1. Weinberg G.M. More Secrets of Consulting: The Consultant's Tool Kit. ISBN 0932633-52-8 2002. 2. Weinberg G.M. Perfect Software: And Other Illusions about Testing. 2008 3. Скопин И.Н. Понятия и модели жизненного цикла программного обеспечения. Учебное пособие. – Новосибирск: Изд-во НГУ, 2003. 4. Проектирование пользовательского интерфейса на персональных компьютерах. Стандарт фирмы IBM. – Вильнюс: DBS Ltd, 1992. 5. Фатрелл Р.Т., Шафер Д.Ф., Шафер Л.И. Управление программными проектами: достижение оптимального качества при минимуме затрат. – М.: Издательский дом “Вильямс”, 2003. 6. Ауэр К., Миллер Р. Экстремальное программирование. Постановка процесса с первых шагов и до победного конца. - СПб.: Питер, 2004. – 368 с. 7. Скопин И.Н. Основы менеджмента программных проектов. - М.: ИНТУИТ.РУ, 2004 8. Стивен Р. Палмер, Джон М.Фелсинг. Практическое руководство по функционально-ориентированной разработке ПО. - М.: Вильямс, 2002. - 299 с. 9. Таненбаум Э., ван Стеен М. Распределенные системы. Принципы и парадигмы. - СПб.: Питер, 2003. – 877 с. 10. Уоткинс Д., Хаммонд М., Эйбрамз Б. – Программирование на платформе .Net. М. “Вильямс”, 2003. - С. 367 11. М. Ка де Ври, «Мистика лидерства. Развитие эмоционального интеллекта», Альпина паблишер, Москва, 2003. 12. Эд Салливан, "Время - деньги. Создание команды разработчиков программного обеспечения", Русская редакция, Москва, 2002. 13. Б. Страуструп. Дизайн и эволюция С++. – СПб.: Питер, 2006. 99 14. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++. Второе издание. – М.: Бином, 1999. 15. Торрес Р.Дж. Практическое руководство по проектированию и разработке пользовательского интерфейса. – М.: Издательский дом “Вильямс”, 2002. 16. Мандел Т. Разработка пользовательского интерфейса. – М.: ДМК Пресс, 2001. в) программное обеспечение и Интернет-ресурсы: 1. http://www.literateprogramming.com Сайт с материалами по грамотному программированию. Кнут Д. Literate programming 2. Белая О. А. и др. «Психология программирования: человеко-машинный аспект информационных технологий», СПбГУ, 2004 (http://www.iteducation.ru/reports/odintsov.htm) 3. http://www.plahova.com/karernyie-ustremleniya-i-osobennosti-emotsionalnomotivatsionnoy-sferyi-programmistovpart1/ - Блог Надежды Плаховой на тему «Карьерные устремления и особенности эмоционально-мотивационной сферы программистов» 4. http://www.citforum.ru/SE/project/psychology/ - форум по теме «Психология управления программными проектами» 5. Курсы Интернет университета информационных технологий. – url: http://www.intuit.ru. 6. Технологии XML. World Wide Web Consortium. – url: http://www.w3.org. 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 100 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Java-технологии» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Гуськов Андрей Евгеньевич, к.т.н. (подпись) 101 Аннотация рабочей программы Дисциплина «Java-технологии» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Программирования ММФ НГУ. Основной целью освоения дисциплины является получение общего представления и знаний в области разработки сложных программных систем, современных технологий и методологий индустриального программирования. Дисциплина нацелена на формирование общекультурных компетенций ОК-1, ОК2, ОК-5, ОК-6, ОК-8, ОК-9, ОК-11, профессиональных компетенций ПК-2, ПК-3, ПК-7, ПК-8, ПК-15, ПК-21, ПК-25, ПК-27 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, практические занятия, консультации, самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме выполнения практических заданий и тестирования, промежуточный контроль в виде сдачи ученого проекта. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 3 зачетных единиц, 108 академических часа (из них 64 аудиторных). Программой дисциплины предусмотрены 28 часов лекционных и 18 часов лабораторных занятий, а также 32 часов самостоятельной работы студентов. Остальное время – контроль в форме текущего тестирования и сдачи учебного проекта. 102 1. Цели освоения дисциплины Основной целью освоения дисциплины «Java-технологии» является получение общего представления и знаний в области современных технологий разработки сложных программных систем. Для достижения поставленной цели выделяются задачи курса: 4. Изучение проблематики разработки сложных программных проектов; 5. Изучение типовых задач разработки сложных программных проектов; 6. Изучение понятий и методологий программирования; 7. Освоение технологий, используемых при проектировании программных систем; 8. Получение знаний для самостоятельного изучения различных подходов к разработке программных проектов. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина опирается на следующие дисциплины данной ООП: Основы работы на ЭВМ (работа в среде Windows); Программирование (языки программирования высокого уровня; ООП проектирование; разработка пользовательских интерфейсов и хранилищ данных); Базы данных и экспертные системы (проектирование информационных систем). Результаты освоения дисциплины используются в научно-исследовательской практике и в дипломной работе. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины Java-технологии: общекультурные компетенции: ОК-1, ОК-2, ОК-5, ОК-6, ОК-8, ОК-9, ОК-11; профессиональные компетенции: ПК-2, ПК-3, ПК-7, ПК-8, ПК-15 , ПК-21, ПК-25 , ПК-27. В результате освоения дисциплины обучающийся должен: иметь представление о проблематике разработки сложных программных проектов и о типовых задачах, которые решаются в рамках обозначенной тематики; знать, какие существуют технологии решения типовых задач, их достоинства и недостатки, уметь определять границы их адекватного применения; иметь представление о том, каким образом осуществляется композиция нескольких технологических решений в одной программной системе. знать, какие технологии обеспечивают управление качеством программного проекта; получить навыки самостоятельно осваивать и реализовывать различные подходы к построению сложенных программных проектов. 1 0 3 Экзамен Лаб. работа Самост. работа Виды учебной работы, включая самостоятельную Формы текущего работу студентов и контроля успеваемости трудоемкость (по неделям семестра) (в часах) Форма промежуточной аттестации (по семестрам) Лекция Раздел дисциплины Неделя семестра № п/п Семестр 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 3 зачетные единицы, 108 часов. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Введение. История языка Java. Виртуальная Java-машина. Основные возможности и применения Java. Классификация платформ Java. Основы Java. Синтаксис. Примитивные типы. Операторы. Интерфейсы, классы и объекты. Наследование, инкапсуляция, полиморфизм, типизация. Основы Java. Исключения. Области видимости. Пакеты классов. Компиляция и запуск Java-программ. Расширения Java 5. Перечислимые типы. Аннотации. Шаблоны (generics). Автоматическое преобразование типов. Стандартные библиотеки. Работа со строками. Потоки ввода-вывода. Файлы. Стандартные библиотеки. Работа со строками. Потоки ввода-вывода. Файлы. Сетевые соединения. Коллекции. Локализация. Графика в Java. Среда разработки. Интегрированные среды разработки: IDEA, Eclipse, Netbeans. Технология управления проектом Maven. Среда разработки. Технологии тестирования: JUnit, Fitness. Режим отладки программ. Управление журналом сообщений. Документирование программ. Коллективное обсуждение темы. Консультации. Взаимодействия с СУБД. Технология JDBC. Пул соединений. Взаимодействия с СУБД. Понятие и принципы работы объектно-реляционного отображения. ORM. Технологии ORM: hibernate, ebatis. Языки построения запросов. Кэширование. Java и web. Апплеты. Технология Java Servlet. Java server pages. Java и web. Шаблон проектирования ModelView-Controller. Современные реализации MVC: Struts, Tapestry, Wicket. XML. Модели документов DOM и SAX. XSL-преобразования. Web services. Технологии J2EE. Сервера приложений. JavaBeans. Java Message Service (JMS). Java Persistence API (JPA). Dependency Injection. Коллективное обсуждение темы. Консультации. 1 1 2 2 2 1 2 2 2 2 1 3 2 2 2 1 4 2 2 2 1 5 2 2 2 1 6 2 2 2 1 7 2 2 2 1 8 2 2 2 1 9 4 2 1 10 2 2 2 1 11 2 2 2 1 12 2 2 2 1 13 2 2 2 1 14 2 2 2 1 15 2 2 2 1 16 4 2 1 17 28 36 32 Текущее тестирование Текущее тестирование 18 Сдача проекта 18 учебного 5. Образовательные технологии Лекционные занятия освещают концептуальные и теоретические вопросы. На них обучаемым предлагается базовый материал курса. Лабораторные занятия проводятся с целью закрепления лекционного материала с помощью показа конкретных примеров, выполнения учебных заданий, а также разбора и обсуждения проблемных вопросов. Кроме того, на лабораторных занятиях студенты имеют возможность выразить свое отношение по поводу полученной информации. Самостоятельная работа выполняется студентами по предлагаемым темам. Консультации по курсу учебным планом не регламентируются. Они проводятся в форме ответов на вопросы студентов и обсуждений. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам 1 0 4 освоения дисциплины 6.1. Текущий контроль. В течение семестра выполняются следующие работы: коллоквиумы, проверка выполнения самостоятельных и научно-практических работ. Выполнение указанных видов работ направлено на постепенную подготовку итогового индивидуального учебного проекта, на основании которого оценивается работа каждого студента. Для самостоятельной работы студентам предлагается практическое освоение изучаемых методик и технологий. Ниже приводятся некоторые из таких заданий. 1. Реализовать текстовый редактор фигур (прямоугольник, квадрат, окружность, эллипс, линия), в котором реализованы операции добавления, удаления, перемещения и масштабирования фигур. 2. Реализовать web-приложение, в котором реализовано ведение списка персон и реализованы операции добавления, редактирования, удаления и сортировки списка по различным полям. Для реализации использовать произвольную mvc-библиотеку. 3. Реализовать Java-приложение, которое создает БД с таблицами Факультеты, Группы, Студенты, наполняет их произвольными данными и выполняет операции поиска по заданным пользователем критериям. В качестве средства ORM необходимо использовать Hibernate. 4. Для любого уже созданного web-приложения реализовать набор модульных тестов и web-тестов. Посчитать процент покрытия кода тестами. 6.2. Итоговый контроль. Для контроля усвоения дисциплины в целом учебным планом предусмотрена подготовка и сдача итогового индивидуального учебного проекта. Итоговая оценка выставляется по сумме следующих результатов. 8. выполнение семинарских заданий. 9. выполнение итогового индивидуального учебного проекта. 10. ответов на вопросы при сдаче учебного проекта. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 3. Эккель Б. Философия Java. – СПб.: Питер, 2009. 4. Макконел С. Совершенный код. – Русская Редакция, 2007. 5. Фаулер М. Архитектура корпоративных программных приложений. – Вильямс, 2007. б) дополнительная литература: 4. Соммервилл И. Инженерия программного обеспечения, 6-е издание. – М.: Издательский дом «Вильямс», 2002. 5. Алур Д., Крупи Д., Малкс Д. Образцы J2EE. Лучшие решения и стратегии проектирования. – Лори, 2004. 6. Хемраджани А. Гибкая разработка приложений на Java с помощью Spring, Hibernate и Eclipse. – Вильямс, 2008. в) программное обеспечение и Интернет-ресурсы: 3. Курсы Интернет университета информационных технологий. – url: http://www.intuit.ru. 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 1 0 5 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Объектно-ориентированное программирование» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Костов Юрий Викторович, (подпись) 1 0 6 (ФИО) Аннотация рабочей программы Дисциплина «Объектно-ориентированное программирование» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Программирования ММФ НГУ. Основной целью освоения дисциплины является получение знаний в области разработки современных программных систем, с использованием объектноориентированных языков программирования. Дисциплина нацелена на формирование общекультурных компетенций ОК-1, ОК-4, ОК-5, ОК-7, ОК-8, ОК-12, ОК-13, профессиональных компетенций ПК-1, ПК-2, ПК-7, ПК17, ПК-21, ПК-26 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, консультации, самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме решения задач, промежуточный контроль в форме экзамена. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 3 зачетных единиц, 108 академических часов. 1 0 7 1. Цели освоения дисциплины Учебный курс концентрирует внимание на практическом применении популярной концепции объектно-ориентированного программирования и основанного на ней языка программирования C++ для решения практических задач. Также рассматриваются языки Java и C#. 2. Место дисциплины в структуре ООП Дисциплина входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина опирается на следующие дисциплины данной ООП: Основы работы на ЭВМ (работа в среде Windows); Программирование (языки программирования высокого уровня; ООП проектирование; разработка пользовательских интерфейсов и хранилищ данных); Базы данных и экспертные системы (проектирование информационных систем). Результаты освоения дисциплины используются в научно-исследовательской практике и в дипломной работе. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины: общекультурные компетенции: ОК-1, ОК-4, ОК-5, ОК-7, ОК-8, ОК-12, ОК-13; профессиональные компетенции: ПК-1, ПК-2, ПК-7, ПК-17, ПК-21, ПК-26. В результате освоения дисциплины обучающийся должен: знать основные понятия объектно-ориентированного программирования и проектирования; уметь анализировать базовую информацию о явлениях окружающего мира и принимать проектные решения, опирающиеся на знание специфики языков программирования, строить их объектно-ориентированные модели; владеть навыками решения задач, встречающихся в проектировании, реализации и сопровождения программных проектов. 1 2 2 1.2 1 2 2 2 1 3 2 2 1 4 2 2 1 5 2 2 1.3 1.4 1.5 программирование. Краткая история возникновения. Суть понятий: инкапсуляция, наследование, полиморфизм. Скалярные типы данных. Операции над ними. Производные типы данных: массивы, перечисления, структуры, объединения. Понятие объекта класса. Массивы и строки. Указатели и ссылки. Константы. Объявления и описания. Преобразования типов. Области действия. Заголовочные файлы С++. Компоновка программы. Автоматические, статические и динамические объекты в Зачет Введение в объектно-ориентированное 1 Контр. работа 1.1 Самост. работа Лабор. работа Виды учебной работы, включая самостоятельную работу студентов и трудоемкость Формы текущего контроля (в часах) успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) Лекция Раздел дисциплины Неделя семестра № п/п Семестр 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 3 зачетные единицы, 108 часа. памяти. 1.6 1.7 1.8 1.9 1.10 1.11 1.12 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 Операторы и функции. Объявление, описание и вызов. Указатель на функцию. Описание классов. Доступ к компонентам класса. Константные, статические компоненты, указатели на компоненты класса. Указатель this. Конструкторы и деструкторы. Копирование и присваивание объектов. Друзья. Вложенные классы. Локальные классы. С#: делегаты, свойства, события, индексаторы. Наследование. Управление доступом. Копирование. Множественное наследование. Неоднозначности. Виртуальные базовые классы. Преобразование указателей и ссылок на объекты. Совмещение знаков операций. Полиморфизм имён. Полиморфизм указателей. Виртуальные методы. RTTI. Абстрактные классы и интерфейсы. Родовые компоненты программ. Введение. Шаблоны функций и классов. Конкретизация, специализация. Статические компоненты шаблонов. Параметризация и наследование. Ограниченная параметризация. Библиотера стандарных шаблонов. Последовательные контейнеры STL. Использование: правильный выбор контейнера. Ассоциативные контейнеры STL. Адаптеры. Итераторы. Алгоритмы STL. Исключения. Исключения в конструкторах и деструкторах. Организация ввода-вывода. Потоки STL. Использование потоков STL. Приложение 1. Создание и использование динамическиподключаемых библиотек. Проектирование и реализация. Приложение 2. Введение в сокеты. Приложение 3. Синхронные и асинхронные процессы и программы. Средства синхронизации. Приложение 4. «Субъектноориентированное программирование»: мультиагентные системы. 1 6 2 2 1 7 2 2 1 8 2 2 1 9 2 2 1 10 2 2 1 11 2 2 1 12 2 2 2 13 2 2 2 14 2 2 2 15 2 2 2 16 2 2 2 2 17 18 2 2 2 2 2 19 2 2 2 2 20 21 2 2 2 2 2 2 22 23 2 2 2 2 2 24 2 2 48 48 36 Экзамен 36 5. Образовательные технологии Лекционные занятия освещают концептуальные и теоретические вопросы. На них обучаемым предлагается базовый материал курса. Самостоятельная работа выполняется студентами по предлагаемым темам. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины Для самостоятельной работы студентам предлагается решение небольших самостоятельных заданий по курсу. 109 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Страуструп Б. Язык программирования С++. Специальное издание. – М.: ООО «Бином-Пресс», 2005. 2. Страуструп Б. Дизайн и эволюция С++. – СПб.: Питер, 2006. 3. Джосьютис Н. C++ Стандартная библиотека. Для профессионалов. – СПб.: Питер, 2004. 4. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++. Второе издание. – М.: Бином, 1999. 5. Вязовик Н.А. Программирование на Java. – М.: ИНТУИТ.РУ “Интернетуниверситет Информационных Технологий”, 2003. в) программное обеспечение и Интернет-ресурсы: 2. Замулин А.В. Курс лекций: Объектно-ориентированное программирование (С++, Ява, C#) – url: http://www.iis.nsk.su/persons/zamulin/OOPCourse.zip 3. Емельянов П.Г. Слайды курса «Программирование». – url: http://www.iis.nsk.su/edu/progr_2.shtml. 4. Курсы Интернет университета информационных технологий. – url: http://www.intuit.ru. 8. Материально-техническое обеспечение дисциплины Слайд-проектор. 110 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Паттерны проектирования» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Лыков Кирилл Олегович, (подпись) 111 Аннотация рабочей программы Дисциплина «Паттерны проектирования» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Программирования ММФ НГУ. Основной целью освоения дисциплины является получение знаний в области разработки современных программных систем, с использованием объектноориентированных языков программирования. Дисциплина нацелена на формирование общекультурных компетенций ОК-1, ОК4, ОК-5, ОК-7, ОК-8, ОК-12, ОК-13, профессиональных компетенций ПК-1, ПК-2, ПК-7, ПК-17, ПК-21, ПК-26 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, консультации, самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме решения задач, промежуточный контроль в форме экзамена. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 2 зачетных единиц, 72 академических часа (из них 30 аудиторных, остальное – самостоятельная работа и экзамен). 112 1. Цели освоения дисциплины Основной целью освоения дисциплины «Паттерны проектирования» является получение знаний в области разработки современных программных систем, с использованием объектно-ориентированных языков программирования. Для достижения поставленной цели выделяются задачи курса: 1. Изучение основ рефакторинга программного кода; 2. Изучение паттернов проектирования. Существенной проблемой отрасли разработки программного обеспечения является сложность программных систем. Для упрощения дизайна программного продукта, а так же для ускорения процесса разработки применяется различные стандартные решения. Сбор, анализ и стандартизация таких решений в области проектирования объектно-ориентированного программирования привели к созданию паттернов проектирования. Курс освещает паттерны проектирования, при этом делая акцент на практические аспекты применимости паттернов. В курсе «Объектно-ориентированный анализ и дизайн», читаемом на 3ем курсе ФИТ НГУ, две лекции посвящены паттернам проектирования. Вполне очевидно, что за такой короткий срок можно дать только обзорное представление об этой теме. Курсы по данной тематике читаются во многих университетах, среди которых можно упомянуть Сан-Диего (San Diego State University), Калифорнии (University of California: Santa Cruz), Женевы (University of Geneva). Наиболее интересным, на взгляд авторов, курса является курс, читаемый в Университете Сан-Диего профессором Роджером Уитней (Roger Whitney). Материалы и методические наработки упомянутого курса использовались для подготовки нашего курса. Преподаватели курса являются действующими разработчиками, поэтому материалы курса будут ежегодно обновляться в соответствии с основными тенденциями отрасли разработки ПО. 2. Место дисциплины в структуре ООП Дисциплина входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина опирается на следующие дисциплины данной ООП: Основы работы на ЭВМ (работа в среде Windows); Программирование (языки программирования высокого уровня; ООП проектирование; разработка пользовательских интерфейсов и хранилищ данных); Базы данных и экспертные системы (проектирование информационных систем). Результаты освоения дисциплины используются в научно-исследовательской практике и в дипломной работе. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины: общекультурные компетенции: ОК-1, ОК-4, ОК-5, ОК-7, ОК-8, ОК-12, ОК-13; профессиональные компетенции: ПК-1, ПК-2, ПК-7, ПК-17, ПК-21, ПК-26. В результате освоения дисциплины обучающийся должен: иметь представление о технологии разработки программного обеспечения с использованием тестирования (test-driven development technique). знать освещаемые в рамках курса паттерны проектирования. уметь изображать применяемые паттерны в виде UML диаграмм. уметь применять паттерны проектирования в разработке программного обеспечения, как в фазах проектирования, так и в фазах разработки. 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 2 зачетные единицы, 72 академических часа. Лекция Семина ры Самост. работа Экзамен 1.1 Введение. Объектно-ориентированное программирование в развитии, зачем нужно объектно-ориентированное программирование. Что такое паттерны проектирования и зачем они нужны. 1.2 Свзяь рефакторинга с процессом разработки ПО. Рефакторинг и паттерны. 1.3 Рефакторинг. Мотивация использования рефакторинга. Рефакторинг и современные методологии программирования. 2.1 Порождающие паттерны: creation methods, фабричный метод. 2.2 Порождающие паттерны: фабрика. 2.3 Порождающие паттерны: Строитель, прототип. 3.1 Упрощение кода с помощью паттернов: композитный метод, стратегия. 3.2 Упрощение кода с помощью паттернов: состояние, команда. 3.3 Обобщение: шаблонный метод, композит, наблюдатель. 3.4 Обобщение: адаптер, интерпретатор. 4.1 Аккумуляция: посетитель, collecting parameter. 5.1 Другие (структурные) паттерны: мост, фасад 5.2 Другие (структурные) паттерны: прокси, декоратор. 5.3 Другие (поведенческие) паттерны: посредник, итератор 5.4 Другие (поведенческие) паттерны: хранитель Неделя семестра Раздел дисциплины Семестр № п/п Виды учебной работы, включая самостоятельную Формы текущего контроля работу студентов успеваемости и (по неделям трудоемкость семестра) (в часах) Форма промежуточной аттестации (по семестрам) 6 1 2 1 6 2 2 1 6 3 2 1 6 4 2 1 6 6 6 5 6 7 2 2 2 1 1 1 6 8 2 1 6 9 2 1 6 6 6 6 6 10 11 12 13 14 2 2 2 2 2 1 1 1 1 1 6 15 6 16 2 1 30 36 Экзамен 15 36 5. Образовательные технологии Лекционные занятия освещают концептуальные и теоретические вопросы. На них обучаемым предлагается базовый материал курса. Самостоятельная работа выполняется студентами по предлагаемым темам. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины 6.1. Текущий контроль Для самостоятельной работы студентам предлагается решение небольших самостоятельных заданий по курсу. 6.2. Итоговый контроль. Для контроля усвоения дисциплины в целом учебным планом предусмотрен экзамен. Экзамен выставляется по сумме следующих результатов. 114 11. выполнение задач для самостоятельной работы. 12. ответов на вопросы очного итогового экзамена. Вопросы к экзамену: 1. Какой паттерн вы, скорее всего, примените в ситуации, когда нужно спрятать от пользователя сложный код, отвечающий за создание объекта. (3 балла) 2. Какой паттерн вы бы применили, если бы у вас имелась группа связанных объектов, которые спроектированы, чтобы работать вместе, и вы хотите быть уверены что они будут использованы вместе? (3 балла) 3. Какой паттерн вы бы применили в ситуации, когда вы хотите чтобы клиент создавал новый объект без явного определения класса нового объекта? (3 баллов) 4. Какой паттерн вы бы применили, чтобы упростить смену алгоритма, который использует класс? (3 баллов) 5. Объясните, как работает паттерн “Мост”. (10 баллов) 6. Оба паттерна “Хранитель” и “Команда” могут быть использованы для реализации операции Undo (10 баллов): i) Опишите ситуацию или условия когда вы бы использовали паттерн “Хранитель”. ii) Опишите ситуацию когда следует избегать применения паттерна “Хранитель”. 7. Даны следующие методы классов A и B, которые имеют общего предка class С. Измените эти методы, используя паттерны “Шаблонный метод” и “Фабричный метод”. Class A send( Request aRequest, URL anAddress) { log( “send in class A called”); NetClient sender = new HttpClient(); sender address(anAddress); Repsonse result = sender process( aRequest); if (result is404()) {log(“Error in sending message”)}; } Class B send( Request aRequest, URL anAddress) { log( “send in class B called”); NetClient sender = new FtpClient (); sender address(anAddress); Repsonse result = sender process( aRequest); if (result isEmpty ()) {log(“Error in sending message”)}; } 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. E.Gamma, R. Helm, R. Johnson, J. Vlissides. Design Patterns: Elements of Reusab le Object-Oriented Software. Addison-Wesley, 1995. 2. J. Kerievsky. Refactoring to patterns. Addison-Wesley, 2005. 3. Roger Whitney. Lecture notes, assignments, exams questions: CS 635 Advanced Object-Oriented Design and Programming. San Diego State University, Spring Semester, 2010. б) дополнительная литература: 1. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++. - М.: БИНОМ, 2001. 115 2. Martin Fowler. Patterns of Enterprise Application Architecture. Addison-Wesley, 2002. 3. M. Fowler, K. Beck, J. Brant, W. Opdyke, D. Roberts. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999. в) программное обеспечение и Интернет-ресурсы: 1. Сайт курса, который используется для размещение материалов лекций, а так же для обсуждения вопросов по курсу. 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 116 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Интернет-технологии» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Рычкова Елена Владимировна, к.ф.-м.н. (подпись) 117 Аннотация рабочей программы Дисциплина «Интернет-технологии» входитв в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Программирования ММФ НГУ. Основной целью освоения дисциплины является получение общего представления и знаний о методах, средствах и языках, используемых в вебпрограммировании, получение навыков практической реализации веб-сайтов. Дисциплина нацелена на формирование общекультурных компетенций ОК-1, ОК2, ОК-5, ОК-6, ОК-8, ОК-9, ОК-11, профессиональных компетенций ПК-2, ПК-3, ПК-7, ПК-8, ПК-15, ПК-17, ПК-21, ПК-27 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, семинары, консультации, самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме проверки выполнения заданий на каждом занятии, выполнения курсовой работы в конце семестра в виде разработки веб-сайта на основе изученных технологий и итоговый контроль в форме экзамена. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 3 зачетных единицы, 108 академических часов (из них 36 аудиторных). Программой дисциплины предусмотрены 17 часов лекционных и 19 часов практических занятий, а также 36 часов самостоятельной работы студентов. Остальное время – текущий контроль и экзамен. 118 1. Цели освоения дисциплины Основной целью освоения дисциплины «Интернет-технологии» является получение общего представления и знаний в области веб-программирования, получения навыков практической реализации веб-сайтов. Для достижения поставленной цели выделяются задачи курса: 9. Изучение проблематики разработки веб-сайтов. 10. Изучение понятий и методологий веб-программирования. 11. Получение знаний для самостоятельного изучения различных подходов к разработке веб-сайтов. Курс посвящен довольно новым, постоянно развивающемся направлениям в области интернет-технологий — языкам HTML, JavaScript, PHP и их взаимодействию с системой управления базами данных MySQL. В связи с актуальностью этих направлений знание языков и методов интернет-программирования и умение ими пользоваться становится жизненно необходимым для современного специалиста. Курс характеризуется подробным теоретическим изложением, большим числом предлагаемых практических задач. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки», профиль «Вычислительные, программные, информационные системы и компьютерные технологии». Дисциплина опирается на следующие дисциплины данной ООП: Основы работы на ЭВМ (работа в среде Windows); Программирование (языки программирования высокого уровня; ООП проектирование; разработка пользовательских интерфейсов и хранилищ данных); Базы данных и экспертные системы (проектирование информационных систем). Результаты освоения дисциплины используются в научно-исследовательской практике и в дипломной работе. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины: общекультурные компетенции: ОК-1, ОК-2, ОК-5, ОК-6, ОК-8, ОК-9, ОК-11; профессиональные компетенции: ПК-2, ПК-3, ПК-7, ПК-8, ПК-15, ПК-17, ПК-21, ПК-27. В результате освоения дисциплины обучающийся должен: иметь представление о языках интернет-программирования; знать синтаксис и семантику основных языков интернет-программирования и основные приемы программирования на них; уметь применять различные методы при разработке веб-сайтов. Экзамен Семина ры Самост. работа Виды учебной работы, включая самостоятельную Формы текущего работу студентов и контроля успеваемости трудоемкость (по неделям семестра) (в часах) Форма промежуточной аттестации (по семестрам) Лекция Раздел дисциплины Неделя семестра № п/п Семестр 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 3 зачетные единицы, 108 часов. 1. Язык HTML: основные теги, задание цвета, гиперссылки, шрифты, списки. 7 1 1 1 2 Проверка выполнения заданий 2. Язык HTML: таблицы. 7 2 1 1 2 Проверка заданий выполнения 3. Язык HTML: графика, активные рисунки. 7 3 1 1 2 Проверка заданий выполнения 4. Каскадные таблицы стилей (CSS). 7 4 1 1 2 Проверка заданий выполнения 5. Язык HTML: формы. 7 5 1 1 2 Проверка заданий выполнения 6. Язык веб-программирования JavaScript: переменные, выражения. 7 6 1 1 2 Проверка заданий выполнения 7. Язык JavaScript: ветвления, объекты. 7 7 1 1 2 Проверка заданий выполнения 8. Язык JavaScript: строки, массивы. 7 8 1 1 2 Проверка заданий выполнения 9. Язык JavaScript: переключатели, обработка дат. 7 9 1 1 2 Проверка заданий выполнения 10. Язык веб-программирования PHP: основные конструкции, переменные, типы данных. 7 10 1 1 2 Проверка заданий выполнения 11. Язык PHP: операторы и выражения, константы. 7 11 1 1 2 Проверка заданий выполнения 12. Язык PHP: условные операторы, циклы. 7 12 1 1 2 Проверка заданий выполнения 13. Язык PHP: функции, массивы. 7 13 1 1 2 Проверка заданий выполнения 14. Язык PHP: работа с файлами. 7 14 1 1 2 Проверка заданий выполнения 15. Язык PHP: регулярные выражения, работа с датами. 7 15 1 1 2 Проверка заданий выполнения 16. Язык PHP: работа с формами. 7 16 1 1 2 Проверка заданий выполнения 17. Язык PHP: связь с базами данных на примере MySQL. 7 17 1 1 2 Проверка заданий выполнения 18. Выполнение курсовой работы. Консультации. 7 18 2 2 7 19 36 Экзамен 17 120 19 36 36 5. Образовательные технологии Лекционные занятия освещают концептуальные и теоретические вопросы. На них обучаемым предлагается базовый материал курса. Семинарские занятия проводятся с целью закрепления лекционного материала с помощью показа конкретных примеров, а также разбора и обсуждения проблемных вопросов. Кроме того, на семинарах студенты имеют возможность выразить свое отношение по поводу полученной информации. Самостоятельная работа выполняется студентами по предлагаемым темам. Консультации по курсу учебным планом не регламентируются. Они проводятся в форме ответов на вопросы студентов и обсуждений. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины 6.1. Текущий контроль. В течение семестра выполняется проверка выполнения самостоятельных работ. Выполнение указанного вида работ является обязательным для всех студентов, а оценка результатов текущего контроля суммируется и вносит свой вклад в итоговую оценку студента. Работы текущего контроля служат основанием для допуска к итоговому экзамену. Для самостоятельной работы студентам предлагается подготовка к семинарским занятиям по их темам. 6.2. Итоговый контроль. Для контроля усвоения дисциплины в целом учебным планом предусмотрен экзамен. Экзамен выставляется по сумме следующих результатов: 13. выполнение семинарских заданий. 14. выполнение курсовой работы. 15. ответов на вопросы очного итогового экзамена. Вопросы к экзамену: 1. Опишите способы задания цвета в языке HTML. 2. Как формируются гиперссылки в языке HTML. 3. Как задаются шрифты в языке HTML. 4. Перечислите способы задания списков в языке HTML. 5. Как в языке HTML формируются таблицы. 6. Как в веб-страницу добавляются изображения. 7. Что такое активные рисунки. 8. Перечислите основные принципы каскадных таблиц стилей (CSS). 9. Перечислите основные элементы HTML-форм. 10. Как задаются переменные и выражения в языке JavaScript. 11. Как формируются ветвления, объекты в языке JavaScript. 12. Как формируются строки, массивы в языке JavaScript. 13. Какие виды переключателей существуют в языке JavaScript. 14. Как осуществляется обработка дат в языке JavaScript. 15. Перечислите основные конструкции в языке PHP. 16. Как задаются переменные, типы данных в языке PHP. 17. Как формируются операторы и выражения, константы в языке PHP. 18. Как формируются условные операторы, циклы в языке PHP. 19. Как формируются функции, массивы в языке PHP. 20. Как осуществляется работа с файлами в языке PHP. 21. Как осуществляется обработка регулярных выражений в языке PHP. 22. Как осуществляется работа с датами в языке PHP. 23. Как осуществляется обработка форм в языке PHP. 121 24. Как осуществляется взаимодействие языка PHP с базами данных на примере MySQL. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 6. Рычкова Е.В. Теория и задания по курсу «Интернет-технологии» [электронный ресурс]. – url: http://www.ict.nsc.ru/ru/InetTechn/ 7. Дунаев В.В. Сценарии для Web-сайта: PHP и JavaScript. — СПб.: БХВПетербург, 2008. 8. Ломов А.Ю. HTML, CSS, скрипты: практика создания сайтов. — СПб.: БХВПетербург, 2007. 9. Прохоренок Н.А. HTML, JavaScript, PHP и MySQL. — СПб.: БХВ-Петербург, 2009. 10. Чебыкин Р.И. HTML и CSS. Современные технологии. — СПб.: БХВ-Петербург, 2008. б) дополнительная литература: 1. Дюбуа П. MySQL. – М.: Издательский дом «Вильямс», 2007. 2. Мальчук Е.В. HTML и CSS. Самоучитель. – М.: Издательский дом «Вильямс», 2008. 3. Олищук А.В., Чаплыгин А.Н. Разработка WEB-приложений на PHP 5. — М.: Издательский дом «Вильямс», 2006. 4. Флэнаган Д. JavaScript. Подробное руководство. – СПб.: Символ-Плюс, 2008. б) программное обеспечение и интернет-ресурсы: 4. Пакет «Денвер», включающий в себя набор дистрибутивов (Apache, PHP, MySQL и т.д.) и программную оболочку, используемые для разработки сайтов на локальном компьютере без необходимости выхода в Интернет [электронный ресурс]. – url: http://www.denwer.ru/ 8. Материально-техническое обеспечение дисциплины Персональные компьютеры, подключенные к сети Интернет. Программное обеспечение: веб-сервер Apache, язык программирования РНР, СУБД MySQL, HTML-редактор SWB, графический редактор Gimp. 122 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Функциональное программирование» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Городняя Лидия Васильевна, к.ф.-м.н. (подпись) 123 Аннотация рабочей программы Дисциплина «Функциональное программирование» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Программирования ММФ НГУ. Содержание дисциплины охватывает круг вопросов, связанных с исследованием и разработкой экспериментального ПО, и развивает базовые навыки в функциональном программировании на примере языков Lisp, Haskell и F#. Дисциплина нацелена на формирование общекультурных компетенций ОК-6, ОК-8, ОК-11, ОК-12, профессиональных компетенций ПК-12, ПК-20, ПК-21, ПК-25, ПК-29 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, контрольная работа, самостоятельная работа студента по решению задач в системах функционального программирования. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме контрольной работы, итоговый контроль в форме экзамена. Общая трудоемкость дисциплины составляет 2 зачетных единиц, 72 академических часа. Программой дисциплины предусмотрены 66 часов лекционных и 2 часа самостоятельной работы студентов. Остальное время – контроль в форме контрольной и экзамена. 124 1. Цели освоения дисциплины Специальный курс «Функциональное программирование» ставит своей целью усвоение студентами понятий, связанных с исследованием и разработкой экспериментального ПО, и развивает базовые навыки в функциональном программировании на примере языков Lisp, Haskell и F#. В первой части, данный курс знакомит студентов, с математическим аппаратом , лежащим в основе функционального программирования, показывает их потенциал и возможности при поддержке программирования и проектирования новых задач. Значительное внимание уделяется практике символьной обработки, включая создание мини-версий синтаксических анализаторов, интерпретаторов и компиляторов. Данный курс также знакомит слушателей с вопросами экспериментального программирования, функционального моделирования сложных систем, с основами человеко-машинного лингвистического интерфейса. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина опирается на следующие дисциплины данной ООП: Математическая логика (формализация методов рассуждений, логические связки, аксиоматические модели); Теория алгоритмов (понятие временной сложности алгоритма); Основы работы на ЭВМ (работа в среде Windows); Программирование I (принципы проектирования языков программирования высокого уровня, навыки реализации алгоритмов на ЯВУ, язык С, работа в среде Microsoft Visual Studio). Программирование II (основы ООП и программирование на C++) Результаты освоения дисциплины используются в следующих дисциплинах данной ООП: Базы данных и экспертные системы; Системное и прикладное ПО; Информационные системы. Парадигмы программирования 3. Компетенции обучающегося, формируемые в результате освоения дисциплины: общекультурные компетенции: ОК-6, ОК-8, ОК-11, ОК-12; профессиональные компетенции: ПК-12, ПК-20, ПК-21, ПК-25, ПК-29. В результате освоения дисциплины обучающийся должен: знать основные понятия функционального программирования и проектирования, требования к организации лингвистических интерфейсов; уметь анализировать базовые знания о явлениях окружающего мира и строить их функциональные модели, разрабатывать адекватные средства человеко-машинного взаимодействия. владеть навыками решения новых исследовательский задач, встречающихся в проектировании, реализации и сопровождении программных проектов. Раздел дисциплины Неделя семестра № п/п Семестр 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 2 зачетные единицы, 72 часа. Виды учебной работы, Формы текущего включая контроля самостоятельную успеваемости (по работу студентов и неделям семестра) трудоемкость Форма (в часах) промежуточной Лабор. работа Самост. работа Контр. работа 1.1 Основные идеи и общее представление о 8-12 функциональном программировании и сфере его применения. λ-исчисление и комбинаторы. 1.2 История языка Лисп и его реализаций. 8-12 1.3 Роль функционального подхода в 8-12 жизненном цикле программного обеспечения и эволюции информационных технологий. 1.4 Элементарный Лисп. Основные методы 8-12 функционального программирования на примере организации информационной обработки символьными выражениями в языке Лисп. Базовые понятия символьного представления и обработки программ. 1.5 Формализм рекурсивных функций и 8-12 простые алгоритмы символьной обработки обоснование и демонстрация функционального подхода к представлению программ 1.6 Универсальная функция. Классическая 8-12 техника использования функций и вспомогательных параметров при организации обычных вычислений как альтернатива операторам присваивания и глобальным переменным, а также как метод управления эффективностью вычислений. 1.7 Простейшее определение универсальной 8-12 функции, задающей границы вычисления правильных программ, представленных в символьной форме. 2.1 Отображения и функционалы. 8-12 Программирование отображений и использование функционалов как результативный метод резкого повышения темпа программирования и отладки программ. 2.2 Изучается механизм безымянных 8-12 определений функций и методика их использования в отображающих функционалах. 2.3 Знакомство с лисповской арифметикой и 8-12 мультиоперациями, а также со средствами обработки строк, литер и других типов данных. 3.1 Имена, определения и контексты. Методы 8-12 расширения функциональных систем с помощью иерархии разнородных контекстов определений. 3.2 Приемы достижения удобочитаемости 8-12 функциональных программ при определении сложных функций и особенности типовых схем связывания имен переменных с их значениями, принятыми в системах программирования. 3.3 Знакомство с методом неподвижных точек в 8-12 системах рекурсивных определений логически завершает схему выбора решений по взаимодействию имен с определениями 4.1 Свойства атомов и категории функций. 8-12 Методы расширения функциональных построений на примере моделирования привычного операторно-процедурного 2 0 2 3 2 2 0 2 4 2 0 5 2 2 6 2 0 7 2 2 8 2 0 9 2 2 11 2 0 12 2 2 13 2 0 14 2 2 15 2 0 126 Зачет Лекция 1 Осенний семестр аттестации (по семестрам) 4.2 4.3 5.1 5.2 5.3 5.4 5.5 5.6 6.1 6.2 6.3 6.4 стиля программирования и техники работы с глобальными определениями. Расширение базовой схемы обработки 8-12 символьных выражений и представленных с их помощью функциональных форм на примере механизма списков свойств атомов. Функционально полное определение гибкой и расширяемой реализации языка программирования. Возможности варьирования семантики 8-12 разных категорий функций и пополнения семантического базиса языка программирования с целью автоматизации построений в процессе исследования границ класса решаемых задач. Весенний семестр Детализация базовых функций языка. 8-12 Функциональный подход к низкоуровневому программированию исходных определений на уровне абстрактной машины (secd) для определения операционной семантики языка функционального программирования по Венской методике. Низкоуровневые процедуры и методы их 8-12 включения в высокоуровневую обстановку в качестве отдельной категории функциональных объектов. Компиляция функциональных программ. 8-12 Требования к компиляции функциональных программ и определение компилятора. Разложение программы на категории 8-12 функций с разным уровнем отладки является отправной точкой при выборе оптимизационных решений. Компиляция программ рассматривается как один из методов статической оптимизации процессов. Реализационные решения. Принципы 8-12 реализации, структуры данных, методы “сборки мусора” и других реализационных механизмов функциональных языков программирования. Последовательность комплектации ядра 8-12 системы функционального программирования, технические детали организации ее рабочего цикла. Функциональные средства оперативного мониторинга за фактическим составом системы и ее взаимодействия с внешним миром. Основные принципы объектно8-12 ориентированного программирования и проанализированы схемы их реализации в рамках функционального программирования на базе ряда структур данных на примере простой модели ООязыка. Особенности CLOS, поддерживающей ООП 8-12 на GNU Clsip. Реализация методов обработки объектов заданного класса сводится к отдельной категории функций, вызов которых управляется анализом принадлежности аргумента классу. Варианты, последовательности, множества. 8-12 Приемы организации недетерминированных вычислений в рамках функционального стиля программирования. Реализация программ с возвратами, перебор вариантов, откат, расширение семантического базиса механизмами обработки прерываний. Анализ соответствия точности решения 8-12 задач и уровня их изученности. Связь диагностической интерпретации и средств 16 2 0 17 2 0 1 2 0 2 2 0 3 2 0 4 2 0 5 2 0 6 2 0 7 2 0 8 2 0 9 2 2 11 2 2 127 6.5 6.6 7.1 4.3 4.4 логического программирования. Обработка множеств, последовательностей и хэштаблиц. Управление процессами. Эффективное 8-12 обобщение процесса информационной обработки, вытекающее из возможности отложенных действий (lazy evaluation). Резервы производительности обобщенных 8-12 процессов и методы динамической оптимизации вычислений, приводящие к смешанным и параллельным вычислениям. Функции высших порядков как аппарат 8-12 организации высоко квалифицированных процессов синтаксически управляемой информационной обработки. Формализация и спецификация данных, 8-12 генерация кода, конструирование интерпретаторов и компиляторов по формальному определению реализуемого языка. Макеты программ и тесты для быстрого 8-12 прототипирования, оперативного тестирования и уточняемой спецификации программ. Мемо-функции. Специализация интерпретатора программ с целью оценки уровня достоверности построений. 12 2 2 13 2 2 14 2 2 15 2 2 16 2 0 66 24 2 экзамен 5. Образовательные технологии Используется традиционная лекционно-семинарская система, дополненная самостоятельной активностью студентов по овладению программными системами и тренингом по функциональному стилю программирования. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины Оцениваются результаты самостоятельного решения этюдов по функциональному программированию. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Лавров С.С. Функциональное программирование. // Компьютерные инструменты в образовании. – 2002, N 2-4. 2. Городняя Л.В., Лавров С.С. Функциональное программирование. Принципы реализации языка Лисп. // Компьютерные инструменты в образовании. – 2002, N5, с. 49-58 3. Городняя Л.В. Основы функционального программирования. Курс лекций. Учебное пособие. Серия «Основы информационных технологий» /М.: ИНТУИТ.РУ «Интернет-университет Информационных Технологий», 2004. – 280 с. б) дополнительная литература: 1. Сергеев Л.О. Удивительный мир языка Лисп. Введение в язык и задачи, задачи, задачи. // Информатика – 2000, N 29. 2. Булычев Д. Снова о функциональном программировании. – М.: Открытые системы. N 5 (73), 2002, с. 38-44 3. Прехельт Л. Эмпирическое сравнение семи языков программирования. – М.: Открытые системы, 12(56), 2000, с. 45-52 4. Хьювенен Э., Сеппанен Й. Мир Лиспа., т.1,2, М.: Наука, 1994 128 в) программное обеспечение и Интернет-ресурсы: 1. Курсы Интернет университета информационных технологий. – http://www.intuit.ru. 2. И.А.Дехтяренко "Декларативное программирование" http://www.softcraft.ru/paradigm/dp/dp02.shtml 3. http://www-formal.stanford.edu/jmc/ - Личный сайт Дж. МакКарти с текстами его публикаций 4. http://www.marstu.mari.ru/mmlab/home/lisp/title.htm – Дистанционный учебник М.Н.Морозова 5. http://grimpeur.tamu.edu/~colin/lp/ - Небольшой учебник для начального знакомства с Лиспом 6. http://www.paulgraham.com/onlisptext.html - Интересные материалы по Clisp Паула Грэхема, автора книги по стандарту ANSI Clisp 7. http://www.intuit.ru Городняя Л.В. Основы функционального программирования. Курс лекций. Учебное пособие. Серия «Основы информационных технологий» /М.: ИНТУИТ.РУ «Интернет-университет Информационных Технологий», 2004. – 280 с. 8. Зыков С.В. Введение в теоретическое программирование. – М.: ИнтернетУниверситет Информационных технологий. - http://www.intuit.ru 9. Бобрик А.М. Электронное пособие по языку Python. – Новосибирск, б/и, Заочная Школа Программистов - http://green.iis.nsk.su/sop/ 10. http://www.lisp.org/HyperSpec/FrontMatter/ - ANSI стандарт Common Lisp 11. http://www.lisp.org/table/references.htm - Официальный сайт "Ассоциации Пользователей Лиспа" 12. http://alu.cliki.net/Implementation - WIKI система "Ассоциации Пользователей Лиспа" 13. http://clisp.sourceforge.net/summary.html - Домашняя страница CLISP 14. http://www.cliki.net/Common%20Lisp%20implementation - WIKI система LISP сообщества 15. http://www.gnu.org/software/gcl/ - Страница GCL на gnu.org 16. http://www.cons.org/cmucl/ - Домашняя страница CMUCL 17. http://refal.org/rf5_frm.htm - Официальный сайт языка Рефал 18. http://haskell.org/aboutHaskell.html - Официальный сайт языка Haskell - "О языке" 19. http://www.haskell.org/haskell-history.html - Официальный сайт языка Haskell "История языка" 20. http://www.gwydiondylan.org/drm/drm_7.htm - Официальный сайт языка Dylan "О языке" 21. http://www.erlang.org - Официальный сайт языка Erlang 22. http://www.cs.kun.nl/~clean/ - Официальный сайт языка Clean 23. http://www.cs.nott.ac.uk/~gmh//faq.html - Материалы электронной новостной конференции comp.lang.functional 24. http://haskell.cs.yele.edu/gcjni - 2002 GCJNI 25. http://sourseforge.net/projects/jvm-bridge/ - 2003 Haskell-конвертор на Java 26. http://www.haskell.org/ghc/docs/latest/html/users_guide /hsc2hs.html – 2001 интерфейс на Си 27. http://www.cse.unsw.edu.au/~chak/haskell/ffi/ - 1998 многоязыковый интерфейс 28. http://cs.kun.nl/~clean 29. http://www.informatik.uni-born.de/~ralf/software/examples/Hsh.html 30. http://www.beanshell.org 129 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 130 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Логические исчисления» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Одинцов Сергей Павлович, д.ф.-м.н. (подпись) 131 (ФИО) Аннотация рабочей программы Дисциплина «Логические исчисления» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Дискретной математики и информатики ММФ НГУ. Содержание дисциплины охватывает круг вопросов, связанных с аксиоматикой и семантикой неклассических логик; различными типами исчислений, метолы доказательств разрешимости неклассических логик, логическими исчислениями, находящими применение в теоретическом программировании и искусственном интеллекте. Дисциплина нацелена на формирование общекультурных компетенций ОК-5, ОК10, профессиональных компетенций ПК-2, ПК-6, ПК-8, ПК-12 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: промежуточный контроль в форме зачета. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 4 зачетных единиц, 124 академических часа. Программой дисциплины предусмотрены 60 часов лекционных занятий, а также 60 часов самостоятельной работы студентов. Остальное время – контроль в форме зачета. 132 1. Цели освоения дисциплины Курс ставит своей целью познакомить студентов с аппаратом логических исчислений, как с одним из инструментов для формализации информации; создать базис для дальнейшего самостоятельного изучения и исследования компьютерных языков, основанных на логических исчислениях; научить студентов применять самостоятельно основные методы доказательства полноты и разрешимости логик, а также методы сравнения выразительности логик. Предполагается изучение важнейших видов неклассических логик и причин введения данных логик; изучение различных видов семантики для неклассических логик: оценочная семантика, семантика Крипке, алгебраическая семантика; изучение методов доказательства полноты и разрешимости неклассических логик; знакомство с важнейшими конструктивными свойствами логик: дизъюнктивным свойством, свойством конструктивного отрицания, свойством финитной аппроксимируемости, интерполяционным свойством; знакомство с новыми видами логических исчислений: табличные исчисления, естественный вывод, дескриптивные логики, пропозициональная динамическая логика, ambient-исчисление, spy-исчисление. 2. Место дисциплины в структуре ООП магистратуры Дисциплина «Логические исчисления» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина «Логические исчисления» опирается на следующие дисциплины данной ООП: Математическая логика; Теория алгоритмов. Результаты освоения дисциплины «Логические исчисления» используются в следующих дисциплинах данной ООП: Базы данных и экспертные системы; Информационные системы; Логические методы в инженерии знаний; Современные методы работы со знаниями 3. Компетенции обучающегося, формируемые в результате освоения дисциплины: общекультурные компетенции: ОК-5, ОК-10; профессиональные компетенции: ПК-2, ПК-6, ПК-8, ПК-12. В результате освоения дисциплины обучающийся должен: знать причины введения в рассмотрение основных видов неклассических логик; области применения неклассических логик и примеры их использования в информатике; аксиоматику и семантическую характеризацию различных конструктивных модальных и релевантных логик; уметь строить выводы в различных дедуктивных системах; обнаруживать и обосновывать сходства и различия выразительных возможностей логик; владеть основными методами доказательства теорем полноты для различных видов семантик, а также различными семантическими и синтаксическими методами доказательства разрешимости неклассических логик. 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 4 зачетные единицы, 124 часа. Лабор. Работа Самост. работа Контр. работа 7 1 2 2 7 2 2 2 7 3 2 2 7 4 2 2 7 5 2 2 7 6 2 2 7 7 2 2 7 8 2 2 134 Зачет Лекция 1.1 Описание тем курса и их сопоставление с предметом математической логики. Краткий исторический экскурс в традиционную логику. Синтаксические категории языка: имена, предложения и функторы. Простые категорические силлогизмы: фигуры и модусы. Формализация силлогистики средствами современной логики. 1.2 Пропозициональный язык: термы, формулы, подстановки. Дедуктивные системы и отношения следования. Важнейшие свойства отношения следования, задаваемого дедуктивной системой. Теории. Теорема дедукции в общем виде. 1.3 Дедуктивная система классической логики. Доказательство теоремы полноты методом канонических моделей: лемма о расширении, свойства полных теорий, лемма о канонической модели. Позитивная классическая логика: понятие простой теории, оценочная семантика, теорема полноты. Логика CLuN: пример не истинностно-функциональной семантики, теорема полноты. 1.4 Логика как множество формул. Решетки логик. Понятия фрагмента и консервативного расширения логики. Понятия точного вложения и дефинициальной эквивалентности логик. Примеры задания одной логи-ки в различных языках. Дефинициальные расширения. 1.5 Позитивная логика. Шкалы Крипке, выполнимость формул в шкалах. Леммы о монотонности и о порожденной подмодели. Полнота и сильная полнота логики относительно класса шкал. Полнота по Крипке. Каноническая модель для расширения позитивной логики. Теоремы о корректности и полноте для позитивной логики. 1.6 Дизъюнктивное свойство позитивной логики: семантическое и синтаксическое доказательства. Интуиционистская и минимальная логики: способы задания в различных языках; семантика Крипке, корректность и полнота, дизъюнктивное свойство. 1.7 Расширения интуиционистской и минимальной логик. Теорема Гливенко для интуиционистской логики. Логика Гливенко. 1.8 Исторический экскурс: интуиционизм и конструктивизм; формализация интуиционистской логики Колмогоровым и Гейтингом; задачная семантика Колмогорова и семантика реализуемости по Клини. Свойство конструктивного отрицания, логики Нельсона. Правило замены в логиках Нельсона. Семантика Крипке для логик Нельсона. Неделя семестра Раздел дисциплины Семестр № п/п Виды учебной работы, включая самостоятельную Формы текущего работу студентов и контроля успеваемости трудоемкость (по неделям семестра) (в часах) Форма промежуточной аттестации (по семестрам) 1.9 Теоремы корректности и полноты для логик Нельсона. Конструктивные свойства логик Нельсона. Вложение логик Нельсона в позитивную и интуиционистскую логики. 1.10 Метод фильтрации. Полнота позитивной, интуиционистской и минимальной логик относительно классов конечных шкал. Финитная аппроксимируемость и разрешимость. Отсутствие свойства сильной полноты относительно классов конечных шкал. 1.11 Финитная аппроксимируемостью Теорема Харропа. Линейная, полиномиальная и экспоненциальная аппкроксимируемость. Интуиционистская логика не полиномиально аппроксимируема. 1.12 Идея табличного исчисления. Табличное Тисчисление для классической логики. Корректность и полнота. Сведение генценовского исчисления к Т-исчислению. 1.13 Табличное Ti-исчисление для интуиционистской логики. Корректность и полнота. Табличное исчисление как инструмент доказательства разрешимости. 1.14 Исчисление Воробьева-Дыкхова для интуиционистской логики. Корректность и полнота. 1.15 Интерполяция, явная и неявная определимость. Интерполяционное свойство Крейга для классической логики. Свойство Бэта для суперинтуционистский логик. Структурная полнота. Правило Скотта. 1.6 2.1 Введение в модальную логику. Семантика Крипке для нормальных модальных логик. Модальная степень формулы и лемма о порожденной подмодели. Леммы о рморфизмах. 2.2 Свойства бинарных отношений и их выразимость с помощью модальных формул. Невыразимость иррефлексивности. Минимальная нормальная модальная логика K. Канонические модели для нормальных расширений логики K. Теоремы корректности и полноты для K и других нормальных модальных логик. 2.3 Локальное и глобальное отношения следования. Теорема дедукции для К и S4. Метод фильтраций. Наименьшая, наибольшая и транзитивная фильтрации. Финитная аппроксимируемость и разрешимость для К и других нормальных модальных логик. 2.4 Логика Геделя-Леба GL как логика доказуемости арифметики Пеано. Описание класса моделей аксиомы Леба. 2.5 Канонические логики. Неканоничность логики GL. Системы Хинтикки. Выборочная фильтрация. Теорема полноты для GL. 2.6 Аксиома Мак Кинси. Неэлементарность класса ее моделей. Стандартные трансляции модального языка в языки 1-го и 2-го порядков. 2.7 Бисимуляции. Теорема ван Бентама. Вложение интуиционистской логики в S4. Модальные напарники суперинтуиционистских логик. 2.8 Многозначные логики. Трех-значные логики Лукасевича, Клини, Геделя, Приста. Логика RM3. Матрица Бэлнапа и система FDE перво-порядкового следования. 7 9 2 2 7 10 2 2 7 11 2 2 7 12 2 2 7 13 2 2 7 14 2 2 7 15 2 2 7 8 16 1 2 2 8 2 2 2 8 3 2 2 8 4 2 2 8 5 2 2 8 6 2 2 8 7 2 2 8 8 2 2 135 2 Зачет 2.9 Тавтологии и следование, задаваемые логической матрицей. Теорема о нормальной характеристической матрице. Эквациональная логика. 2.10 Свободные алгебры. Подпрямо неразложимые алгебры. Импликативные решетки их свойства и определяющие их тождества. 2.11 Алгебра Гейтинга, j-алгебры и топобулевы алгебры. Дуальный изоморфизмы решеток подмногообразий и решеток логик. Полное описание решетки расширений логики Даммета. 2.12 Типизированное λ-исчисление. λ-исчисление как универсальная модель вычислений. λ-куб. Варианты применения. 2.13 Неклассические логики в современной информатике. Синтаксис и семантика дескриптивной логики ALC. ABox- и TBoxутверждения. Отношение подчиненности понятий. Примеры разрешающих процедур. Дополнительные операторы. 2.14 Пропозициональная динамическая логика: синтаксис и семантика. Теоремы полноты и разрешимости. 2.15 Темпоральные логики. Примеры временных операторов. Логика линейного дискретного времени. 2.16 8 9 2 2 8 10 2 2 8 11 2 2 8 12 2 2 8 13 2 2 8 14 2 2 8 15 2 2 8 16 60 0 60 0 2 4 зачет 5. Образовательные технологии Используется традиционная система обучения, включающая лекции и коллоквиум. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 6. Символическая логика / Под ред. Я.А. Слинина, Э.Ф. Караваева, А.И. Мигунова. – СПб.: Изд-во СПГУ, 2005. 7. Priest G. An introduction to non-classical logics. From If to Is. – Cambridge: Cambridge University Press, 2008. 8. Blackburn P., de Rijke M., Venema Y. Modal Logic. – Cambridge: Cambridge University Press, 2010. б) дополнительная литература: 1. Шкатов Д.П. Модальная логика и модальные фрагменты классической логики. – М.: Институт философии РАН, 2008. 2. Odintsov S.P. Constructive negations and paraconsitency. – Dordrecht: Springer, 2008. 3. Galatos N., Jipsen P., Kowalski T., Ono H. Residuated lattices: an algebraic glimpse at substrcutral logics. – Amsterdam: Elsevier, 2007. 4. Gabbay D., Maksimova, L. Interpolation and Definability: Modal and Intuitionistic Logics. – Oxford: Oxford University Press, 2005. 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 136 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Параллельные вычислительные методы» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Вшивков Виталий Андреевич, д.ф.-м.н. (подпись) 137 Аннотация рабочей программы Дисциплина «Параллельные вычислительные методы» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Программирования ММФ НГУ. Содержание дисциплины охватывает круг вопросов, связанных с разработкой алгоритмов для решения задач на многопроцессорных ЭВМ, а также с проблематикой организации вычислений на них. Дисциплина нацелена на формирование общекультурных компетенций ОК-6, ОК-8, ОК-11, ОК-12, профессиональных компетенций ПК-12, ПК-20, ПК-21, ПК-25, ПК-29 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, практические занятия, контрольная работа, самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме контрольной работы, промежуточный контроль в форме зачета. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 2 зачетных единиц, 72 академических часа. Программой дисциплины предусмотрены 34 часов лекционных и 18 часов практических занятий, а также 36 часов самостоятельной работы студентов. Остальное время – контроль в форме контрольной и зачета. 138 1. Цели освоения дисциплины Курс ставит своей целью усвоение студентами понятий, связанных с решением задач на многопроцессорных ЭВМ, развивает базовые навыки в распараллеливании существующих алгоритмов и создании параллельных алгоритмов. После успешного освоения материала дисциплины студент будет ориентироваться в методах решения различных задач с помощью параллельных ЭВМ и уметь произвести распараллеливание однопроцессорного алгоритма, оценить его эффективность, реализовать алгоритм на параллельной ЭВМ и доказать правильность полученного численного решения. Работая над материалом дисциплины, обучающиеся получают возможность развивать такие общепредметные умения, обладающие свойством переноса, как практическое применение теоретических основ из университетского курса алгебры и логики, умение программировать на одном из алгоритмических языков, включая средства программирования на параллельных ЭВМ. В первой части курса студенты знакомятся с основными понятиями теории параллельных алгоритмов, с архитектурой современных параллельных ЭВМ и кластеров, изучают простейшие параллельные алгоритмы, а также общие параллельные алгоритмы. Особое внимание уделяется сравнению количества времени, необходимого для решения задач с помощью последовательного и параллельного алгоритмов. В практической части курса даются навыки программирования простейших алгоритмов на кластере университета. Во второй части курса студенты изучают методы распараллеливания алгоритмов для решения задач линейной алгебры, решения уравнений математической физики, быстрое преобразование Фурье, разложение функций по вэйвлетам. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Параллельные вычислительные методы» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина «Параллельные вычислительные методы» опирается на следующие дисциплины данной ООП: Математический анализ (дифференциальное и интегральное исчисления, ряды, преобразование Фурье); Алгебра, геометрия и дискретная математика; Основы работы на ЭВМ (работа в среде Windows); Программирование (навыки реализации алгоритмов на языке С и Fortran). Результаты освоения дисциплины «Параллельные вычислительные методы» используются в следующих дисциплинах данной ООП: Вычислительная практика; Системное и прикладное ПО; Информационные системы. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Параллельные вычислительные методы»: общекультурные компетенции: ОК-6, ОК-8, ОК-11, ОК-12; профессиональные компетенции: ПК-12, ПК-20, ПК-21, ПК-25, ПК-29. В результате освоения дисциплины обучающийся 1) должен иметь представление о теории алгоритмов, о линейной алгебре, об языках программирования, о современных проблемах распараллеливания алгоритмов, об уравнениях математической физики; 2) должен знать: основные параллельные алгоритмы, параллельные алгоритмы сортировки чисел, параллельный алгоритм суммирования чисел с получением частичных сумм, параллельные алгоритмы решения систем линейных алгебраических уравнений, параллельные алгоритмы обращения квадратной матрицы и вычисления определителя, параллельный метод выполнения быстрого преобразования Фурье, параллельные методы решения систем обыкновенных дифференциальных уравнений, параллельные методы решения уравнения Пуассона, параллельные явные и неявные методы решения уравнения теплопроводности; 3) должен уметь создавать простейшие алгоритмы для параллельного решения различных математических задач, контролировать точность полученных результатов, оценивать эффективность созданного алгоритма и параллельной программы. 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 2 зачетные единицы, 72 часа. Самост. работа 1 2 0 2 3 2 2 2 2 3 3 2 0 2 3 4 2 2 2 140 Зачет Лабор. работа 3 Контр. работа Лекция 1.1 Основные понятия теории параллельных алгоритмов. Краткий обзор современных параллельных ЭВМ и кластеров. Пример параллельного алгоритма Левиалди. Пример программы, реализующий алгоритм Левиалди. Пример распараллеливания пузырькового алгоритма сортировки. Пример последовательного и параллельного алгоритмов для решения задачи суммирования чисел. Сравнение количества времени, необходимого для решения задач с помощью последовательного и параллельного алгоритмов 1.2 Алгоритм сортировки Батчера. Определения компаратора, компараторной, сортирующей и объединяющей сетей. Определения битонической последовательности и битонического делителя. Теорема о битоническом делителе. Битонический алгоритм сортировки. Алгоритмы слияния Батчера сортировки Батчера. Время выполнения алгоритма. 1.3 Общие параллельные алгоритмы. Нисходящий и восходящий параллельные алгоритмы. Приведение к общим алгоритмам битонического алгоритма сортировки, алгоритма вычисления частичных сумм, алгоритма перестановки, алгоритма слияния Батчера, операции сдвига данных. 1.4 Алгоритмы линейной алгебры. Матричное умножение. Определение четности перестановки чисел. Свойства определителя матрицы. Определения и свойства векторных и матричных норм. Стандартные векторные нормы. Определения собственных чисел матрицы и собственных векторов и их свойства. Связь определителя матрицы с ее собственными значениями. Неделя семестра Раздел дисциплины Семестр № п/п Виды учебной работы, включая самостоятельную работу студентов и трудоемкость Формы текущего контроля (в часах) успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) 1.5 1.6 1.7 1.8 1.9 Собственные значения подобных и обратных матриц. Эрмитова положительно определенная матрица и ее собственные значения. Вычисление матричных норм. Итерационный метод Якоби. Теорема о сходимости метода Якоби. Скорость сходимости метода. Метод верхней релаксации Якоби и его свойства. Теорема о сходимости метода верхней релаксации. Метод последовательной верхней релаксации. Определения упорядочения и последовательного упорядочения матрицы. Теорема о распараллеливании метода последовательной верхней релаксации. Вычисление оптимального коэффициента релаксации. Связь обнаружения последовательного упорядочения матрицы с задачей раскраски графа. Алгоритм обнаружения последовательного упорядочения матрицы. Схема итераций Ричардсона. Методы степенных рядов. Теорема о степенях нижней треугольной матрицы. Обратная матрица для треугольной матрицы. Алгоритм Пана-Райфа вычисления обратной матрицы. Достаточно хорошая оценка для обратной матрицы. Теорема о сходимости степенного ряда к обратной матрице. Нелинейные задачи. Сжимающее и псевдосжимающее отображения. Решение систем нелинейных уравнений. Метод Ньютона. Метод продолжения. Параллельный алгоритм для вычисления определителя матрицы. След матрицы. 1.10 2.1 Дискретное преобразование Фурье. Определение и основные свойства. Быстрый алгоритм для получения свертки двух последовательностей. Теорема о свойстве степеней главного корня единицы. Теорема об обратном преобразовании Фурье. 2.2 Алгоритм быстрого преобразования Фурье. Идея алгоритма. Определение перемещающей операции. Теорема о полной перемещающей операции. Графическая схема метода. Пример параллельной программы, осуществляющей быстрое преобразование Фурье. Оценка времени выполнения алгоритма на параллельных процессорах. 2.3 Применение быстрого преобразования Фурье. Собственные значения циклических матриц. Алгоритм вычисления. 3.1 Уравнения в частных производных. Эллиптические дифференциальные уравнения. Разностные схемы для линейного и квазилинейного эллиптического уравнения второго порядка. Уравнение Пуассона. Обусловленность системы линейных алгебраических уравнений, возникающей при аппроксимации уравнения 3 5 2 0 2 3 6 2 2 2 3 7 2 0 2 3 8 2 2 2 3 9 2 0 2 3 3 10 11 2 2 0 2 2 3 12 2 2 2 3 13 2 0 2 3 14 2 2 2 141 2 контрольная, см. п. 6 Пуассона. Прямые и итерационные методы решения уравнения Пуассона. Реализация неявных схем для уравнения Пуассона. Красно-черное упорядочивание. 3.2 Разностные схемы для параболического 3 уравнения. Итерационные методы для решения линейных разностных уравнений. Явный чебышевский метод. Метод верхней релаксации. Метод верхней релаксации при красно-черном упорядочении неизвестных. Итерационный метод для решения квазилинейных разностных уравнений. Двухступенчатый итерационный метод. 3.3 Неявная схема. Экономичные разностные 3 схемы. Распараллеливание прогонки. 4.1 Разложение по вэйвлетам. Предпосылки для 3 разложения по элементарным волнам. Разложение функции в ряд по элементарным волнам. Основная элементарная волна и масштабирующая функция. Условия ортогональности элементарных волн. Уравнение расширения. Определяющие коэффициенты системы элементарных волн. Условия ортогональности и гладкости. Элементарные волны W2 и W4 . 4.2 Дискретное разложение по элементарным 3 волнам. Свойства коэффициентов разложения. Вычисление коэффициентов разложения. Гипотеза замыкания коэффициентов ряда. Описание параллельного алгоритма. Пример разложения. Обратное преобразование функции по элементарным волнам. Алгоритм обратного преобразования. 3 15 2 0 2 16 2 2 2 17 2 0 2 18 2 2 2 34 18 36 19 2 2 Зачет 2 5. Образовательные технологии Используется традиционные лекционно-практическая форма обучения, в которой практические занятия проходят с использованием кластера НГУ. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины Используются задания, приведенные в [1] из раздела 7.б «Дополнительная литература и Интернет-ресурсы». 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Мультипроцессорные системы и параллельные вычисления. – М.: Мир, 1976. 2. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. – М.: Мир, 1979. 3. Валях Е. Последовательно-параллельные вычисления. – М.: Мир, 1985. 4. Хокни Р., Джессхоуп К. Параллельные ЭВМ. Архитектура, программирование и алгоритмы. – М.: Радио и связь, 1986. 142 5. Высокоскоростные вычисления. Архитектура, производительность, прикладные алгоритмы и программы суперЭВМ. – М.: Радио и связь, 1988. 6. Ортега Дж. Введение в параллельные и векторные методы решения линейных систем. – М.: Мир, 1991. 7. Молчанов И.Н. Введение в алгоритмы параллельных вычислений 8. Смит Ж.Р. Проектирование и анализ параллельных алгоритмов. Оксфорд, 1993. б) дополнительная литература и Интернет-ресурсы: 1. Высокопроизводительные вычисления на кластерах. Учебное пособие. Изд-во Томского университета, 2008. – url: http://skif.tsu.ru/lit/parallel.pdf. 8. Материально-техническое обеспечение дисциплины Кластер НГУ. Программное обеспечение в терминальных классах. 143 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Моделирование случайных процессов» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Пригарин Сергей Михайлович, д.ф.-м.н. (подпись) 144 Аннотация рабочей программы Дисциплина «Моделирование случайных процессов» предназначена для изучения математических методов и численных алгоритмов моделирования случайных величин, процессов и полей. Основной целью дисциплины является овладение знаниями и приобретение навыков для разработки численных методов и алгоритмов моделирования на ЭВМ различных классов случайных процессов, для исследования свойств моделирующих алгоритмов и для построения математических моделей реальных объектов и явлений с заданными вероятностными свойствами. Дисциплина нацелена на формирование общекультурных компетенций ОК-6, ОК-8, ОК-11, ОК-12, профессиональных компетенций ПК-12, ПК-20, ПК-21, ПК-25, ПК-29 выпускника. Преподавание дисциплины предусматривает организацию учебного процесса в форме лекций. Программой дисциплины предусмотрен рубежный контроль в форме экзамена. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 72 академических часа. Программой дисциплины предусмотрены 36 лекционных часов. 145 1. Цели освоения дисциплины Основной целью дисциплины является овладение знаниями и приобретение навыков для разработки численных методов и алгоритмов моделирования на ЭВМ различных классов случайных процессов, для исследования свойств моделирующих алгоритмов и для построения математических моделей реальных объектов и явлений с заданными вероятностными свойствами. При решении практических задач возникает необходимость в разработке новых и модификации существующих алгоритмов применительно к рассматриваемому процессу или объекту. Студенты должны научиться разрабатывать новые алгоритмы моделирования случайных процессов для реальных задач, разрабатывать соответствующие компьютерные программы и проводить численные эксперименты с помощью моделей. Для достижения поставленной цели выделяются задачи курса: 1) изучение теоретической части курса в соответствии с программой 2) решение цикла задач по курсу в соответствии с программой 3) сдача экзамена в соответствии с учебным планом. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Моделирование случайных процессов» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина опирается на следующие дисциплины данной ООП: Теория вероятностей; Математическая статистика; Теория случайных процессов; Методы Монте-Карло. Результаты освоения дисциплины используются в следующих дисциплинах данной ООП: Вычислительная математика; Вычислительная практика. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины: общекультурные компетенции: ОК-6, ОК-8, ОК-11, ОК-12; профессиональные компетенции: ПК-12, ПК-20, ПК-21, ПК-25, ПК-29. По окончании изучения указанной дисциплины студент должен: иметь представление о месте и роли изучаемой дисциплины среди других наук; знать содержание программы курса; знать и уметь применять основные математические методы для численного моделирования случайных процессов и полей с заданными характеристиками; уметь анализировать свойства стохастических алгоритмов; уметь применять методы и алгоритмы численного моделирования случайных процессов и полей для построения стохастических моделей реальных процессов; уметь разрабатывать компьютерные программы и проводить численные эксперименты по использованию алгоритмов и моделей. Раздел дисциплины Неделя семестра № п/п Семестр 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 72 академических часа. 146 Виды учебной работы, Формы текущего контроля включая самостоятельную успеваемости работу студентов и (по неделям семестра) трудоемкость Форма промежуточной (в часах) аттестации Самост. работа 1 2 0 0 1 2-4 8 0 0 1 5-6 4 0 0 1 7-8 4 0 0 1 9-10 4 0 0 1 11 2 0 0 1 1214 6 0 0 1 1518 6 0 0 2 1-2 6 0 0 2 3-4 4 2 5-6 4 0 0 2 7-8 4 0 0 147 Зачет Лабор. работа 1 Контр. работа Лекция 1.1 Введение. Пуассоновский и винеровский процессы и методы их моделирования. 1.2 Моделирование гауссовских векторов. Общие соотношения, условные гауссовские распределения. Классы процессов, описываемых теплицевыми и блочнотеплицевыми ковариационными матрицами. Метод условных математических ожиданий. Моделирование гауссовских векторов с корреляционными матрицами теплицева вида. Вопросы регуляризации алгоритмов. Контроль точности. 1.3 Моделирование стационарных авторегрессионных процессов с заданной корреляционной структурой. 1.4 Моделирование стационарных гауссовских векторных последовательностей ограниченной длины. Моделирование некоторых классов нестационарных процессов и неоднородных полей. Периодически коррелированные процессы. Приближенные модели нестационарных процессов и неоднородных полей. Стохастическая интерполяция стационарных и нестационарных процессов. Примеры практического использования. 1.5 Алгоритмы моделирования пространственных полей дискретного аргумента с заданной корреляционной структурой. 1.6 Модели скользящего среднего для гауссовских процессов и полей дискретного аргумента. 1.7 Алгоритмы моделирования случайных процессов с использованием различных классов точечных потоков. 1.8 Методы построения стохастических моделей реальных процессов с использованием реальной информации. 2.1 Спектральные модели гауссовских стационарных процессов и однородных полей, принципы построения спектральных моделей, рандомизация спектра. 2.2 Спектральные модели скалярных и векторных полей. Применение спектральных моделей для имитации полей облачности и поверхности морского волнения. 2.3 Моделирование условно распределенных гауссовских процессов и полей. Точные и приближенные алгоритмы. 2.4 Интерполяция гауссовских стационарных процессов и однородных полей. (по семестрам) 2 2.5 Моделирование негауссовских процессов и полей. Метод обратной функции распределения, искажение корреляций. 2..6 Модификации метода обратных функций применительно к моделированию специальных классов случайных процессов и полей. 2.7 Методы на основе стохастических дифференциальных уравнений. Некоторые классы кусочно-постоянных негауссовских случайных процессов и полей. Примеры построения вероятностных моделей реальных негауссовских процессов и полей 2.8 Дополнительный обзор стохастических моделей. Использование схемы авторегрессии для моделирования векторных процессов и полей. Моделирование комплексов процессов и полей, примеры построения вероятностных моделей комплексов реальных процессов. Методы численного моделирования фракталов. Каскадная модель и ее применение в физике 2 9-10 6 0 0 2 1112 4 2 1314 6 0 0 2 1516 2 0 0 2 36 0 32 4 Экзамен 5. Образовательные технологии Лекции. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины Методическое пособие [4,5] из раздела 7.а «Основная литература». 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Михайлов Г.А., Войтишек А.В. Численное статистическое моделирование. Методы Монте-Карло. – М.: Издательский центр «Академия», 2006. 2. Пригарин С.М. Методы численного моделирования случайных процессов и полей. – Новосибирск, 2005. 3. V.A. Ogorodnikov and S.M. Prigarin, Numerical Modelling of Random Processes and Fields: Algorithms and Applications / VSP, Utrecht, the Netherlands, 1996. 4. Огородников В.А., Пригарин С.М. Основы численного моделирования случайных процессов и полей. Методические указания к курсу «Моделирование случайных процессов и полей». Выпуск 1, Схемы авторегрессии и скользящего среднего. – Издательство Новосибирского госуниверситета, 1996. 5. Пригарин С.М. Введение в численное моделирование случайных процессов и полей. Учебное пособие. – Новосибирск: НГУ, 1999. б) дополнительная литература: 1. Андерсон Т. Статистический анализ временных рядов. – М.: Мир, 1976. 2. Белышев А.П., Клеванцов Ю.П., Рожков В.А. Вероятностный анализ морских течений. – Л.: Гидрометеоиздат, 1983. 3. Воеводин В.В., Тыртышников Е.Е. Вычислительные процессы с теплицевыми матрицами, – М.: Наука, 1987. 148 4. Кашьяп Р.Л., Рао А.Р. Построение динамических стохастических моделей по экспериментальным данным. – М.: Наука, 1983. 5. Марченко А.С., Огородников В.А. Моделирование стационарных гауссовских последовательностей большой длины с произвольной корреляционной функцией // Журн. вычисл. математики и матем. физики, 1984. – Т. 24, – № 10. – С. 1514-1519. 6. Михайлов Г.А. Оптимизация весовых методов Монте-Карло. – М: Наука, 1986. 7. Пиранашвили З.А. Некоторые вопросы статистико-вероятностного моделирования случайных процессов // Вопросы исследования операций. – Тбилиси, 1966. – С. 5391. 8. Протасов А.В., Огородников В.А. Динамико-вероятностное моделирование климатического переноса примеси в локальной области // Оптика атмосферы и океана, 2004. – Т. 17, № 05-06, с. 494-497. 9. Ogorodnikov V.A., Ukhinova O.S. Special algorithms of stochastic modeling of hydrometeorological processes and non-homogeneous fields // Russian journal of numerical analysis and mathematical modelling, 21 (2006), No. 3, pp. 219-235. 10. V.A.Ogorodnikov, L.Ya.Savel'ev, O.V.Sereseva "Numerical stochastic models of piecewise-linear random processes"// Russian journal of numerical analysis and mathematical modelling, 22 (2007), No. 5, pp.505-514. 11. Белов С.Д., Ломакин С.В., Огородников В.А., Пригарин С.М., Родионов А.С., Чубаров Л.Б. Анализ и моделирование трафика в высокопроизводительных компьютерных сетях // Вестник НГУ. Серия информационных технологий. – Том 6, – Вып. 2, 2008. стр 41-49. 12. V.A.Ogorodnikov, E.A.Khlebnikova and S.S.Kosyak. Numerical stochastic simulation of joint non-Gaussian meteorological series // Russian journal of numerical analysis and mathematical modelling. 24 (2009), No. 5, pp. 467-480. б) программное обеспечение и Интернет-ресурсы: 1. Пригарин С.М. Методические указания к курсу "Моделирование случайных процессов и полей", читаемому на кафедре вычислительной математики ММФ НГУ (http://osmf.sscc.ru/~smp/k.htm). 8. Материально-техническое обеспечение дисциплины Персональный компьютер 149 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Дополнительные сведения о численном моделировании случайных элементов» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Войтишек Антон Вацлавович, д.ф.-м.н. (подпись) 150 Аннотация рабочей программы Дисциплина «Дополнительные сведения о численном моделировании случайных элементов» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Вычислительной математики ММФ НГУ. Содержание дисциплины охватывает круг вопросов, связанных с разработкой и оптимизацией алгоритмов численной реализации (моделирования) выборочных значений случайных величин и векторов. Умение эффективно моделировать случайные элементы является ключевым для специалистов, занимающихся теорией и приложениями алгоритмов численного статистического моделирования. Эти алгоритмы находят широкое применение при решении задач математической физики и индустриальной математики, а также при численном моделировании случайных процессов и полей в метеорологии, экологии, биологии, физхимии и др. на основе использования многопроцессорных ЭВМ. Курс включает современные научные разработки (в том числе, результаты автора – проф. А.В. Войтишека и руководимой им научной группы) по представляемой тематике. Преподавание дисциплины предусматривает лекционную форму представления учебного материала. Контроль знаний осуществляется в виде экзамена. Общая трудоемкость дисциплины составляет 2 зачетные единицы, 72 академических часа, из которых 36 лекционных. 151 1. Цели освоения дисциплины Курс ставит своей целью освоение студентами, дипломные проекты которых связаны с теорией и приложениями алгоритмов численного статистического моделирования (методов Монте-Карло), современных технологий численной реализации (моделирования) выборочных значений случайных величин и векторов. Методы МонтеКарло находят широкое применение при решении задач математической физики и индустриальной математики, а также при численном моделировании случайных процессов и полей в метеорологии, экологии, биологии, физхимии и др., на основе использования многопроцессорных ЭВМ. Численная реализация выборочных значений случайных элементов состоит из двух этапов: 1) численно моделируются значения 1 ,..., k стандартного случайного числа , равномерно распределенного в интервале ( 0 ,1 ) , с помощью специальной программы или устройства, которое называется генератором случайных (псевдослучайных) чисел; 2) с помощью некоторых преобразований полученных чисел { j } вычисляются значения случайных величин с более сложными законами распределения. В связи с этим первый раздел курса посвящен вопросам построения генераторов стандартных случайных чисел. Далее последовательно рассматриваются вопросы моделирования дискретных случайных величин (стандартный алгоритм и его модификации – квантильный метод, метод Уолкера и др.), непрерывных случайных величин (метод обратной функции распределения, метод суперпозиции, метод исключения, специальные методы), случайных векторов. Следует особо отметить наличие в курсе описания комбинированных дискретно-стохастических методов моделирования случайных элементов, связанных, в частности, с приближением вероятностных плотностей и использованием «моделируемых базисов», эффективных методов моделирования дискретных случайных величин и метода дискретной суперпозиции. Эта часть курса отражает современные научные разработки (включая достижения автора – проф. А.В.Войтишека и руководимой им научной группы) по представляемой тематике. Следует также отметить, что в пособии представлены разработанные автором курса технологии построения «моделируемых» распределений, позволяющие создавать по сути неограниченные наборы вероятностных распределений (одномерных и многомерных), для которых существуют эффективные численные алгоритмы получения соответствующих выборочных значений. Эти распределения могут быть использованы в приложениях метода Монте-Карло. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Дополнительные сведения о численном моделировании случайных элементов» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина опирается на следующие дисциплины данной ООП: Математический анализ; Функциональный анализ; Методы вычислений; Теория вероятностей и стохастический анализ. Результаты освоения дисциплины могут быть использованы студентами при реализации дипломных проектов, а также в дальнейшей учебной и научной деятельности, связанной с применением методов численного статистического моделирования. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Дополнительные сведения о численном моделировании случайных элементов»: общекультурные компетенции: ОК-6, ОК-8, ОК-11, ОК-12; профессиональные компетенции: ПК-12, ПК-20, ПК-21, ПК-25, ПК-29. В результате освоения дисциплины обучающийся должен: знать современные теоретические основы построения эффективных алгоритмов метода Монте-Карло для численного моделирования случайных величин и векторов; уметь выводить численные моделирующие формулы для случайных величин, оценивать их трудоемкость; владеть основными приемами конструирования моделируемых распределений случайных элементов. 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 2 зачетные единицы, 72 часа. 2 4 7 4 2 1 7 5 2 1 7 6-7 4 2 7 8-12 10 5 7 7 13 14-15 2 4 1 2 7 16-17 4 2 7 18 2 1 7 19 36 Экзамен 1 2-3 Самостоят. работа студентов 7 7 1.1 Свойства стандартных случайных величин 1.2 Метод вычетов и его свойства. Тестирование генераторов стандартных случайных чисел 2.1 Стандартный алгоритм моделирования дискретных случайных величин 2.2 Равномерное дискретное распределение. Квантильный метод. Метод Уолкера. Специальные методы 3.1 Метод обратной функции распределения. Элементарные плотности их конструирование 3.2 Моделирование случайных векторов. Метод суперпозиции. Метод исключения. Конструирование моделируемых плотностей 4.1 Моделируемые аппроксимационные базисы 4.2 Аппроксимации Стренга-Фикса и Бернштейна 5.1 Специальные методы моделирования случайных величин. Моделирование гамма- и бетараспределений 5.2 Моделирование нормального распределения и смежные вопросы Лекции Неделя семестра Раздел дисциплины Семестр № п/п Виды учебной работы, включая самостоятельную работу студентов и трудоемкость Формы текущего (в часах) контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) 1 2 32 4 Экзамен 4 5. Образовательные технологии В основе реализации курса лежит традиционная лекционная форма представления материала. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины 6.1 КОНТРОЛЬНЫЕ ВОПРОСЫ 1. Свойства стандартных случайных чисел. 2. Равномерность и корреляция соседних членов последовательности метода вычетов. 3. Свойство периодичности и тестирование метода вычетов. 153 4. Оптимизация стандартного метода моделирования дискретных случайных величин. 5. Использование алгоритма моделирования равномерного дискретного распределения. 6. Квантильный метод. 7. Специальные методы моделирования дискретных случайных величин (на примере геометрического распределения). 8. Элементарные распределения непрерывных случайных величин. 9. Моделирование случайных величин, имеющих составные плотности распределения. 10. Построение элементарных плотностей. 11. Построение моделируемых плотностей двумерных случайных векторов с зависимыми компонентами. 12. Построение плотностей случайных величин, при моделировании которых целесообразно использовать методы суперпозиции. 13. Модифицированный метод суперпозиции. 14. Метод суперпозиции для составных плотностей. 15. Построение плотностей случайных величин, при моделировании которых целесообразно использовать мажорантный метод исключения. 16. Двусторонний метод исключения. Моделирование усеченных распределений. 17. Применение полиномиальных и кусочно-полиномиальных плотностей. 18. Моделируемость аппроксимации Стренга-Фикса. 19. Моделируемость аппроксимации Бернштейна. 20. Моделирование полиномиального распределения. 21. Моделирование гамма-распределения. 22. Моделирование бета-распределения. 23. Моделирование нормального распределения. 24. Моделирование изотропного вектора. 7. Учебно-методическое обеспечение дисциплины а) основная литература: 1. Войтишек А.В. Дополнительные сведения о численном моделировании случайных элементов. – Новосибирск: НГУ, 2007. б) дополнительная литература: 1. Михайлов Г.А., Войтишек А.В. Статистическое моделирование. Методы МонтеКарло. – М.: Изд. центр «Академия», 2006. 2. Войтишек А.В. Символьные и численные расчеты в физических приложениях. Основы метода Монте-Карло. – Новосибирск: НГУ, 2006. 3. Войтишек А.В. Дискретно-стохастические модификации метода Монте-Карло. – Новосибирск: НГУ, 2009. 8. Материально-техническое обеспечение дисциплины 154 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Анализ данных и распознавание образов» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Кельманов Александр Васильевич, д.ф.-м.н. (подпись) 155 Аннотация рабочей программы Дисциплина «Анализ данных и распознавание образов» (АДРО) входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механикоматематическом факультете Новосибирского государственного университета кафедрой Теоретической кибернетики ММФ НГУ. Содержание дисциплины охватывает круг вопросов, связанных с изучением принципов, моделей, методов, техники, аппарата и алгоритм решения задач в области анализа данных и распознавания образов. Дисциплина нацелена на формирование общекультурных компетенций ОК-6 – ОК8, ОК-10 – ОК-14, ОК-16, профессиональных компетенций ПК-1, ПК-7 – ПК-9, ПК-12, ПК14, ПК-17, ПК-18, ПК-20 – ПК-22, ПК-25, ПК-27, ПК-29 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции и самостоятельная работа студента. Программой дисциплины предусмотрен экзамен. Общая трудоемкость дисциплины составляет 3 зачетные единицы, 108 академических часов (из них 54 аудиторных). Программой дисциплины предусмотрены 36 лекционных часов и 18 часов самостоятельной работы студента. Остальное время – контроль в форме экзамена. 156 1. Цели освоения дисциплины Целью преподавания курса является овладение студентами базовыми знаниями – основными принципами, моделями, методами, техникой, аппаратом и алгоритмами решения задач в области анализа данных и распознавания образов, – необходимыми для самостоятельной работы в научно-исследовательской, технической и производственной сферах будущей деятельности. Задачами курса являются получение студентами: знаний об основных принципах, моделях и задачах анализа данных и распознавания образов, а также методах и алгоритмах их решения; навыков по построению моделей, анализу комбинаторной сложности и решению математических задач, к которым сводятся типовые проблемы в области анализа данных и распознавания образов. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Анализ данных и распознавание образов» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина опирается на следующие дисциплины данной ООП: Математический анализ; Теория вероятностей и математическая статистика; Теория алгоритмов; Программирование; Методы оптимизации (математическое программирование). Результаты освоения дисциплины используются в научно-исследовательской практике и при написании выпускной квалификационной работы. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины: общекультурные компетенции: ОК-6 – ОК-8, ОК-10 – ОК-14, ОК-16; профессиональные компетенции: ПК-1, ПК-7 – ПК-9, ПК-12, ПК-14, ПК-17, ПК-18, ПК-20 – ПК-22, ПК-25, ПК-27, ПК-29. В результате освоения дисциплины обучающийся должен: иметь представление о месте и роли изучаемой дисциплины среди других наук; освоить содержание программы курса, формулировки задач, уметь анализировать входные данные задачи; иметь представление об условиях применимости и о характеристиках методов решения задач анализа данных и распознавания образов; уметь определять применимость конкретных методов для решения различных классов задач анализа данных и распознавания образов. 157 Зачет Семнарские занятия Самост. работа Контр. работа Виды учебной работы, включая самостоятельную работу Формы текущего студентов и контроля трудоемкость успеваемости (по (в часах) неделям семестра) Форма промежуточной аттестации (по семестрам) Лекция Раздел дисциплины Неделя семестра № п/п Семестр 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 3 зачетные единицы, 108 часов. 1 Введение в дисциплину и основные понятия. Анализ данных и распознавание образов: методологические аспекты. Объект, предмет и цели научной дисциплины. Базовые понятия. Основная содержательная проблема и ее типовые варианты. Примеры содержательных задач. Основные этапы и техника решения задач анализа данных и распознавания образов 2 Классические модели анализа данных и распознавания образов. Критерии «похожести», критерии принятия решения; решающие функции, целевые функции, разделяющие гиперповерхности. Модели Неймана-Пирсона, Байеса, максимального правдоподобия; минимаксная модель. 3 Модели и задачи кластерного анализа и поиска подмножеств. Поиск подмножества векторов, «похожих» по критериям минимума суммы квадратов уклонений и максимального правдоподобия. Разбиение множества векторов по критериям минимума суммы квадратов уклонений и максимального правдоподобия. Разновидности задачи разбиения. Проблема кластеризации структурированных данных. Кластеризация структурированных векторных последовательностей. Разбиение по минимаксному критерию, критериям Неймана-Пирсона и Байеса. 4 Модели и задачи принятия решения об обнаруживаемом и распознаваемом объекте. Проблема анализа и распознавания структурированных данных и объектов. Задачи обнаружения повторяющегося вектора в числовой последовательности. Задачи распознавания последовательности, включающей квазипериодически повторяющийся вектор-фрагмент из алфавита. Задачи совместного обнаружения и идентификации векторов в числовой последовательности. Задачи обнаружения в числовой последовательности повторяющегося вектора при наличии посторонних вектороввставок. Задачи обнаружения и идентификации повторяющегося набора векторов. Задачи разбиения последовательности векторов на участки, включающие серии идентичных векторов. Задачи распознавания алфавита векторов, порождающего последовательности. 5 Модели и задачи поиска подмножеств значимых признаков. Основные подходы к решению проблемы. Постановки типовых задач. 1 1 4 2 2 1 3 4 2 2 1 5 10 5 5 1 11 14 7 7 1 18 4 2 2 36 18 18 36 Экзамен 36 5. Образовательные технологии Преподавание дисциплины предусматривает лекции и семинарские занятия. На семинарах проводится обсуждение лекционного материала и прикладных аспектов в задачах распознавания образов. 158 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины Экзаменационные вопросы совпадают с подтемами лекций. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Гимади Э.Х., Глебов Н.И. Математические модели и методы принятия решений. Учебное пособие. – Новосибирск: Изд-во НГУ, 2008. 2. Гэри М., Джонсон Д. Вычислительные машины и трудно-решаемые задачи: Пер. с англ. – М: Мир, 1982. 3. Пападимитриу Х., Стайглиц К. Комбинаторная оптимизация. Алгоритмы и сложность: Пер. с англ. – М.: Мир, 1985. 4. Фукунага К. Введение в статистическую теорию распознавания образов. – М.: Наука, 1979. 5. Дуда Р., Харт П. Распознавание образов и анализ сцен. – М.: Мир, 1976. б) дополнительная литература: 1. Глебов Н.И., Кочетов Ю.А., Плясунов А.В. Методы оптимизации. Учебное пособие. – Новосибирск: Изд-во НГУ, 2000. 2. Ерзин А.И. Введение в исследование операций. Учебное пособие. – Новосибирск: Изд-во НГУ, 2006. 3. Alexander Schrijver. A Course in Combinatorial Optimization / Department of Mathematics. University of Amsterdam. Netherland, 2008. 4. Alexander Schrijver. Combinatorial Optimization. Polyhedra and Efficiency. – Berlin: Springer. 2002. 5. Ту Дж., Гонсалес Р. Принципы распознавания образов. – М.: Мир, 1978. 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 159 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Введение в биоинформатику» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Деменков Павел Сергеевич, к.т.н. (подпись) Аннотация рабочей программы Дисциплина «Введение в биоинформатику» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Дискретной математики и информатики ММФ НГУ. Содержание дисциплины охватывает круг вопросов, связанных с математическими методами, используемыми для анализа различных биологических данных. Дисциплина нацелена на формирование общекультурных компетенций ОК-6, ОК-8, ОК-11, ОК-12, профессиональных компетенций ПК-12, ПК-20, ПК-21, ПК-25, ПК-29 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме контрольной работы, промежуточный контроль в форме зачета. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 2 зачетные единицы, 72 академических часа. Программой дисциплины предусмотрены 32 часа лекций и самостоятельная работа студентов. Остальное время – контроль в форме контрольной и зачета. 161 1. Цели освоения дисциплины Курс ставит своей целью усвоение студентами знаний, необходимых для создания, анализа и применения математических моделей и методов, возникающих при решении прикладных задач в областях информатики, связанных с биологией и искусственным интеллектом. Данный курс знакомит студентов с основными тремя уровнями организации биологических систем (i) молекулярно-генетический, (ii) организменный, (iii) популяционный и экосистемный). Студенты, обладающие базовыми знаниями математического и функционального анализа, теории вероятностей и математической статистики, познакомятся с широко распространенными в настоящее время математическими методами анализа данных. В рамках курса изучат методы на основе искусственных нейронных сетей, скрытых марковских моделях, байесовских сетей, генетических алгоритмов и метода опорных векторов, используемых для решения задач распознавания образов и классификации, задач кластеризации, прогнозирования и аппроксимации. Студентам будут представлены примеры использования этих методов в области биологии. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Введение в биоинформатику» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина опирается на следующие дисциплины данной ООП: Математическая логика (формализация методов рассуждений, логические связки, аксиоматические модели); Теория алгоритмов (понятие временной сложности алгоритма); Основы работы на ЭВМ (работа в среде Windows); Теория вероятностей и математическая статистика; Математический анализ; Функциональный анализ. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины: общекультурные компетенции: ОК-6, ОК-8, ОК-11, ОК-12; профессиональные компетенции: ПК-12, ПК-20, ПК-21, ПК-25, ПК-29. В результате освоения дисциплины обучающийся должен: знать основные понятия информационной биологии; уметь анализировать биологическую информацию статистическими, эвристическими методами и методами искусственного интелекта; обладать знаниями для выбора адекватных методов анализа имеющейся информации; Раздел дисциплины Виды учебной работы, Формы текущего включая контроля самостоятельную работу успеваемости (по студентов и неделям трудоемкость семестра)Форма промежуточной (в часах) Неделя семестра № п/п Семестр 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 2 зачетные единицы, 72 часа. Введение в информационную биологию. Три уровня организации биологических систем ((i) молекулярно-генетический, (ii) организменный, (iii) популяционный и экосистемный) – предмет исследований информационной биологии. 2. Математический аппарат нейронных сетей. Структура и алгоритм работы нейронной сети с обратным распространением ошибки. Самоорганизующиеся карты. Ассоциативная память. 3. Байесовкие статистики. Максимально правдоподобная гипотеза. Наивный классификатор Байеса. Байесовские сети. 4. Скрытые Марковские модели (СММ). Три основных задачи СММ. Forward-Backward алгоритм. Алгоритм Витерби. Алгоритм Баума-Уэлша. 5. Генетический алгоритм. Схема генетического алгоритма. Размер популяции. Теорема схем. 6. Метод опорных векторов (SVM). Задача классификации. Линейно разделяемая выборка. Ядра и спрямляющие пространства. Алгоритм настройки SVM 7. Компьютерная протеомика. Задачи компьютерной протеомики. Информационные ресурсы протеомики 8. Предсказание вторичной структуры белка. Предсказание пространственной структуры белков 9. Выравнивание последовательностей. Алгоритм BLAST быстрого поиска локального сходства. Наиболее распространенные алгоритмы множественного выравнивания: их особенности, преимущества и недостатки. 10. Белок-белковые взаимодействия. Виды взаимодействия белков. Методы предсказания белок-белковых взаимодействий 11. Распознавание функциональных сайтов в первичных и пространственных структурах белков. Сложности предсказания функции по гомологии. 12. Анализ слабоструктурированных данных. Методы анализа текстов (Text-mining). Классификация документов. Распознавание имен в текстах. Перспективы развития технологии Text-mining 6 1 2 0 0 6 2-3 4 0 0 6 4-5 4 0 0 6 6-7 4 0 0 6 8 2 0 0 6 9-10 4 0 0 6 11 2 0 0 6 12 2 0 0 6 13 2 0 0 6 14 2 0 0 6 15 2 0 0 6 16 2 0 0 6 13 0 2 32 36 0 Зачет Лабор. работа Самост. работа Контр. работа Лекция 1. аттестации (по семестрам) 4 Зачет 72 5. Образовательные технологии Используется традиционная лекционно-семинарская система 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины 7. Учебно-методическое и информационное обеспечение дисциплины 163 а) основная литература: 1. Bioinformatics of genome regulation and structure. Ed. by N.Kolchanov and R. Hofestaedt, Kluwer Academic Publishers, Boston/Dordrecht/London, 2004. 2. Общая биология. М. Научный центр. 2001. Под ред. Л. В. Высоцкой и др. 3. Общая биология.10-11 кл. Под редакцией В. К. Шумного, Г.М. Дымшица и А. О. Рувинского. Москва. Просвещение. 2001г 4. Системная компьютерная биология. Отв. Ред. Н.А. Колчанов, С.С, Гончаров, В.А. Лихошвай, В.А. Иванисенко – Новосибирск: Изд-во СО РАН, 2008. – 769с. 5. Carey M., Smale S.T. Transcriptional regulation in eukariotes. N-Y. Cold Spring Harbor Laboratory Press, 2000.-640p. 6. Mount D.W. Bioinformatics: Sequence and Genome Analysis. Cold Spring Harbor Laboratory Press 2001. 7. Bioinformatics of genome regulation and structure. Ed. by N.Kolchanov and R. Hofestaedt, Kluwer Academic Publishers, Boston/Dordrecht/London, 2004. 8. Глик Б., Пастернак Дж. Молекулярная биотехнология. Принципы и применение. Москва. Мир.2002 г. 9. Крутецкая З.И., Лебедев О. Е., Курилова Л.С. Механизмы внутриклеточной сигнализации. // Монография. – СПб 2003 208 с. 10. VapnikV.,ChapelleO. Bounds on error expectation for support vector machines // Neural Computation. – 2000. – Vol.12,no.9. Pp.2013–2036. 11. Роберт Каллан Основные концепции нейронных сетей The Essence of Neural Networks First Edition. — 1-е. — «Вильямс», 2001. — С. 288. 12. Романовский И.В. Дискретный анализ: Учебное пособие для студентов, 3-е изд. — СПб: Невский Диалект; БХВ Петербург, 2003. б) дополнительная литература: 1. Scheinberg K. An efficient implementation of an active set method for svms// J. Mach. Learn. Res. – 2006. – Vol.7. Pp.2237–2257. 2. Таха, Хэмди А. Введение в исследование операций, 6-е изд. — М.: Издательский дом «Вильямс», 2001. 3. Вернер М. Основы кодирования. Учебник для ВУЗов. — М.: Техносфера, 2004. 4. Молекулярная биология. Т.35. № 4. 2001(весь журнал посвящен биосинтезу белка) 5. Mount D.W. Bioinformatics: Sequence and Genome Analysis. Cold Spring Harbor Laboratory Press 2001. 6. Philip E. Bourne, Helge Weissig. Structural Bioinformatics. Wiley-Liss, 2003 7. Baxevanis A.D., B. F. Francis Oulette. Bioinformatics: A Practical Guide to the Analysis of Genes and Proteins. Second Edition. Wiley-Interscience, 2001. в) программное обеспечение и Интернет-ресурсы: 1. Курсы лекций на сайте Кафедры Информационной биологии. http://www.bionet.nsc.ru/chair/cib/ 2. Курсы Интернет университета информационных технологий. – url: http://www.intuit.ru. 3. Финкельштейн А.В. Введение в физику белка. http://phys.protres.ru/lectures/protein_physics/ 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 164 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Микропроцессорные системы» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Глинский Борис Михайлович, д.т.н. (подпись) Аннотация рабочей программы Дисциплина «Микропроцессорные системы» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Вычислительных систем ММФ НГУ. Содержание дисциплины охватывает круг вопросов, связанных с элементной базой и архитектурой современных кластерных суперкомпьютеров, ориентированных на высокопроизводительные вычисления. Дисциплина нацелена на формирование общекультурных компетенций ОК-6, ОК-8, ОК-11, ОК-12, профессиональных компетенций ПК-12, ПК-20, ПК-21, ПК-25, ПК-29 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, практика в Сибирском Суперкомпьютерном Центре СО РАН, самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: экзамен. промежуточный контроль в форме зачета. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 2 зачетные единицы. Программой дисциплины предусмотрены 30 часа лекционных, а также 32 часов самостоятельной работы студентов. 166 1. Цели освоения дисциплины Курс ставит своей целью: изучение архитектуры, интерфейсов и организации памяти современных микропроцессоров; знакомство с принципами построения современных блейд-серверов; коммуникационных технологий, применяемых для построения кластерных вычислительных систем; знакомство с основами и способами организации высокопроизводительных вычислительных систем. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Микропроцессорные системы» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина «Микропроцессорные системы» опирается на следующие дисциплины данной ООП: Математическая логика (Булева алгебра); Основы работы на ЭВМ (работа в среде Linux); Программирование (принципы проектирования языков программирования высокого уровня). Результаты освоения дисциплины используются в следующих дисциплинах данной ООП: Теория параллельных систем и процессов; Введение в параллельное программирование; Методы параллельных вычислений; Информационные системы. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины: общекультурные компетенции: ОК-6, ОК-8, ОК-11, ОК-12; профессиональные компетенции: ПК-12, ПК-20, ПК-21, ПК-25, ПК-29. В результате освоения дисциплины обучающийся должен: знать место и роль изучаемой дисциплины среди других наук; особенности архитектуры современных микропроцессоров; характеристики и возможности микропроцессоров, применяемых при построении вычислительных узлов; принципы организации современных коммуникационных технологий основные понятия об организации и функционировании высокопроизводительных суперЭВМ, в том числе и кластерных систем. 1.1 История создания микропроцессоров. Архитектура обобщенного микропроцессора: основные регистры и их взаимосвязь; АЛУ; принципы построения устройств управления (автоматы Мура, Мили); шины связи. 1 2 Лабор. работа Самост. работа Контр. работа Экзпме н 7 Виды учебной работы, включая самостоятельную работу студентов и Формы текущего трудоемкость контроля успеваемости (в часах) (по неделям семестра) Форма промежуточной аттестации (по семестрам) Лекция Раздел дисциплины Неделя семестра № п/п Семестр 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 2 зачетные единицы, 72 часов. 1.2 Интерфейсы ПЗУ, ОЗУ – изолированные, по принципу доступа к памяти. Производительность процессоров: тактовая частота, скорость выполнения инструкций и полнота базового набора инструкций 1.3 Объем адресуемой памяти и скорость доступа к внешней памяти; использование кэша разных уровней; количество регистров, предсказание переходов 1.4 Эволюция архитектуры микропроцессоров на примере разработок фирмы Intel. Intel 8080/8085: принципы построения ; машинный цикл; цикл команды; способы адресации; команды (арифметические, логические, передачи данных, ветвлений и переходов); регистровая модель. Пример программы на ассемблере 1.5 Микропроцессоры Intel 8086/8088: архитектура; основные группы регистров; сегментная адресация; формирование физического адреса; адресация данных и переходов; форматы команд; регистровая модель. 1.6 Микропроцессоры Intel 80386/80486: архитектура; типы адресных пространств; восемь аспектов защиты; конвейерезация; многозадачность; механизм переключения задач; способ организации памяти; аппаратура управления сегментами и страницами. 1.7 Микропроцессоры серии Pentium: суперскалярная архитектура; предсказание переходов; блок с плавающей запятой. Особенности организации Pentium ММХ, SIMD-команды. 1.8 Архитектура Pentium Pro: разнесенная архитектура; динамическое выполнение команд; суперскаляр и суперконвейеры; исполнение с изменением последовательности команд. Pentium II, III, модификации Celeron, Xeon, SPFP-команды. 1.9 Микропроцессоры Itanium: особенности архитектуры, явный параллелизм на уровне команд; исполнительные ресурсы; особенности конвейерной обработки; трехуровневый кэш. 1.10 Многоядерные процессоры фирмы Intel (Woodcrect, Clovertown, Nehalem): архитектура, особенности применения 1.11 Вычислительные узлы: модульные и блейдсервера для построения кластера. 1.12 Коммуникационные среды: коммутаторы (простые, составные); сети с координатной коммутацией, с топологий гиперкуба, древовидной топологией. Коммуникационные технологии: Fast Ethernet; SCI; Myrinet; InfiniBand 1.13 МРР-системы: вычислительные узлы; коммуникационная сеть; перспективы масштабируемости; ситемное и прграммное обеспечение. Примеры построения. 1.14 Архитектура SMP- компьютеров, особенности построения операционных систем. Примеры построения. 1.15 Архитектура кластеров Сибирского Суперкомпьютерного Центра, кластеры: НКС-160; НКС-30Т. SMP-сервера: hp DL580 G5. 1.16 7 2 2 7 3 2 7 4 2 7 5 2 7 6 2 7 7 2 7 8 2 7 9 2 7 10 2 7 11 2 7 12 2 7 13 2 7 14 2 7 15 2 7 16 30 2 2 2 2 2 2 2 32 4 4 Экзамен 5. Образовательные технологии Используется традиционная система обучения, состоящая из лекции и практических занятий. 168 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины Нет. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. В.В. Корнеев, А.В. Киселев. Современные микропроцессоры. – М.: НОЛИДЖ, 2000. – С. 320. 2. Б.М. Глинский Физические и логические основы ЭВМ. НГУ, 2000. 3. В.В. Корнеев. Вычислительные системы. – М.: Гелиос АРВ, 2004. – С. 512. 4. Вл.В. Воеводин, С.А. Жуматий. Вычислительное дело и кластерные системы. М.: Изд-во МГУ, 2007. – С. 161. 5. Л.Н. Королев. Архитектура процессоров электронных вычислительных машин. – М.: Изд. Факультета ВМиК МГУ, 2003. б) Интернет-ресурсы: 1. Материалы информационно-аналитического центра по параллельным вычислениям: http://www.parallel.ru. 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 169 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Обработки изображений» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Мурзин Федор Александрович, к.ф.-м.н. (подпись) 170 Аннотация рабочей программы Дисциплина «Обработки изображений» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Программирования ММФ НГУ. Специальный курс «Обработки изображений» имеет своей целью систематическое изучение базовых понятий и наиболее важных алгоритмов, относящихся к области обработки изображений. Включает в себя методы обработки изображений и сигналов, в том числе: алгоритмы поиска объектов на изображениях, компрессии видео, классические ортогональные и современные вейвлетпреобразования. Также уделяется некоторое внимание нестандартным методам обработки изображений: нейрокомпьютерному подходу и применению размытой логики в распознавании и методам кластеризации. Последняя лекция посвящена параллельным системам обработки изображений. Дисциплина нацелена на формирование общекультурных компетенций ОК-6 – ОК-8, ОК-10 – ОК-14, ОК-16, профессиональных компетенций ПК-1, ПК-7 – ПК-9, ПК12, ПК-14, ПК-17, ПК-18, ПК-20 – ПК-22, ПК-25, ПК-27, ПК-29 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции и самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме письменных ответов на вопросы по темам лекций и промежуточный контроль в форме экзамена. Общая трудоемкость дисциплины составляет 3 зачетных единиц, 108 академических часа (из них 54 аудиторных). Программой дисциплины предусмотрены 36 часов лекционных и 18 часов практических занятий, а также 18 часов самостоятельной работы студентов. Остальное время – контроль в форме экзамена. 171 1. Цели освоения дисциплины Курс «Обработки изображений» имеет своей целью систематическое изучение базовых понятий и наиболее важных алгоритмов, относящихся к области обработки изображений. Включает в себя методы обработки изображений и сигналов, в том числе: алгоритмы поиска объектов на изображениях, компрессии видео, классические ортогональные и современные вейвлет-преобразования. Также уделяется некоторое внимание нестандартным методам обработки изображений: нейрокомпьютерному подходу и применению размытой логики в распознавании и методам кластеризации. Последняя лекция посвящена параллельным системам обработки изображений. Для достижения поставленной цели выделяются следующие задачи курса. Ознакомление с областями применения систем обработки изображений, типами источников изображений и типами изображений, представлением изображений в компьютерных системах, классификацией алгоритмов. Изучение математических основ наиболее интересных и важных для приложений алгоритмов обработки изображений и сигналов. Ознакомление со схемотехническими решениями, применяемыми в системах, допускающих параллельную обработку информации. В частности, ознакомление с архитектурой параллельных систем для поиска и отслеживания множества подвижных объектов. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Обработки изображений» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина опирается на следующие дисциплины данной ООП: Математическая логика (формализация методов рассуждений, логические связки, аксиоматические модели); Теория алгоритмов (понятие временной сложности алгоритма); Основы работы на ЭВМ (работа в среде Windows); Программирование I (принципы проектирования языков программирования высокого уровня, навыки реализации алгоритмов на ЯВУ, язык С, работа в среде Microsoft Visual Studio). Программирование II (основы многократного использования программных компонентов) Результаты освоения дисциплины используются в следующих дисциплинах данной ООП: Вычислительная практика; Системное и прикладное ПО; Информационные системы. Спецкурсы для магистратуры 3. Компетенции обучающегося, формируемые в результате освоения дисциплины общекультурные компетенции: ОК-6, ОК-7, ОК-8, ОК-10, ОК-11, ОК-12, ОК-13, ОК14, ОК-16; профессиональные компетенции: ПК-1, ПК-7, ПК-8, ПК-9, ПК-12, ПК-14, ПК-17, ПК-18, ПК-20, ПК-21, ПК-22, ПК-25, ПК-27, ПК-29. По окончании изучения указанной дисциплины студент должен иметь представление о месте и роли изучаемой дисциплины среди других наук; знать содержание программы курса, формулировки задач, условия применимости и 172 характеристики рассмотренных в курсе методов; уметь применять методы обработки изображений и сигналов в различных областях. Самост. работа 2 2 2 2 2 2 2 2 2 8-12 1 8-12 2 2 8-12 3 2 8-12 4 2 8-12 5 2 8-12 6 2 8-12 7 2 8-12 8 2 173 Экзамен Семннар/Лабор . работа 1 Источники и типы изображений, классификация алгоритмов обработки изображений. Представление изображений в компьютерных системах. Дискретизация и квантование функции яркости. Технические средства ввода изображений, фото-приемные матрицы и линейки на основе приборов с зарядовой связью. Цветовые пространства. 2 Коррекция уровней яркости. Медианный фильтр, подавление шумов с помощью конволюции с масками. Фильтры для подчеркивания границ, курсовые маски. 3 Меры близости изображений, цветовая метрика и цветовая константа. Анализ перепадов яркости и гистограмм. 4 Выделение контуров: градиентный метод, комбинаторный метод (метод порогового градиента), метод Слободы и др. Сегментация, спектрозональные преобразования. 5 Обнаружение объектов на изображении – базовая задача. Опорные точки. Поисковые деревья, ассоциированные с изображениями и оптимизация алгоритмов работы с ними. Характеристические функции блоков. Огрубленные палитры. Метрические характеристики и их использование при оптимизации поиска. Другие задачи поиска, сводимые к базовой. Области применимости алгоритмов в робототехнике и в системах безопасности. 6 MPEG-2 – подобные системы компрессии видео. Оптимизация преобразования RGB –> YUV. Дискретное косинусное преобразование (ДКП). Сравнение свойств ДКП и преобразования Адамара по степени компрессии и качеству. Квантизация коэффициентов ДКП и ее виды. Методы RLE, LZW и Хаффмана. Варианты компрессии компонент U,V. Межкадровое сжатие, типы кадров (I, P, F, B), компенсация движения. Пост-фильтрация видео. Проблемы передачи видео через канал. 7 Двумерные унитарные преобразования. Преобразование Фурье, косинусное и синусное преобразования. Преобразование на основе матриц Адамара. Пространственные частоты. Геометрический вид базисных функций на примере преобразования Адамара. Преобразование Хаара, наклонное преобразование. Применение к компрессии и фильтрации высокочастотных шумов. 8 Непрерывное и дискретное вейвлетпреобразование. Кратномасштабный анализ. Вейвлеты Добеши DB-4 и типа 9/7. MPEG-4 – подобные системы компрессии видео. Сжатие изображений с применением вейвлетпреобразований. Каскадирование банков фильтров. Построение и кодирование нуль- Виды учебной работы, включая самостоятельную работу студентов и трудоемкость Формы текущего (в часах) контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) Лекция Раздел дисциплины Неделя семестра № п/п Семестр 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 3 зачетные единицы, 108 часа. деревьев. 9 Интерполяционные методы компрессии 8-12 изображений и видео. Компрессия на основе пирамиды Лапласа. Множественное разреживание с интерполяцией. Интерполяция фрагментов функции яркости параметрически заданными поверхностями с последующей компрессией методами, заимствованными из криптографии. 10 Матрицы Адамара. Свойства матриц Адамара. 8-12 Сведения из теории чисел. Конструкции Пэли построения матриц Адамара. Некоторые задачи ИК - оптики. Растры на основе матриц Адамара. Анализ корреляционных функций растров, построенных на основе матриц Адамара. Синтез растровых структур, режим коммутации и осцилляции. 11 Нестандартные методы обработки изображений. 8-12 Нейрокомпьютерный подход, распознавание, алгоритм Цао-Йена компрессии изображений. Кластеризация данных, применение к обработке изображений. Применение размытой логики Заде в распознавании образов. 12 Предмет вычислительной геометрии. 8-12 Эффективность алгоритмов. Сложностные и статистические оценки в вычислительной геометрии. Сортировка в задачах вычислительной геометрии. 13 Растровые и векторные версии алгоритмов 8-12 вычислительной геометрии. Геометрический поиск. Задача о локализации. 14 Алгоритмические описания сложных областей. 8-12 Выпуклые области. Методы построения выпуклых оболочек для плоского случая. Методы построения выпуклых оболочек для больших размерностей. Оценки сложности алгоритмов построения выпуклых оболочек. 15 Меры близости и триангуляции. Диаграммы 8-12 Вороного и триангуляция Делоне. 16 Методы построения линий уровня. Задачи о 8-12 пересечении и оптимальном размещении геометрических объектов. 17 Основные виды систем координат и их 8-12 преобразования. 18 Определение координат подвижных объектов в 8-12 мультимедийных системах. Аппаратное и программное обеспечение. 19 9 2 10 2 11 2 12 2 13 2 14 2 15 2 16 2 17 2 18 2 36 2 2 2 2 2 2 2 2 2 2 18 18 36 Экзамен 36 5. Образовательные технологии 5.1. Предусматриваются задания отдельным студентам или группам студентов по поиску информации в сети Интернет по приложениям методов обработки изображений и сигналов в конкретных прикладных областях: геофизика, новые материалы, системы безопасности, физиология, медицина, генетика и др. 5.2. На основе найденной в сети информации предусматривается написание экспертных оценок, объемом 3-4 страницы, о состоянии дел в соответствующих областях. 5.3. Рефераты предусматриваются в отдельных исключительных случаях, курсовые работы не предусмотрены. 5.4. Контроль успеваемости осуществляется на экзамене. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины 6.1. Компьютер с доступом в Интернет для самостоятельной работы. 6.2. Перечень примерных контрольных вопросов на экзамене: 1. Привести примеры масок, применяемых для подавления шумов, подчеркивания границ, и примеры курсовых масок. 174 2. Привести определение цветовой метрики и цветовой константы. 3. Дать определения различных мер близости изображений, дать оценку их адекватности. 4. Что такое комбинаторный метод (метод порогового градиента) выделения контуров, области его применимости. 5. Основная идея метода Слободы. 6. Дать формулировку базовой задачи обнаружения объектов на изображении. 7. Сформулировать алгоритм постановки опорных точек на контрольных изображениях. 8. Поисковые деревья, ассоциированные с изображениями-источниками, сформулировать основную идею. 9. Характеристические функции блоков, огрубленные палитры, оптимизация обходов поисковых деревьев, привести определения и кратко сформулировать алгоритмы. 10. MPEG-2 – подобные системы компрессии видео, перечислить основные блоки алгоритма. 11. Дать объяснение, что такое Пространственные частоты, привести геометрический вид базисных функций на примере преобразования Адамара. 12. На примере преобразования Хаара объяснить, что это простейший вейвлет, и что такое кратномасштабный анализ. 13. Что такое каскадирование банков фильтров MPEG-4 – подобныых системы компрессии видео. 14. Что такое компрессия на основе пирамиды Лапласа и метода множественного разреживания с интерполяцией. 15. Сформулировать некоторые задачи ИК – оптики, связанные с применением растров на основе матриц Адамара. 16. Дать общее представление о конструкциях Пэли построения матриц Адамара. 17. Матрицы Адамара порядка 2n и p+1, где p – простое число такое, что p=3(mod 4), дать определения. 18. Нейрокомпьютерный подход и распознавание образов, сформулировать основные идеи. 19. Кластеризация данных, сформулировать основные идеи, метод ближайших соседей, метод Варда и др. 20. Неточные рассуждения, что такое логика Заде. 21. Организация памяти с параллельным доступом к информации, основная идея, обосновать полезность для обработки изображений. 22. Сформулировать основные идеи, лежащие в основе построения параллельных систем для поиска и отслеживания множества подвижных объектов, что известно об их эффективности. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Прэтт У. Цифровая обработка изображений: – М.: Мир, 1982. Кн.1 и 2. 2. Писаревский А.Н. и др. Системы технического зрения. – Ленинград: Машиностроение, 1988. 3. Воробьев В.И., Грибунин В.Г. Теория и практика вейвлет-преобразования. – СПб: Изд-во Военного университета связи, 1999. 4. Астафьева Н.М. Вейвлет-анализ: основы теории и примеры применения // Успехи физических наук, т. 166, №11, стр. 1145-1170, 1996. 5. Ватолин Д., Ратушняк А., Смирнов М., Юкин В. Методы сжатия данных. 175 Устройство архиваторов, сжатие изображений и видео. – М.: ДИАЛОГ-МИФИ, 2002. 6. Грузман И.С., Киричук В.С., Косых В.П., Перетягин Г.И., Спектор А.А. Цифровая обработка изображение в информационных системах: Учебное пособие. – Новосибисрк: Изд-во НГТУ, 2000. 7. Рабинер П., Гоулд Б. Теория и применение цифровой обработки сигналов. – М.: Мир, 1978. б) дополнительная литература: 1. Дунаев А.А., Лобив И.В., Мехонцев Д.Ю., Мурзин Ф.А., Половинко О.Н., Семич Д.Ф., Чепель А.В., Ярков К.А. Алгоритмы быстрого поиска фрагментов фотографических изображений // Современные проблемы конструирования программ. – Новосибирск: ИСИ, 2002. 2. S. Mallat, A Theory for Multiresolution Signal Decomposition: The Wavelet Representation // IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.11, pp. 674-693, 1989. 3. A. Said and W. Pearlman, A New Fast and Efficient Image Codec Based on Set Partitioning in Hierarchical Trees // IEEE Transactions on Circuits and Systems for Video Technology, vol.6, pp. 243-250, 1996. в) программное обеспечение и Интернет-ресурсы: 1. 2. 3. 4. 5. Сайт о сжатии – url: http://www.compression.ru. Datacube, Inc. – url: http://www.datacube.com. Media Cybernetics, L. P. – url: http://www.optimas.com. Ronald A. Massa Associates – url: http://www.way2c.com. Impuls GmbH – url: http://www.impuls-imaging.com. 8. Материально-техническое обеспечение дисциплины Компьютеры стандартные типа Pentium 4, программное обеспечение MS Visual C++6.0, Maple 5.4. 176 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Томография сложных сред: модели, методы, алгоритмы» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Деревцов Евгений Юрьевич, к.ф.-м.н. (подпись) Аннотация рабочей программы Дисциплина «Томография сложных сред: модели, методы, алгоритмы» входит в вариативную часть профессионального цикла по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Математических задач геофизики ММФ НГУ. Содержание дисциплины охватывает круг вопросов, связанных с математическими основами томографии сложных сред, основными методами и алгоритмами решения задач восстановления скалярных, векторных и тензорных характеристик объектов по дистанционным измерениям физических полей, пропущенных через объект. Дисциплина нацелена на формирование общекультурных компетенций ОК-6 – ОК8, ОК-10 – ОК-16, профессиональных компетенций ПК-1 – ПК-10 ПК-12 – ПК-14, ПК-16 – ПК-18, ПК-20 – ПК-22, ПК-25 – ПК-27, ПК-29. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции и самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: промежуточный контроль в форме письменной работы, выполненной самостоятельно, рубежный контроль в форме экзамена. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 3 зачетных единиц, 108 академических часа (из них 48 аудиторных). Программой дисциплины предусмотрены 48 часов лекционных, а также 26 часов самостоятельной работы студентов, 36 часа экзамен. 178 1. Цели освоения дисциплины Данный курс, который может быть использован в области математики, прикладной математики, информационных технологиях, а также в любых областях, связанных с дистанционными исследованиями, обработке изображений, визуализации внутренней структуры сложных сред, ставит своей целью усвоение студентами понятий, связанных с математическим моделированием томографических задач. Предметом изучения дисциплины является совокупность подходов, методов и алгоритмов в рамках математических и информационных моделей, разработанных для решения задачи «внутривидения». Практическая постановка задачи состоит в исследовании объектов и сред неразрушающими дистанционными методам, выяснении их свойств, характеристик и их диагностике. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Томография сложных сред: модели, методы, алгоритмы» входит в вариативную часть профессионального цикла по направлению подготовки «Математика и компьютерные науки». Дисциплина опирается на следующие дисциплины ООП: Математический анализ (дифференциальное и интегральное исчисление, кратный и криволинейный интеграл); Функциональный анализ (функциональные пространства, линейные операторы, интегральные преобразования, операторные уравнения); Дифференциальная геометрия (риманово многообразие, тензорная алгебра); Вычислительная математика (теория аппроксимации, приближенное дифференцирование и интегрирование, вычислительная линейная алгебра). Результаты освоения дисциплины «Томография сложных сред: модели, методы, алгоритмы» используются в научно-исследовательской практике и квалификационной работе студентами. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Томография сложных сред: модели, методы, алгоритмы»: общекультурные компетенции: ОК-6 – ОК-8, ОК-10 – ОК-16; профессиональные компетенции: ПК-1 – ПК-10 ПК-12 – ПК-14, ПК-16 – ПК-18, ПК20 – ПК-22, ПК-25 – ПК-27, ПК-29. В результате освоения дисциплины обучающийся должен: быть компетентным в основных постановках, результатах, конструктивных методах и алгоритмах, разработанных для решения задач скалярной, векторной и тензорной томографии; знать и уметь воспроизвести основополагающие постановки задач, методы их решения, основные формулы и их алгоритмические аспекты; обладать навыками расчета простейших моделей скалярных, векторных и тензорных полей, их преобразований Радона и лучевых, а также уметь использовать операторы обратных проекций и формулы обращения; уметь построить модели рефрагирующих сред в форме римановой метрики, провести анализ модели с вычислением символов Кристоффеля, тензоров кривизны, Риччи и скалярной кривизны; обладать умением применения ряда алгоритмов томографии к конкретным моделям и задачам скалярной, векторной и тензорной томографии. 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 3 зачетные единицы, 108 часов. 4.1. Структура дисциплины. 179 1. Преобразование Радона на плоскости. Элементарные сведения 2. Преобразование Радона и лучевое в пространстве. Элементарные сведения 3. Некорректно поставленные задачи. Методы приближенного решения 4. Преобразование Радона и другие интегральные преобразования как операторы в функциональных пространствах. Общие формулы обращения. Единственность и области значений 5. Основные алгоритмы компьютерной томографии. 6. Томография векторных и симметричных тензорных полей на плоскости и в трехмерном пространстве. 7. Томография симметричных тензорных полей, заданных в римановой области. Технологии вычислений и представления информации. 1-3 6 2 4-6 6 4 7-9 6 4 1013 8 4 1416 1720 6 4 8 4 2124 8 4 48 0 26 0 Экзамен Контр. работа Самост. Работа Лабор. работа Лекция Неделя семестра Раздел дисциплины Семестр № п/п Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) 36 Экзамен 36 4.2. Аннотированное содержание дисциплины. Тема 1. Преобразование Радона на плоскости. Элементарные сведения. (6 уч. часов) Исторические замечания. Суть и характер томографичеких исследований. Области приложений. Параллельная и веерная схема наблюдений. Одномерная модель задачи эмиссионной томографии и ее дифференциальное уравнение. Двумерное преобразование Радона и его свойства. Теорема Асгейрссона. Оператор обратного проектирования на плоскости. Примеры вычисления преобразования Радона функций, заданных в единичном круге и на всей плоскости. Интегральное уравнение Абеля и его обращение. Обращение преобразования Радона в двумерном случае. Разновидности формул обращения. Примеры. Формулировка упражнений для самостоятельного изучения. Тема 2. Преобразование Радона и лучевое в пространстве. Элементарные сведения. (6 уч. часов) Многообразие плоскостей в пространстве. Преобразование Радона в пространстве. Лучевое преобразование. Задание удобных для вычислений систем координат, связанных с плоскостью, по которой производится интегрирование. Связь преобразования Радона и лучевого. Примеры вычисления образов преобразований Радона и лучевого от многочленов. Примеры вычислений образов преобразований. Геометрические и дифференциальные свойства преобразования Радона. Операторы обратного проектирования в пространстве. Формулы обращения преобразований Радона и лучевого для сферически симметричных функций. Общие формулы обращения. Теорема Асгейрссона в пространстве. Примеры применения операторов обратной проекции и формул обращения. Упражнения для самостоятельного изучения. Тема 3. Некорректно поставленные задачи. Методы приближенного решения. (6 уч. 180 часов) Практические истоки некорректно поставленных задач. Примеры простейших некорректно поставленных задач. Нормированные и гильбертовы функциональные пространства. Пространства Lp и пространства Соболева Hs. Операторные уравнения первого рода. Некорректно поставленные задачи. Нормальное решение. Параметр регуляризации. Метод сингулярного разложения. Усеченное сингулярное разложение. Сингулярное разложение преобразования Радона. Метод Тихонова. Метод наименьших квадратов. Итерационные методы. Классификация некорректно поставленных задач. Упражнения для самостоятельного изучения. Тема 4. Преобразование Радона и другие интегральные преобразования как операторы в функциональных пространствах. Общие формулы обращения. Единственность и области значений. (8 уч. часов) Пространства основных и обобщенных функций. Начальные сведения о распределениях с компактным носителем и пространствах Шварца. Свертка и преобразование Фурье основных и обобщенных функций. Свойства преобразования Фурье. Линейные операторы Радона, лучевого и конусного преобразований. Связь с преобразованием Фурье и сверткой. Проекционная теорема (теорема о центральном сечении). Операторы обратного проектирования. Теоремы об образах преобразований Радона и лучевого под действием обратной проекции. Теоремы об обращении томографических операторов. Формулы обращения, использующие преобразование Фурье. Обращение на основе метода моментов. Восстановление функции по неполной информации. Условие Кавальери. Условия совместности Хелгасона-Людвига. Области значений основных томографических операторов. Оценки в пространствах Соболева. Упражнения для самостоятельного изучения. Тема 5. Основные алгоритмы компьютерной томографии. (6 уч. часов) Алгоритм свертки и обратной проекции. Наиболее употребительные фильтры. Параллельная и веерная схемы на плоскости. Представление 3D-преобразования Радона в виде композиции 2D-преобразований. Двухэтапный алгоритм. Фурье-алгоритмы. Алгебраические методы. Алгоритм ``выравнивания проекций’’ на простом примере. Метод последовательного проектирования. Метод Качмажа. Прямые алгебраические алгоритмы. Задачи с неполными данными. Особенности применения алгоритмов. Сравнительный анализ алгоритмов. Методы представления исходной и полученной информации. Визуализация. Примеры. Упражнения для самостоятельного изучения. Тема 6. Томография векторных и симметричных тензорных полей на плоскости и в трехмерном пространстве. (8 уч. часов) Практические источники постановок задач векторной томографии. Предварительные сведения. Векторная алгебра. Дифференциальные и интегральные операторы векторного и тензорного анализа. Разложения векторного поля на потенциальную и соленоидальную части. Связи с краевыми задачами. Разложение симметричного тензорного поля. Представления векторных и тензорных полей через потенциалы. Продольное и поперечное лучевые преобразования векторных и 2-тензорных полей. Основные свойства. Связи лучевых преобразований симметричных тензорных полей с преобразованием Радона их потенциалов. Связь с преобразованием Фурье. Ядра лучевых преобразований. Нормальное преобразование Радона. Операторы угловых моментов и операторы обратной проекции для векторных и симметричных тензорных полей. Формулы обращения лучевых преобразований и нормального преобразования Радона. Формула Планшереля для лучевого преобразования. Примеры. Упражнения для самостоятельного изучения. 181 Тема 7. Томография симметричных тензорных полей, заданных в римановой области. Технологии вычислений и представления информации. (8 уч. часов) Практические источники моделей тензорной томографии. Предварительные сведения. Криволинейные системы координат. Способы задание и моделирование римановой метрики. Геодезические и их задание системой дифференциальных уравнений. Примеры. Симметричные тензорные поля на римановом многообразии. Теорема о разложение симметричного тензорного поля. Формулы типа Гаусса-Остроградского. Лучевое преобразование на римановом многообразии. Ядро лучевого преобразования. Проблема обращения лучевого преобразования. Теорема об однозначном восстановлении соленоидальной части симметричного тензорного поля по его лучевому преобразованию. Приближенное решение задачи восстановления тензорного поля, заданного в римановой области, методом наименьших квадратов. Проблема построения полиномиальных и локальных базисов. Построение базисов потенциальных и соленоидальных симметричных тензорных полей на основе ортогональных и неортогональных полиномов. Базисы на основе B-сплайнов. Численные эксперименты. Примеры. Проблема восстановления разрывных симметричных тензорных полей. Визуализация разрывов. Примеры. Упражнения для самостоятельного изучения. 5. Образовательные технологии Используются традиционная лекционная система обучения. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины Экзаменационные вопросы совпадают с подтемами лекций. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Кравчук А.С. Основы компьютерной томографии. – М.: Дрофа, 2001. 2. Гельфанд И.М., Гиндикин С.Г., Граев М.И. Избранные задачи интегральной геометрии. – М.: Добросвет, 2000. 3. Наттерер Ф. Математические аспекты компьютерной томографии. – М.: Мир, 1990. 4. Хелгасон С. Преобразование Радона. – М.: Мир, 1983. 5. Шарафутдинов В.А. Интегральная геометрия тензорных полей. – Новосибирск, Наука, 1993. б) дополнительная литература: 1. Пикалов В.В., Преображенский Н.Г. Вычислительная томография и физический эксперимент // Успехи физических наук. 1983. Т. 141. N 3. с. 469-498. 2. Пикалов В.В., Преображенский Н.Г. Реконструктивная томография в газодинамике и физике плазмы. – Новосибирск: Наука, Сиб. отделение, 1987. 3. Гельфанд И.М., Граев М.И., Виленкин Н.Я. Интегральная геометрия и связанные с ней вопросы теории представлений. Обобщенные функции, вып. 5. – М.: ГИФМЛ, 1962. 4. Хелгасон С. Группы и геометрический анализ. – М.: Мир, 1985. 5. Derevtsov E.Yu., Kleshchev A.G., Sharafutdinov V.A. Numerical solution of the emission 2D-tomography problem for a medium with absorption and refraction // J. Inverse Ill-posed Problems, 1999, Vol. 7, No. 1, p. 83-103. 6. Деревцов Е.Ю., Кашина И.Г. Численное решение задачи векторной томографии с помощью полиномиальных базисов // Сиб. Ж. Вычислительной математики, 2002, Том 5, N 3, с. 233-254. 182 7. Деревцов Е.Ю., Кашина И.Г. Приближенное решение задачи реконструкции тензорного поля второй валентности с помощью полиномиальных базисов // Сиб. Ж. Индустриальной матем., 2002, Том V, N 1(9), с. 39-62. 8. Derevtsov E.Yu. An approach to direct reconstruction of a solenoidal part in vector and tensor tomography problems // J. Inverse Ill-Posed Problems, 2005, Vol. 13, No. 3, p. 213-246. 9. Деревцов Е.Ю. Некоторые подходы к задаче визуализации сингулярного носителя скалярных, векторных и тензорных полей по томографическим данным// Сиб. Электронные Матем. Известия, 2008, Т. 5, с. 632-646. 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 183 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Визуализация графов» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Апанович Зинаида Владимировна, к.ф.-м.н. (подпись) Аннотация рабочей программы Дисциплина «Визуализация графов» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Программирования ММФ НГУ. Содержание дисциплины охватывает круг вопросов, связанных с разработкой методов и средств визуализации информации, использующих графовые модели, и их применению в различных научных и прикладных областях. Дисциплина нацелена на формирование общекультурных компетенций ОК-6 – ОК8, ОК-10 – ОК-16, профессиональных компетенций ПК-1, ПК-7 – ПК-9, ПК-12, ПК-14, ПК17, ПК-18, ПК-20 – ПК-22, ПК-25, ПК-27, ПК-29 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, контрольная работа, самостоятельная работа студента, включающая написание рефератов и программные проекты. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме контрольной работы, приема рефератов и программных проектов, промежуточный контроль в форме зачета и экзамена по завершении курса. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 4 зачетных единиц, 144 академических часов (из них 54 аудиторных). Программой дисциплины предусмотрены 40 часов лекционных и 14 часов семинарских занятий, а также 66 часа самостоятельной работы студентов. Остальное время – контроль в форме контрольной, зачета, заслушивания рефератов, приема программных проектов и экзамена. 185 1. Цели освоения дисциплины Дисциплина (курс) «Визуализация графов» имеет своей целью систематическое изучение базовых понятий, наиболее важных алгоритмов и программных систем, предназначенных для визуального анализа информации, представленной в виде графов. Основной целью освоения дисциплины является начальное формирование у студента точки зрения аналитика, способного сделать обоснованный выбор методов, алгоритмов и программных средств для решения задач разного типа, умеющего определить критерии этого выбора и увязать принятые решения в единую систему. Для достижения поставленной цели выделяются задачи курса: Ознакомление с областями применения методов и средств визуализации информации и классификацией используемых алгоритмов. Изучение математических основ и сравнительный анализ методов и алгоритмов, применяемых для решения различных подзадач на каждом этапе разработки реальных систем. Ознакомление с реальными приложениями и демонстрация значимости и полезности теоретических результатов, излагаемых в курсе, для решения практических вопросов на уровне создания систем. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина опирается на следующие дисциплины данной ООП: Теория графов; Теория алгоритмов (понятие временной сложности алгоритма); Методы вычислений (решение систем уравнений, поиск экстремумов); Компьютерная геометрия (метод сканирующей прямой, диаграмма Вороного, триангуляция Делоне); Программирование (навыки реализации алгоритмов на ЯВУ). Результаты освоения дисциплины могут использоваться в следующих дисциплинах данной ООП: Базы данных и экспертные системы; Методы и системы искусственного интеллекта. Информационные системы; в научно-исследовательской практике и при написании выпускной квалификационной работы. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины: общекультурные компетенции: ОК-6 – ОК-8, ОК-10 – ОК-16; профессиональные компетенции: ПК-1, ПК-7 – ПК-9, ПК-12, ПК-14, ПК-17, ПК-18, ПК-20 – ПК-22, ПК-25, ПК-27, ПК-29. В результате освоения дисциплины обучающийся должен: Иметь представление: o об основных областях, в которых используются методы данного курса; o о наиболее важных программных системах; o о проблемах, решаемых при создании программных средств визуального анализа; o об основных требованиях, предъявляемых к системам в зависимости от области применения. Знать: o оценки сложности основных алгоритмов и характеристики получаемых результатов; 186 o способы оптимизации различных целевых функций; o границы применимости существующих алгоритмов на практике. Уметь: o применять методы и средства визуального анализа графов на основе графовых моделей; o выбирать алгоритмы, наиболее адекватные конкретному приложению; o выбирать структуры данных, позволяющих эффективную реализацию выбранных алгоритмов. 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 4 зачетных единиц, 144 часов. 1 2 2 3 2 2 2 3 3 2 2 3 4 2 2 3 5 2 2 3 6 2 2 3 7 2 2 3 8 2 2 3 9 2 2 3 10 2 2 3 11 0 2 187 2 Экзамен Семинар. занятия Самост. работа Контр. работа 3 Зачета Лекция Введение в методы и средства визуального анализа на основе графовых моделей. Примеры наиболее важных современных приложений визуального анализа на основе графовых моделей. Математическая формулировка задачи построения изображения графа. Эстетические критерии и основные стили при построении изображений графов. Проблемы, возникающие при работе с реальными приложениями. 1.2 Методы построения статических изображений деревьев для анализа иерархической информации, теоретические оценки. Эстетические критерии, используемые при визуализации деревьев. Алгоритм построения поуровневого изображения бинарных деревьев и деревьев произвольной степени. Структуры данных, необходимые для реализации за время O(n). 1.3 Теоретические оценки качества изображения статических деревьев 1.4 Теоретические оценки качества изображения статических деревьев. Продолжение 1.5 Радиальные и круговые изображения деревьев 1.6 От диаграмм связей к методам заполнения пространства 1.7 Интерактивные методы визуализации информации 1.8 Построение st-нумерации двусвязных графов 1.9 Проверка планарности графов и построение комбинаторной укладки 1.10 Построение прямолинейных изображений планарных графов Неделя семестра 1.1 Раздел дисциплины Семестр № п/п Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) контрольная, см. п. 6 2.1 2.2 2.3 2.4 2.5 2.6 Угловая резолюция и ортогональные изображения планарных графов Построение обзорного изображения для планарного графа. Понятие сильного и слабого обзорного представления. Алгоритм построения сильного обзорного представления для триангулированного планарного графа на основе канонического упорядочения вершин планарного триангулированного графа. Оценки временной сложности алгоритмов и площади получаемого изображения. Эвристическая процедура построения ортогонального изображения на основе обзорного представления и эвристическая процедура минимизации сгибов полученного изображения. Задача минимизации количества сгибов при построении ортогонального изображения.Стандартный способ описания ортогональных изображений. Задача минимизации количества сгибов при построении ортогонального изображения. Сведение задачи минимизации сгибов к поиску потока минимальной стоимости в сети. Построение сети для углов планарной укладки. Построение сети для минимизации количества сгибов для графов, имеющих вершины степени > 4 Задача вычисления геометрических размеров ортогонального изображения. Алгоритм вычисления размеров ортогонального изображения, состоящий из следующих этапов: разбиение ортогональных граней на прямоугольники, вычисление горизонтального и вертикального размеров изображения посредством построения двух сетей и вычисления потоков минимальной стоимости на этих сетях. Информация, представимая с помощью неориентированных графов, и методы визуализации, основанные на физических аналогиях. «Пружинные алгоритмы» для построения изображения неориентированных графов общего вида. Алгоритма, имитирующие действие сил гравитации и магнитные силы Алгоритмы, основанные на минимизации энергии Повышение эффективности силовых алгоритмов размещения за счет 3 12 0 2 2 3 13 0 2 2 3 14 0 2 2 3 15 0 2 2 3 16 0 2 2 3 17 0 2 2 3 18 4 1 2 2 4 2 2 2 4 3 2 2 4 4 2 2 4 5 2 2 4 6 2 2 188 2 2 Заслушивание рефератов Заслушивание рефератов Заслушивание рефератов Заслушивание рефератов Прием программных проектов Прием программных проектов Зачет за третий семестр применения многоуровневых методов. Метод Барнеса-Ната. Модель размещения LinLog для графов малых миров 2.7 Метод Сугиямы поуровневого изображения ориентированных графов, основные критерии, принимаемые во внимание при поуровневых визуализациях. 2.8 Размещение ориентированных графов, продолжение 2.9 Размещение ориентированных графов, продолжение 2.10 Составные графы Итого: 4 7 2 2 4 8 2 2 4 9 2 2 4 4 10 11 2 4 2 2 2 12 2 2 4 13 2 2 4 14 2 2 4 15 2 2 4 16 66 10 40 14 2 Заслушивание рефератов Заслушивание рефератов Заслушивание рефератов Прием программных проектов Прием программных проектов 12 Экзамен 12 5. Образовательные технологии Помимо представления теоретического материала, весьма полезны обсуждения, так называемые case-study (анализ реальных проблемных ситуаций и поиск решений), инициированные следующими вопросами: Можно ли модифицировать алгоритм (указание конкретного алгоритма), с тем, чтобы появилась возможность визуального анализа новых свойств изображаемой информации? Если да, то как именно? Какие недостатки Вы видите в изученном алгоритме (изображениях, создаваемых при помощи изученного алгоритма) и как Вы бы предложили устранять эти недостатки? Следует заметить, что одной из важнейших компонент обучения европейских и американских студентов методам визуализации информации является их участие в соревнованиях, которые ежегодно организуются в рамках таких авторитетных конференций, как IEEE VAST. Также для опережающей самостоятельной работы студентам в начале семестра предлагаются следующие задания: Дается список публикаций, из которого каждый студент может выбрать одну публикацию и подготовить реферат. Дается описание графа или дерева в формате xml и студентам предлагается в конце семестра реализовать один из изучаемых алгоритмов применительно к конкретным данным и подсчитать значения различных параметров, определяющих эстетические требования к изображению. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины 6.1. Для текущей и промежуточной аттестации рекомендуется организовывать 1 небольшую контрольную работу за семестр продолжительностью 45 минут. Для этого предлагаются задания следующего вида. 189 1. «Дан граф G = (V, E) с каноническим упорядочением вершин. Построить для данного графа обзорное представление. 2. Преобразовать полученное обзорное представление графа в ортогональное представление. 3. При помощи оптимизирующих трансформаций минимизировать количество сгибов полученного ортогонального представления. 6.2. Примеры экзаменационных билетов Билет 1 Теория Алгоритм Рейнгольда-Тилфорда. Задача Дан прямоугольник размером 5*6. Разместить в нем прямоугольники площади 4, 4, 2,1, 5, 6, 8 при помощи алгоритма “квадрифицирующая карта дерева”. Билет 2 Теория hv-изображения и строго нисходящие изображения бинарных деревьев Задача Дан двусвязный граф (конкретные данные). Построить st-нумерацию его вершин. Билет 3 Теория Понятие разделителя, дерево разбиений и методы построения изображения на основе разделителей. Задача Дан планарный триангулированный граф (конкретные значения) и его внешняя грань. Построить каноническое упорядочение его вершин. Билет 4 Теория Методы визуализации численных атрибутов иерархических структур на основе техники Treemap (карта дерева). Задача Дано каноническое упорядочение вершин планарного триангулированного графа (конкретные значения). Построить прямолинейное изображение этого графа. Билет 5 Теория Фильтрация изображения дерева на основе функции степени интереса. Задача Дана st-нумерация вершин двусвязного графа (конкретные значения). Проверить, планарен ли этот граф. Билет 6 Теория Построение st-нумерации вершин двусвязного графа Задача. Дано бинарное дерево (конкретные значения). Построить для него дерево разделителей. Билет 7 Теория Проверка планарности графа и комбинаторная укладка 190 Задача. Дан прямоугольник размером 5*6. Разместить в нем прямоугольники из списка с конкретными значениями площади при помощи алгоритма “полосковая карта дерева”. Билет 8 Теория Каноническое упорядочение вершин планарного триангулированного графа. Задача. Дано бинарное дерево (конкретные значения). Построить утяжеленное вправо изображение. Билет 9 Теория Алгоритм построения прямолинейного изображения по каноническому упорядочению вершин планарного графа. Задача Дано бинарное дерево (конкретные значения). Построить его изображение вторым методом Чана. Билет 10 Теория Алгоритм построения обзорного изображения по каноническому упорядочению вершин планарного графа. Задача Дано бинарное дерево (конкретные значения). Нарисовать его первым методом Чана. Билет 11. 1. Построение обзорного изображения для планарного графа. Понятие сильного и слабого обзорного представления. 2. Алгоритмы размещения, имитирующие действие сил гравитации и магнитные силы Билет 12 1. Задача минимизации количества сгибов при построении ортогонального изображения.Стандартный способ описания ортогональных изображений. 2. «Пружинные алгоритмы» для построения изображения неориентированных графов общего вида. Билет 13 1. Задача вычисления геометрических размеров ортогонального изображения. 2. Повышение эффективности силовых алгоритмов размещения за счет применения многоуровневых методов. Метод Барнеса-Ната. Билет 14 1. Сведение задачи минимизации сгибов к поиску потока минимальной стоимости в сети. Построение сети для углов планарной укладки. 2. Метод Сугиямы поуровневого изображения ориентированных графов, основные критерии, принимаемые во внимание при поуровневых визуализациях. Билет 15 1. Задача компактизации ортогонального изображения 2. Алгоритмы и стратегии, реализуемые на этапе упорядочение вершин на одном уровне при поуровневом размещении с целью минимизации количества пересечений ребер. Билет 16 1. Вычисление вертикального или горизонтального размера ортогонального 191 изображения. 2. Многоуровневые методы разбиения вершин графа 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Апанович З.В. Методы и средства визуализации информации на основе графовых моделей. – Новосибирск: Изд-во НГУ, 2009. (Электронный учебник). 2. Евстигнеев В.А., Касьянов В.Н. Графы в программировании: обработка визуализация и применение. – СПб.: БХВ Петербург, 2003. 3. Емеличев В.А., Мельников О.И., Сарванов В.И., Тышкевич Р.И. Лекции по теории графов. – М.: Наука, Физматлит, 1990. 4. Bastert O., Matuszewski C. Layered Drawings of Digraphs / In Wagner Drawing Graphs. Ed. M. Kaufmann D. LNCS 2025, pp.87-120, 2001. 5. Brandes U. Drawing on Physical Analogies / In Wagner Drawing Graphs. Ed. M. Kaufmann D. LNCS 2025, pp.71-86, 2001. б) дополнительная литература: 1. Baur M., Brandes U. An improved heuristic for crossing minimization in circular layout, Working Paper, 2003. 2. Brandes U., Kpf B. Fast and Simple Horizontal Coordinate Assignement. In Proceedings of Graph Drawing 2001, LNCS 2265, pp. 31-44, 2001. 3. Card S. K., Mackinlay J. D., Shneiderman B. Readings in Information Visualization: Using Vision to Think, 1999. 4. Card S. K., Nation D., Degree-Of-Interest Trees: A Component of an AttentionReactive User Interface// Palo Alto Reseaerch Center May 22-24, 2002. 5. Chan T.M. A Near-Linear Area Bound for Drawing Binary trees. Proc. Of the 10th ACM-SIAM Symposium on Discrete Algorithms pp. 161-168. 6. Coffman E., Graham R. Optimal scheduling for two processor systems. Acta Informatica, 1, pp.200-213, 1971. 7. Collins C. Docuburst: Radial space-filling visualization of document content// Technical Report KMDI-TR-2007-1, Knowledge Media Design Institute. 2007. 8. Crescenzi P., Di Battista G., Piperno A. A note on optimal area algorithms for upward drawings of binary trees. Computational Geometry: Theory and Applications N2, pp.187-200, 1992. 9. Davidson R., Harel D. Drawing Graphs Nicely Using Simulated Annealing ACM Transactions on Graphics Vol 15, No 4, October 1996 pp. 301-333. 10. Fiduccia C.M., Mattheyses R.M. A linear time heuristic for improving network partitions //Proc. 19th ACM/IEEE Design Automat. Conf., Las Vegas, 1982.— New Jersey, 1982.—P.175-181. 11. Freeman L.C., Centrality in Social Networks: Conceptual Clarification// Social Networks N 1. 1978/79. P. 215-239. 12. Fruchterman T. M. J. Reingold E. M.: Graph Drawing by Force-Directed Placement Software //Practice and Experience , 1991, Vol. 21, N11, P. 1129-1164. 13. Furnas G. W. Generalized Fisheye Views // Proceedings of CHI’86. 1986. P. 16–23. 14. Gajer P., Kobourov S. G. GRIP: Graph dRawing with Intelligent Placement.// Lect. Notes Comput. Sci. 2001. Vol. 1984. P. 222-228. 15. Hachul, S. and Jünger, M.l. An Experimental Comparison of Fast Algorithms for Drawing General Large Graphs.// Lect. Notes Comput. Sci. 2005. Vol. 3843. P. 235250. 16. Kadmon, N., and Shlomi, E. A polyfocal projection for statistical surfaces//Cartographic Jour. —1978. Vol. 15, N 1. P. 36-41. 17. Karypis G. Aggarwai R., Kumar V, Shekhar S. Multilevel hypergraph partitioning: 192 Application in VLSI domain // Proc. 34th Design Automat. Conf., Anaheim, 1997.— P.526-529. 18. Karypis G. Kumar V. A fast and high quality multilevel scheme for partitioning irregular graphs.// SIAM Journal on Scientific Computing. —1999.— Vol. 20, N 1. — P.359—392. 19. Karypis G., Kumar V. Multilevel k-way Hupergraph Partitioning (http://www.cs.umn.edu/~metis). 20. Kernighan B.M.,Lin S. An efficient heuristic for partitioning graphs. // The Bell System Technical Journal. — 1970. —Vol. 49, N2.—P. 291-307. 21. Lee B., Parr C. S., Campbell D., et al. How users interact with biodiversity information using TaxonTree// Proceedings of the working conference on Advanced visual interfaces Gallipoli, Italy. — 2004. P. 320 – 327. 22. Lee B., Parr C. S., Plaisant C.,et al TreePlus: Interactive Exploration of Networks with Enhanced Tree Layouts// IEEE TVCG (Infovis’06 proceedings) . 2006. Vol.12, N 6.P. 1414–142. 23. Lee, B., Plaisant, C., Parr, et al. Task Taxonomy for Graph Visualization// Proceedings of the 2006 AVI workshop on BEyond time and errors: novel evaluation methods for information visualization, Venice, Italy. 2006. P. 1-5. 24. Plaisant, C., J. Grosjean, Bederson B. Spacetree: Supporting Exploration in Large Node Link Tree, Design Evolution and Empirical Evaluation// IEEE Symposium on Information Visualization. —2002. P. 57 -64. 25. Noack, A. An Energy Model for Visual Graph Clustering// Lect. Notes Comput. Sci. 2004. Vol. 2912. P. 425-436. 26. Rao R. TableLens: A Clear Window for Viewing Multivariate Data. —2006. http://www.perceptualedge.com/articles/b-eye/tablelens.pdf. 27. Reingold E., Tilford J. Tidier drawings of trees. IEEE Transactions on Software Engineering, 7 (2) pp. 223-228,1981. 28. Sarkar M., Brown M.H. Graphical Fisheye Views // Communications of the ACM. 1994. Vol. 37, N 12. P. 73-84. 29. Sarkar M., Brown M.H. Graphical Fisheye Views // Communications of the ACM. 1994. Vol. 37, N 12. P. 73-84. 30. Sarkar M., Reiss S.P. Manipulating Screen Space with Stretch Tools: Visualizing Large Structure on Small Screen//Technical Report CS-92-42/ Dept. of Comp. Sci., Brown U., Providence, RI, September 1992. 31. Six J. M., Tollis I.G. Circular drawings of biconnected graphs. LNCS 1619, pp. 5773, 1999. 32. .Shneiderman, B., The Eyes Have It: A Task by Data Type. Taxonomy for Information Visualizations, Proc. of IEEE. Symposium on Visual Languages, Los Alamos. 1996. P. 336-343. 33. Slack J., Munzner T. Composite Rectilinear Deformation for Stretch and Squish Navigation// Transactions on Visualization and Computer Graphics, September 2006. Vol. 12, N 5. P. 901-908. 34. Sugiyama K., Tagawa S., Toda M. Methods for visual understanding of hierarchical system structures// IEEE Transactions on Systems, Man, and Cybernetics. 1981. Vol. SMC-11, N. 2. P. 109-125. 35. Tamassia R. On embedding a graph in the grid with the minimum number of bends// SIAM. J. Comput. 1987. 16(3). P.421–444. 36. Van Ham F., van Wijk J.J. Interactive Visualization of Small World Graphs// Proc. IEEE Symp. Information Visualization, IEEE CS Press. 2004. P. 199-206. 37. Yang J., Ward M., Rundensteiner E., et al InterRing: a visual interface for navigating and manipulating hierarchies//Information Visualization. 2003. Vol. 2. P. 16-30. 38. Walker J. A node-positioning algorithm for general trees. Software-Practice and 193 Experience, 20(7) pp. 685-705,1990. 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 194 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Основы теории кодирования» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Соловьева Фаина Ивановна, д.ф.-м.н. (подпись) 195 Аннотация рабочей программы Теория кодов, корректирующих ошибки представляет собой описание математическими средствами эффективных методов передачи, хранения и защиты информации по открытым каналам связи с шумами. Математические модели и методы теории кодирования широко применяются в информационных системах при решении насущных практических проблем для защиты информации от ошибок, которые могут произойти при передаче данных по открытым каналам связи с помехами. Теория кодирования сравнительно новая, но интенсивно и бурно развивающаяся, что диктуется, в первую очередь, практическими запросами передачи данных на большие расстояния по открытым каналам связи с шумами. Теория кодирования начала свое развитие с фундаментальных классических работ 1949 года Клода Шеннона. Среди областей применения теории кодирования можно упомянуть такие существенные области, как связь с помощью компьютерных сетей, космическая связь, конфиденциальная передача данных (практическое приложение теории кодирования совместно с криптологией), телевидение. Эта наука – одна из важнейших научных направлений, бурно и интенсивно развиваемых в течение последних десятилетий. Без успехов в данных областях были бы невозможны современные системы связи и устройства хранения информации, во многом определяющие наблюдаемый сегодня прогресс в информационных системах и, вообще, в науке и технике. В настоящее время в нашей стране и за рубежом проводится интенсивный поиск новых эффективных методов математических моделей передачи данных. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, самостоятельная работа студента, проверка результатов СРС. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме контрольной работы, контроль в форме экзамена. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 2 зачетных единиц, 72 академических часа (из них 42 аудиторных). Из них 36 лекционных часов и 18 часов самостоятельной работы студента. Остальное время – контроль в форме проверки результатов СРС и экзамена. 196 1. Цели освоения дисциплины Спецкурс по специальности «Основы теории кодирования» предназначен для подготовки выпускников к научно-исследовательской работе в магистратуре, а также для подготовки специалистов, способных решать разнообразные теоретические и практические задачи, возникающие при передаче и хранении информации. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Основы теории кодирования» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина «Основы теории кодирования» опирается на следующие дисциплины данной ООП: Дискретная математика Теория вероятностей Алгебра Результаты освоения дисциплины «Основы теории кодирования» используются в следующих дисциплинах данной ООП: Дискретная математика Математические методы защиты информации 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Основы теории кодирования»: Обучающийся должен обладать следующими профессиональными компетенциями в соответствии с видами деятельности: научно-исследовательская деятельность: o уметь использовать методы передачи, хранения и защиты информации для исследования различных явлений и процессов, в том числе знать: методы теории кодирования для решения задач передачи информации по каналам связи с шумами криптографические методы защиты информации от несанкционированного доступа для передачи информации с использованием как криптосистем с секретными ключами, так и криптосистем с открытыми ключами. методы дискретной математики, в том числе: комбинаторные методы решения задач, методы теории графов, теорию вероятностей, теорию чисел, высшую алгебру и теорию полей Галуа. производственно-технологическая деятельность o уметь применять современные методы теории кодирования и сжатия информации; применять криптографические методы защиты информации от несанкционированного доступа. o владеть методами защиты информации, основанными на криптосистемах с открытыми ключами, основанных на методах теории кодирования, уметь создавать цифровые подписи; навыками построения основных методов защиты информации, в том числе навыками кодирования и декодирования основных линейных кодов, в том числе циклических. 1.1 Основные понятия и определения 3 1,2 4 Двоичный симметричный канал связи. Поля Галуа. Основные определения. Строение конечных полей. Примеры конечных полей. Число неприводимых многочленов. 1.2 Линейные коды. Границы объемов кодов. 3 2 1.3 Методы построения кодов 4,5 4 1.4 Группы автоморфизмов линейных кодов. 6 2 1.5 Декодирование линейых кодов 7 2 1.6 Свитчинговые методы построения кодов 8,9 4 1.7 Каскадные методы построения кодов 10 2 1.8 Блок-схемы, их связь с кодами. Свойства 11 2 блок-схем. 1.9 Системы Штейнера 12 2 1.10 Коды Адамара, их связь с системами 13 2 Штейнера и кодами 1.11 Дискретное преобразование Фурье. 14,15 4 Теоремы МакВильямс 1.12 Равновесные коды 16- 6 18 19 36 Экзамен Практич. работа Самост. работа Контроль СРС Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Лекция Раздел дисциплины Неделя семестра № п/п Семестр 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 2 зачетные единицы, 72 часа. Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) 2 1 2 1 1 2 1 1 1 1 2 2 2 0 3 2 18 6 12 Экзамен 12 4.1. Программа курса 1. Введение. Основные понятия и определения. Двоичный симметричный канал связи. Поля Галуа. Основные определения. Строение конечных полей. Примеры конечных полей. Число неприводимых многочленов. 2. Линейные коды Границы объемов кодов. Код Хэмминга и его свойства. Декодирование кодов Хэмминга. Группа автоморфизмов кода Хэмминга. Способы построения новых кодов. Теорема Глаголева. Группы автоморфизмов линейных кодов. 3. Декодирование. Декодирование двоичных кодов. Декодирование линейных кодов. Стандартное расположение, синдром, его свойства. Вероятность ошибки декодирования. 4. Свитчинговые методы построения кодов Коды Васильева. 198 5. 6. 7. 8. 9. Конструкция Моллара. Общая идея метода свитчинга. Некоторые свойства совершенных кодов. Каскадные методы построения кодов Основная идея каскадного метода построения кодов. Каскадная конструкция Зиновьева. Каскадная конструкция Фелпса. Обобщенная каскадная конструкция Зиновьева. Блок-схемы, их связь с кодами. Свойства блок-схем. Системы троек Штейнера (СТШ), связь с совершенными кодами. Методы построения СТШ: метод Ассмуса-Маттсона, метод Боуза, метод прямого произведения. Системы четверок Штейнера, методы построения, связь с расширенными совершенными кодами. Строение конечных полей. Примеры конечных полей. Коды Адамара Матрицы Адамара. Матрица Сильвестра. Матрица Пэйли. Коды Адамара. Определение кодов Адамара. Связь кодов Адамара с кодами Хэмминга, системами Штейнера. Группа автоморфизмов кода Адамара. Код Голея длины 23. Дискретное преобразование Фурье. Теоремы МакВильямс Дискретное преобразование Фурье, его свойства. Теорема МакВильямс для весовых спектров линейных кодов. Теорема МакВильямс для весовых спектров нелинейных кодов. Равновесные коды. 5. Образовательные технологии Учебная работа по данной дисциплине состоит из лекционных и семинарских занятий, а также самостоятельной работы студентов. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины Решение задач, написание рефератов по криптографии. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Соловьева Ф.И. Введение в теорию кодирования, учебное пособие для студентов ММФ и ФИТ НГУ. – Новосибирск: Изд-во НГУ, 2006. 2. Мак-Вильямс Ф.Дж.А., Слоэн Н.Дж.А. Теория кодов, исправляющих ошибки. Пер. с англ. – М.: Связь, 1979. 3. Шоломов Л.А. Основы теории дискретных логических и вычислительных устройств. – М.: Наука. 1980. 4. Сидельников В.М. Теория кодирования. – М.: Физматлит, 2008. 5. Питерсон У., Уэлдон Э. Коды, исправляющие ошибки. Пер. с англ. – М.: Мир. 1976. б) дополнительная литература: 1. Шеннон Л.А. Работы по теории информации и кибернетике. – М.: ИЛ, 1963. 199 2. Конвей Дж.Н., Слоэн Н.Дж.А. Упаковки шаров, решетки и группы. Пер. с англ. – М.: Мир. 1990. – I, II т. 3. Solov'eva F.I. On perfect codes and related topics / Lecture Notes, Pohang University of Science and Technology (POSTECH), Republik of Korea, 2004. в) программное обеспечение и Интернет-ресурсы: 1. http://www.codingtheory.nsu.ru 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 200 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Методы трансляции» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Михеев В.В., (подпись) 201 (ФИО) Аннотация рабочей программы Дисциплина «Методы трансляции» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Программирования ММФ НГУ. Основной целью курса является изучение студентами теоретических аспектов трансляции программ и практических аспектов построения современных трансляторов. В курсе изучаются: все фазы преобразования программы от исходного текста до исполняемого кода; различные типы трансляторов; современная теория синтаксического разбора, статического анализа, оптимизации и кодогенерации; методы построения компиляторов, интерпертаторов и конверторов. Дисциплина нацелена на формирование общекультурных компетенций ОК-6, ОК-8, ОК-11, ОК-12, профессиональных компетенций ПК-12, ПК-20, ПК-21, ПК-25, ПК-29 выпускника. Преподавание дисциплины предусматривает организацию учебного процесса в виде лекций. Промежуточный контроль в форме экзамена. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 3 зачетных единиц, 108 академических часа. Программой дисциплины предусмотрены 68 лекционных часов. Остальное – самостоятельная работа студентов и экзамен. 202 1. Цели освоения дисциплины Основной целью курса является изучение студентами теоретических аспектов трансляции программ и практических аспектов построения современных трансляторов. В курсе изучаются: все фазы преобразования программы от исходного текста до исполняемого кода; различные типы трансляторов; современная теория синтаксического разбора, статического анализа, оптимизации и кодогенерации; методы построения компиляторов, интерпертаторов и конверторов. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Методы трансляции» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина «Методы трансляции» опирается на следующие дисциплины данной ООП: Теория алгоритмов; Программирование (принципы проектирования языков программирования высокого уровня, навыки реализации алгоритмов на ЯВУ, язык С и др.); Графы и алгоритмы; Формальные языки и автоматы. Результаты освоения дисциплины «Методы трансляции» используются в производственной и научно-исследовательской практике студента. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Методы трансляции»: общекультурные компетенции: ОК-6, ОК-8, ОК-11, ОК-12; профессиональные компетенции: ПК-12, ПК-20, ПК-21, ПК-25, ПК-29. В результате освоения дисциплины обучающийся должен: иметь представление о месте, роли, разновидностях и особенностях средств трансляции в программном обеспечении; о задачах трансляции; о теоретических и практических основах и современных достижениях науки трансляции; о приложении задач трансляции в других областях программирования; уметь самостоятельно реализовывать основные алгоритмы (факультативно). 1 2 3 4 5 6 7 8 Вводная часть Лексико-синтаксический разбор Внутренние представления Потоковый анализ Оптимизация Генерация Прочие аспекты 7 7 7 8 8 8 8 8 1-3 6 4-17 28 18 2 1-5 10 6-9 8 10-13 8 14-16 6 17 Зачет СРС Виды учебной работы, и трудоемкость (в часах) Лекция Раздел дисциплины Неделя семестра № п/п Семестр 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 3 зачетные единицы, 108 часа. Формы контроля успеваемости (в конце семестра) 3 14 1 5 4 4 3 6 Экзамен 68 34 6 Содержание курса 1. Вводная часть. 1.1. Место трансляторов в структуре программного обеспечения. 1.2. Структура языка: лексика, синтаксис, семантика, прагматика. 1.3. Типы языков: языки программирования (алгоритмические, функциональные, логические); языки спецификации… 1.4. Уровни языков: типовые элементы характерные для языков программирования низкого и высокого уровня. 1.5. Общее представление о трансляции: типы трансляторов; этапы трансляции. 2. Лексико-синтаксический разбор. 2.1.Теория формальных языков. 2.1.1. Автоматы-распознаватели. 2.1.2. Формальные грамматики. 2.1.3. Регулярные выражения. 2.1.4. Классификация формальных языков. Теоремы об эквивалентности классов. Алгоритмы преобразования грамматик. 2.1.5. Метасинтаксические нотации для спецификации синтаксиса языков (РБНФ, диаграммы и др.). 2.2.Автоматический лексический разбор. 2.2.1. Лексическая свертка программы (токенизация). 2.2.2. Автоматизация построения лексического анализатора: методы; средства. 2.3.Автоматический синтаксический разбор. 2.3.1. Методы восходящего и нисходящего разбора. Деревья разбора. 2.3.2. Проблемы неоднозначности синтаксического разбора. 2.3.3. Специальные классы грамматик: LL(k), LR(k), их важнейшие подклассы. 2.3.4. Алгоритмы разбора для специальных классов грамматик. 2.3.5. Алгоритмы распознавания специальных классов грамматик. Алгоритмы построения грамматик специальных классов. 2.4.Атрибутная генерация. 2.4.1. Особенности атрибутно-управляемого разбора. Атрибутные грамматики. Атрибутные деревья представления программы. 2.5.Автоматизация построения синтаксических анализаторов. 2.6.Практика построения парсеров. 2.6.1. Синтаксически-ориентированные представления программы. 2.6.2. Внутренние таблицы парсера. 2.6.3. Восстановление разбора по ошибкам. 3. Внутреннее представление программы и статический семантический анализ. 3.1.Виды внутреннего представления программы: сравнительный анализ. 3.2.Элементы теории статического потокового анализа: 3.2.1. Окружение для анализа: потоковый граф, решетка состояний. 3.2.2. Вспомогательные понятия: доминаторы, списки узлов, обходы, и др. 204 3.2.3. Анализ линейных участков. Факторизация графа потока управления. 3.2.4. Процесс анализа: начальная информация, итерации, сходимость. Неподвижная точка. 3.2.5. Теоретические результаты: сходимость, единственность, оптимальность. 3.2.6. Примеры: 4 классические задачи потокового анализа и моделирование их решений. 3.3.Приложения к задачам анализа свойств программы и оптимизации. 4. Оптимизация. 4.1.Введение: 4.1.1. Задачи оптимизации, место оптимизатора в структуре компилятора. 4.1.2. Определение оптимизирующего преобразования, критерии. 4.1.3. Неразрешимость проблем распознавания эквивалентности двух программ и нахождения оптимальной программы. 4.1.4. Взаимосвязь процессов анализа и оптимизации. 4.1.5. Внутреннее представление программ, использование различных внутренних представлений. 4.2.Классификация оптимизирующих преобразований: 4.2.1. По степени зависимости от исходного языка. 4.2.2. По степени зависимости от архитектуры целевой машины. 4.2.3. Использование высоко-, низко-, среднеуровневого представления программы. 4.2.4. По размеру контекста (щелевые, попроцедурные, межпроцедурные, глобальные). 4.2.5. По источнику информации: - статическое - автоматический анализ или управляемое прагмами; - динамическое, или адаптивное. 4.2.6. Оптимизация и оптимизирующая трансляция. 4.3.Внутренние представления программы в целях оптимизации: 4.3.1. Иерархическое представление – атрибутно-синтаксическое дерево. 4.3.2. Графовые представления: - граф потока управления; варианты представления операторов: регистровая, абстракная регистровая и стековая машины; - граф потоков данных; - гибридные формы (SSA). 4.4.Архитектура оптимизатора: 4.4.1. Фаза анализа - сбор информации о программе. 4.4.2. Фаза оптимизация - изменение программы на том же представлении. 4.4.3. Фаза трансляции - перевод программы в новое представление, с сохранением или потерей оптимальности. 4.4.4. Способы взаимодействия разных фаз, последовательность их выполнения. 4.5.Обзор практических оптимизирующих преобразований: - открытая подстановка (inlining); - девиртуализация; - размещение на стеке; - просачивание копирований (copy propagation); 205 - константые вычисления (constant evaluation); удаление неисполняемого кода (dead code elimination); удаление динамических проверок (границ, нулевых ссылок); перемещение инвариантного кода (invariant code motion); CSE; раскрутка циклов (loop versioning, loop unrolling); pattern matching; удаление ветвей (branch elimination); диспетчеризация команд (instruction scheduling); распределение регистров (register allocation); выбор кода; преобразование представлений данных и кода (для кэширования и выравнивания). 4.6.Объектно-ориентированные оптимизации: 4.6.1. Системы вывода типов. 4.6.2. Оптимизация динамических проверок типов (удаление, упрощение). 4.6.3. Оптимизация виртуальных вызовов. 4.7.Языково-зависимые оптимизации 4.7.1. Анализ синонимов (aliases). 4.7.2. Оптимизация средств обработки исключений. 4.7.3. Удаление избыточной межпоточной синхронизации. 4.7.4. Стековые объекты. 4.8.Классические оптимизации: 4.8.1. Константные вычисления. 4.8.2. Удаление общих подвыражений. 4.8.3. Вынос инвариантного кода. 4.9.Заключение: практическая полезность оптимизирующих компиляторов; возрастающая роль оптимизаций как следствие развития языков программирования и архитектуры ЭВМ. 5. Генерация кода. 5.1.Основные проблемы кодогенерации для RISC и CISC-машин: 5.1.1. Распределение регистров. 5.1.2. Использование сложных команд. 5.1.3. Обеспечение конвейеризации. 5.1.4. Использование других особенностей целевого процессора. 5.1.5. Особенности генерации оптимизированного кода. 5.1.6. Подготовка к генерации (машинные идиомы, условные пересылки). 5.2.Выбор кода: 5.2.1. Базовый подход – (генерация кода по атрибутно-синтаксическому дереву). 5.2.2. Неизбежность применения средств генерации кодогенераторов. 5.2.3. Генерация кода по польской записи. 5.2.4. Генерация кода на деревьях: основы; грамматика на деревьях; динамическое программирование; BURG. 5.3.Распределение регистров. 5.3.1. Взаимодействие распределителя регистров и кодогенератора. 5.3.2. Spilling: выгоды - затраты. 206 5.3.3. Naïve allocation 5.3.4. Раскраска графа. 5.3.5. Interference spilling. 5.3.6. Заключение: нерешенность задачи выбора оптимального распределения регистров для кодогенератора, основанного на древесном представлении. 5.4.Оптимизации на низкоуровневом представлении: 5.4.1. Instruction scheduling. 5.4.2. Общие оптимизации. 5.5.Заключение. Развитие микропроцессоров, VLIW-архитектура. 6. Сборка. 6.1. Понятие сборки. 6.2. Раннее, позднее и очень позднее связывание. 6.3. Перемещение исполняемых файлов во время загрузки. 6.4. Оптимизирующие сборщики. 7. Виртуальные машины. 7.1. Интерпретация. Понятие виртуальной машины. Отличия в схеме трансляции от компиляторов. Примеры. 7.2. «Шитый код». 7.3. Компиляция «на лету». 7.4. Смешанное исполнение (интерпретация + компилированный код). 7.5. Динамическая оптимизация. 7.6. Динамическая деоптимизация. 8. Динамическая поддержка исполнения (RTS). 8.1. Явное управление памятью. 8.2. Автоматическое управление памятью (сборка мусора). 8.3. Средства обработки исключений. 8.4. Трассировка стека вызовов. 9. Поддержка отладки. 9.1. Отладка программ, ее место в процессе разработки программ. Разнообразие методов отладки. 9.2. Отладчики: низкого уровня, высокого уровня, другие типы. 9.3. Отладочная информация: понятие, основное содержание, форматы, примеры. 9.4. Генерация отладочной информации: 9.4.1. Основные таблицы. Идентификация объектов программы. 9.4.2. Привязка текста и кода, внутреннее представление. 9.4.3. Описание и внутреннее представление свойств различных элементов программы: типов, объектов, процедур и др. 9.4.4. Основные стратегии генерации отладочной информации: атрибутная, итоговая. 9.5. Взаимодействие отладчиков с RTS. 10. Другие аспекты трансляции. 10.1. Препроцессорная обработка. Условная трансляция. 207 10.2. Управление режимами и параметрами трансляции. Проектная система. Интерактивные оболочки трансляторов (IDE), их основные возможности. 10.3. Межъязыковая конверсия, её специфика. Сохранение свойств сопровождаемости программы при конверсии. 10.4. Ассемблеры, как разновидность трансляторов. 10.5. Декомпиляция. Проблемы восстановления исходной программы. 5. Образовательные технологии Используется традиционная лекционная система обучения. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины 6.1. Образцы вопросов для подготовки к экзамену (лексический и семантический анализ). 1. Структура языка программирования. Описание синтаксиса языков: БНФ, РБНФ, синтаксические диаграммы. 2. Определение трансляции. Типы трансляторов. Этапы трансляции. Компоненты транслятора. Однопроходная и многопроходная схемы трансляции. 3. Порождающие (формальные) грамматики. Определение. Классификация по Хомски. Отношения вывода. Лево- и правосторонний вывод. Язык, порождаемый грамматикой. Разрешимые и неразрешимые проблемы над языками и грамматиками. 4. Дерево синтаксического разбора; крона и сечение (сентенциальная форма). Представление вывода цепочки деревом разбора. Проблема неоднозначности вывода. Нисходящий и восходящий, лево- и правосторонний методы разбора. Реализация нисходящего левостороннего разбора методом рекурсивного спуска. 5. Конечные автоматы. Определение, способы задания, функционирование, примеры. Конечные распознаватели и преобразователи. Отношение вывода автоматом. Язык, допустимый КА. Детерминированные и недетерминированные КА, теорема о детерминизации. Реализация универсального табличноуправляемого детерминированного КА. 6. Регулярные грамматики, множества и выражения. Определения, примеры. Теорема об определении и характеризации регулярных языков. Особенности дерева вывода по РГ. 7. Лемма о разрастании для регулярных языков. Примеры нерегулярных языков. Теорема Майхилла-Нерода о единственном минимальном КА (без док-ва). Проблемы разрешимости, пустоты и конечности регулярных языков, эквивалентности РГ. 8. Лексический анализ. Место в процессе трансляции, задачи. Лексическая стуктура программы, типы и особенности лексем. Лексическая свертка программы. Лексические таблицы. Типы сканеров. Проблемы лексического анализа. Применение теории регулярных языков для лексического разбора. Автоматизация построения лексического анализатора. 9. Контекстно-свободные языки и грамматики. Определение, примеры. Достижимые свойства и эквивалентные преобразования КС-грамматик. Разрешимые и неразрешимые проблемы в классе КС-языков и грамматик. Лемма о разрастании для КС-языков. Примеры не-КС-языков. 208 10. Магазинные автоматы. Определение, примеры, функционирование. Классы детерминированных и недетерминированных МА. Расширенные МА, их моделирование обычными МА. Магазинные распознаватели и преобразователи. Отношение вывода автоматом. Язык, допустимый автоматом. Характеризация КС-языков в терминах МА. Реализация универсального таблично-управляемого детерминированного МА. 11. Недетерминированный нисходящий и восходящий разбор по КС-грамматике. Построение моделирующих магазинных автоматов. Детерминированный разбор с возвратами.. Оценки сложности. 12. Детерминированный табличный разбор без возвратов по КС-грамматике: алгоритм Кока-Янгера-Касами. Оценка сложности. 13. Детерминированный горизонтальный левосторонний разбор без возвратов по КСграмматике: алгоритм Эрли. Оценка сложности. 14. LL(k)-грамматики и нисходящий левосторонний разбор. Определение, примеры, свойства. Соотношение классов LL(k). Разрешимые проблемы в классе LL(k). Методы приведения грамматики к LL(k). Множества LEFTk, FOLLOWk, LOOKAHEADk; их построение. Практические условия для проверки LL(k)свойства. Реализация детерминированного синтаксического LL(k)-разбора. Построение ДМА-преобразователя для LL(k)-разбора. Оценка сложности алгоритма разбора. 15. LR(k)-грамматики и восходящий правосторонний разбор. Определение, свойства. Подклассы SLR(k) и LALR(k). Соотношения классов LR(k) и их подклассов. Особенности класса LR(0). Множество EFFk. LR(k)-ситуации. Характеристическое свойство LR(k). Cистема множеств допустимых LR(k)ситуаций; построение канонической системы множеств. Практические условия для проверки LR(k)-свойства и для выбора правила развертки при разборе. 16. Схема таблично-управляемого восходящего правостороннего разбора типа «перенос-свертка». Конфликты типа «перенос-свертка» и «свертка-свертка» при ВП-разборе. Доопределение схемы «перенос-свертка» для LR(k)-анализатора. Построение управляющих LR(k)-, SLR(k)- и LALR(k)-таблиц разбора для универсального LR(k)-анализатора. Примеры. Оценка сложности алгоритма разбора. 17. Отношения предшествования Вирта-Вебера. Грамматики простого, слабого и операторного предшествования. Определение, примеры, свойства. Способы разрешения конфликтов и настройка восходящего правостороннего разбора по схеме «перенос-свертка» для грамматик предшествования. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Ахо А., Сети Р., Ульман Дж. Компиляторы: принципы, технологии, инструменты. – М.-С.Пб.-Киев: Вильямс, 2001. 2. Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. Том 1. Синтаксический анализ. – М.: Мир, 1978. 3. Черноножкин С.К. Методы трансляции. – Новосибирск: НГУ, 1995. 4. Касьянов В.Н. Лекции по теории формальных языков, автоматов и сложности вычислений. – Новосибирск: НГУ, 1995. б) дополнительная литература: 1. Рейуорд-Смит В.Дж.. Теория формальных языков. Вводный курс. – М.: Радио и связь, 1988. 209 2. Касьянов В.Н., Поттосин И.В. Методы построения трансляторов. – Новосибирск: Наука, 1986. 3. Хантер Р. Проектирование и конструирование компиляторов. – М.: Финансы и статистика, 1984. 4. Marlowe Т. and Ryder B. Properties of Data Flow Frameworks. – Acta Informatica, 28(1990):9-22. 5. Cytron R., Ferrante J., Rosen B., Wegman M., Zadeck F. The Static Single Assignment Form and its Computation. – (репринт статьи). в) программное обеспечение и Интернет-ресурсы: Упомянутая и другая литература http://www.excelsior.ru/~vit/mt/. доступны 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 210 на сайте МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Алгебраическая комбинаторика» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Васильева Анастасия Юрьевна, к.ф.-м.н. (подпись) 211 Аннотация рабочей программы Дисциплина «Алгебраическая комбинаторика» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Теоретической кибернетики ММФ НГУ. Содержание дисциплины охватывает круг вопросов, связанных с таким ключевым понятием алгебраической комбинаторики как схемы отношений, представляющие собой алгебраический аппарат для изучения широких классов комбинаторных структур. Дисциплина нацелена на обучение студентов теории схем отношений и ее применениям к теории кодирования. Дисциплина нацелена на формирование компетенций ОК-6-9 и ПК-8-13 выпускников. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль в форме коллоквиума и промежуточный контроль в форме экзамена. Общая трудоемкость дисциплины составляет 3 зачетные единицы, 108 академических часов. Программой дисциплины предусмотрены 32 лекционных часа, а также 36 часов самостоятельной работы студентов. Остальное время – контроль в форме коллоквиума и экзамена. 212 1. Цели освоения дисциплины Технический прогресс второй половины XX века поставил перед математиками совершенно новые задачи, задачи эффективной обработки больших объемов дискретной информации. Оказалось, что изучение даже конечных дискретных объектов весьма актуально с одной стороны и весьма непросто – с другой. Использование алгебраического аппарата позволило получить прорывные (теперь уже ставшие классическими) результаты, а в настоящее время в дальнейшее развитие это направления вовлечен широкий круг специалистов во всем мире. Основной целью дисциплины является изложение основных вопросов теории схем отношений, лежащих на стыке алгебры и комбинаторики. Задачи дисциплины – ввести студентов в теорию схем отношений, показать взаимосвязи с теорией графов и теорией кодирования. Курс состоит их двух основных частей. В первой части курса студенты знакомятся с такими основными понятиями как схема отношений и дистанционно регулярный граф, изучаются их свойства и взаимосвязи. Также в этой части курса кратко излагаются необходимые дополнительные факты из алгебры. Указываются связи и аналогии с теорией характеров и теорией представления групп. Вторая часть нацелена на применения теории схем отношений в теории графов, теории кодирования и теории дизайнов. Описывается связь с основной задачей теории графов – задачей изоморфизма графов. Дается граница линейного программирования для кодов. 2. Место дисциплины в структуре ООП Дисциплина «Алгебраическая комбинаторика» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Прикладная математика и информатика». Дисциплина «Алгебраическая комбинаторика» опирается на следующие дисциплины: Алгебра. Дискретный анализ и комбинаторика; Коды и схемы; Теория графов; Совершенные структуры. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Алгебраическая комбинаторика»: общекультурные компетенции: ОК-6-9; профессиональные компетенции: ПК-8-13. В результате освоения дисциплины обучающийся должен знать: определение и свойства схем отношений, дистанционно регулярных графов и алгебр Боуза-Меснера; взаимосвязи различных схем, схемы отношений Хэмминга и Джонсона; границу линейного программирования; преобразования Фурье и Адамара, теоремы Мак-Вильямс; уметь: находить параметры схем отношений; строить примеры схем отношений; устанавливать свойства полностью регулярных подмножеств и совершенных раскрасок; применять теоремы Мак-Вильямс. 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 3 зачетные единицы, 108 часов. 213 2 3 4 5 6 7 8 9 10 11 12 13 14 Определение и примеры схем отношений Дистанционно регулярные графы, их свойства, примеры Алгебра Боуза-Меснера схемы отношений Идемпотенты. Идемпотенты для схем отношений. Собственные значения, числа пересечений, параметры Крейна. Сильно регулярные графы Совершенные раскраски Подсхемы и разбиения матриц Примитивность схем отношений. Полностью регулярные подмножества. Двоичные и q-ичные схемы отношений Хэмминга. Схемы отношений Джонсона. Внутреннее произведение и ортогональное проектирование. Линейное программирование. Клики и коклики. Характеры. Графы Кэли. Дискретное преобразование Фурье и преобразование 2 2 2 3 2 3 2 2 2 4 2 2 2 5 2 3 2 6 2 2 2 7 2 2 2 8 2 2 2 9 2 3 2 10 2 3 2 11 2 2 2 12 2 3 2 13 2 2 2 14 2 2 214 2 Экзамен 2 Коллокв иум 2 Самост. работа 1 Лабор. работа 2 Лекция Неделя семестра 1 Раздел дисциплины Семестр № п/п Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) Коллоквиум, см. п. 6 Адамара 15 16 17 Теоремы Мак-Вильямс Алгебры Тервилигера 2 15 2 3 2 16 2 2 2 17 38 Экзамен 67777777777742 0 81111111111068 26 81111111111068 5. Образовательные технологии Используется традиционная система обучения, включающая лекции, коллоквиум и экзамен. Содержание лекции должно отвечать следующим дидактическим требованиям: изложение материала от простого к сложному, от известного к неизвестному; логичность, строгость, четкость и ясность в изложении материала; возможность проблемного изложения, с целью активизации деятельности студентов. Для контроля освоения студентами теоретического материала в середине семестра предполагается проведение коллоквиума. Для проверки уровня знаний студентов и их аттестации в конце курса предполагается проведение экзамена. При проведении аттестации по предмету студентов важно помнить, что систематичность, объективность, аргументированность – главные принципы, на которых основаны контроль и оценка знаний студентов. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины Самостоятельная работа студентов предусматривает изучение теоретического материала и решение практических задач. Теоретический материал изучается в форме проработки прочитанных лекций, а также в изучении рекомендованной литературы. Задачи решаются в форме выполнения домашних заданий. При этом студенты имеют возможность пользоваться учебными пособиями, представленными в библиотеке и читальных залах. Текущий контроль осуществляется в форме контрольных вопросов на лекциях, а также проведением в середине семестра коллоквиума. Итоговая аттестация по итогам освоения дисциплины согласно учебному плану осуществляется в форме экзамена в конце семестра. Экзаменационный билет аттестации по итогам освоения дисциплины включает теоретический вопрос и задачу по теме, отличающейся от вопроса. 6.1. Перечень задач для контрольных, самостоятельных и домашних работ содержится в методичке: Кононов А.В, Кононова П.А. Приближенные алоритмы. Учебное пособие. – Новосибирск: Изд-во НГУ, 2014. Примерный перечень контрольных вопросов и заданий для самостоятельной работы: 1. Параметры схем отношений, алгебра Боуза-Меснера. 2. Свойства идемпотентных матриц. Существование базиса из примитивных идемпотентов для алгебры Боуза-Меснера. 3. P- и Q-полиномиальные схемы. 4. Дистанционно регулярные графы как частный случай схем отношений. 5. Схема отношений Хэмминга. 6. Схема отношений Джонсона. 215 7. Граница линейного программирования для клик и коклик. Ее применение в теории кодирования. 8. Характкры групп. 9. Преобразования Фурье и Адамара. 10. Теоремы Мак-Вильямс. 6.2. Примеры вопроса для коллоквиума по пройденным темам для текущего контроля успеваемости: 1. Сформулировать теорему о существовании базиса из примитивных идемпотентов для алгебры Боуза-Меснера произвольной схемы отношений. 2. Сформулировать теорему о неотрицательности параметров Крейна, дать короткий набросок доказательства. 6.3. Пример экзаменационного билета: Вопрос: Граница линейного программирования для клики в схеме отношений. Задача: Вычислить параметры схемы отношений полного графа. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 9. Баннаи Э., Ито Т. Алгебраическая комбинаторика. М.: Мир. 1987. 10. Дельсарт Ф. Алгебраический подход к схемам отношения теории кодирования. М.: Мир. 1976. 11. Godsil, C. D. (1993). Algebraic combinatorics. Chapman and Hall Mathematics Series. New York: Chapman and Hall. pp. xvi+362. ISBN 0-412-041316. MR 1220704. 12. Brouwer A.E., Cohen A.M., Neumaier A. Distance regular graphs. . New York: Springer-Verlag. 1989. б) дополнительная литература: 4. Godsil, C. D. Association schemes. Unpublished. http://quoll.uwaterloo.ca/pdfs/assoc2.pdf 5. Godsil, Chris; Royle, Gordon (2004). Algebraic graph theory. New York: Springer-Verlag. ISBN 0-387-95241-1. MR 1829620. 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 216 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Дискретный анализ и комбинаторика» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Евдокимов А.А., к.ф.-м.н. (подпись) 217 (ФИО) 1. Комбинаторика перечисления, метод кодирования для подсчёта числа объектов. Системы счисления и кодирование натуральных чисел. Задачи о нумерациях подмножеств конечного множества. Коды Грея. Нумерации объектов в порядке минимального изменения. <m,n>-нумерации множества слов. Алгоритмы построения нумерующих отображений. Отображения конечных множеств, их кодирование и подсчет числа. Кодирование деревьев. Число деревьев. Примеры подсчёта с помощью рекуррентных уравнений и производящих функций. 2. Комбинаторика слов и символьных последовательностей. Некоторые классические символьные последовательности и способы их задания. Универсальные слова. Задачи восстановления слов по их фрагментам. Комбинаторная сложность слов. Псевдослучайные последовательности. Графы перекрытия подслов символьных последовательностей. Последовательности де Брейна и их число. Задачи быстрой сборки слов. Аддитивная сложность символьных последовательностей и ее связь с задачами быстрого умножения и вычисления полиномов. Алгоритмы сборки. Оценки аддитивной сложности индивидуальных последовательностей. Суффиксные деревья. Префиксные коды. Запрещённые подслова и проблема полноты множества слов. 3. Кодирование структурированной информации. Вложения дискретных пространств и графов. Понятия близости, расстояния, метрики. Структуры метрических пространств на множествах подмножеств, словах, символьных последовательностях. Реализация метрик графами. Структура гиперкуба. Гиперкубовая и систолическая архитектура вычислительных систем. Кодирование дискретных объектов и вложения в гиперкубы. Изоморфные и изометрические вложения. Вложения с растяжением ребер. Алгоритмы построения вложений. Локально изометрическое кодирование табло. Вложения деревьев и систолических архитектур. 4. Булевы, к-значные и словарные функции. Булевы функции, их число, способы задания. Представление формулами. Нормальные формы. Единственность совершенной и сокращённой форм. Представления многочленами Жегалкина. Полнота систем булевых функций. Теорема Поста. K-значные логические функции. Словарные функции. Схемы из функциональных элементов. Конечные автоматы. 5. Ориентированные графы и дискретные модели генных сетей. Ориентированные графы и сети. Генные сети. Простейшие дискретные модели. Анализ и графы функционирования. Достижимость вершин. Алгоритмы нахождения внутренне и внешне устойчивых множеств. Базы и ядра. Алгоритм построения разрезов циклов. Логические производящие функции. Булевы методы в задачах теории графов. Диаметр, радиус и центр в ориентированных графах и алгоритмы их нахождения. Анализ и сложность функционирования регуляторного контура генной сети. 218 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Дискретные экстремальные задачи» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Кононов А.В., к.ф.-м.н. (подпись) 219 (ФИО) 1. Введение. Понятие алгоритма, размер входа, перечисление (перебор) , время работы алгоритмов, алгоритм сортировки слиянием (2 часа) 2. Графы. Основные определения. Деревья, обходы и разрезы. Связностью Эйлеровы и двудольные графы (2 часа) 3. Алгоритмы сканирования и обхода. (2 часа) 4. Остовные деревья. Задача о минимальном остовном дереве. Задача о минимальном взвешенном ориентированном остовном дереве. Упаковка остовных деревьев. (2 часа) 5. Кратчайшие пути. Кратчайшие пути из одной вершины. Кратчайшие пути между всеми парами вершин. Задача о минимальном усредненном цикле. (2 часа) 6. Потоки в сетях Теорема о максимальном потоке и минимальном разрезе Теоремы Менгера. Теорема о декомпозиции потока. (2 часа) 7. Потоковые алгоритмы. Алгоритм Форда-Фалкерсона. Алгоритм Эдмонса-Карпа. Блокирующие потоки. Алгоритм проталкивания предпотока. Алгоритм ГолдбергаТарьяна. (4 часа) 8. Паросочетания в двудольных графах. Теорема Кенига. Теорема Холла. Теорема о бракосочетаниях. (2 часа) 9. Задача о максимальном паросочетании. Матрица Татта. Теорема Татта. Формула БержаТатта. Вероятностный алгорим Ловаша. Фактор-критические графы. M-чередующиеся декомпозиции. Алгоритм Эдмондса. (6 часов) 10. Матроиды. Независимые системы и матроиды Жадный алгоритм для задачи максимизации независимой системы. Теорема Эдмонса-Радо. (2 часа) 11. NP-полнота. Машина Тьюринга. Задачи распознавания. Классы P и NP. Теорема Кука. Полиномиальная сводимость. Основные NP-полные задачи (6 часов) 12. Приближенные алгоритмы. Основные понятия и обзор комбинаторных методов на примере задачи о покрытии. (2 часа) 13. Комбинаторные алгоритмы для задач с метрикой. Задача о k-центрах, задача Коммивояжера, задача Штейнера. (2 часа) 14. Задача о кратчайшей суперстроке. (2 часа) 15. Приближенные схемы. Основные идеи построения приближенных схем на примере задчи из теории расписаний. (2 часа) 16. Асимптотическая приближенная схема для задачи об упаковке. (2 часа) 17. Приближенная схема для цеховой задачи открытого типа. (2 часа) 18. Приближенные алгоритмы на основе ЛП. Задача о покрытии, простейшая задача размещения, задача минимизации длины расписания на параллельных машинах различной производительности, обобщенная задача о назначениях. (6 часов) 220 19. Рандомизированные алгоритмы и дерандомизация. выполнимости. Задача о максимальном разрезе. (2 часа) Задача о максимальной 20. Использование метода эллипсоидов и построение отделяющего оракула при решении задач ЛП с неполиномиальным количеством ограничений. Задача минимизации взвешенной суммы моментов окончания выполнения работ на одной машине. (4 часа) 21. Полуопределенное программирование. Задача о максимальном разрезе, задача взаимозависимой кластеризации. (2 часа) 22. Метод локального поиска. Простейшая задача размещения. (2 часа) 23. Округление данных в динамическом программировании. Приближенная схема Бэйкера для задачи о независимом множестве на планарных графах. (2 часа) 24. Неаппроксимируемость. Техника разрыва. Сведения предохраняющие аппроксимацию. PCP-теорема.(6 часов) Литература 1. Korte B., Vygen J. Combinatorial Optimization: theory and algorithms. (Algorithms and Combinatorics 21), Springer, Berlin, 2000. 2. Пападимитриу Х., Стайглиц К. Комбинаторная оптимизация. Алгоритмы и сложность. М.: Мир, 1985. 3. D.P. Williamson, D.B. Shmoys, The design of approximation algorithms, Cambridge University Press, 2011, New York, USA. 4. Approximation Algorithms for NP-hard problems, edited by D.Hochbaum, PWS Publishing Company, 1997. 5. V.Vazirani Approximation Algorithms, Springer-Verlag, Berlin, 2001. 221 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Коды и схемы» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Могильных И.Ю., к.ф.-м.н. (подпись) 222 (ФИО) Коды, исправляющие ошибки в канале связи. Параметры кода. Пространство Хэмминга. Классические границы объемов кодов: Хэмминга, Синглтона и Плоткина. Линейные коды, порождающая и проверочные матрицы этих кодов. Группы симметрий и автоморфизмов линейных кодов и кодов дуальных к ним. Совершенные коды. Двоичные коды Хэмминга. q-значные совершенные коды. Конструкция q-значных кодов Хэмминга. Основные структурные свойства совершенных кодов. Дистанционная инвариантность совершенного кода. Антиподальность совершенного кода и единственность по среднему слою. Верхняя оценка числа совершенных кодов (Теорема Августиновича). Теоремы Шапиро-Злотника. Теорема Дельсарта-Пулатова. Теорема Ллойда. Теорема существования совершенных кодов (теорема Зиновьева-Леонтьева-Титвайнена). Группа симметрий кода Хэмминга. Теоремы Соловьевой-Топаловой и Фелпса. Основные конструкции совершенных и расширенных совершенных кодов. Понятие свитчинга. Свитчинговые конструкции: Васильева, альфа-компонент. Нижняя оценка числа совершенных кодов Васильева. Каскадирование. Основные каскадные конструкции: Соловьевой, Зиновьева, Фелпса. Блок-схема. Проблема существования блок-схем. Необходимые целочисленные условия существования блок-схем. Неравенство Фишера. Симметричные схемы. Пересечение блоков симметричной схемы. Теорема БрукаРайзера-Човла. Конечная проективная плоскость. Конечные проективные плоскости и симметричные блок-схемы. Схема, дуальная к симметричной. Необходимые условия существования симметричных схем при нечетных n. Системы троек и четверок Штейнера. Допустимые параметры троек и четверок Штейнера. Связь систем троек Штейнера и совершенных кодов, систем четверок Штейнера и расширенных совершенных кодов. Конструкция прямого произведения системы троек Штейнера. Конструкция Ассмуса-Маттсона. Связь конструкции систем троек Штейнера Ассмуса-Маттсона с конструкцией Васильева. Конструкции четверок Штейнера Ханани и Алиева. Нижние оценки числа STS и SQS. Список литературы Ф. Д. МакВильямс, Н. Д. А. Слоэн, “Теория кодов, исправляющих ошибки”, Москва, Связь, 1979, 743 С. J. H. van Lint, “Introduction to coding theory”, Springer, 1999, 227 С. Ф. И. Соловьева, “Введение в теорию кодирования”, Новосибирск, издательство НГУ, 2010, 132 С. Ф. Дельсарт, “Алгебраический подход схемам отношений теории кодирования”, Москва, Мир, 1976, 134 С. М. Холл, “Комбинаторика”, Москва, Мир, 1970, 423 С. T. Beth, D. Jungnickel, H. Lenz, “Design theory”, Cambridge University Press, 1999, 1100 С. C.J. Colbourn, J. H. Dinitz, Handbook of Combinatorial Designs (2nd Edition ed.), Boca Raton: Chapman & Hall, 2007, 223 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Комбинаторные задачи на графах Кэли» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Константинова Валентиновна, к.ф.-м.н. (подпись) 224 Елена Программа дисциплины «Комбинаторные задачи на графах Кэли» составлена в соответствии с требованиями ФГОС ВПО к структуре и результатам освоения основных образовательных магистерских программ (ОМП) высшего профессионального образования по направлению «Прикладная математика и информатика», а также в соответствии с задачами, стоящими перед Новосибирским государственным университетом по реализации Программы развития НГУ. Содержание дисциплины включает в себя изучение и освоение теоретических и алгоритмических методов и подходов при решении комбинаторных задач на графах Кэли. Особое внимание уделяется классическим задачам (гамильтоновость, определение диаметра). Также исследуется прикладной аспект графов Кэли, который наиболее ярко проявляется в задаче эффективного восстановления вершин (молекулярная биология, теория кодирования), а также близкой к ней задаче сортировка реверсалами. Кроме этого, графы Кэли рассматриваются как модели для представления компьютерных сетей. Задачи на графах Кэли, возникающие в компьютерных науках, представлены в дисциплине. Преподавание дисциплины предполагает чтение лекций, реферирование научных статей на семинарах, а также самостоятельную работу студентов. Программой дисциплины предусмотрены текущий контроль успеваемости в форме домашних заданий. 225 1. Цели освоения дисциплины (курса) «Комбинаторные задачи на графах Кэли» Целями освоения дисциплины «Комбинаторные задачи на графах Кэли» являются: 1) знакомство слушателей с основными теоретическими и алгоритмическими методами и подходами при решении комбинаторных задач на графах Кэли; 2) выработка навыков анализа прикладных задач, возникающих в смежных областях знаний (в первую очередь, в компьютерных науках, молекулярной биологии и биоинформатике), а также навыков их формулирования на языке графов Кэли; 3) выработка умения исследовать поставленные задачи, эффективно используя полученные знания теории графов Кэли, а также выработка умения формулировать результаты исследований в виде конкретных рекомендаций в терминах, используемых в предметной области. Для достижения этих целей в рамках курса проводится знакомство студентов как с классическими задачами теории графов Кэли (гамильтоновость, определение диаметра, классификация, изоморфизм, перечисление), так и с прикладными задачами (сортировка реверсалами, эффективное восстановление вершин). Освоив дисциплину, обучающийся приобретает навыки построения и исследования математических моделей при решении междисциплинарных задач, а также теоретические и практические знания в области теории графов Кэли. 2. Место дисциплины в структуре образовательной программы Дисциплина «Комбинаторные задачи на графах Кэли» входит в вариативную часть профессионального цикла образовательной программы подготовки дипломированного магистра по направлению «Прикладная математика и информатика». Изучение дисциплины опирается на материалы курсов, входящих в базовую часть математического и естественнонаучного цикла образовательной программы, а именно: «Дискретная математика» (перестановки, перечисление графов), «Дополнительные главы линейной алгебры» (собственные значения, спектры), а также на материалы курсов, входящих в базовую часть профессионального цикла образовательной программы, а именно: «Теория графов» (базовые понятия, определения, классы графов), «Дискретный анализ и комбинаторика» (комбинаторика перечисления, коды Грея, графы гиперкубов). Полученные при изучении дисциплины «Комбинаторные задачи на графах Кэли» знания и навыки могут быть полезными при изучении дисциплин «Совершенные структуры», «Элементы теории дискретных структур». Кроме того, умение решать задачи теории графов Кэли полезно для дальнейшего изучения дискретной математики и информатики. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Комбинаторные задачи на графах Кэли» При освоении дисциплины формируются общекультурные компетенции (ОК): ОК-6-9 профессиональные компетенции (ПК): ПК-8-13 В результате освоения дисциплины обучающийся должен знать: - основные методы и подходы к решению задач теории графов Кэли; - о междисциплинарном характере теории графов Кэли, а также о многообразии моделей 226 и постановок задач теории графов Кэли, применяемых в различных областях знаний; - о месте теории графов Кэли в структуре дисциплин, занимающихся дискретной математикой; - об открытых проблемах в теории графов Кэли. В результате освоения дисциплины обучающийся должен уметь: - оперировать общепринятой терминологией теории графов Кэли; - уметь определять базовые понятия, как на языке теории графов, так и на языке теории групп; - уметь корректно и полно проводить доказательства утверждений; - находить связь понятий теории графов Кэли с понятиями других дисциплин дискретной математики; - уметь решать задачи на основе анализа структурных свойств графов Кэли; - получать теоретические результаты на основе алгоритмических подходов. В результате освоения дисциплины обучающийся должен владеть: - навыками исследования графов Кэли; - навыками построения семейств графов Кэли, обладающих заданными свойствами; - навыками математического моделирования, позволяющими решать прикладную задачу в терминах теории графов Кэли; - навыками использования эффективных алгоритмов на графах Кэли с целью получения теоретических результатов. 4. Структура и содержание дисциплины «Комбинаторные задачи на графах Кэли» Общая трудоемкость дисциплины составляет 3 зачетных единицы, 108 часов. Курс читается в первом семестре первого года магистратуры. Предусмотрены текущие домашние работы и устный экзамен. Формы текущего контроля успеваемости (по неделям семестра) п/п № Раздел дисциплины Историческое введение. Основы теории графов Кэли. 1 Группы и графы: понятия, определения, примеры. Основные свойства графов Кэли. Графы 2 Хэмминга, Джонсона, Кнесера. Гамильтоновость графов 3 Кэли. Гипотезы Ловаса и Не деля семестра С Л амост екци . и работ а 1 2 2 2 2 2 3-7 1 10 227 Экз амен Текущий выполнения контроль домашних Бабаи. Определение диаметра графов Кэли (абелевы, 4 неабелевы группы). Открытые проблемы. 8-13 Сортировка реверсалами 5 – прикладная задача. 14 Эффективное восстановление вершин в 6 графе: задача теории кодирования. Графы Кэли и сети. 7Классические задачи на графах Кэли и сетях. работ 0 1 2 12 Текущий выполнения работ контроль домашних 2 Текущий выполнения работ контроль домашних Текущий выполнения работ контроль домашних 2 1516 4 4 1718 4 4 Аттестация Всего: 36 36 36 Устный экзамен 36 А) Лекции Общая продолжительность лекционной части курса составляет 34 часа. Материал разбит на семь разделов, подробное описание которых приводится ниже. Раздел 1. Введение. (4 часа) 1.1 Основы теории графов Кэли (2 часа). Историческое введение: междисциплинарный характер дисциплины. Группы и графы: понятия, определения, примеры. Симметрическая группа. Гипероктаэдральная группа. Регулярные и транзитивные графы. Дистанционно регулярные и дистанционно– транзитивные графы. 1.2 Основные свойства графов Кэли (2 часа). Всякий граф Кэли является вершинно-транзитивным, но не каждый вершиннотранзитивный граф является графом Кэли. Граф Хэмминга: дистанционно-транзитивный граф Кэли. Граф Джонсона: дистанционно-транзитивный не граф Кэли. Граф Кнезера: когда он является графом Кэли? Графы Кэли на симметрической группе. Графы Кэли на гипероктаэдральная группе. Раздел 2. Гамильтоновость графов Кэли (10 часов) 2.1 Общие сведения о проблеме. Связь с кодами (2 часа). Постановка задачи. NP-полнота. Гамильтоновость гиперкуба и код Грея. Комбинаторные условия гамильтоновости графов Кэли. Теорема Раппопорт-Штраус. Теорема Ранкина. 2.2 Гипотезы Ловаса и Бабаи (2 часа). Две противоположные гипотезы на гамильтоновость графов Кэли. Результаты, полученные в рамках каждой из гипотез. Гипотеза Мохара. 2.3 Гамильтоновость графов Кэли на произвольной конечной группе (2 часа). Теорема Пака и Радоичича. 2.4 Гамильтоновость графов Кэли на симметрической группе (2 часа). 228 Порождение симметрической группы транспозициями. Теорема Копельмахера и Лисковца. Обобщение теоремы. 2.5 Гамильтоновость Pancake графа (2 часа). Два доказательства гамильтоновости Pancake графа. Гамильтоновость с учетом иерархической структуры Pancake графа. Гамильтоновость на основе свойств перестановок (алгоритм Закса). Циклическая структура Pancake графа. Раздел 3. Определение диаметра графов Кэли (12 часов) 3.1 Общие сведения о проблеме. (2 часа). Постановка задачи. NP-трудность. Диаметр графа Кэли для кубика Рубика. 3.2 Диаметр графов Кэли на абелевых и неабелевых группах (2 часа). Гипотеза Бабаи и Сереша. Теорема Бабаи, Кантора и Любоцкого (оценка диаметра графов Кэли на неабелевых группах). Теорема Анексштейна и Баумслага (оценка диаметра графов Кэли на абелевых группах). 3.3 Диаметр графов Кэли на симметрической и знакопеременной группах (2 часа). Результаты Бабаи, Сереша, Хиао. 4.3 Открытая проблема определения диаметра Pancake графа (4 часов). Pancake проблема. Связь с молекулярной биологией. Простая сортировка префиксреверсалами. Алгоритм Гейтса и Пападимитроу (эффективная сортировка префиксреверсалами). Верхняя и нижняя оценки на диаметр Pancake графа. Улучшенные оценки Хейдари и Садбороу. 4.4 Открытая Burnt Pancake проблема (2 часа). Burnt Pancake проблема. Связь с молекулярной биологией (операции на перестановках и мутации в генах). Простая сортировка знакопеременными префикс-реверсалами. Оценки Гейтса и Пападимитроу. Улучшенные оценки Коэна и Блюма. Раздел 4. Сортировка реверсалами (2 часа) Прикладная задача молекулярной биологии. Реверсальное расстояние. Математический анализ задачи. Две алгоритмические подзадачи. Два случая: помеченные и непомеченные перестановки. Результаты Санькова, Банфы, Певзнера. Раздел 5. Эффективное восстановление вершин в графе (4 часа) 5.1 Классические результаты. (2 часа). Постановка задачи. Графы ошибок. Эффективное восстановление вершин в графах Хэмминга и Джонсона. Теоремы Левенштейна. 5.2 Реверсальный граф (2 часа). Определение графа. Перестановки и реверсалы: основные свойства. Структурные свойства реверсального графа. Восстановление перестановок в реверсальном графе. Раздел 6. Графы Кэли и сети. (4 часа) 229 Моделирование компьютерных сетей графами Кэли: преимущества. Основные примеры сетей на основе графов Кэли (гиперкуб, Star networks, Pancake networks, Butterfly networks). Классические задачи на графах Кэли и сетях. Б) Самостоятельная работа. Программой дисциплины предусматривается самостоятельная работа студентов, состоящая в разборе лекций, выполнении домашних заданий, реферировании научных статей, выступлении на научных семинарах. Примерный перечень научных статей для реферирования представлен в списке контролирующих материалов в п.6 настоящей программы. В) Консультации. В течение всего курса проводятся текущие консультации по вопросам, возникающим у студентов. 5. Образовательные технологии дисциплины «Комбинаторные задачи на графах Кэли» При разработке учебной работы используется активная форма обучения в сочетании с внеаудиторной работой. Изложение материала осуществляется лекционным способом, при этом часть доказательств оставляется в качестве упражнений для самостоятельной внеаудиторной работы. Все оставленные таким образом задания затем тщательно разбираются на следующей лекции. Студенты записывают прослушиваемый материал по время лекций. Кроме этого, у них имеется электронный ресурс, где представлен весь основной материал лекционного курса. Ресурс расположен на сайте кафедры теоретической кибернетики Новосибирского Государственного Университета (см. http://tc.nsu.ru/uploads/лекции_графы_Кэли.pdf). Изложение лекций предполагает диалог со слушателями. В начале каждой лекции выделяется 10 минут для напоминания содержания предыдущей лекции, ответов на вопросы студентов, а также разбор домашних заданий. В конце лекции также выделяется 10 минут для ответов на вопросы по текущему материалу и его обсуждения. Кроме этого, изложение дисциплины ведется с привлечением студентов к доказательству ряда утверждений, что позволяет слушателям лучше усвоить материал и попрактиковаться в проведении доказательств. В силу междисциплинарного характера дисциплины, студентам также даются дополнительные знания из таких областей знаний, как молекулярная биология, биоинформатика, компьютерные науки, компьютерные и молекулярные сети, веб-графы. Студенты иметь возможность в течение всего курса получить дополнительные разъяснения у преподавателя, как при личной встрече, так и по электронной почте. Программой курса предусматривается также такой вид самостоятельной работы студентов, как реферирование научных статей и выступление на научно-исследовательском семинаре в Институте математики им. С.Л. Соболева СО РАН. Научные статьи подбираются, с одной стороны, с учетом научных интересов самих студентов, а с другой стороны, в соответствии с основными проблемами, изучаемыми в рамках лекционного курса. Основной целью данной работы является вовлечение студентов в активную научную деятельность, в результате которой учащиеся могут составить более полное представление о современном состоянии теории графов Кэли, а также прикладных аспектах данной теории. Кроме этого, реферирование научных статей предполагает тщательную работу с новым материалом, усвоение уже пройденного материала, скрупулезный анализ и обработку почерпнутых данных. Этот вид деятельности даёт студентам возможность 230 обрести навыки работы с научной литературой, овладеть методикой научного исследования, способствует формированию и укреплению навыков выступления на научных семинарах, аргументированного и четкого изложения мыслей, что согласуется с целями как данной дисциплины, так и образовательной программы в целом. Стоит отметить, что данная дисциплина является оригинальной разработкой автора, в основу которой были положены лекции, прочитанные автором в Новосибирском Государственном Университете (см. http://tc.nsu.ru/uploads/лекции_графы_Кэли_2013.pdf), в Институте Фундаментальных Исследований, Тегеран (http://www.ipm.ac.ir/books.jsp); на факультете математики, естественных наук и информационных технологий в Университете Приморска, Копер, Словения (http://www.famnit.upr.si/sl/resources/files/knjiznica/studijskogradivo/lecturenotes20121.pdf). Основу лекций составляют базовые понятия теории графов и теории групп, алгебраической теории групп, а также современные результаты, пока еще не оформленные в виде монографий и книг. В рамках курса излагаются оригинальные результаты, полученные в течение последних лет в мировых центрах по исследованию графов Кэли. Кроме этого, тесное взаимодействие кафедры теоретической кибернетики ММФ НГУ и отделом теоретической кибернетики ИМ СО РАН предоставляет слушателям дополнительные возможности по изучению дисциплины. Студенты имеют возможность принимать участие в работе постоянно действующего (один раз в неделю) семинара «Теория графов». В рамках этого семинара с докладами выступают ведущие специалисты в области теории графов и теории графов Кэли. На этом семинаре студенты имеют возможность выступить с реферированием научных статей. Участие в работе семинара является действенной формой обучения слушателей профессиональным компетенциям, связанным в первую очередь с научно-исследовательской деятельностью. 6. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины «Комбинаторные задачи на графах Кэли» и учебно-методическое обеспечение самостоятельной работы студентов Самостоятельная внеаудиторная работа студентов организована в виде освоения теоретического материала, выполнения домашних заданий и реферирования научных статей. Для оценки текущего контроля усвоения студентами материала курса предусмотрены: домашние задания, направленные на закрепление знаний, полученных во время лекций; самостоятельная работа студента над реферированием научных статей. Выбор научной статьи для реферирования осуществляется с учетом научных интересов самих студентов, а также в соответствии с основными проблемами, изучаемыми в рамках лекционного курса. Для успешного поиска подходящей статьи студенты имеют доступ к информационным ресурсам в Новосибирском Государственном Университете, а именно, имеется доступ к электронным базам журналов (eLibrary, JSTOR). Кроме этого, примерный перечень научных статей для реферирования представлен ниже в пункте В). А) Примерный перечень заданий и вопросов для домашних работ. 1. Найти пример графа, который является регулярным, но не является вершинно-транзитивным. Уметь доказывать этот факт. 2. Является ли граф Петерсена графом Кэли? Если нет, то уметь доказывать этот факт. 3. Вершинное и реберное слоевые представления графов. Продемонстрировать на любом примере. 231 4. Привести пример вершинно-транзитивного, но транзитивного графа. Уметь доказывать этот факт. не дистанционно- 5. Графы Мура: пример дистанционно регулярного, но не вершиннотранзитивного графа. Дать объяснения этому факту. 6. Доказать, что граф Хэмминга является графом Кэли. Определить группу и порождающее множество. 7. Основные свойства решеточного графа. 8. Доказать, что граф Джонсона не является графом Кэли. 9. Основные свойства треугольного графа. 10. Диаметр Star графа. 11. Усвоить алгоритм построения двоичного кода Грея, который доказывает гамильтоновость гиперкуба. 12. Разобрать самостоятельно доказательство Теоремы Ранкина (на основе электронного ресурса лекций на сайте http://tc.nsu.ru/uploads/лекции_графы_кэли_20131.pdf). 13. Объяснить принципиальную разницу в гипотезах Ловаса и Бабаи. 14. Перечислить все вершинно-транзитивные графы, содержащие гамильтонов путь, но не имеющие гамильтонова цикла. 15. Иерархическое представление некоторых графов Кэли. Как это связано с гамильтоновостью таких графов. 16. Циклическая структура Pancake графа. Сколько независимых 6-циклов содержится в Pancake графе? 17. Привести пример графа Кэли с хроматическим числом два. 18. Каков диаметр графа Кэли кубика Рубика? 19. В чем состоит существенная разница в определении диаметра графов Кэли на обелевых и неабелевых группах? 20. Алгоритм простой сортировки префикс-реверсалами. 21. Пузырьковая сортировка: как это помогает найти диаметр Bubble-sort графа? 22. Каков диаметр реверсального графа? 23. Сколько требуется перестановок-соседей в реверсальном графе для восстановления перестановки? 24. В чем состоят преимущества в использовании графов Кэли в качестве модели для компьютерных сетей? 25. Какова связь между операциями на перестановках (префикс-реверсалы, реверсалы, транспозиции) с мутациями генов, которые описываются этими перестановками? Б) Примерный список научных статей для реферирования на научном семинаре. 1. L. Wang, etc. "Distance distribution of nodes in star graphs", Applied Mathematics Letters, 19 (2006) 780-784. 2. W. Xiao, B. Parhami "Structural properties of Cayley digraphs with applications to mesh and pruned torus interconnection networks", Journal of Computer and System Sciences, 73 (2007) 1232-1239. 232 3. Ke Qiu, S.K. Das, "Interconnection networks and their eigenvalues", International Journal of Foundations of Computer Science, 14 (2003) 371-389. 4. A. Harutyunyan, B. Mohar, Strengthened Brooks' Theorem for digraphs of girth at least three, Electr. J. Combin. 18 (2011), P195, 11 pages. 5. A. Kanevsky, C. Feng, On the Embedding of Cycles in Pancake Graphs. Parallel Computing, 21 (1995) 923-936. 6. S.G. Akl, P. Fragopoulou, H. Meijer. Optimal communication primitives on the generalized hypercube network, J. Parallel Distrib. Comp., 32 (1996) 173-187. 7. L. Babai, E.M. Luks, and A. Seress. Fast management of the permutation groups. SIAM J. Comput., 26 (1997) 1310-1342. 8. D. Barth, A. Germa, M.-C. Heydemann, and D. Sotteau. Emulating networks by bus networks: Application to trees and hypermeshes. In: Structure, Information and Communication Complexity, Int. Inf. Series 6, pages 241-254. Carlton University Press, 1997. Rapport LRI 1996, No 1073. 9. J.M. Brunat, M. Espona, M.A. Fiol, and O. Serra. On Cayley line digraphs. Discrete Math., 138 (1995) 147-159. 10. F.R.K. Chung, V. Faber, and Thomas A. Manteuffel. An upper bound on the diameter of a graph from eigenvalues associated with its laplacian. SIAM J. Discrete Math., 7 (1994) 443-457. 11. S. Curran, J. Gallian. Hamiltonian cycles and paths in Cayley graphs and digraphs - a survey. Discrete Mathematics, 156 (1996) 1-18. 12. Dominique Désérable. A family of Cayley graphs on the hexavalent grid. Discrete Appl. Math., 93 (1999) 169-189. 13. Dyi-Rong Duh, Gen-Huey Chen, D. Frank Hsu. Combinatorial properties of generalized hypercube graphs. Inform. Process. Lett., 57 (1996) 41-45. 14. P. Fragopoulou, S.G. Akl. Spanning subgraphs with applications to communication on a subclass of the Cayley graph based networks, Discrete Appl. Math., 83 (1998)79-96. 15. J. Friedman. On Cayley graphs on the symmetric group generated by transpositions. Combinatorica, 20 (2000) 505-519. 16. Y. Ishigami. Graphs with transitive abelian automorphisms groups. Networks, 27 (1996) 257-266. 17. Xing-De Jia. Extremal Cayley digraphs of finite cyclic groups. Siam J. Discrete Math., 8 (1995) 62-75. 18. Z. Jovanovic, J. Misic. Fault tolerance of the star graph interconnection network. Inform. Process. Lett., 49 (1994) 145-150. 19. C. Heng Li. Isomorphisms of connected Cayley digraphs. Graphs Comb., 14 (1998) 37-44. 20. Juqiang Liu. Hamiltonian decomposition of Cayley graphs on abelian groups of odd order. J. Combin. Theory Ser. B, 66 (1996) 75-76. 21. Bojan Mohar. Some applications of Laplace eigenvalues of graphs. In Hahn Gena et al., editors, Graph symmetry: algebraic methods and applications. Proceedings of the NATO Advanced Study Institute and séminaire de mathématiques supérieures, Montreal, Canada, July 1-12, 1996., number 497 233 in NATO ASI Ser., Ser. C, Math. Phys. Sci., pages 225--275. Dordrecht: Kluwer Academic Publishers., 1997. 22. Joy Morris. Connectivity of Cayley graphs: A special family. J. Combin. Math. Combin. Comput., 20 (1996) 111-120. 23. F. Cesi, Cayley graphs on the symmetric group generated by initial reversals have unit spectral gap, Elec. J. Combin. 16 (2009) N29. 24. F. Cesi, On the eigenvalues of Cayley graphs on the symmetric group generated by a complete multipartite set of transpositions, J. Alg. Combin., 32 (2010) 155185. 25. Matt DeVos, Roi Krakovski, Bojan Mohar, Azhvan Sheikh Ahmady, Integral Cayley multigraphs over Abelian and Hamiltonian groups, Electr. J. Combin. 20(2) (2013), #P63. 26. R. Krakovski, B. Mohar, Spectrum of Cayley graphs on the symmetric group generated by transpositions, Linear Algebra Appl. 437 (2012) 1033-1039. В) Примерный перечень вопросов для устного экзамена. 1. Основные понятия из теории групп. Циклическая группа. Симметрическая группа. Гипероктаэдральная группа. 2. Основные понятия теории графов. Регулярные и транзитивные графы. Дистанционно-регулярные и дистанционно-транзитивные графы. 3. Графы Кэли. Основные понятия, свойства, простейшие примеры. 4. Схематическая связь между различными типами регулярных и транзитивных графов и графов Кэли (примеры графов, определения всех типов графов в данной схеме). 5. Граф Хэмминга: дистанционно-транзитивный граф Кэли. 6. Граф Джонсона: дистанционно-транзитивный граф, не являющийся графом Кэли. 7. Граф Кнезера: когда он является графом Кэли? 8. Графы Кэли на симметрической группе. Примеры. 9. Графы Кэли на гипероктаэдральной группе. Примеры. 10. Гамильтоновость гиперкуба и код Грея. 11. Комбинаторные условия для гамильтоновости графов. Обзор основных результатов. 12. Гипотезы Ловаса и Бабаи о гамильтоновости вершинно-транзитивных графов. Гипотеза о гамильтоновости графов Кэли. 13. Гамильтоновость графов Кэли на произвольной конечной группе. 14. Гамильтоновость графов Кэли на симметрической группе. 15. Гамильтоновость Pancake графа. Иерархическая структура графа. 16. Другие циклы Pancake графа – циклы длины шесть и семь. 17. Другие циклы Pancake графа – циклы длины восемь. 18. Диаметр графов Кэли на абелевых и неабелевых группах. Гипотеза Бабаи и Сереша. Теорема Бабаи, Кантора и Любоцкого. Теорема Анексштейна и Баумслага 234 19. Диаметр графов Кэли на симметрической и знакопеременной группах. 20. Pancake problem. Постановка задачи. Простая сортировка префиксреверсалами. 21. Pancake problem. Эффективная сортировка префикс-реверсалами. Алгоритм Гейтса-Пападимитроу. 22. Верхняя оценка Гейтса и Пападимитроу на диаметр Pancake графа. 23. Нижняя оценка Гейтса и Пападимитроу на диаметр Pancake графа. 24. Улучшенные оценки Хайдари и Садбороу на диаметр Pancake графа. 25. Burnt Pancake problem. Постановка знакопеременными префикс-реверсалами. задачи. Простая сортировка 26. Улучшенные оценки Коэна и Блюма на диаметр Burnt Pancake графа. Точные значения диаметра Burnt Pancake графа. 27. Сортировка реверсалами. Постановка задачи. Обзор результатов. 28. Эффективное восстановление вершин в графе. Постановка задачи. Основные результаты для графов Хэмминга и Джонсона. 29. Эффективное восстановление вершин в реверсальном графе. Обзор основных результатов. Структурные свойства графа. 30. Восстановление перестановок в реверсальном графе. Аттестация студентов по дисциплине «Комбинаторные задачи на графах Кэли» проводится на основании текущего контроля, а также на основе устного экзамена (примерный перечень вопросов приводится выше). Во время устного экзамена все студенты получают возможность выбора двух вопросов, на подготовку которых отводится не более 1,5 часов. После чего студент должен представить ответ, включающий в себя доказательство всех необходимых Теорем и Утверждений. Во время ответа предусматривается возможность задавать дополнительные вопросы по общим вопросам дисциплины, включающим в себя основные определения, формулировки теорем (без доказательства). Кроме этого, студент может получить дополнительный вопрос, а также дополнительное время (15-20 минут) для подготовки. Итоговая оценка выставляется в соответствии со следующими критериями: «отлично» – студент демонстрирует блестящее понимание во всех задаваемых ему вопросах; доказывает все необходимые теоремы и утверждения; отвечает на все дополнительные вопросы. «хорошо» – студент демонстрирует хорошее понимание в задаваемых вопросах; понимает логику курса, но у него возникают проблемы при ответе на дополнительные вопросы. «удовлетворительно» – студент демонстрирует частичное понимание в вопросах курса; имеет не полное представление о логике курса; отвечает только на некоторые дополнительные вопросы. «неудовлетворительно» – у студента отсутствуют минимальные знания дисциплины; не отвечат на основные и дополнительные вопросы. 235 7. Учебно-методическое и информационное обеспечение дисциплины «Комбинаторные задачи на графах Кэли» А) Основная литература. 1. Е.В. Константинова, Комбинаторные задачи на графах Кэли, электронный ресурс (http://tc.nsu.ru/uploads/лекции_графы_Кэли.pdf) 2. E. Konstantinova, Lecture notes on some problems on Cayley graphs, Koper: Knjiznica za tahniko, medicino in naravoslovje, TeMeNa, 2012, 93 pp. (ISBN 978961-93076-1-8) (see also : http://temena.famnit.upr.si/files/files/Lecture_Notes_2012.pdf). 3. A.E. Brouwer, W.H. Haemers, E. Konstantinova, and R.M. Wilson. Lecture on Combinatorics I, IPM Lecture Notes Series 8, IPM, 2008, Chapter 2, pp.67-144. (see also http://math.ipm.ac.ir/publications/book.htm). Б) Дополнительная литература (книги). 4. L. Babai, Automorphism groups, isomorphism, reconstruction, Handbook of combinatorics, Vol. 2, MIT Press, Cambridge, MA, 1996, 1447-1540. 5. L. Babai, On the abstract group of automorphisms, in: Combinatorics (H. N. V. Temperley, Ed.), London Mathematical Society Lecture Notes Series 52, Cambridge Univ. Press, Cambridge, 1981, pp.1-40. 6. L.W. Beineke, R. J. Wilson, and P. J. Cameron, Topics in algebraic graph theory, Series: Encyclopedia of mathematics and its applications, Vol.102, 2004. 7. N. Biggs, Algebraic graph theory, Cambridge Mathematical Library, Cambridge University Press, Cambridge, second edition, 1993. 8. N. Biggs, E. Lloyd, R.Wilson, Graph Theory 1736-1936, Oxford University Press, 1986. 9. A. Bjoner, F. Brenti, Combinatorics of Coxeter groups, Springer Verlag, Heidelberg, New York, 2005. 10. A. E. Brouwer, A. M. Cohen, and A. Neumaier, Distance-regular graphs, SpringerVerlag, Berlin, Heidelberg, 1989. 11. P. Cameron, Combinatorics and groups: Peter Cameron's IPM Lecture Notes, Lecture Notes Series 4, Institute for Studies in Theoretical Physics and Mathematics, 2004. 12. D. B. A. Epstein, J. W. Cannon, D. F. Holt, S. V. F. Levy, M. S. Paterson, W. P. Thurston, Word processing in groups, Jones & Barlett, 1992. 13. M. R. Garey, D. S. Johnson, Computers and intractability. A guide to the theory of NP-completeness, Freeman, SF, 1979. 14. L. Heydemann, Cayley graphs as interconnection networks, in: Graph symmetry: algebraic methods and applications, (G. Hahn, G. Sabidussi, eds.), Kluwer, Amsterdam, 1997. 15. P. A. Pevzner, Computational molecular biology: an algorithmic approach, The MIT Press, Cambridge, MA, 2000. 16. H. Papadimitriou, K. Steiglitz, Combinatorial optimization: algorithms and complexity. Prentice-Hall, 1982. В) Дополнительная литература (журнальные статьи). 17. S.B. Akers, B. Krishnamurthy, A group-theoretic model for symmetric interconnection networks, IEEE Trans. Comput. 38 (4) (1989) 555-566. 18. B. Alspach, C.Q. Zhang, Hamilton cycles in cubic Cayley graphs on dihedral groups, Ars. Combin. 28 (1989) 101-108. 19. F.Annexstein, M.Baumslag, On the diameter and bisection size of Cayley graphs, Math. System Theory, 26 (1993) 271-291. 236 20. S. Asai, Y. Kounoike, Y. Shinano, K.Kaneko, Computing the diameter of 17pancake graph using a PC cluster, LNCS 4128 (2006) 1114-1124. 21. L. Babai, W. M. Kantor, A. Lubotzky, Small diameter Cayley graphs for finite simple groups, European J. Combin., 10 (1989) 507-522. 22. L. Babai, P. Frankl, Isomorphisms of Cayley graphs, in: Combinatorics, Colloq. Math. Soc. J. Bolyani 18, Keszthely, 1976; North-Holland, Amsterdam, 1978, pp.25-52. 23. L. Babai, A. Seress, On the diameter of Cayley graphs of the symmetric group, Journal of Combinatorial Theory Series A, 49 (1) (1988) 175-179. 24. D. Bader, B. M. E. Moret, M. Yan, A linear-time algorithm for computing inversion distance between signed permutations with an experimental study, J. Comp. Biol., 8 (5) (2001) 483-492. 25. V. Bafna, P. A. Pevzner, Genome rearrangements and sorting by reversals, SIAM Journal on Computing, 25 (2) (1996) 272-289. 26. V. Bafna, P. A. Pevzner, Sorting by transpositions, SIAM Journal on Discrete Math., 11 (2) (1998) 224-240. 27. J. Cibulka, On average and highest number of flips in pancake sorting, Theoretical Computer Science, 412 (2011) 822-834. 28. T. Chen, S. S. Skiena, Sorting with fixed-length reversals, Discrete Applied Mathematics, 71 (1996) 269-295. 29. B. Chitturi, W. Fahle, Z. Meng, L. Morales, C. O. Shields, I. H. Sudborough, W. Voit, An (18/11)n upper bound for sorting by prefix reversals, Theoretical Computer Science, 410 (2009) 3372-3390. 30. D.A. Christie, A 3/2-approximation algorithm for sorting reversals, In: Proc. SODA 1998, pp.244-252, ACM Press, 1998. 31. D.S. Cohen, M. Blum, On the problem of sorting burnt pancakes, Discrete Applied Mathematics, 61 (1995) 105-120. 32. R. C. Compton, S. G. Williamson, Doubly adjacent Gray codes for the symmetric group, 35 (3-4) (1993) 237-293. 33. S. J. Curran, J. A. Gallian, Hamiltonian cycles and paths in Cayley graphs and digraphs - a survey, Discrete Mathematics, 156 (1996) 1-18. 34. I. J. Dejter, O. Serra, Efficient dominating sets in Cayley graphs, Discrete Appl. Math., 129 (2003) 319-328. 35. H. Dweighter, E 2569 in: Elementary problems and solutions, Amer. Math. Monthly, 82 (1) (1975) 1010. 36. W. H. Gates, C. H. Papadimitriou, Bounds for sorting by prefix-reversal, Discrete Mathematics, 27 (1979) 47-57. 37. R. J. Gould, Updating the hamiltonian problem - a survey, J. Graph Theory, 15 (2) (1991) 121-157. 38. M. H. Hyedari, I. H. Sudborough, On the diameter of the pancake network, Journal of Algorithms, 25 (1997) 67-94. 39. A. Kanevsky, C. Feng, On the embedding of cycles in pancake graphs, Parallel Computing, 21 (1995) 923-936. 40. J. Kececioglu, D. Sankoff, Exact and approximation algorithms for sorting by reversals, with application to genome rearrangement, Algorithmica, 13 (1995) 180210. 41. E. Konstantinova, Vertex reconstruction in Cayley graphs, Discrete Math., 309 (2009) 548-559. 42. E. Konstantinova, A. Medvedev, Small cycles in the Pancake graph, Ars Mathematica Contemporanea, 7 (2014) 237-246. 237 43. Y. Kounoike, K. Kaneko, Y. Shinano, Computing the diameter of 14- and 15pancake graphs. In: Proceedings of the International Symposium on Parallel Architectures, Algorithms and Network.(2005) 490-495. 44. S. Lakshmivarahan, J. S. Jwo, S. K. Dhall, Symmetry in interconnection networks based on Cayley graphs of permutation groups: a survey, Parallel Comput., 19 (1993) 361-407. 45. C. H. Li, On isomorphisms of finite Cayley graphs: a survey, Discrete Mathematics 256 (2002) 301-334. 46. I. Pak, R. Radoicic, Hamiltonian paths in Cayley graphs, Discrete Mathematics, 309 (2009) 5501-5508. 47. S. Zaks, A new algorithm for generation of permutations, BIT, 24 (1984) 196-204. 8. Материально-техническое обеспечение дисциплины «Комбинаторные задачи на графах Кэли» Доступ к библиотекам НГУ и ИМ СО РАН, включая монографии, электронные ресурсы и библиографические базы данных. Доступ к компьютеру со стандартным программным обеспечением. Литература из основного списка доступна также в электронном виде, источники доступа к ней указаны выше. Литература из дополнительного списка позволяет заинтересованным студентам глубже познакомиться с дисциплиной и современным состоянием исследований в ней. Эта литература доступна в библиотеках НГУ или ИМ СО РАН. 238 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Криптография и криптоанализ. Современные методы» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Токарева Наталья Николаевна, к.ф.-м.н. (подпись) 239 Программа дисциплины «Криптография и криптоанализ. Современные методы» составлена в соответствии с требованиями ФГОС ВПО к структуре и результатам освоения основных образовательных программ магистратуры по направлению подготовки «Прикладная математика и информатика», а также задачами, стоящими перед Новосибирским государственным университетом по реализации Программы развития НГУ. Автор: Токарева Наталья Николаевна, к.ф.-м.н. по специальности 01.01.09 – дискретная математика и теоретическая кибернетика, старший преподаватель. Механико-математический факультет Кафедра Теоретической кибернетики. 240 1. Цели освоения дисциплины Целью освоения дисциплины «Криптография и криптоанализ. Современные методы» является обучение теоретическим и практическим знаниям, необходимым для решения широкого спектра задач в области теоретической и прикладной криптографии и криптоанализа, с использованием вероятностных и алгебраических моделей криптосистем, включающее знания основных криптографических алгоритмов, способов построения криптографически стойких компонентов шифров, а также математических методов, применяемых в криптоанализе блочных и поточных шифров. 2. Место дисциплины в структуре магистерской программы Дисциплина входит в число дисциплин по выбору вариативной части профессионального цикла образовательной программы магистра. Изучение данной дисциплины основывается на курсах «Алгебра», «Математическая логика», «Дискретный анализ», «Теория вероятностей», «Методы программирования». Студент должен уметь использовать основные законы естественнонаучных дисциплин для понимания преподаваемой дисциплины, иметь навыки работы с компьютером как средством управления и обработки информации, знать языки программирования Си, Паскаль, уметь работать в ОС Windows и разрабатывать программы для платформы Win32. Дисциплина является предшествующей для выполнения квалификационной работы бакалавра. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины (модуля) Изучение дисциплины направлено на формирование компетенций ОК-6-9 и ПК8-13 выпускника. В результате освоения дисциплины обучающийся должен: Знать: понятия шифра, ключа, расстояния единственности, криптографической системы, криптографического протокола; основные понятия симметричной и асимметричной криптографии; правила стойкости шифрсистемы; вероятностную и алгебраическую модели шифрсистемы; результаты по совершенной секретности шифра, избыточности языка открытых сообщений, об определении числа ложных ключей и расстояния единственности шифра; математические методы построения стойких шифров, криптографические свойства булевых функций; статистические методы криптоанализа шифров: (линейный, дифференциальный и др.); алгебраические методы криптоанализа, методы решения нелинейных систем булевых уравнений; методы криптоанализа асимметричных систем и др. (криптоанализ); приложения современных методов на практике (таких, как система безопасности сотовой связи GSM, шифрование и криптоанализ в сетях WiFi, шифрование в сетевых протоколах модели OSI, информационная безопасность в таких средствах как Skype, PGP и др.). Уметь: определять целесообразность применения различных криптографических систем и методов их криптоанализа; использовать существующие методы шифрования; применять статистические и алгебраические методы криптоанализа блочных и поточных шифров; разрабатывать криптографически стойкие компоненты шифров (такие, как Sблоки и др.), исследовать криптографические свойства булевых функций; осуществлять программную реализацию современных методов криптографии и криптоанализа с использованием языков C и C++. Владеть: навыками работы с криптографическими протоколами, компьютерными средствами исследования криптографических алгоритмов. 4. Структура и содержание дисциплины (модуля) 241 9 МЕТОДЫ КРИПТОАНАЛИЗА АСИММЕТРИЧНЫХ СИСТЕМ 5 10 ВЫСОКОПРОИЗВОДИТЕЛЬНЫ 5 Е ВЫЧИСЛЕНИЯ В 3 2 2 7 3 2 2 7 ЛР1(3) 3 4 2 4 10 ЛР2(4) ЛР3(5) 4 5 68 6 4 10 20 ЛР4(8) 5 5 911 6 4 8 18 ЛР5(11) 6 5 12 14 15 15 16 16 17 17 6 2 6 10 ЛР6(12) 7 8 1 2 2 2 4 4 8 ЛР7(14) 2 4 6 1 4 6 5 5 5 5 242 Семинары 12 23 45 Лекции 2 Контроль успеваемости (по неделям семестра). Промежуточная аттестация (по семестрам) 5 Сумма ИСТОРИЯ КРИПТОГРАФИИ В РОССИИ. ВВЕДЕНИЕ ТЕОРИЯ СЕКРЕТНОСТИ ШЕННОНА БУЛЕВЫ ФУНКЦИИ. КОМБИНАТОРНЫЙ И АЛГЕБРАИЧЕСКИЙ ПОДХОДЫ БЛОЧНЫЕ И ПОТОЧНЫЕ ШИФРЫ. ЛИНЕЙНЫЕ РЕКУРРЕНТНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ КРИПТОАНАЛИЗ. СТАТИСТИЧЕСКИЕ И АЛГЕБРАИЧЕСКИЕ МЕТОДЫ КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА БУЛЕВЫХ ФУНКЦИЙ ХЭШ-ФУНКЦИИ МЕТОДЫ АСИММЕТРИЧНОЙ КРИПТОГРАФИИ Самост. работа 1 Лабор. работы Разделы дисциплины Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (часы) № п/ п Недели семестра Семестр Общая трудоемкость дисциплины составляет 3 зачетных единицы, 108 часов. ДОКЛАД(15 -16) 11 12 КРИПТОГРАФИИ КРИПТОГРАФИЯ В БЕСПРОВОДНЫХ СЕТЯХ ПРАКТИЧЕСКАЯ КРИПТОГРАФИЯ Всего часов 5 18 1 2 4 5 18 1 2 6 50 10 8 36 0 20 Э (18) А) Лекции Раздел 1. (3 часа) История криптографии в России. Введение. История развития криптографии в России. Образование криптографической службы. Создание черных кабинетов в России. Шифры XIX века и их использование. Создание Спецотдела при ВЧК. Криптография времен первой и второй мировых войн. Организация школы криптографов. Постсоветская криптография. Значимые фигуры российской и советской криптографии: П.Л.Шиллинг, В.И.Кривош-Неманич, В.А.Котельников, И.Я.Верченко и др. Предмет и содержание курса по криптографии, учебно-методическая и научная литература. Задачи криптографии. Понятие криптографического протокола. Обзор современных направлений в криптографии и криптоанализе. Раздел 2. (3 часа) Теория секретности Шеннона. Вероятностная модель шифрсистемы. Совершенная секретность. Понятие энтропии. Полная избыточность языка и избыточность на букву сообщения. Оценка числа ложных ключей. Расстояние единственности. Раздел 3. (4 часа) Булевы функции. Комбинаторный и алгебраический подходы. Понятие булевой функции. Основные определения, утверждения и теоремы. Алгебраическая нормальная форма булевой функции. Линейные булевы функции. Преобразование Уолша-Адамара. Аффинная эквивалентность булевых функций. Представление булевых функций как функций над конечными полями характеристики 2. След из конечного поля в простое подполе. Представление булевых функций в трейсформе. Вопросы классификации булевых функций Раздел 4. (6 часов). Блочные и поточные шифры. Линейные рекуррентные последовательности. Блочные и поточные шифры. Математические модели, принципы построения. Примеры шифров: DES, ГОСТ 28147-89, AES, CAST, SMS4, Grain, Trivium. Линейные рекуррентные последовательности над полями Галуа. Алгоритм БерлекэмпаМесси. Раздел 5. (6 часов). Криптоанализ. Статистические и алгебраические методы. Статистические методы криптоанализа шифров. Проблема различения статистических гипотез. Надежность алгоритма как математическое ожидание вероятности его корректной работы. Линейный криптоанализ и проблема построения согласованных линейных приближений. Леммы Мацуи. Дифференциальный криптоанализ. Вопросы нахождения наиболее вероятных дифференциалов шифра. Методы решения систем булевых уравнений различных алгебраических степеней. Практическое применение методов криптоанализа на примерах шифров DES, KeeLoq. Раздел 6. (6 часов). Криптографические свойства булевых функций. Анализ и построение криптографически стойких S-блоков. Нелинейные булевы функции. Бентфункции и их обобщения. Корреляционно-иммунные и алгебраически-иммунные функции. Дифференциально равномерные функции и их свойства. APN-функции и их применения. Раздел 7. (1 час). Хэш-функции. Математические задачи, связанные с построением надёжных хэш-функций. Методы обнаружения коллизий. Хэш-функции MD5, SHA, ГОСТ Р 34.11-94. Раздел 8. (2 часа). Методы асимметричной криптографии. Математические вопросы асимметричной криптографии. Вопросы существования односторонних функций и псевдослучайных генераторов. Вопросы теории чисел. Признаки простоты, вероятностные тесты на простоту. Криптосистемы RSA, Elgamal, Rabin и другие. 243 Раздел 9. (2 часа). Методы криптоанализа асимметричных систем. Математические методы криптоанализа асимметричных систем шифрования. Вопросы стойкости. Раздел 10. (1 часа). Высокопроизводительные вычисления в криптографии. Распределенные вычисления. Вычисления с помощью видеокарт. Успешные примеры их использования. Роль криптографии в информационной безопасности. Информационная безопасность в Интернете. Раздел 11. (1 часа). Криптография в беспроводных сетях. Цифровая сотовая связь. Система безопасности GSM. Алгоритмы А3, А5, А8. Методы криптоанализа шифра А5. Безопасность телефонных переговоров. Беспроводные сети WiFi. Методы шифрования WEP и WPA. Криптографические методы в противоугонных системах безопасности. Раздел 12. (1 часа). Практическая криптография. Программные продукты, использующие шифрование: Skype, PGP и др. Криптографическая деятельность в России. Юридическая сторона криптографической деятельности, лицензирование, патенты. Защита авторских прав. Б) Лабораторные работы Лабораторная работа 1. (2 часа) Исследование по истории криптографии. Разбирается отдельный эпизод из истории развития криптографии, с которым студент подробно знакомится, читает дополнительную литературу и подготавливает доклад для организуемой в рамках спецкурса конференции NSU-CRYPTO, проводимой на кафедре теоретической кибернетики механико-математического факультета. Лабораторная работа 2. (2 часа) Теория секретности Шеннона. Проводится решение задач, связанных с совершенно секретными шифрами, избыточностью языка открытых текстов, подсчетом числа ложных ключей и расстояния единственности для шифра. В частности, требуется самостоятельно доказать теорему К.Шеннона об избыточности. Цель работы: а) освоение классической научной литературы по теории информации и криптографии б) ознакомление с базовыми математическими методами доказательства результатов в теоретической криптографии. Лабораторная работа 3. (2 часа) Исследование свойств булевых функций. Подробно разбираются способы построения и свойства булевых функций. Осваивается математический аппарат для работы с ними: алгебраическая нормальная форма, коэффициенты УолшаАдамара, представление булевых функций как функций над конечным полем характеристики 2, трейс-представление булевых функций. Обучающимся предлагаются на выбор задачи по исследованию метрических свойств булевых функций, их алгебраических и комбинаторных свойств. Цель работы – основательное знакомство с булевыми функциями, на языке которых описываются составляющие многих блочных и поточных шифров. Лабораторная работа 4. (4 часа) Программная реализация блочного и/или поточного шифра. Выполняется программная реализация современного алгоритма блочного или поточного шифрования. На выбор студенту предоставляются такие блочные шифры, как DES, AES, CAST и поточные – Grain, Trivium и другие. Студенту необходимо ознакомиться с подробным описанием шифра (как правило, по научной статье на английском языке) и полностью реализовать его, используя такие языки программирования, как C, C++, Java и др. Лабораторная работа 5. (4 часа) Программная реализация метода криптоанализа блочного и/или поточного шифра. С использованием научного материала (статей с последних международных конференций по криптографии) студент разбирает алгоритм криптоанализа определенного шифра и осуществляет его полную реализацию. Цель работы – приобретение навыков теоретического и практического криптоанализа реальных шифрсистем. Лабораторная работа 6. (2 часа) Исследование криптографических свойств булевых функций. Изучаются криптографические свойства булевых функций, такие как нелинейность, корреляционная иммунность, алгебраическая иммунность. На основе исследования этих свойств для конкретных функций, проводится оценка криптографической стойкости шифра, в котором функции используются в качестве компонент. Студент самостоятельно доказывает 244 ряд известных теорем, описывающих взаимоотношения между различными криптографическими свойствами булевой функции. Цель работы: а) освоение математических методов работы с булевыми функциями, б) приобретение понимание как криптостойкость шифра зависит от математических свойств. Лабораторная работа 7. (2 часа) Реализация криптосистемы с открытым ключом. Выполняется программная реализация алгоритма криптосистемы с открытым ключом. На выбор студенту предоставляются такие алгоритмы, как RSA, ElGamal, Rabin и другие. Студенту необходимо ознакомиться с подробным описанием криптосистемы и полностью реализовать ее, используя такие языки программирования, как C, C++, Java. 5. Образовательные технологии При разработке образовательной технологии основной упор сделан на соединение активной и интерактивной форм обучения, с особым вниманием на интерактивную форму обучения. Технологическая цепочка изучения курса построена по следующей схеме. Лекционный материал включает в себя все темы, перечисленные в структуре курса. Курс в существенной степени основан на оригинальных работах, выполняемых в течение ряда лет в лаборатории дискретного анализа ИМ СО РАН и связанных с темой «Исследование криптографических свойств булевых функций». Курс во многом опирается на учебное пособие автора (Токарева Н.Н. Симметричная криптография. Краткий курс // Учебное пособие: Новосибирский гос. унив. 2012, 234 с. ISBN 978-5-4437-0067-0). Изложение лекций предполагает диалог со слушателями. В начале каждой лекции выделяется 10 минут для напоминания содержания предыдущей лекции и ответов на вопросы студентов. В конце лекции выделяется время на обсуждения по текущему материалу. Изложение материалов курса совмещает презентации и выступления лектора с мелом у доски. В помощь студентам создан регулярно обновляемый сайт http://math.nsc.ru/~tokareva/crypto/ , на котором представлены все необходимые по курсу материалы: программа курса, учебная литература, список тем для докладов, условия задач для самостоятельного решения и лабораторных работ, вопросы для экзамена. Активно поддерживается связь со студентами по электронной почте (прием заданий, ответы на вопросы). Спецкурс посвящен современным методам криптографии и криптоанализа. В курс включены такие направления как: блочное и поточное шифрование, математические задачи конструирования стойких шифров, криптографические булевы функции, хэш-функции, математические вопросы асимметричной криптографии, высокопроизводительные вычисления (криптография) статистические методы криптоанализа шифров: линейный, дифференциальный и др.; алгебраические атаки, методы решения нелинейных систем булевых уравнений; криптографические слабости булевых функций; слайдовые атаки, атаки по сторонним каналам, методы криптоанализа асимметричных систем и др.(криптоанализ) приложения современных методов на практике: система безопасности сотовой связи GSM, шифрование и криптоанализ в сетях WiFi, шифрование в сетевых протоколах модели OSI, информационная безопасность в таких средствах как Skype, PGP и др. (приложения) Большую часть курса составляют результаты последнего десятилетия, активно использующиеся в прикладной криптографии и криптоанализе. Некоторые результаты впервые представляются на русском языке (например, некоторые математические модели современных блочных и поточных шифров, методы криптоанализа, вопросы построения 245 криптографических булевых функций и др.). В спецкурсе также отражены научные интересы автора (булевы функции в криптографии) и ставится ряд задач студентам, интересующимся специализацией. Лекционное изложения материала сочетается с выполнением лабораторных работ. Лабораторный практикум закрепляет базовые навыки владения теоретическими и практическими методами криптографии и криптоанализа. Самостоятельная работа делится на две части. Первая часть состоит в выполнении небольших заданий, расширяющих рамки лабораторных работ и нацеленных на привитие навыков самостоятельного освоения научного материала. Вторая часть состоит в подготовке доклада по криптографии, криптоанализу или их истории. Во время подготовки доклада бакалавру прививаются навыки самостоятельной исследовательской работы. Каждый доклад обязательно представляется на локальной конференции NSU-CRYPTO, проводимой на кафедре теоретической кибернетики механико-математического факультета. Обязательное условие положительной оценки при выступлении с докладом – основательная творческая проработка выбранной темы. Предполагается активное участие слушателей спецкурса и в таких конференциях, как МНСК, проводимая на базе НГУ. Студентам, представившим лучшие доклады на конференции NSU-CRYPTO, будет предоставлена возможность более основательно доработать доклады и представить их на таких отечественных научных конференциях, как SIBECRYPT – сибирская научная школа-семинар по криптографии и информационной безопасности, что по сути означает начало серьезной научной деятельности студентов в области криптографии. По итогам спецкурса будет сделан набор студентов на специализацию в области криптографии. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины. Приняты два вида самостоятельных работ (см. выше). Первый вид - выполнение небольших заданий, расширяющих рамки лабораторных работ. Эти работы сопутствуют выполнению лабораторных работ и предъявляются при их защите. Второй вид – подготовка доклада по криптографии, криптоанализу или их истории. Для выполнения самостоятельной работы студентам обеспечивается доступ к информационным ресурсам курса, а именно к научным материалам, представленным на сайте курса http://math.nsc.ru/~tokareva/crypto/. Контролирующие материалы включают набор заданий для самостоятельной работы, списки вопросов для защиты лабораторных работ, сдачи экзамена, перечень тем курсовых работ. Примерные темы докладов. Секция «История криптографии» 1) О дешифровании древних рукописей. 2) Шифры революционного подполья России XIX века. 3) В.А.Котельников и секретная связь в СССР. 4) Об истории Института криптографии, связи и информатики (Россия) 5) Шифровальная машина «Энигма» и история ее дешифрования 246 6) Краткий обзор развития американской криптографии 7) Клод Шеннон и его вклад в криптографию. 8) Герберт Ярдли и Уильям Фридман 9) Об истории создания Агентства национальной безопасности (США) 10) Проект VENONA по дешифрованию советских шифров 11) Криптографическая служба Великобритании. Краткий исторический обзор 12) Криптография в КНР 13) Успехи и неудачи криптографической службы России последних десятилетий. 14) Криптографические операции XXI-го века 15) Криптографические конкурсы: AES, NESSIE, eCRYPTO и другие. Секция «Криптография» 16) Шифр DES. Его «сильные» и «слабые» стороны 17) Обзор развития способов проектирования блочных шифров 18) Корреляционная иммунность булевых функций. Обзор результатов 19) Алгебраический иммунитет булевых функций. Обзор результатов 20) Поточные генераторы. Модели. Применение на практике 21) Линейные рекуррентные последовательности над конечным полем. Обзор результатов 22) Нелинейные рекуррентные последовательности результатов 23) Криптосистема RSA. Практическое использование. над конечным 24) Современные методы стеганографии 25) Квантовый компьютер и квантовая криптография: перспективы 26) Значимые события в российской криптографии в 2010 году 27) События и настроения в мире криптографии 2010 года 28) Конкурсы криптографических стандартов 29) Хэш-функции. Тенденции в способах построения 30) Юридические вопросы криптографической деятельности 247 полем. Обзор 31) Шифры, которые составляли коммерческую тайну. История их использования и анализ. 32) Криптография в программных продуктах: PGP, Skype и др. 33) Криптографические протоколы. Обзор 34) Методы криптографии: прогноз на ближайшие 10 лет Секция «Криптоанализ» 35) Криптоанализ шифра DES. Обзор результатов 36) Криптоанализ шифра ГОСТ 28-147. Последние результаты 37) Криптоанализ шифра AES. Обзор результатов 38) Линейный криптоанализ и его применение на практике. 39) Методы нелинейного криптоанализа шифров 40) Дифференциальный криптоанализ и его применение на практике. 41) Обзор методов криптоанализа по сторонним каналам 42) Проблемы криптоанализа систем с открытым ключом 43) Алгебраический криптоанализ шифров: перспективы 44) Новые тенденции в мире криптоанализа Секция «Информационная безопасность» 45) Проблемы информационной безопасности 46) Современные способы обеспечения информационной безопасности 47) Компьютерные вирусы Примечание. Приветствуются предложения студентами собственных тем докладов по проблематике курса. Примерный перечень билетов к экзамену. Билет 1. 1. История создания криптографической службы в СССР 2. Теорема Шеннона о совершенной секретности 3. Piling-up лемма Билет 2. 1. В.А.Котельников и его результаты в криптографии 248 2. Шифр DES. Алгоритм и методы его криптоанализа 3. Принцип слайдовой атаки Билет 3. 1. И.Я.Верченко и его вклад в развитие отечественной криптографии 2. Шифр AES. История создания, алгоритм и методы его криптоанализа 3. Принципы дифференциального криптоанализа Билет 4. 1. История развития американской криптографии. 2. Сеть Фейстеля и SP-сеть. 3. Основы алгебраического криптоанализа Билет 5. 1. Немецкие и советские шифмашины во время Второй мировой войны. 2. Виды поточных шифров. 3. Основы линейного криптоанализа Билет 6. 1. История развития криптографии в Великобритании 2. Бент-функции. Основные результаты. 3. Атаки по сторонним каналам Билет 7. 1. Российская криптография в XIX веке 2. Теорема Шеннона о числе ложных ключей. Формула для расстояния единственности 3. Методы криптоанализа асимметричных криптосистем Билет 8. 1. П.Л.Шиллинг и его криптографическая деятельность 2. Криптосистема RSA и методы ее криптоанализа 3. Система безопасности GSM. Криптоанализ шифра A5. Билет 9. 1. История создания ВШК, ИКСИ. 2. Линейная сложность. Алгоритм Берлекэмпа-Месси 3. Шифры в беспроводных сетях связи. WiFi сети: методы WEP и WPA Билет 10. 1. Юридические вопросы криптографической деятельности. 2. Признаки простоты, вероятностные тесты на простоту (Соловея-Штрассена, Миллера-Рабина и др.). 3. Надежность алгоритма статистического криптоанализа как математическое ожидание вероятности его корректной работы. Билет 11. 1. Криптографические конкурсы. История 2. Криптографические свойства булевых функций. 3. Хэш-функции Билет 12. Клод Шеннон и его вклад в криптографию 249 АНФ и трейс-представление булевых функций, их свойства Криптографические стандарты РФ Аттестация студентов по дисциплине «Криптография и криптоанализ. Современные методы» проводится на основании текущего и промежуточного контроля согласно модульно-рейтинговой системе. Текущий контроль. В течение изучения дисциплины выполняются лабораторные работы, студенты выступают с докладами на конференции NSU-CRYPTO. Максимальное количество баллов за текущую аттестацию составляет 60 баллов: из них – 40 баллов за выполнение лабораторных работ и 20 – за подготовку доклада. Сумма баллов выставляется исходя из правильности и полноты ответов студента на вопросы во время защиты лабораторной работы, выступления с докладом и его обсуждения. Вопросы для текущего контроля выложены на сайте курса. Промежуточный контроль. Для контроля усвоения дисциплины учебным планом предусмотрен экзамен. К экзамену допускаются студенты, набравшие определенный балл по выполнению лабораторных работ. Экзамен проводится в письменном виде. Экзаменационный билет включает один вопрос по истории криптографии, один вопрос по криптографии и один – по криптоанализу. Вопросы к экзамену выложены на сайте курса. Максимальная сумма баллов промежуточной аттестации (экзамена) составляет 40 баллов. Распределение баллов показано в таблице ниже. Максимальное Вид учебной деятельности число баллов Лабораторные работы 40 Доклад 20 Экзамен 40 Итого за семестр: 100 Итоговая оценка выставляется в зависимости от числа баллов: 87-100 – «отлично», 74-86 – «хорошо», 50-73 – «удовлетворительно», менее 50 – «неудовлетворительно». 7. Учебно-методическое и информационное обеспечение дисциплины (модуля) «Криптография и криптоанализ. Современные методы» а) Основная литература: 1) Материалы международных конференций по криптографии: EUROCRYPT, CRYPTO, FSE, ASIACRYPT, SIBECRYPT, BFCA и др. 2) Агибалов Г.П. Избранные теоремы начального курса криптографии // учеб. пособие, Томск: Томский государственный университет, 2005. 3) Алферов А. П., Зубов А. Ю., Кузьмин А. С., Черемушкин А. В. Основы криптографии: Учебное пособие // М.: Гелиос АРВ, 2005. 480 с. 4) Городилова А.А., Токарева Н.Н., Шушуев Г.И. Криптография и криптоанализ. Сборник задач // Учебное пособие: Новосибирский гос. унив. 2014, 325 с. ISBN 9785-4437-0226-1. 250 5) Логачёв О. А., Сальников А. А., Смышляев С.В., Ященко В. В., Булевы функции в теории кодирования и криптологии, М.: МЦНМО, 2012. 583 с. ISBN 978-5-94057923-6. 6) Токарева Н. Н. Нелинейные булевы функции: бент-функции и их обобщения // Издательство LAP LAMBERT Academic Publishing (Saarbrucken, Germany), 2011. 170 с. ISBN: 978-3-8433-0904-2. 7) Токарева Н.Н. Симметричная криптография. Краткий курс // Учебное пособие: Новосибирский гос. унив. 2012, 234 с. ISBN 978-5-4437-0067-0. 8) Фомичев В. М. Методы дискретной математики в криптологии // М.: Диалог-МИФИ, 2010. 424 с. ISBN 5-86404-234-2. б) Дополнительная литература: 9) Бабенко Л. К., Ищукова Е. А. Современные алгоритмы блочного шифрования и методы их анализа // М.: Гелиос АРВ, 2006. 376 с. ISBN 5-85438-149-4. 10) Гольев Ю. И., Ларин Д. А., Тришин А. Е., Шанкин Г. П. Криптография: страницы истории тайных операций // М.: Гелиос АРВ, 2008. 288 с. ISBN 978-5-85438-177-2. 11) Девянин П. Н. Модели безопасности компьютерных систем // М.: Издательский центр «Академия», 2005. 144 с. ISBN 5-7695-2053-1. 12) Земор Ж. Курс криптографии // М.-Ижевск: НИЦ «Регулярная и хаотическая динамика»; Институт компьютерных исследований, 2006. 256 с. ISBN 5-93972-5104. 13) Зубов А. Ю. Криптографические методы защиты информации. Совершенные шифры // М.: Гелиос АРВ, 2005. 192 с. 14) Кан Д. Взломщики кодов // М.: «Центрполиграф», 2000. 15) Логачёв О. А., Сальников А. А., Ященко В. В., Булевы функции в теории кодирования и криптологии, М.: МЦНМО, 2004. 470 с. ISBN 5-94057-117-4. 16) Мао В. Современная криптография: теория и практика // М.: Издательский дом «Вильямс», 2005. 768 с. ISBN 5-8459-0847-7. 17) Материалы конференции «Московский университет и развитие криптографии в России», МГУ, 2002. М.: МЦНМО, 2003. 18) Материалы школы-семинара «Криптография и информационная безопасность» SIBECRYPT’2011, Томск: Томский государственный университет, 2001-2011 г. 19) Маховенко Е. Б. Теоретико-числовые методы в криптографии // М.: Гелиос АРВ, 2006. 320 с. ISBN 5-85438-143-5. 20) Панасенко С. П. Алгоритмы шифрования. Специальный справочник // СПб.: БХВПетербург, 2009. 576 с. ISBN 978-5-9775-0319-8. 251 21) Ростовцев А. Г., Маховенко Е. Б. Введение в теорию итерированных шифров // СПб: НПО «Мир и семья», 2003. 302 с. ISBN 5-94365-053-9. 22) Сингх С., Книга шифров. Тайная история шифров и их расшифровки. М.: АСТ Астрель, 2006. 23) Смарт Н. Криптография // М.: Техносфера, 2006. 528 с. ISBN 5-94836-043-1. 24) Соболева Т.А. История шифровального дела в России. М.: ОЛМА-ПРЕССОбразование, 2002. 25) Фергюсон Н., Шнайер Б. Практическая криптография // М.: Издательский дом «Вильямс», 2005. 424 с. ISBN 5-8459-0733-0. 26) Фомичев В. М. Дискретная математика и криптология. Курс лекций // М.: ДиалогМИФИ, 2003. 400 с. ISBN 5-86404-185-8. 27) Харин Ю. С., Берник В. И., Матвеев Г. В., Агиевич С. В. Математические и компьютерные основы криптологии: Учебное пособие // Минск: Новое знание, 2003. 382 с. ISBN 985-475-016-7. 28) Черемушкин А. В. Лекции по арифметическим алгоритмам в криптографии // М.: МЦНМО, 2002. 104 с. ISBN 5-94057-060-7. 29) Шеннон К. Работы по теории информации и кибернетике // М.: Издательство иностранной литературы, 1963. 832 с. 30) Шнайер Б. Прикладная криптография: Протоколы, алгоритмы, исходные тексты на языке Си // М.: Триумф. 2002. 816 с. ISBN 5-89392-055-4. в) Программное обеспечение и Интернет-ресурсы: Сайт спецкурса: http://math.nsc.ru/~tokareva/crypto/ 8. Материально-техническое обеспечение дисциплины (модуля) Доступ с персональных компьютеров и ноутбуков к вычислительным информационным ресурсам и услугам локальной сети ИМ СО РАН. 252 и МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Принятие решений» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Гимади Эдуард Хайрутдинович, д.ф.-м.н. (подпись) 253 Аннотация рабочей программы Дисциплина «Принятие решений» входит в вариативную часть Профессионального цикла ООП по направлению подготовки «010200 – Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Теоретической Кибернетики ММФ НГУ. Предлагаемая дисциплина, с одной стороны, направлена на изучение математических постановок целого ряда типовых (массовых) моделей принятия целесообразных решений. С другой стороны, чтение курса ориентировано на установление пределов возможностей современных математических методов при построении алгоритмов решения оптимизационных задач, возникающих в процессе анализа рассматриваемых моделей. Дисциплина нацелена на формирование общекультурных компетенций ОК-6, ОК-7, ОК-8, ОК-9, профессиональных компетенций ПК-8-13. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, контрольные работы, самостоятельная работа студента. Общая трудоемкость дисциплины составляет 6 зачетных единиц. Программой дисциплины предусмотрены 68 часов лекционных занятий, два экзамена (в конце весеннего и осеннего семестров), самостоятельная работа студентов. 254 1. Цели освоения дисциплины Основной целью освоения дисциплины «Принятие решений» является получение базовых знаниий, необходимых выпускникам, для самостоятельной работы в сферах будущей научноисследовательской, технической и производственной деятельности, связанных с вогпросами принятия целесообразных решений в области распределения ресурсов, календарного планирования, маршрутизации, управления запасами, замены оборудования, стандартизации, размещения производственных мощностей, назначения и т. п. Задачами курса являются получение студентами: 1) знаний об основных принципах, типовых моделях и задачах принятия решений; 2) навыков по анализу типовых оптимизационных моделей принятия решений, выявлению сложностного статуса возникающих экстремальных задач и построению соответствующих математических методов их решения. В связи с труднорешаемостью многих задач принятия решений, большое внимание в курсе уделено применению эффективных (полиномиально ограниченных) приближенных алгоритмов с оценками их качества, и, в частности, асимптотически точному подходу к их решению. Несомненно, что сочетание прикладной направленности изучаемого спецкурса с глубоким изучением теоретических аспектов, возникающих при построении реализуемых алгоритмов решения задач принятия решений, окажется неоценимым для предприятий, фирм, учреждений, в которых будут работать выпускники, проходящие данную специализацию, после окончания ими Новосибирского университета. 2. Место дисциплины в структуре ООП магистратуры Дисциплина «Принятие решений» входит в Вариативную часть Профессионального цикла ООП по направлению подготовки «Прикладная математика и информатика». Дисциплина «Принятие решений» опирается на следующие дисциплины: Методы оптимизации; Исследование операций; Теория графов; Теория алгоритмов; Теория вероятностей. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Приближенные алгоритмы»: общекультурные компетенции: ОК-6-9; профессиональные компетенции: ПК-8-13. В результате освоения дисциплины обучающийся должен: знать - знать содержание программы курса, формулировки задач, условия применимости и характеристики методов решения задач принятия решений; - иметь представление о месте и роли изучаемой дисциплины среди других наук. уметь - определять применимость конкретных методов для решения различных классов задач принятия решений; - определять сложностной статус новых задач принятия решений; - анализировать качество работы алоритмов. 255 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 6 зачетных единицы, 216 часов. Неделя семестра Лекция Самост. Работа 1. Ведение в дисциплину и основные понятия. 1 1-2 4 4 2.1 Динамическое программирование (ДП). Вывод основных рекуррентных соотношений ДП. Принцип оптимальности Беллмана. Алгоритм ДП с одним прямым и одним обратным ходом. Релаксационный алгоритм. Сравнение с полным перебором. 2.2 Задача о ранце. Связь прямой и обратной задач о ранце. Задача альтернативного выбора. Многомерная задача о ранце 2.3 Задачи о «ближайшем соседе». Свойство Глебова. 2.4 Задача Вентцель о распределении ресурсов между отраслями оптимизационные модели. 3.1 Линейные Задача об оптимальном рационе. Стандартная задача линейного программирования (ЗЛП). Двойственность в ЛП: прямая и двойственная задачи ЛП, теоремы двойственности, экономическая интерпретация Задачи транспортного типа. Задача об 3.2 оптимальном назначении. Многоиндексные задачи о назначениях. 1 3-4 4 4 1 5-6 4 4 1 7 2 2 1 8 2 2 1 9 2 2 1 1011 4 4 3.3 Блочные задачи. Двухэтапная задача линейного стохастического программирования 4.1 Элементы теории матричных игр. Основные понятия теории игр. Матричная игра. Принцип минимакса. Седловая точка. Смешанные стратегии. Основная теорема матричных игр. Методы решения матричных игр. 4.2 Доминирование. Игра 2х2, игры 2хn и mх2. Игры mхn. Итеративный метод БраунаРобинсон и сведение к задаче ЛП. 1 12 2 2 1 13 2 2 1 14 2 2 № п/п Раздел дисциплины Типовые модели принятия решений. Понятие о сложности задач. Классы NP, P, NPC. Алгорит- мы и оценки их качества. Приближенные алгоритмы для труднорешаемых задач. 4 5.1 Модели управления запасами. Виды спроса: детерминированный стационарный, нестационарный, вероятностный. Управление многономенклатурными запасами. 5.2 Модели замены оборудования. Аналитические модели при неслучайном 2 15 2 2 2 16 2 2 256 Контр. Работа Экзамен Семестр Виды учебной Формы текущего работы, включая самостоятельную контроля успеваемости работу студентов и (по неделям семестра) трудоемкость Форма промежуточной аттестации (по (в часах) семестрам) 36 Экзамен 5.3 5.4 6.1 6.2 6.3 7.1 8.1 8.2 9.1 10.1 10.2 11.1 11.2 спросе. Приведение затрат к текущему моменту.. Теорема об оптимальном периоде замены. Применение ДП к задаче замены оборудования Моделирование операций по схеме марковских случайных процессов. Уравнения Колмогорова. Метод динамики средних. Сетевое планирование и управление. Представление проекта в виде сетевой модели (СМ). Параметры и алгоритмы анализа СМ. Метод критического пути. Алгоритм обнаружения контуров и вычисления рангов вершин СМ. Стохастическая СМ. Задача календарного планирования с ограничениями на ресурсы и директивные сроки. Полиномиальный точный алгоритм в случае складируемости ограниченных ресурсов Задачи упаковки в контейнеры и в полосу. Асимптотически точный подход к ее решению. Задачи маршрутизации. Задача коммивояжера (ЗК). Метод ветвей и границ и его применение к ЗК Приближенные алгоритмы решения ЗК на минимум с оценками точности 3/2 (метрическая ЗК) и 3/4 (симметрическая ЗК). Асимптотически точный алгоритм для евклидовой задачи на максимум. Условия асимптотической точности алгоритма «Иди в ближайший непройденный город» для ЗК на случайных входах. Задачи выбора экстремальных подграфов и подмножеств векторов. Задачи о потоке максимальной мощности и о потоке минимальной стоимости. Задачи размещения и стандартизации. Полиномиально разрешимые случаи. Применение метода ветвей и границ. Приближенные полиномиальные алгоритмы. Асимптотически точный подход. Задачи теории расписаний. Задачи с одним рабочим местом. Задача Джонсона с двумя станками. Задача Акерса-Фридмена Достаточные условия сводимости задачи 11.3 Джонсона с тремя станками к случаю двух станков. Применение метода компактного суммирования векторов к задаче Джонсона. 2 17 2 2 2 18 2 2 2 1 2 2 2 2-3 4 4 2 4-5 4 4 2 6 2 2 2 7 4 4 2 8-9 4 4 2 10 2 2 2 11 2 2 2 12 2 2 2 1314 4 4 2 15 2 2 2 16 2 2 68 4 76 2 34 36 Экзамен 72 5. Образовательные технологии Используется традиционная система обучения, включающая лекции, самостоятельные занятия и экзамен. Содержание лекций отвечает следующим дидактическим требованиям: изложение материала от простого к сложному, от известного к неизвестному; 257 логичность, строгость, четкость и ясность в изложении материала; проблемное изложение материала, с целью активизации деятельности студентов. Для текущего контроля освоения студентами теоретического материала во время чтения каждой лекции предполагается устный блиц-опрос по прочитанному материалу. Для самостоятельного изучения (и последующего реферирования) предлагаются статьи из ведущих журналов (входящих в международные системы цитирования) с новыми результатами в области математических моделей и методов принятия оптимальных решений. Для проверки уровня знаний студентов и их аттестации в конце курса предполагается проведение экзамена. Проведение аттестации по предмету базируется на главных принципах контроля и оценки знаний студентов, а именно – систематичности, объективности, аргументированности. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины Самостоятельная работа студентов предусматривает изучение теоретического лекционного материала, а также журнальных публикаций по тематике курса. Теоретический материал изучается в форме проработки прочитанных лекций и рекомендованной литературы, а также в форме изучения рекомендованных статей из ведущих журналов (входящих в международные системы цитирования) с последующим реферированием на спецсеминаре «Дискретные экстремальные задачи», а также на учебном семинаре по кафедре кибернетики. При этом студенты имеют возможность пользоваться методическими разработками и учебными пособиями, представленными в библиотеке, читальных залах и в сети интернет. Текущий контроль осуществляется в форме контрольных вопросов на лекциях, учебных семинарах, а также в форме вопросов по изученным публикациям. Аттестация по итогам освоения дисциплины согласно учебному плану осуществляется в форме экзаменов в конце семестра. Экзаменационный билет аттестации по итогам освоения дисциплины включает один основной теоретический вопрос и один дополнительный вопрос или задачу по теме, отличающейся от основного вопроса. 6.1. Перечень задач с индивидуальными входными данными для контрольных, самостоятельных и домашних работ: 1) Задача о ранце. 2) Задача о ближайшем соседе. 3) Задача календарного планирования с ограниченными ресурсами складируемого типа. 4) Задача коммивояжера методом ветвей и границ. 5) Задача размещения предприятий. 6.2. Перечень контрольных вопросов : 1) Характеристики качества алгоритма решения задачи. 2) Алгоритм ДП на примере планирования хозяйственной деятельности предприятия. 3) Задача альтернативного выбора проектов. 4) Связь прямой и обратной задач о ранце. 5) Задача о ближайшем соседе. 6) Метод критического пути. 7) Календарное планирование с ресурсными ограничениями и директивными сроками. 8) Об асимптотической точности решения задачи коммивояжера. 9) Метод ветвей и границ. 10) Экономическая интерпретация двойственных переменных и теорем двойственности. 11) О решении матричной игры в случае чистых стратегий. 12) Сведение матричной игры к задаче линейного программирования. 13) Задачи расписания обработки деталей на одном станке с критерием суммы штрафов. 14) Задачи расписания обработки деталей на одном станке с минимаксным критерием. 15) Задача Джонсона с двумя станками. 16) Метод решения специальной задачи управления многономенклатурными запасами. 17) Теорема об оптимальном периоде замены оборудования. 258 18) Полиномиально разрешимые случаи решения задачи размещения предприятий. 19) Приближенный метод решения задачи размещения. 20) Задача стандартизации. 6.3. Вопросы для подготовки к экзамену. 1) Понятие о точных и приближенных алгоритмах оптимизации. Классы сложности задач принятия решений. 2) Характеристики качества алгоритма решения задачи. 3) Основные рекуррентные соотношения динамического программирования (ДП). 4) Алгоритм ДП на примере планирования хозяйственной деятельности предприятия. 5) Задачи о ранце. Применение ДП. 6) Задача альтернативного выбора проектов. 7) Обратная задача о ранце. 8) Связь прямой и обратной задач о ранце. 9) Задачи о ближайшем соседе. 10) Задача о ближайшем соседе с фиксированным числом интервалов обслуживания. 11) Задачи о ближайшем соседе с оптимизируемым числом интервалов обслуживания. 12) Объемно-календарное планирование проекта. Метод критического пути. 13) Параметры сетевой модели и алгоритмы их вычисления. 14) Задача календарного планирования с ресурсными и временными ограничениями. 15) Задачи календарного планирования в случае складируемости ограниченных ресурсов. 16) Связь задач календарного планирования и упаковки в контейнеры и в полосу. 17) Задачи маршрутизации транспортных средств на примере задачи коммивояжера. 18) Условия асимптотической точности алгоритма "Иди в ближайший непройденный город" для решения задачи коммивояжера. 19) Метод ветвей и границ и его применение к задаче коммивояжера. 20) Задача линейного программирования. Двойственность. 21) Экономическая интерпретация двойственных переменных и теорем двойственности. 22) Транспортная задача (закрытая и открытая). 23) Двойственная транспортная задача. Содержательный смысл двойственных переменных и теорем двойственности применительно к транспортной задаче. 24) Задача об оптимальных назначениях. 25) Матричная игра. Решение в случае чистых стратегий и смешанных стратегий. 26) Основная теорема матричных игр. Сведение к задаче линейного программирования. 27) Методы решения матричных игр. 28) Итеративный метод фиктивного розыгрыша (Брауна-Робинсон). 29) Постановки задач теории расписаний. 30) Задачи одного станка с критерием суммарного штрафа и с минимаксным критерием. 31) Задача Джонсона. Эффективный точный алгоритм в случае двух станков. Об условиях сводимости задачи Джонсона с тремя станками к случаю двух станков. 32) Приближенный алгоритм решения задачи с тремя станками с использованием метода кратчайшего суммирования векторов. 33) Управление запасами. Аналитическая модель с постоянным спросом. Формулы Вильсона. Нестационарный детерминированный спрос. 34) Многономенклатурные запасы. Управление по системе кратных периодов поставки. 35) Замена оборудования. Аналитические модели замены оборудования. 36) Замена оборудования. Применение метода динамического программирования. 37) Замена оборудования с учетом дисконтирования затрат. Теорема об оптимальном периоде замены оборудования с учетом дисконтирования затрат 38) Модели размещения предприятий. Полиномиально разрешимые случаи. 39) Задача размещения с ограниченными объемами производственных мощностей. 259 40) Задача стандартизации оборудования и производимых изделий. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Гимади Э.Х. Математические модели и методы в исследовании операций // Учебное пособие /CибГУТИ – Новосибирск, 2009. 2. Кононов А.В, Кононова П.А. Приближенные алоритмы. Учебное пособие. – Новосибирск: Изд-во НГУ, 2014. б) дополнительная литература: 1. Гимади Э.Х., Глебов Н.И. Математические модели и методы принятия решений // Учебное пособие. - Новосибирск: Изд-во НГУ, 2008. 2. Ерзин А.И. Введение в исследование операций // Учебное пособие. Новосибирск: Изд-во НГУ, 2006. 3. Иванилов Ю.П., Лотов А.В. Математические модели в экономике. Москва: «Наука», 1979. 4. Гончаров Е.Н., Ерзин А.И., Залюбовский В.В. Исследование операций. Примеры и задачи // Учебное пособие. Новосибирск: Изд-во НГУ, 2005. 5. Косточка А. В. Дискретная математика. Часть 2 // Учебное пособие. Новосибирск: Изд-во НГУ, 2001. 6. Береснев В.Л., Гимади Э.Х., Дементьев В.Т. Экстремальные задачи стандартизации. Новосибирск: Наука, 1978. 7. М.Гэри, Д.Джонсон, Вычислительные машины и труднорешаемые задачи, Мир, 1982. 8. Х. Пападимитриу, К. Стайглиц, Комбинаторная оптимизация: Алгоритмы и сложность, Мир, 1984. 9. Korte B., Vygen J., Combinatorial Optimization: theory and algorithms, Springer, Berlin, 2010. 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 260 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Совершенные структуры» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Августинович Владимирович, к.ф.-м.н. (подпись) 261 Сергей Аннотация рабочей программы Дисциплина «Совершенные структуры» входит в Вариативную часть Профессионального цикла ООП по направлению подготовки «Прикладная математика и информатика». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Теоретической Кибернетики ММФ НГУ. Содержание дисциплины охватывает широкий круг вопросов, связанных с методами построения и перечисления совершенных структур общего вида, проблемами существования, вложимости и восстановления схем отношений и собственных функций транзитивных графов. Дисциплина нацелена на формирование компетенций ОК-6-9 и ПК-8-13 выпускников. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, контрольные работы, самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме контрольных, самостоятельных, индивидуальных работ. Рубежный контроль – в форме экзамена. Общая трудоемкость дисциплины составляет 3 зачетную единицу, 108 академических часов (из них 32 аудиторных). Программой дисциплины предусмотрены 32 часа лекционных занятий. Остальное время – самтостоятельная работа и контроль в форме экзамена. 262 1. Цели освоения дисциплины Дисциплина "Совершенные структуры " предназначена для студентов третьего - пятого курсов механико-математических факультетов университетов. Основной целью освоения дисциплины является изучение студентами методов построения и классификации совершенных структур. Для достижения поставленной цели выделяются задачи курса: 1) изучение теоретической части курса в соответствии с программой 2) сдача экзамена в соответствии с учебным планом. 2. Место дисциплины в структуре ООП магистратуры Дисциплина «Совершенные структуры» входит в Вариативную часть Профессионального цикла ООП по направлению подготовки «Прикладная математика и информатика». Дисциплина «Совершенные структуры» опирается на следующие дисциплины: Методы дискретного анализа (теорема Кенига-Холла, алгоритм Визинга). Линейная алгебра (собственные числа, спектры графов и их собственные пространства); Теория перманентов (перечисление паросочетаний в двудольных графах, гипотеза ван-дер-Вардена); Теория вероятностей (базовые понятия, свойства математических ожиданий). 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Совершенные структуры»: общекультурные компетенции: ОК-6-9; профессиональные компетенции: ПК-8-13 В результате освоения дисциплины обучающийся должен: знать - определение совершенной раскраски графа - алгоритм Визинга, его обоснование и приложения - основные конструкции сорвершенных кодов в графе Хемминга, стар-графе, графе многомерной квадратной решетки - теорему Кенига-Холла, теорему Биркгофа, следствия из них - стандартные подходы при анализе существования совершенных кодов и раскрасок - иметь представление о месте и роли изучаемой дисциплины среди других наук; - знать содержание программы курса, формулировки задач. - уметь определять минимальное число цветов в совершенной раскраске графа применять методы теории кодирования для построения совершенных структур анализировать собственные пространства графа. 263 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 3 зачетных единицы, 108 часов. 1 2 2 2 2 2 2 2 3 2 2 2 4 2 2 2 5 2 2 2 6 2 2 2 2 7 8 2 2 2 2 2 9 2 2 2 10 2 2 2 2 11 12 2 2 2 2 2 13 2 2 2 14 2 2 2 15 2 2 2 16 2 2 17 32 Экзамен Самост. Работа 2 Контр. Работа Лекция 1. Алоритмы анализа совершенных раскрасок 1.1 Совершенные раскраски. Алгоритм Визинга. 1.2 Центрированные функции. Теорема Шапиро и Злотника. 1.3 Кронекерово произведение матриц. Матрицы Адамара. Проблема существования матриц Адамара заданного порядка. 1.4 Методы построения матриц Адамара. Построение матриц Адамара методом Вильямсона. 1.5 Квазигруппы..Каскадная конструкция построения Кодов. 1.6 Двудольные графы. (0,1)-матрицы. Теорема Кенига. Совершенные паросочетания. Перманенты. 2 Ассоциативные схемы 2.1 Эквидистантные коды. Блок-схемы. 2.2 Теорема Брука--Райзера--Човлы.. Латинские квадраты. Ортогональные латинские квадраты. 2.3 Проективная геометрия. Системы троек Штейнера. 3 Конструкции и оценки 3.1 Совершенные упаковки и разбиения. Апериодические замощения. 3.2 Квазикристаллы. Фрактальная сложность. 3.3 Наследственные свойства граов.Планарные графы. 3.4 Хроматическое число графа.Род графа. Род группы. 3.5 Дважды стохастические матрицы. Теорема Биркгофа. 3.6 Собственные пространства оператора Лапласа на графе. 3.7 Частичное восстановление совершенных структур. Неделя семестра Раздел дисциплины Семестр № п/п Виды учебной Формы текущего работы, включая самостоятельную контроля успеваемости работу студентов и (по неделям семестра) Форма промежуточной трудоемкость аттестации (по (в часах) семестрам) 2 Контрольная работа. 2 Контрольная работа 2 2 Контрольная работа 2 34 6 36 Экзамен 36 5. Образовательные технологии Используется традиционная система обучения, включающая лекции и практические занятия. Содержание лекции должно отвечать следующим дидактическим требованиям: изложение материала от простого к сложному, от известного к неизвестному; логичность, строгость, четкость и ясность в изложении материала; возможность проблемного изложения, с целью активизации деятельности студентов. 264 Для контроля освоения студентами теоретического материала в конце каждой лекции предполагается письменный опрос по курсу лекций. Для проверки уровня знаний студентов и их аттестации в конце курса предполагается проведение экзамена. При проведении аттестации по предмету студентов важно помнить, что систематичность, объективность, аргументированность – главные принципы, на которых основаны контроль и оценка знаний студентов. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины Самостоятельная работа студентов предусматривает изучение теоретического материала и решение практических задач. Теоретический материал изучается в форме проработки прочитанных лекций, а также в изучении рекомендованной литературы. Задачи решаются в форме выполнения домашних заданий. При этом студенты имеют возможность пользоваться методическими разработками и учебными пособиями, представленными в библиотеке, читальных залах и в сети интернет. Текущий контроль осуществляется в форме контрольных вопросов на семинарах, проверок решения домашних заданий, а также проведением в каждом семестре двух контрольных работ. Аттестация по итогам освоения дисциплины согласно учебному плану осуществляется в форме экзаменов в конце семестра. Экзаменационный билет промежуточной аттестации по итогам освоения дисциплины включает теоретический вопрос и задачу по теме, отличающейся от вопроса. 6.1. Перечень задач для контрольных, самостоятельных и домашних работ содержится в методичке: Косточка А.В. Дискретная математика. Учебное пособие. – Новосибирск: Изд-во НГУ, 2001. Примерный перечень контрольных вопросов и заданий для самостоятельной работы: 1. Метрические пространства. Метрика графа. 2. Декартово произведение метрических пространств. 3. Гипотеза Улама. 4. Дистанционно-регулярные графы. 5. Теорема Шпернера. 6. Теорема Рамсея. 7. Гиперкуб. Булевы функции. 8. Частично упорядоченные множества. Цепи, антицепи. Теорема Дилуорса. 9. Системы различных представителей. Теорема Холла. 10. Транзитивные графы. Графы Кели конечных групп. 11. Совершенные коды. Код Хэмминга. 12. Теорема Ван дер Вардена о существовании монохроматических арифметических прогрессий. 13. Числа Рамсея. 14. Формула для суммы биномиальных коэффициентов, взятых с фиксированным шагом. 15. Поля Галуа. 16. Сложность сборки слов. Теорема Мерекина. 17. Компоненты кодов. 6.2. Пример контрольной работы из двух задач по пройденным на семинарах темам для текущего контроля успеваемости: 3. Пусть G – произвольный связный граф на 9 вершинах. Используя алгоритм Визинга 265 найти минимальную совершенную раскраску вершин графа. Вычислить группу автоморфизмов графа G. 4. Общая спектральная теорема.Определить таблицу параметров допустимых совершенных 2-раскрасок бесконечной квадратной решетки 6.3. Пример экзаменационного билета (3 семестр): 1. Связь собственных функций графа с его совершенными раскрасками. Определить таблицу параметров допустимых совершенных 2-раскрасок графа Джонсона J(n,2) 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 3. Оре О. Теория графов. – М.: Наука, 1980. – 336 с. 4. Холл М. Комбинаторика. –¬ М.: Мир, 1970. – 424 с. 5. Мак-Вильямс Ф., Слоэн Н. теория кодов, исправляющих ошибки- М.: Связь, 1979.-744 с. 6. Яблонский С.В. Введение в дискретную математику – М.: Наука, 1986.384 с. б) дополнительная литература: 1. Ф. Харари, Теория графов, Мир, 1973. 2. Х. Минк, Перманенты, Мир, 1982. 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 266 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Теория оптимальных процессов» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Александров Владимир Михайлович, д.ф.-м.н. (подпись) 267 Аннотация рабочей программы Дисциплина «Теория оптимальных процессов» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Прикладная математика и информатика». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой теоретической кибернетики ММФ НИУ НГУ. Содержание дисциплины охватывает круг вопросов, связанных с теорией оптимального управления, принципом максимума Понтрягина и классическими задачами вариационного исчисления, а также с обратными задачами теории оптимальных процессов. Дисциплина нацелена на формирование общекультурных компетенций ОК-6, ОК-7, ОК-8, ОК-9, профессиональных компетенций ПК-8, ПК-9, ПК-10, ПК-11, ПК-12, ПК-13. Учебный процесс включает в себя лекции, контрольные работы, самостоятельную работу студентов. Преподавание дисциплины предусматривает текущую проверку успеваемости в форме контрольных, самостоятельных, индивидуальных работ. Итоговый контроль осуществляется в форме экзамена. Общая трудоемкость дисциплины составляет 6 зачетных единиц, 216 часов, 68 из которых отведены под аудиторную нагрузку (лекционные занятия). Программой дисциплины предусмотрены лекционные занятия, самостоятельная работа студентов, текущий и промежуточный контроль в форме экзаменов. 268 1. Цели освоения дисциплины Курс ставит своей целью усвоение студентами основных понятий и методов теории оптимальных процессов, в том числе: типы задач оптимального управления, принцип максимума Понтрягина, связь с классическим вариационным исчислением, линейные оптимальные быстродействия, управляемость, наблюдаемость, идентифицируемость и др. В результате освоения дисциплины обучающийся должен: знать основные понятия и круг задач теории оптимального управления; уметь применять принцип максимума Понтрягина для решения задач оптимального управления системами, описываемыми обыкновенными дифференциальными уравнениями; знать связь принципа максимума с необходимыми условиями оптимальности из классического вариационного исчисления, такими как уравнение Эйлера–Лагранжа, условия Лежандра, Вейерштрасса и др. иметь представление об оптимальных алгоритмах решения обратных задач теории оптимальных процессов – идентификации и оценки состояния динамических систем. 2. Место дисциплины в структуре ООП магистратуры Дисциплина «Теория оптимальных процессов» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Прикладная математика и информатика». Дисциплина «Теория оптимальных процессов» опирается на следующие дисциплины: 1. Математические методы и методы принятия решений 2. Теория вычислений 3. Дополнительные главы линейной алгебры 4. Теория вероятностей (базовые понятия, свойства математических ожиданий). 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Теория оптимальных процессов»: общекультурные компетенции: ОК 6- 9; профессиональные компетенции: ПК-8 -13. В результате освоения дисциплины обучающийся должен: знать Постановки задач оптимального управления. Принцип максимума в теории оптимальных процессов. Доказательство принципа максимума для линейной задачи быстродействия. Условия трансверсальности. Теоремы о числе переключений. Теоремы существования оптимального управления.Условие полной управляемости автономных и неавтономных систем. Свойства оценок линейного метода наименьших квадратов, ортогональной регрессии, вариационного метода. Условия единственности, состоятельности. Итерационные алгоритмы вычисления оценок с проективными целевыми функциями. Условия единственности в задаче выделения квазимногочленных трендов. уметь Решать задачи синтеза оптимального управления в задаче быстродействия и задаче Фуллера. Решать задачи идентификации параметров и процессов по наблюдениям процессов с аддитивными возмущениями и возмущениями в невязке уравнения. Структура и содержание дисциплины Виды учебной работы, включая самостоятельную работу студентов и трудоемкость Не Формы текущего (в часах) де контроля успеваемости Се ля Л С № (по неделям семестра) К Раздел дисциплины ме се а а п/п Форма промежуточной Л о стр ме б. м З аттестации е н ст р о а (по семестрам) к т ра а с ч ц р. б т. е и р о р т я а т а б. а б. 1.1 Принцип максимума в теории оптимальных 1 1-6 12 12 процессов: Вариационная задача управления. Допустимые управления. Принцип максимума. Задача быстродействия. Задача синтеза оптимального управления. 1.2 Задача с подвижными концами. Условия 1 7-12 12 12 трансверсальности. Принцип максимума для неавтономных систем. Задача оптимального быстродействия для неавтономных систем. Задачи с закрепленным временем для автономных и неавтономных систем. Задача терминального управления. 1.3 Вариационное исчисление и оптимальное 1 13- 12 12 управление: Обобщенное уравнение 18 Эйлера—Лагранжа. Интегральная форма уравнений Эйлера—Лагранжа. Разрывы и условия скачка. Условия Вейерштрасса— Эрдмана для точек излома. Условия Лежандра—Клебша. Условие Вейерштрасса. Условия трансверсальности. Ограничения в форме равенств и множители Лагранжа. Задачи с ограничениями в форме неравенств. 4 36 Экзамен 1.4 Линейные оптимальные быстродействия: 2 1-9 18 18 Теоремы о числе переключений. Теоремы единственности. Теоремы существования оптимального управления. Особые оптимальные управления. Доказательство принципа максимума. 1.5 Обратные задачи теории оптимальных 2 10- 16 16 процессов: восстановление траекторий, 17 идентификация параметров уравнений. Линейные и нелинейные методы наименьших квадратов: целевые функции, единственность, устойчивость, состоятельность, вычислительные алгоритмы. Суммарные динамические системы, восстановление сигналов и уравнений трендов. 2 19 4 36 Экзамен 68 76 72 Перечень примерных вопросов к экзамену по спецкурсу 1. Двухточечная задача оптимального управления и задача со свободным правым концом в расширенном фазовом пространстве. Доказательство их эквивалентности. 2. Свойства оптимального управления двухточечной задачи оптимального управления. 270 3. Первоначальная и современная формулировка принципа максимума для двухточечной задачи оптимального управления в случае автономного движения объекта. Выведение из современной формулировки принципа максимума в его первоначальной формулировке. 4. Доказать принцип максимума Понтрягина для двухточечной задачи быстродействия. 5. Доказать непрерывность гамильтониана на примере двухточечной задачи u∣ ≤1. быстродействия для системы x˙1= x2 , x 2 = u , ∣ 6. Построить линию переключения для задачи о быстрейшей остановке движущейся по инерции точки. 7. Задача синтеза в случае комплексно-сопряжённых корней. 8. Построить линию переключения для двухточечной задачи быстродействия для линейной системы второго порядка с комплексно-сопряжёнными собственными значениями и скалярным управлением u : |u| ≤ 1. (Свойства оптимального управления не доказывать). 9. Задача синтеза для быстрейшей остановке движущейся по инерции точки. 10. Свойства оптимального управления для двухточечной задачи быстродействия, если u∣ ≤1. движение объекта подчинено закону x˙1= x 2 , x 2 = − x1 + u , ∣ 11. Общая задача Фуллера. Следствие для неё из принципа максимума Понтрягина. 12. Каноническая задача Фуллера. Инвариантность оптимальных траекторий относительно преобразования x(t) → λ2 x(t/λ), y(t) → λy(t/λ), а также при сдвиге по времени. 13. Каноническая задача Фуллера и каноническая задача Фуллера со свободным правым концом. Связь решений сопряжённой системы для этих задач. 14. Построить линию переключения в канонической задаче Фуллера с выведением параметра параболы. (Свойства второй компоненты решении сопряжённой системы не доказывать.) 15. Доказать убывание моментов переключения в канонической задаче Фуллера. 16. Современная формулировка принципа максимума (без доказательства). Два примера задачи со свободным правым концом. Дать решение для них задачи синтеза с полным обоснованием. 17. Доказать принцип максимума Понтрягина для задачи линейного быстродействия. 18. Постановка задачи линейного быстродействия. Допустимые управления. Условие общности положения. Теоремы существования и единственности (без доказательства). Теорема о числе переключений (без доказательства). 19. Определение, свойства оценок: единственность, устойчивость, состоятельность. Оценки по линейному методу наименьших квадратов К. Гаусса (МНК), условия единственности, устойчивость. 20. Несостоятельность оценок линейного МНК. 21. Оценки Эдкока—Куммеля—Пирсона (оценки ортогональной регрессии, ОР), геометрический смысл. Понятие проективной (вариационной) целевой функции. Условия единственности, устойчивость оценок ОР. 22. Состоятельность оценок ортогональной регрессии. 23. Вычисление оценок ортогональной регрессии. Оценки решений (процессов) при известных параметрах уравнения. Оценки неизвестных параметров уравнения. 24. Метод вариационной идентификации (ВИ): оценки решений при известных параметрах и оценки неизвестных параметров разностного уравнения. Геометрическая иллюстрация. Вычислительный метод Егоршина—Осборна. 25. Состоятельность оценок по методу вариационной идентификации. 26. Состоятельность оценок по методу вариационной идентификации в случае наблюдений с неединичной матрицей дисперсии. 27. Определение класса вариационных оценок. Две формы записи вариационных целевых функций. Теорема о состоятельности вариационных оценок. 28. Оценки Structured Total Least Squares (STLS). Равносильность классов оценок STLS 271 и вариационных. 29. Задача вычисления слагаемых процессов по наблюдениям сумм. Косое проецирование. Пример задачи выделения трендов в виде констант. Условие единственности. 30. Условие единственности восстановления слагаемых процессов по наблюдению суммы в случае динамических систем. 31. Пример задачи выделения трендов в виде константы и синусоиды. Условия единственности. 32. Суммарные системы. Определение, построение. Суммарные динамические системы. Определение, построение, применение (примеры). Основная литература: Понтрягин Л.С. и др. Математическая теория оптимальных процессов. М.: Наука, 1976. Понтрягин Л.С. Принцип максимума. М.: Фонд математического образования и просвещения, 1998. Болтянский В.Г. Математические методы оптимального управления. М.: Наука, 1976. Гроп Д. Методы идентификации систем. М.: Мир, 1979. Markovsky I., Van Huffel S. Overview of Total Least-Squares Methods // Signal Processing 87 (2007) 2283-2302. Дополнительная литература: Габасов Р.Ф., Кириллова Ф.М. Качественная теория оптимальных процессов. М.: Наука, 1975. Федоренко Р.П. Приближенное решение задач оптимального управления. М.: Наука, 1978. Сю Д., Мейер А. Современная теория автоматического управления и ее применение. М.: Машиностроение, 1972. Параев Ю.И. Теория оптимального управления. Учебное пособие. Томск: Изд-во НТЛ, 2004. 272 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Теория расписаний» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Черных Илья Дмитриевич, к.ф.-м.н. (подпись) 273 Аннотация рабочей программы Дисциплина «Теория расписаний» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Прикладная математика и информатика». Дисциплина реализуется на Механико-математическом факультете Национального исследовательского университета Новосибирский государственный университет кафедрой Теоретической кибернетики ММФ НИУ НГУ. Содержание дисциплины охватывает круг вопросов, связанных с теорией принятия решений, математическими моделями целочисленного линейного программирования, вычислительной сложностью алгоритмов, а также точными и приближенными подходами к решению NP-трудных задач. Дисциплина нацелена на формирование компетенций ОК-6-9 и ПК-8-13 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, контрольная работа, самостоятельная работа студента. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме контрольной работы, проверка домашних заданий промежуточный контроль в форме коллоквиума, рубежный контроль в форме двух экзаменов (в конце осеннего и весеннего семестров). Общая трудоемкость дисциплины составляет 6 зачетных единиц, 216 академических часов. Программой дисциплины предусмотрены 68 часов лекционных и 68 часов самостоятельной работы студентов. Остальное время – самстоятельная работа студентов и различные формы контроля. 274 1. Цели освоения дисциплины Цель дисциплины – познакомить студентов с основными моделями теории расписаний, научить методам исследования задач, построению эффективных алгоритмов точного и приближенного решения, доказательству NP-трудности задач (в обычном и сильном смысле), построения аппроксимационных схем. 2. Место дисциплины в структуре ООП бакалавриата Дисциплина «Теория расписаний» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Прикладная математика и информатика». Дисциплина «Теория расписаний» опирается на следующие дисциплины данной ООП: Дискретная математика; Теория графов; Приближенные алгоритмы; Теория вычислений. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Теория расписаний»: общекультурные компетенции: ОК-6-9; профессиональные компетенции: ПК-8-13. В результате освоения дисциплины обучающийся должен: иметь представление о разнообразии моделей теории расписаний; знать алгоритмическую сложность основных классических моделей теории расписаний; уметь применять эффективные алгоритмы точного и приближенного решения задач теории расписаний; владеть навыками исследования задач и алгоритмов, построения алгоритмов, использования эффективного компьютерного перебора для получения теоретических результатов и эффективных алгоритмов решения задач теории расписаний. 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 6 зачетных единиц, 216 часов. Самост. работа 1, 2 4 0 4 1 3, 4 4 0 4 1 5 2 0 2 1 6 2 0 2 1 7 2 0 2 275 экзамен Лабор. работа 1 Контр. работа Лекция 1.1 Задачи теории расписаний. Разнообразие моделей и постановок задач теории расписаний. Примеры постановок. 1.2 Общая постановка задачи теории расписаний. 1.3 Обшепринятая нотация и классификация задач теории расписаний. Ее недостатки. 1.4 Задача календарного планирования. Алгоритмы ее решения. 2.1 Одностадийные задачи теории расписаний. Задачи с одной машиной. Задачи с единичными длительностями операций и отношениями предшествования. Неделя семестра Раздел дисциплины Семестр № п/п Виды учебной работы, включая самостоятельную работу студентов и трудоемкость Формы текущего контроля (в часах) успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) 2.2 Одномашинные задачи с разрешением прерываний. Полиномиально разрешимые задачи, составление алгоритмов точного решения. NP-трудные задачи, методы доказательства NP-трудности 2.3 Задачи с параллельными машинами. Примеры полиномиальных алгоритмов решения задач. Примеры NP-трудных задач. 3.1 Модель Flow Shop. Задача Джонсона. Перестановочные расписания. Задача Flow Shop с прерываниями. Соотношения между оптимумами задач. 3.2 Алгоритм склеивания работ и применение метода ветвей и границ для нахождения интервалов локализации оптимумов. 3.3 Алгоритмы точного решения задачи Джонсона с двумя машинами 3.4 NP-трудность задачи Flow Shop с тремя машинами, без прерываний и с разрешением прерываний. NP-трудность трехмашинной задачи с двумя операциями каждой работы 3.5 Полиномиально разрешимые подклассы задачи Джонсона с тремя машинами. Достаточные условия сводимости Глебова. Разрешимый случай Серваха. 1 8, 9 4 0 4 1 10, 11 4 0 4 1 12, 13 4 0 4 1 14 2 0 2 1 15 2 0 2 1 16 2 0 2 1 17 2 0 2 4.1 Задача Job Shop. Полиномиально разрешимые подслучаи. NP-трудность задачи с тремя операциями работы. Геометрическая интерпретация задачи с двумя работами. 5.1 Задача Open Shop. Классическая и обобщенная постановка. Нормальные расписания. Разрешимость двухмашинной задачи, алгоритм Гонзалеза-Сани. NPтрудность задачи с тремя машинами. 5.2 Двухстадийная задача Open Shop. Полиномиально разрешимые подслучаи трехмашинной задачи. NP-трудность четырехмашинной задачи. Открытые вопрос. 5.3 Плотные расписания и их свойства. Жадные алгоритмы. Приближенные решения задачи Open Shop с оценкой точности 2. Гипотеза Чена-Струсевича. 5.4 Теорема о локализации оптимумов трехмашинной задачи. Гипотеза о локализации оптимумов задачи с произвольным числом машин. 5.5 Задача Open Shop с разрешением прерываний. Алгоритм точного решения. Проблема минимизации числа прерываний. Оценка необходимого числа прерываний для трехмашинной задачи. 5.6 Аппроксимационная схема для решения задачи Open Shop 5.7 Полиномиально разрешимые подклассы задачи Open Shop в терминах неравномерной нагрузки машин. Нормальные подклассы и нормализующие векторы. 2 1 2 0 4 2 2 2 2 0 2 2 3 2 0 2 2 4, 5 4 0 4 2 6 2 0 2 2 7, 8 4 0 4 2 9 2 0 2 2 10 2 0 2 276 36 Экзамен 6.1 Задача Open Shop с маршрутизацией машин. NP-трудность задачи с двумя машинами и двухвершинной транспортной сети. Связь с задачей комивояжера. Алгоритм Кристофидеса-Сердюкова приближенного решения метрической задачи комивояжера. 6.2 Алгоритмы приближенного решения двухмашинной задачи. Алгоритм с оценкой точности 7/4. Улучшенный алгоритм с оценкой точности 13/8. Приближенный алгоритм для решения задачи при известном кратчайшем обходе графа. 6.3 Приближенные алгоритмы для m-машинной задачи Open Shop с маршрутизацией машин. 6.4 Задача Open Shop с марширутизацией машин и разрешением прерываний. Алгоритм точного решения для двухвершинной сети. NP-трудность для нефиксированного числа машин. Открытые вопросы. 6.5 Постановка задачи «с одной поездкой». Интервалы локализации оптимумов задач в различных постановках, связь между оптимумами задач. Открытые вопросы. 7.1 Заключительная лекция. Наиболее насущные открытые вопросы теории расписаний. 2 11 2 0 2 2 12 2 0 2 2 13 2 0 2 2 14 2 0 2 2 15, 16 4 0 4 2 17 2 0 2 68 0 4 76 ИТОГО: 184 36 Экзамен 72 5. Образовательные технологии В учебной работе по данной дисциплине проводятся лекционные занятия. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины В конце года учебным планом предусмотрен экзамен. Образцы экзаменационных билетов БИЛЕТ № 1 1. Пример Поттса, Шмойса, Вильямсона, показывающий, что отношение перестановочного оптимума задачи F||Cmax к глобальному оптимуму может достигать величины m / 2 , где m – число машин. 2. Докажите, что процедура склейки работ в m-машинной системе позволяет получить пример с не более чем (2m-1) работами с сохранением параметра C . БИЛЕТ № 5 1. Эффективное решение задачи O2||Cmax (алгоритм Гонзалеза-Сани). 2. Докажите NP-трудность задачи J2|3|Cmax. 277 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 13. Joseph Y.-T. Leung (Ed.) Handbook of scheduling. Algorithms, Models, and Performance Analysis. Boca Raton, FL, USA: Chapman&Hall/CRC, 2004. 14. Brucker P. Scheduling Algorithms (4th edition). New York, Inc. Secaucus, NJ: Springer-Verlag, 2004. 15. Michael L. Pinedo. Scheduling. Theory, algorithms, and Systems. Third edition. New York: Springer Science+Business Media, 2008. 16. Chen B., Potts C.N., and Woeginger G.J. A review of machine scheduling: complexity, algorithms and approximation // Handbook on Combinatorial Optimization, Boston: Kluwer Acad. Publ., V. 3, 1998, P. 21-169 б) дополнительная литература: 6. Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. М.: Мир, 1982. 7. Танаев В.С., Гордон В.С., Шафранский Я.Н. Теория расписаний. Одностадийные системы. М.: Наука, 1984. 8. Танаев В.С., Сотсков Ю.Н., Струсевич В.А. Теория расписаний. Многостадийные системы, М.: Наука, 1989. в) программное обеспечение и Интернет-ресурсы: 1. Классификация задач теории расписаний по их сложности: http://www.mathematik.uni-osnabrueck.de/research/OR/class 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 278 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Теория статистических решений» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Бериков Владимир Борисович, д.т.н. (подпись) 279 Учебный курс «Теория статистических решений» входит в вариативную часть профессионального цикла по направлению «Прикладная математика и информатика». Дисциплина изучается студентами механико-математического факультета НГУ. Программа курса подготовлена в соответствии с требованиями образовательного стандарта третьего поколения. Цель курса – дать представление об основных понятиях теории статистических решений, обучить основам современных компьютерных методов принятия решений на основе анализа статистических данных, научить студентов решать основные виды соответствующих прикладных задач. Двухсеместровый курс «Теория статистических решений» включает в себя лекционные занятия, занятий преподавателя со студентами в процессе сдачи индивидуальных заданий, а также самостоятельных занятий студентов. В конце первого и второго семестров проводятся экзамены. Общая трудоемкость дисциплины составляет 6 зачетных единиц, 216 академических часов. Программой дисциплины предусмотрены 68 часов лекционных занятий, остальное время отведено под самостоятельную работу студентов и экзамены. 280 1. Цели освоения дисциплины (курса) Курс «Теория статистических решений» является оригинальным в данной области знаний (теоретическая кибернетика, искусственный интеллект). Актуальность данной дисциплины определяется тем, что научная деятельность любого математика в естественнонаучных областях связана с обработкой экспериментальных данных (наблюдений) и принятием на основе результатов анализа оптимальных решений. А для этого необходимо знание фундаментальных теоретических и практических основ указанной дисциплины. В результате изучения курса у студентов механико-математического факультета должно сформироваться представление об основных понятиях теории статистических решений. Студенты познакомятся с современными компьютерными методами анализа статистических данных, реализованными в различных статистических пакетах. Курс даст основные практические навыки решения задач, встречающихся в различных областях прикладных исследований, связанных с анализом данных. 2. Место дисциплины в структуре образовательной программы Курс относится к циклу фундаментальных общематематических дисциплин. В результате прохождения курса у студентов механикоматематического факультета должно сформироваться представление о фундаментальных принципах, на которых базируется эта дисциплина, о статистических методах и подходах, используемых при анализе данных и принятии на основе анализа оптимальных решений. Необходимыми предпосылками для успешного освоения курса является знание математического и функционального анализа, теории вероятностей и математической статистики, математической логики, методов оптимизации и умение применять эти знания при решении задач. Необходимость владения указанными математическими дисциплинами обусловлена тем обстоятельством, что они составляют основу теоретического аппарата теории статистических решений. При анализе статистических данных необходимо сформулировать соответствующую математическую модель распределения, провести анализ модели, оценить ее параметры. При решении задачи распознавания образов необходимо выбирать решающую функцию, для которой риск (вероятность ошибки) является наименьшим в заданном классе. Построение математических моделей в области искусственного интеллекта требует знания математической логики. Результаты освоения дисциплины «Теория статистических решений» используются при выполнении дипломных работ. 3. Компетенции обучающегося, формируемые в результате освоения 281 дисциплины «Теория статистических решений». Курс направлен на формирование компетенций ОК-6-9 и ПК-8-13 выпускников. В результате освоения дисциплины обучающийся должен: Знать: основные принципы построения математических моделей анализа данных и принятия решений. Круг задач, в которых возможно применение методов теории статистических решений. Уметь: применять в своей научно-исследовательской работе весь перечень преподаваемых в рамках дисциплины методов обработки экспериментальных данных и принятия решений. Владеть (приобрести опыт) основными методами анализа данных и принятия решений с использованием специальных математических методов и компьютерных систем. 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 6 зачетных единиц, 216 часов. Самостоятельные занятия (в том числе решение домашних заданий и их индивидуальная сдача, подготовка к докладам о дипломной работе и реферирование научных статей) 1.1 Введение. Основные понятия. Задачи анализа данных. Задача распознавания образов. 0 1 1 2 2 1.2 Дискриминантная (решающая) функция. Риск, вероятность ошибки. Оптимальная (байесовская) решающая функция. 1.3 Оценивание распределений по выборке. 1.4 Решающая функция при многомерных нормальных распределениях (равные матрицы ковариаций). Случай двух образов. 1.5 Решающая функция при многомерных нормальных распределениях (произвольные матрицы ковариаций). Случай двух образов. Экзамен Спецсеминар Лекция Раздел дисциплины Неделя семестра № п/п Семестр Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) 0 1 2 2 2 1 3 2 2 1 4 2 2 0 1 5 2 2 0 282 Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) В начале каждого очередного занятия проверка задач, заданных на дом 6 2 2 0 1 7 2 2 0 1 8 2 2 0 1 9 2 2 0 1 10 2 2 0 1 11 2 2 0 1 12 2 2 0 1 13 2 2 0 1 14 2 2 0 1 15 2 2 0 1 16 2 2 2 2 0 0 Спецсеминар 1 Лекция Неделя семестра Раздел дисциплины Семестр № п/п Самостоятельные занятия (в том числе решение домашних заданий и их индивидуальная сдача, подготовка к докладам о дипломной работе и реферирование научных статей) Экзамен Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) 1.6 Построение решающих функций в пространстве бинарных, номинальных переменных. Наивный байесовский классификатор. 1.7 Разложение в ряд Бахадура. 1.8 Восстановление смеси распределений. ЕМ-алгоритм и его модификации. Смесь нормальных распределений. 1.9 Непараметрический подход к построению решающих функций. Непараметрическая оценка многомерных плотностей. 1.10 Окно Парзена. Метод ближайших соседей. 1.11 Оценивание качества решающих функций. Скользящий экзамен. Проблема переобучения. Оценки Вапника-Червоненкиса. 1.12 Оценивание качества решающих функций с использованием модели нормального распределения. 1.13 Байесовский подход к оцениванию качества решающих функций (дискретный случай). 1.14 Анализ оперативных ROCкривых. 1.15 Классификация с помощью линейных функций. Линейный дискриминант Фишера. 1.16 Метод опорных векторов. 1.17 Основы нейросетевого подхода в распознавании образов. 1 17 4 2.1 Методы распознавания образов, основанные на нахождении 2 1 2 283 2 2 36 Опрос по пройденному материалу Опрос по пройденному материалу Экзамен Самостоятельные занятия (в том числе решение домашних заданий и их индивидуальная сдача, подготовка к докладам о дипломной работе и реферирование научных статей) 2 2 2 2 2 2 3 2 2 2 4 2 2 2 5 2 2 2 6 2 2 2 7 2 2 2 8 2 2 2 9 2 2 2 10 2 2 2 11 2 2 2 12 2 2 284 Экзамен Спецсеминар логических закономерностей. Критерии закономерностей. 2.2 Алгоритмы «Кора», «Темп», «Коралл» поиска закономерностей в таблицах данных. 2.3 Алгоритмы распознавания, основанные на вычислении оценок. 2.4 Класс логических решающих функций (ЛРФ) от разнотипных переменных. 2.5 Деревья решений. Критерии качества деревьев решений. 2.6 Методы построения деревьев решений. Алгоритмы ID3, C4.5. Редуцирование деревьев решений. Алгоритм CART. Рекурсивный алгоритм построения дерева. 2.7 Построение коллективного решающего правила. Алгоритмы бустинга деревьев решений. 2.8 Случайный лес решений, его характеристики. 2.9 Байесовская модель распознавания по конечному множеству событий и ее применение для оценивания качества деревьев решений. 2.10 Задача регрессионного анализа. Основные модели регрессии. Оценивание параметров регрессионной модели. 2.11 Проблемы мультиколлинеарности, гетероскедастичности и автокоррелированности в регрессионном анализе. 2.12 Построение деревьев регрессии. Коллектив деревьев регрессии. Лекция Раздел дисциплины Неделя семестра № п/п Семестр Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) Опрос по пройденному материалу 13 2 2 2 14 2 2 2 15 2 2 2 16 2 2 2 17 2 2 34 76 Спецсеминар 2 Лекция Неделя семестра Раздел дисциплины Семестр № п/п Самостоятельные занятия (в том числе решение домашних заданий и их индивидуальная сдача, подготовка к докладам о дипломной работе и реферирование научных статей) Экзамен Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) 36 Экзамен 2.13 Основные модели анализа временных рядов. Методы анализа многомерных разнотипных временных рядов с использованием логических решающих функций. 2.14 Кластерный анализ. Основные алгоритмы кластерного анализа: к-средних, иерархические алгоритмы, алгоритм кратчайшего незамкнутого пути. 2.15 Критерии качества кластерного анализа. 2.16 Таксономические решающие деревья в кластерном анализе. 2.17 Коллективный подход в кластерном анализе. ИТОГО 288 0 4 72 Примерный план семинарских занятий (7,8-й семестры) 1.1. Статистика (повторение) Основные понятия теории вероятностей и математической статистики. Оценивание параметров распределений. Формула Байеса. Риск, вероятность ошибки при принятии решений. 1.2-3. Байесовское распознавание образов Построение оптимальной решающей функции при известных распределениях. Случай одной, двух переменных, двух образов. Случай трех образов. 1.4-5. Распознавание в случае нормальных распределений Построение оптимальной решающей функции при нормальных распределениях. Случай одной, двух переменных, двух образов, неравных матриц ковариаций. 1.6-7. Дискретная задача распознавания 285 Построение «наивного» байесовского классификатора в случае номинальных переменных. Разложение в ряд Бахадура для булевых переменных. 1.8. Восстановление смеси распределений Применение ЕМ-алгоритма в случае двух нормальных распределений. 1.9-10. Непараметрическое распознавание Решение задач распознавания образов с помощью непараметрического оценивания плотности. Метод k ближайших соседей. 1.11-12. Оценивание качества решающих функций Метод скользящего экзамена. Нахождение оценок Вапника-Червоненкиса для случая дискретного классификатора. Вычисление емкости класса решающих функций. Определение верхней границы вероятности ошибки в случае нормальных распределений. 1.13. Байесовский подход к оцениванию качества решающих функций Нахождение ожидаемой вероятности ошибки и ее дисперсии для дискретного классификатора. 1.14. Анализ ROC-кривых Сравнение различных классификаторов характеристик (дискретный случай). с помощью оперативных 1.15. Линейные дискриминантные функции Вычисление линейного дискриминанта Фишера в случае двух переменных, двух образов. 1.16. Метод опорных векторов Решение задач распознавания образов с помощью метода опорных векторов. Случай двух переменных, двух образов, различных штрафных функций и функций ядра. 1.17. Нейросетевой подход в распознавании Нахождение весов персептрона с помощью алгоритма Розенблатта. Применение алгоритма обратного распространения. 2.1-2. Логический подход в распознавании образов Определение критериев качества логических закономерностей. Поиск закономерностей с помощью алгоритмов «Кора», «Темп», «Коралл». 2.3. Алгоритмы вычисления оценок Решение задач распознавания образов с использованием вычисления оценок (случай двух переменных, двух образов). 286 алгоритма 2.4. Логические решающие функции и деревья решений Определение критериев качества ЛРФ, деревьев решений (энтропийный критерий, критерий Джини, хи-квадрат и др.). Случай количественных, номинальных, разнотипных переменных. 2.5-6. Алгоритмы построения деревьев решений Использование различных алгоритмов перебора при нахождении оптимального варианта дерева решений (ID3, C4.5., CART, R-алгоритм). 2.7. Коллективное распознавание образов Решение задач распознавания образов с использованием коллективного подхода. Построение леса решений. Алгоритмы бустинга деревьев решений. 2.8. Случайный лес решений Вычисление характеристик леса решений. Определение out-of-bag оценки вероятности ошибки распознавания. 2.9. Байесовская модель для деревьев решений Определение критериев качества распознавания с использованием байесовской модели. Случай неизвестных и известных априорных вероятностей. 2.10-11. Регрессионный анализ Оценивание параметров моделей регрессии по таблицам данных. Нахождение регрессионной модели в случае мультиколлинеарности, гетероскедастичности и автокоррелированности наблюдений. 2.12. Деревья регрессии Решение задач регрессионного анализа с использованием деревьев регрессии. Нахождение коллективного решения. 2.13. Анализ временных рядов Оценивание параметров трендовых, авторегрессионных моделей. Применение деревьев решений в задачах анализа многомерных разнотипных временных рядов. 2.14-15. Кластерный анализ Решение задач кластерного анализа различными алгоритмами (k-средних, иерархический алгоритм построения дендрограммы, алгоритм кратчайшего незамкнутого пути). Определение индексов качества кластерного анализа. 2.16. Таксономические решающие деревья Кластерный анализ в случае разнотипных переменных. Использование деревьев решений для группировки разнотипных данных. Вычисление 287 критериев качества деревьев решений. 2.17. Коллективный подход в кластерном анализе Решение задач группировки объектов с использованием коллектива алгоритмов. Применение различных подходов к коллективному решению (оптимизация критериев согласованности, матриц попарного различия объектов). 5. Образовательные технологии Преподавание дисциплины предусматривает следующие формы организации учебного процесса: чтение лекций для владения теоретическими основами дисциплины; практические занятия и самостоятельная работа студентов, дающая возможность использования рассматриваемых алгоритмов при решении прикладных задач. Лекционно-семинарские занятия проводятся с использованием компьютера и мультимедийного проектора; с демонстрацией возможностей компьютерных статистических пакетов анализа данных. Студенты могут задавать вопросы как во время занятий, так и по электронной почте. На семинарских занятиях, кроме разбора задач, студентами проводится реферирование журнальных статей (в том числе на английском языке), относящихся к последним разработкам по темам курса, даются ответы на вопросы преподавателя и студентов. Студенты выступают с изложением результатов дипломной работы, относящихся к изучаемым темам. Программой дисциплины предусмотрены следующие виды контроля. Проводится сдача семестровых заданий, проходящая в специально отведенное для этого время в виде личной беседы преподавателя с каждым студентом. В процессе сдачи студент рассказывает преподавателю ход решения задачи, а также отвечает на несколько вопросов по тематике задачи. Для контроля усвоения дисциплины учебным планом предусмотрен экзамен. 6. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебнометодическое обеспечение самостоятельной работы студентов Примеры семестровых домашних заданий Отчёты больницы показывают, что среднее время операции равно 112 минуты при среднеквадратичном отклонении 3 минуты. Каков минимальный процент операций, выполненных за время между 106 и 117 минуты? 2. Пусть для некоторой популяции = 15. Найти размер n выборки, гарантирующей, что ошибка среднего не превосходит 2 с вероятностью 0,98. 3. Из случайной выборки 400 человек, испытавших новую вакцину от гриппа, 136 испытали неприятные ощущения. Построить 95-процентный доверительный интервал для вероятности того, что человек испытывает 1. 288 неприятные ощущения от данной вакцины. 4. Доказать, что при распознавании двух образов, для байесовской решающей функции вероятность ошибки не превышает величины 1/ 2 { p( x, C1 ) p ( x, C2 )} dx . 5. В магазин обратилось 10 покупателей, пожелавших сделать покупку в кредит. После проверки их кредитоспособности 4-м покупателям было отказано в кредите, а остальные его получили. У первых оказались следующие зарплаты (в усл. ед.): 70, 160, 80, 75, а у вторых 400, 140, 230, 300, 200, 180. Построить выборочное байесовское решающее правило классификации кредитоспособных и некредитоспособных покупателей по уровню зарплаты, предполагая, что распределение для каждого класса является нормальным. 6. В различных районах города были проведены исследования загрязнения воздуха вредными примесями. Кроме того, данные районы были разделены на два класса: в первый класс были включены районы, в которых показатели заболеваемости населения болезнями органов дыхания оказались ниже средних по городу, а во второй класс – те районы, в которых эти показатели выше средних. Таблица содержит усредненные значения показателей уровня СО (Х1) и пыли (Х2) в процентах от ПДК, а также номера классов. Найти выборочную байесовскую дискриминантную функцию, предполагая, что данные показатели загрязнения у каждого класса являются независимыми случайными величинами, подчиняющимися нормальному распределению с одной и той же дисперсией. Изобразить решение на графике. Исходные данные: № района 1 2 3 4 5 6 7 8 9 10 Х1 40 100 30 25 10 100 230 110 120 180 Х2 10 110 20 15 105 120 220 90 200 160 класс 1 1 1 1 1 1 2 2 2 2 Пользуясь исходными данными предыдущей задачи, найти линейный дискриминант Фишера. Найти координаты проекций исходных данных на прямую, определяемую дискриминантом. Изобразить решение на графике. 8. Задана таблица данных, описывающая значения трех булевых переменных для объектов двух образов: 7. номер образа 1 1 1 1 1 1 2 2 2 2 Х1 0 1 0 1 0 1 1 0 0 1 Х2 1 0 1 1 1 0 0 1 1 0 Х3 1 1 1 0 1 1 0 1 0 0 Построить «наивный» байесовский классификатор; распознать с его помощью 289 вектор наблюдений x (1,1,1) . 9. Для таблицы данных из предыдущей задачи найти разложение в ряд Бахадура. 10. Показать, что модель K-ближайших соседей не позволяет получить распределение вероятностей (интеграл от полученной оценки плотности по всему пространству может расходиться). 11. Пользуясь данными задачи 6, найти разделяющую полосу между двумя образами с помощью метода опорных векторов. 12. С помощью алгоритма Розенблата провести обучение персептрона, используя данные задачи 8. 13. Банком тестируется метод идентификации недобросовестных заёмщиков. Известно, что средний доход от одного добросовестного заёмщика составляет 1000 единиц, средняя величина потерь от одного недобросовестного заёмщика - 3000 единиц, доля недобросовестных - 10%. Известно несколько точек графика ROC-кривой для некоторого решающего правила. Требуется установить на основании всей этой информации целесообразность использования банком технологии распознавания, оценить максимальный дополнительный доход на одного заёмщика. Чувствительность Ложная тревога 0.6 0.05 0.75 0.08 0.8 0.1 0.9 0.15 0.95 0.25 Имеется два варианта дерева решений с двумя листьями. Число объектов каждого из двух образов в листьях первого дерева - (5;1) и (2;6) , а второго дерева - (8; 2) и (4;0) . Определить более предпочтительный вариант по критерию Гини и по энтропийному критерию. 15. Следующая таблица показывает данные о дождях и урожаях на некотором участке: 14. Осадки (в дюймах) Урожай пшеницы (в бушелях на акр) 13 62 7 28 18 80 8 40 15 70 13 54 Найти линию регрессии. Оценить ошибку. 290 Пусть β – оценка коэффициента наклона в регрессии Y на X, а γ – оценка коэффициента наклона в регрессии X на Y. Покажите, что β= 1/γ тогда и только тогда, когда коэффициент детерминации R2=1. 17. Дан временной ряд значений курса акций компании. Проверить, насколько хорошо описывает поведение курса линейная модель авторегрессии порядка 1. 16. Y 1.2 1.4 1.5 1.8 1.7 1.9 Имеется ряд, показывающий изменение курса акций компании с интервалом один месяц. Найти а) линейный тренд зависимости курса от номера месяца; б) определить прогноз курса на следующий месяц. 18. номер месяца, ti Курс, уi 1 2 3 4 5 6 7 8 9 10 4.6 5.3 5.2 5.6 5.7 5.8 6.2 5.7 6.5 6.8 Анализ геологических проб, взятых из пяти различных участков, показал следующее содержание золота (в усл. ед.): V=(x1,x2,...,x5). Каждый из исследуемых участков может принадлежать к одному из двух классов: 1 – бесперспективные для промышленной разработки золота, или 2 – перспективные для промышленной разработки. Предполагается, что для каждого класса содержание золота в пробе является случайной величиной, подчиняющейся нормальному распределению со средними 1 и 2 и дисперсиями 1 и 2, а наблюдения из V являются смесью этих распределений с априорными вероятностями P(1) и P(2). Известно также, что значение 1 может принадлежать только множеству M1, а значение 2 – только множеству M2. С помощью метода максимального правдоподобия классифицировать наблюдения из V. Условия задачи: V={2,4,1,6,5}; σ12=1; σ22=1; P(ω1)= P(ω2)=0,5; M1={1,2}, M2={5}. 19. По заданной таблице данных построить дерево иерархической группировки, используя при этом агломеративный алгоритм; евклидову метрику. Расстояние между группами определять по «дальнему» соседу. 20. 1 Х Х 2 1 2 1 4 4 5 5 1 2 2 3 3 4 4 5 2 Экзаменационные билеты по курсу «Теория статистических решений» Билет 1. 1. Риск и вероятность ошибки при принятии решений. 2. Алгоритм k-средних. Билет 2. 1. Построение оптимальной решающей функции распознавания образов. 2. Алгоритм иерархической агломеративной группировки. 291 Билет 3. 1. Построение оптимальной решающей функции при нормальных распределениях. 2. Алгоритм C4.5 построения дерева решений. Билет 4. 1. «Наивный» байесовский классификатор. 2. Рекурсивный R-алгоритм построения дерева решений. Билет 5. 1. Разложение в ряд Бахадура. 2. Алгоритм коллективного кластерного анализа, основанный на матрице попарных различий. Билет 6. 1. ЕМ-алгоритм восстановления смеси распределений. 2. Алгоритм построения леса решений. Билет 7. 1. Распознавание образов с помощью непараметрического оценивания плотности. 2. Алгоритм построения таксономического решающего дерева. Билет 8. 1. Оценки Вапника-Червоненкиса для случая дискретного классификатора. 2. Алгоритм построения дерева регрессии. Билет 9. 1. Оценивание качества решающих функций распознавания образов. 2. Алгоритм построения дерева решений для прогнозирования временного ряда по его предыстории. Билет 10. 1. Байесовское оценивание качества решающих функций в дискретном случае. 2. Алгоритм поиска закономерностей ТЕМР. Билет 11. 1. Анализ ROC-кривых. 2. Алгоритм ЛРП построения дерева решений. Билет 12. 1. Линейный дискриминант Фишера. 2. Алгоритм КОРА. Билет 13. 1. Метод опорных векторов. 2. Алгоритм кластерного анализа, основанный на построении кратчайшего незамкнутого пути. Билет 14. 1. Основные понятия теории нейронных сетей в распознавании образов. 2. Алгоритм построения дерева решений CART. Билет 15. 1. Распознавание образов на основе вычисления оценок. 292 2. Алгоритм бустинга деревьев решений. Билет 16. 1. Случайный лес решений и его характеристики. 2. Оценивание параметров регрессионной модели. Билет 17. 1. Основные модели временных рядов. 2. Алгоритм коллективного кластерного анализа, основанный на оптимизации степени согласованности. Билет 18. 1. Задача кластерного анализа. Способы задания расстояний между объектами и кластерами. Основные подходы к кластеризации. 2. Оценивание качества алгоритмов распознавания образов. Билет 19. 1. Распознавание образов с использованием логических закономерностей. 2. Алгоритм ближайших соседей, его свойства. Билет 20. 1. Класс логических решающих функций. 2. Нахождение оптимальных весов в коллективе решающих функций. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Дуда Р., Харт П. Распознавание образов и анализ сцен. – М.: Мир, 1976. 2. Лбов Г.С. Анализ данных и знаний. Учебное пособие. НГУ, 2010. 3. Бериков В.Б. Анализ статистических данных с использованием деревьев решений. Учебное пособие. НГТУ, 2002. б) дополнительная литература: 4. Лбов Г.С., Бериков В.Б. Устойчивость решающих функций в задачах распознавания образов и анализа разнотипной информации. Новосибирск: Изд-во Ин-та математики, 2005. 5. Мерков А.Б. Распознавание образов. Введение в методы статистического обучения. М.: Едиториал УРСС, 2011. 6. Bishop C.M. Pattern Recognition and Machine Learning. Springer, 2006. 7. Интернет-сайт по методам машинного обучения: http://www.machinelearning.ru 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 293 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Экстремальные задачи анализа данных и распознавания образов» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Кельманов Александр Васильевич, д.ф.-м.н. (подпись) 294 Аннотация рабочей программы Дисциплина (специальный курс) «Экстремальные задачи анализа данных и распознавания образов» (АДРО) входит в вариативную часть профессионального цикла ООП по направлению подготовки «Прикладная математика и информатика»; раздел – «элективные дисциплины» вузовской компоненты. Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Теоретической кибернетики ММФ НГУ. Содержание дисциплины охватывает круг вопросов, связанных с изучением принципов, моделей, методов, техники и алгоритмов решения проблем в области анализа данных и распознавания образов. Основное внимание сосредоточено на изучении полиномиальных алгоритмов с гарантированными оценками точности для труднорешаемых (NP-трудных) задачах дискретной оптимизации, которые, с одной стороны, индуцируются математическими проблемами анализа данных и распознавания образов, а также проблемами компьютерной геометрии, теории приближения, математической статистики, а с другой – моделируют содержательные проблемы, возникающие в широком спектре естественно-научных и технических приложений. Дисциплина нацелена на формирование компетенций ОК-6-9 и ПК-8-13 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции и самостоятельная работа студента. Программой дисциплины предусмотрен контроль в форме экзамена. Общая трудоемкость дисциплины составляет 3 зачетных единицы, 108 академических часов (из них 32 аудиторных). Программой дисциплины предусмотрены 32 лекционных часа. Остальное время – самостоятельная работа и контроль в форме экзамена. 295 1. Цели освоения дисциплины Компьютерная революция породила потоки (массивы) данных гигантского размера, подлежащих обработке с целью решения множества разнообразных актуальных проблем, которые связаны, в частности, с анализом, обобщением и интерпретацией этих данных (Data Mining problem), построеним моделей порождения данных, обнаружением информационно значимых фрагментов в данных, принятии решения о сходстве и различии анализируемых данных, построением «умных» («обучаемых») алгоритмов, обеспечивающих решение перечисленных проблем (Machine Learning problem) и др. Конструктивная модель какой-либо содержательной проблемы анализа данных и распознавания образов всегда формулируется в форме задачи оптимизации подходящего критерия или функционала (максимума правдоподобия, минимума суммы квадратов уклонений, максимума апостериорной вероятности и т.п.), адекватно отражающего эту проблему. Совокупность этих критериев в комбинации с многообразием объективно существующих структур (моделей) анализируемых данных порождает необозримый спектр экстремальных задач, к которым сводится поиск оптимального решения. При этом сходные в содержательном плане проблемы индуцируют отличающиеся экстремальные задачи. Зачастую простейшие и давно известные проблемы анализа данных приводят к решению экстремальных задач, для которых эффективные алгоритмы с гарантиями по точности решения неизвестны. Как показывает практика, большинство этих задач NP-трудны. Поэтому в предположении справедливости гипотезы о несовпадении классов P и NP отыскание точного алгоритмического решения этих задач (имеющих, к тому же, гигантские размеры входа) за приемлемое (полиномиальное) время не реализуемо и бесперспективно. В этих условиях основная надежда возлагается на полиномиальные приближенные алгоритмы с теоретическими гарантиями по точности решения. Умение строить такие алгоритмы имеет ключевое значение для успеха в решении практических задач. Основное внимание дисциплины сосредоточено на экстремальных задачах, которые моделируют типовые проблемы анализа данных и распознавания образов, анализе вычислительной сложности этих задач и построении эффективных (полиномиальных) алгоритмов с гарантированными (априорно доказуемыми) оценками точности для их решения. Цель курса – получение базовых знаний, необходимых выпускникам, для самостоятельной работы в тех сферах будущей научно-исследовательской, технической и производственной деятельности, которые связаны решением проблем анализа данных и распознавания образов. Задачами курса являются получение студентами: 1) знаний об основных принципах, моделях и задачах анализа данных и распознавания образов, а также подходах, методах, аппарате, технике и алгоритмах их решения; 2) навыков по построению оптимизационных моделей содержательных проблем анализа данных и распознавания образов, выявлению дискретных экстремальных задач, которые индуцируются этими проблемами и моделями, анализу вычислительной сложности индуцированных оптимизационных задач, обоснованию полиномиальных алгоритмов с гарантированными оценками точности для решения этих задач. 2. Место дисциплины в структуре ООП магистратуры Дисциплина «Экстремальные задачи анализа данных и распознавания образов» входит в вариативную часть профессионального цикла ООП по направлениям подготовки «Прикладная математика и информатика». Дисциплина «Экстремальные задачи анализа данных и распознавания образов» опирается на следующие дисциплины ООП: • Математический анализ; • Дискретный анализ и комбинаторика; • Линейная алгебра и геометрия; • Теория вероятностей и математическая статистика; • Теория алгоритмов; • Теория графов; • Вычислительная математика; • Методы оптимизации и исследование операций (математическое программирование). 3. Компетенции обучающегося, формируемые 296 в результате освоения дисциплины «Экстремальные задачи анализа данных и распознавания образов»: общекультурные компетенции: ОК-6-9; профессиональные компетенции: ПК-8-13 В результате освоения дисциплины обучающийся должен: • иметь представление о месте и роли дисциплины среди других математических дисциплин, знать её отличительные особенности; • понимать глубокую связь между экстремальными задачами анализа данных и распознавания образов и задачами из других математических областей, в частности, теории приближения, математической статистики, компьютерной геометрии, комбинаторной оптимизации, терии графов; • иметь представление об условиях применимости существующих математических методов и алгоритмов решения задач анализа данных и распознавания образов к поиску решений прикладных (практических) проблем; • понимать, почему классические математические методы статистики, аппроксимации, принятия решения и др. применимы к решению лишь частных случаев большинства задач анализа данных и распознавания образов, а поиск решения общего случая этих задач требует индивидуального подхода; • получить навыки по реализации подхода к решению проблем анализа данных и распознавания образов, заключающегося в последовательном выполнении следующих взаимосвязанных шагов: 1) построение оптимизационной модели содержательной проблемы, адекватно отражающей её сущность; 2) выявление экстремальной задачи, которая индуцируется оптимизационной моделью, 3) анализ вычислительной сложности выявленной экстремальной задачи и изучение подходов к её решению, 4) обоснование полиномиального алгоритма с гарантированными оценками точности для решения этой задачи, 5) построение алгоритма обработки (анализа или распознавания) данных, ядром которого является алгоритм решения выявленной оптимизационной задачи, 6) исследование показателей точности алгоритма обработки данных, 7) программная реализация алгоритма и численное моделирование (при необходимости практической реализации). • освоить и уметь применять существующие результативные методы, техники и приемы для реализации каждого из перечисленных шагов при решении новых проблем, в том числе для обоснования полиномиальных алгоритмов с константными оценками точности, рандомизированных и псевдополиномиальных алгоритмов, а также схем PTAS и FPTAS; 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет 3 зачетных единицы, 108 часов. № Раздел дисциплины п/п 1 Виды учебной работы, включая самостоятельную работу студентов и Сем Неде трудоемкость (в часах) естр ля Лабо Само Конт Введение в дисциплину и основные понятия. 2 Анализ данных и распознавание образов: методологические аспекты. Объект, предмет и цели научной дисциплины. Базовые понятия. Основная содержательная проблема и ее типовые варианты. Примеры содержательных задач. Основные этапы и техника решения задач анализа данных и распознавания образов. Проблемы Data Mining и Machine Learning. Модели и задачи кластерного анализа и поиска подмножеств и подпоследовательностей «похожих» элементов. 1 297 Лекц р. ст. р. Зачет ия работ работ работ а а а 2 2 Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) 2 3 4 5 6 7 8 9 10 11 12 13 14 2 Квадратичные евклидовы задачи поиска в конечном множестве подмножества заданной мощности. Приближенные полиномиальные алгоритмы для общего случая задач и точные псевдополиномиальные алгоритмы для специального случая. 2 Задача MSSC и квадратичная евклидова задача поиска семейства непересекающихся подмножеств. Приближённый алгоритм. 2 Задачи поиска в векторной последовательности совокупности «похожих» элементов при ограничениях на номера искомых элементов. Приближенные полиномиальные алгоритмы для общего случая задач и точные псевдополиномиальные алгоритмы для специального случая Полностью полиномиальная приближенная 2 схема (FPTAS) для квадратичной евклидовой задачи поиска подмножества векторов заданной мощности для случая фиксированной размерности пространства Квадратичные евклидовы задачи разбиения 2 множества на 2 кластера в случае, когда мощности кластеров заданы, а центр одного из кластеров фиксирован Квадратичные евклидовы задачи разбиения 2 последовательности на 2 кластера в случае, когда мощности кластеров заданы, а центр одного из кластеров фиксирован Квадратичные евклидовы задачи разбиения 2 множества на 2 кластера в случае, когда мощности кластеров неизвестны, а центр одного из кластеров задан Квадратичные евклидовы задачи разбиения 2 элементов последовательности на 2 кластера в случае, когда мощности кластеров неизвестны, а центр одного из кластеров задан 2 Рандомизировнный алгоритм для квадратичной евклидовой задачи разбиения множества на 2 кластера в случае, когда центр одного из кластеров задан Точный псевдополиномиальный алгоритм 2 для квадратичной евклидовой задачи разбиения множества на 2 кластера при заданном центре одного из кластеров задан для подслучая задачи, когда размерность пространства фиксирована, а координаты векторов целочисленны 2 Приближенная полиномиальная схема (PTAS) для квадратичной евклидовой задачи поиска в конечном множестве подмножества заданной мощности 2 NP-трудность евклидовых задач о разрезе максимального веса и связанных с ними задач кластерного анализа Модели и задачи обнаружения и распознавания Проблема анализа и распознавания 2 структурированных данных и объектов. Проблема помехоустойчивого обнаружения повторяющегося вектора (фрагмента) в последовательности. Задачи распознавания последовательности, включающей квазипериодически повторяющийся вектор-фрагмент из алфавита. 2 2 2 3 2 2 4 2 2 5 2 2 6 2 2 7 2 2 8 2 2 9 2 2 10 2 2 11 2 2 12 2 2 13 2 2 14 2 2 298 15 16 17 Задачи совместного обнаружения и 2 идентификации векторов в числовой последовательности. Задачи обнаружения в числовой последовательности повторяющегося вектора при наличии посторонних вектороввставок. Задачи обнаружения и идентификации повторяющегося набора векторов. Задачи разбиения последовательности 2 векторов на участки, включающие серии идентичных векторов. Задачи распознавания алфавита векторов, порождающего последовательности. 1 Модели и задачи поиска (селекции) подмножеств значимых признаков. Основные подходы к решению проблемы. Постановки типовых задач (факультативно) 15 2 2 16 2 2 2 17 2 2 34 4 38 36 36 Экзамен 5. Образовательные технологии Используется традиционная система обучения, включающая лекции, самостоятельные занятия и экзамен. Содержание лекций отвечает следующим дидактическим требованиям: 5. изложение материала от простого к сложному, от известного к неизвестному; 6. логичность, строгость, четкость и ясность в изложении материала; 7. проблемное изложение материала, с целью активизации деятельности студентов. Для контроля освоения студентами теоретического материала во время чтения каждой лекции предполагается устный блиц-опрос по прочитанному материалу. Для самостоятельного изучения (и последующего реферирования) предлагаются статьи из ведущих журналов (входящих в международные системы цитирования) с новыми результатами в области решения экстремальных задач анализа данных и распознавания образов. Для проверки уровня знаний студентов и их аттестации в конце курса предполагается проведение экзамена. Проведение аттестации по предмету базируется на главных принципах контроля и оценки знаний студентов, а именно – систематичности, объективности, аргументированности. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины Самостоятельная работа студентов предусматривает изучение теоретического лекционного материала, а также журнальных публикаций по тематике курса. Теоретический материал изучается в форме проработки прочитанных лекций и рекомендованной литературы, а также в форме изучения рекомендованных статей из ведущих журналов (входящих в международные системы цитирования) с последующим реферированием. При этом студенты имеют возможность пользоваться методическими разработками и учебными пособиями, представленными в библиотеке, читальных залах и в сети интернет. Текущий контроль осуществляется в форме контрольных вопросов на лекциях, учебных семинарах, а также в форме вопросов по изученным публикациям. Аттестация по итогам освоения дисциплины согласно учебному плану осуществляется в форме экзаменов в конце семестра. Экзаменационный билет аттестации по итогам освоения дисциплины включает один основной теоретический вопрос и один дополнительный вопрос (в том числе по реферированной работе) или задачу по теме, отличающейся от основного вопроса. 6.1. Перечень задач для контрольных, самостоятельных и домашних работ содержится в монографиях: 1) Дуда Р., Харт П. Распознавание образов и анализ сцен. М.: Мир, 1976. 511 с., 2) Фукунага К. Введение в статистическую теорию распознавания образов. М.: Наука, 1979. 368 с. 3) David J.C. MacKay. Information Theory, Inference, and Learning Algorithms. Cambridge University Press. 2005. 299 6.2. Примеры вопросов для самостоятельного изучения 1. Изучение техники доказательства NP-трудности квадратичных евклидовых задач кластерного анализа; на примере работы Aloise D., Deshpande A., Hansen P., Popat P. NP-hardness of Euclidean sum-of-squares clustering // Machine Learning. Vol. 75, 2009. P. 245–248. 2. Изучение техники доказательства полиномиальной разрешимости специальных случаев евклидовых задач кластеризации на примере задачи MSSC и задачи Max-Cut на числовой прямой; по материалам статей: 1) Rao M. Cluster Analysis and Mathematical Programming // J. Amer. Statist. Assoc. 1971. Vol. 66. P. 622–626. 2) M. Karpinski, A. Lingasy, D. Sledneuz. Optimal Cuts and Bisections on the Real Line in Polynomial Time. arXiv:1207.0933v1 [cs.DS] 4 Jul 2012. 6.3. Примеры экзаменационных билетов: 1. 2-приближенный полиномиальный алгоритм для евклидовой задачи отыскания в конечном множестве векторов такого подмножества заданной мощности, что сумма квадратов всевозможных попарных расстояний между его элементами минимальна. Задача. Сформулировать оптимизационную модель анализа данных, которая индуцирует задачу MSSC (k-means) и получить целевую функцию этой задачи. 2. Вычислительная сложность задачи MSSC (k-means). Задача. Верно ли, что если классы P и NP не совпадают, то не существует полностью полиномиальной приближенной схемы (FPTAS) для евклидовой задачи поиска в конечном множестве подмножества заданной мощности минимизирующего сумму квадратов расстояний от элементов подмножества до его геометрического центра. 3. Доказать NP-трудность в сильном смысле евклидовой задачи отыскания в конечном множестве векторов подмножества заданной мощности, минимизирующего сумму квадратов расстояний от элементов подмножества до его геометрического центра. Задача. Дана неоднородная N–элементная выборка из двух многомерных гауссовских распределений с различными средними и заданными диагональными ковариационными матрицами с идентичными диагональными элементами. Соответствие элементов выборки распределению неизвестно. Требуется проверить статистическую гипотезу: среди выборочных данных имеется ровно элементов, имеющих распределение с нулевым средним. Верно ли, что эта задача проверки гипотезы NP-трудна? 4. Рандомизированный алгоритм для евклидовой задачи разбиения конечной совокупности векторов на два кластера с заданными мощностями по критерию минимума суммы по кластерам суммы квадратов расстояний от элементов кластера до его центра при условии, что центр одного из кластеров фиксирован в начале координат. Задача. Дана неоднородная N–элементная выборка, в составе которой часть из элементов имеют гауссовское распределение с неизвестным средним и диагональной ковариационной матрицей с известными одинаковыми диагональными элементами, а оставшиеся элементы входной совокупности – одноэлементные выборки из произвольных, не совпадающих распределений. Соответствие элементов выборки распределению неизвестно. Верно ли, что отыскание M-элементной гауссовской подвыборки и максимально правдоподобное оценивание её среднего NP-трудная задача? 5. Точный псевдополиномиальный алгоритм для квадратичной евклидовой задачи отыскания в конечной последовательности такой подпоследовательности, содержащей заданное число членов, что сумма квадратов попарных расстояний между её элементами минимальна, при ограничениях на номера векторов, включаемых в подпоследовательность. Задача. Верно ли, что задача MSSC (k-means) для входных данных, заданных на числовой прямой, разрешима за полиномиальное время? 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 300 C. M. Bishop. Pattern Recognition and Machine Learning. Springer. 2006. David J.C. MacKay. Information Theory, Inference, and Learning Algorithms. Cambridge University Press. 2005. Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. New York: Springer-Verlag, 2001. 533 p. Shigeo Abe. Support Vector Machines for Pattern Classification. Springer, Berlin, 2005. Фукунага К. Введение в статистическую теорию распознавания образов. М.: Наука, 1979. 368 с. R. O. Duda, P. E. Hart, D. G. Stork. Pattern Classification, 2nd Edition. Wiley-Interscience. 2005. 680 P. Т. Кормен, Ч. Лейзерсон, Р. Риверст, К. Штайн. Алгоритмы: построение и анализ. – Вильямс, 2009. V. Vazirani. Approximation Algorithms. – Springer-Verlag, Berlin, 2001. D. P. Williamson, D. B. Shmoys. The Design of Approximation Algorithms. – Cambridge University Press, 2011. М.Гэри, Д.Джонсон. Вычислительные машины и труднорешаемые задачи, Пер. с англ. – М.: Мир, 1982. 416c. Х. Пападимитриу, К. Стайглиц. Комбинаторная оптимизация: Алгоритмы и сложность, Пер. с англ. – М.: Мир, 1984. 512 с. б) дополнительная литература: Ту Дж., Гонсалес Р. Принципы распознавания образов. М.: Мир, 1978. 411 с. Korte B., Vygen J. Combinatorial Optimization: theory and algorithms, Springer, Berlin, 2010. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. М.: Мир, 1979. Гимади Э.Х., Глебов Н.И. Математические модели и методы принятия решений. Уч. пос. НГУ. Новосибирск 2008, 163 с. Кононов А.В, Кононова П.А. Приближенные алоритмы. Учебное пособие. – Новосибирск: Изд-во НГУ, 2014. 8. Материально-техническое обеспечение дисциплины Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 301 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Архитектура параллельных вычислительных систем» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Вирбицкайте Ирина Бонавентуровна, д.ф.-м.н. (подпись) 302 Аннотация программы курса Дисциплина «Архитектура параллельных вычислительных систем» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механикоматематическом факультете Новосибирского государственного университета кафедрой «Вычислительные системы» ММФ НГУ. Содержание дисциплины включает изучение основ организации параллельной/распределенной обработки информации и систематизацию знаний об эволюции и архитектурной организации высокопроизводительных вычислительных систем с параллельной архитектурой. Дисциплина нацелена на формирование общекультурных компетенций ОК-2, ОК-4 6, профессиональных компетенций ПК-1 – ПК-3, ПК-8, ПК-9 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, коллоквиум, самостоятельную работу студентов. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме коллоквиума, промежуточный контроль в форме устного экзамена. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 2 зачетных единиц, 72 академических часа. Программой дисциплины предусмотрены !Неопределенная закладка, OPERSRESE2 часов лекционных, !Неопределенная закладка, OPERSRESE2 часов самостоятельной работы. Остальное – формы контроля. 303 1. Цели освоения дисциплины (курса) Основной целью освоения дисциплины «Архитектура параллельных вычислительных систем» является изучение основ организации параллельной/распределенной обработки информации и систематизация знаний об эволюции и архитектурных особенностях высокопроизводительных вычислительных систем. Для достижения поставленной цели выделяются задачи курса: знакомство с организацией архитектуры, интерфейсов и памяти современных микропроцессоров, изучение подходов к разработке распространенных коммуникационных технологий, знакомство с основами и способами организации и проектирования высокопроизводительных вычислительных систем, сдача экзамена в соответствии с учебным планом. В настоящее время сфера применения высокопроизводительных вычислительных систем (ВВС) непрерывно расширяется, охватывая все новые области в самых различных отраслях науки, бизнеса и производства. Массовое внедрение многоядерных процессоров и стремительное развитие кластерных систем на их основе создает условия для использования высокопроизводительной вычислительной техники в реальном секторе экономики. Наряду с расширением области применения, по мере совершенствования ВВС происходит усложнение и увеличение количества задач в областях, традиционно использующих высокопроизводительную технику. В настоящее время выделен круг фундаментальных и прикладных проблем, эффективное решение которых возможно только с использованием сверхмощной вычислительных ресурсов – это прогнозирование погоды, климата и глобальных изменений в атмосфере, разведка недр, освоение космоса, построение полупроводниковых приборов, сверхпроводимость, структурная биология, разработка фармацевтических препаратов, генетика, автомобилестроение, нанотехнологии и т.д. Курс посвящен изучение основ организации параллельной/распределенной обработки информации и систематизации знаний об эволюции и архитектурной организации высокопроизводительных вычислительных систем с параллельной архитектурой. В начале курса рассматриваются типы и модели параллельной обработки, назначение и области применения суперЭВМ, способы оценки их производительности. Далее представляются традиционные параллельные архитектуры и известные классификации архитектур такого типа. Также затрагиваются особенности организации нетрадиционных параллельных архитектур (потоковых ЭВМ, систолических ЭВМ, нейрокомпьютерных сетей и т.д.) и архитектуры с параллелизмом на уровне машинных команд (суперскалярные, VLIW- и EPIC-архитектуры). Кроме того, изучаются основы построения микропроцессоров, характеристики и возможности современных микропроцессоров, а также принципы организации современных коммуникационных технологий. Особое внимание уделяется архитектурам современных параллельных вычислительных систем (массивно-параллельных компьютеров с распределенной памятью, симметричных многопроцессорных систем с общей памятью, NUMA-систем, векторно-параллельных систем, кластерных систем). Завершается курс рассмотрением особенностей организации неоднородных распределенных вычислительных систем и сред. 2. Место дисциплины в структуре образовательной программы Дисциплина «Архитектура параллельных вычислительных систем» входит в вариативную часть профессионального цикла ОПП «Математика и компьютерные науки». Результаты освоения дисциплины «Архитектура параллельных вычислительных систем» используются в следующих дисциплинах данного цикла: Теория параллельных систем и процессов; Технологии параллельного программирования; Параллельные вычислительные методы. 304 3. Компетенции обучающегося, формируемые в результате освоения дисциплины В результате освоения дисциплины обучающийся должен: Знать концепции, фундаментальные понятия и законы параллельной обработки информации, основы построения микропроцессоров, характеристики и возможности современных микропроцессоров; принципы организации современных коммуникационных технологий, основные тенденции и достижения в области архитектурных принципов конструирования современных высокопроизводительных вычислительных систем, Уметь ориентироваться в мире современных высокопроизводительных вычислительных систем, выбирать и применять микропроцессоры и коммуникационные среды для построения различных вычислительных систем, в том числе и кластерных ЭВМ. Владеть знаниями, полученные в ходе прослушивания курса. 4. Структура и содержание дисциплины Общая трудоемкость дисциплины составляет __2___ зачетных единиц, __72___ часов. 1. 1.1 Введение Типы и модели параллельной обработки информации. История появления параллелизма и конвейерности в архитектуре компьютеров. Понятие суперЭВМ. Назначение и области применения суперЭВМ. Способы оценки производительности. Пиковая и реальная производительность. Закон Амдала и его следствия. Вычислительные системы с параллельной архитектурой Традиционные параллельные архитектуры. Принципы и примеры классификации вычислительных систем по Флинну. Векторноконвейерные и матричные процессоры. Мультипроцессорные архитектуры с общей и Неделя семестра 0. 0.1 Раздел дисциплины Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточно й аттестации (по Лекц. Семин. Пр. зан. Сам. раб. семестрам) Семестр № п/п Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) 1 1 2 0 0 2 1 2 2 0 0 2 305 1.2 1.3 2. 2.1 2.2 распределенной памятью. Мультикомпьютерные системы. Недостатки способа классификации по Флинну. Другие классификации. Нетрадиционные параллельные архитектуры. Потоковые (data-flow) ЭВМ. Нейрокомпьютерные сети. Клеточные компьютеры. Архитектуры с параллелизмом на уровне машинных команд. Суперскалярные, VLIW- и EPICархитектуры. Мультитредовость/гипертрейдинг. Современные микропроцессоры. Архитектура обобщенного микропроцессора: основные регистры и их взаимосвязь; арифметико-логическое устройство; принципы построения устройств управления (автоматы Мура, Мили), шины связи. 1 3 2 0 0 2 1 4 2 0 0 2 1 5 2 0 0 2 Производительность процессоров: тактовая частота процессора; скорость выполнения инструкций и полнота базового набора инструкций; объем адресуемой памяти и скорость доступа к внешней памяти; использование кэша, количество регистров; уровень конвейеризации; качество предсказания переходов; качество упреждающей выборки; суперскалярность; параллелизация. Эволюция микропроцессоров, на примере разработок фирмы Intel. 1 6 2 0 0 2 Микропроцессоры Intel 8086/8088: архитектура; основные группы регистров; сегментная адресация; формирование физического адреса; адресация данных и переходов; система команд х86. Микропроцессор Intel 286: архитектура; регистровая модель; уровни защиты; виртуальная модель памяти; дескрипторы; формат сегментного селектора; режимы работы. 1 7 2 0 0 2 Микропроцессоры Intel 386/486: архитектура; типы адресных пространств; восемь аспектов защиты; конвейеризация; многозадачность, механизм переключения задач; способ организации памяти, аппаратура управления сегментами и страницами. Эволюция систем организации памяти в микропроцессорах от i 8080 до i 486. 1 8 2 0 0 2 306 Микропроцессоры серии Pentium: суперскалярная архитектура; назначение конвейеров U и V; ступени выполнения команд, предсказание переходов, блок с плавающей запятой, управление энергопотреблением и др.; особенности организации Pentium MMX, SIMD-команды. Архитектура Pentium Pro – разнесенная архитектура, динамическое выполнение команд, двойная независимая шина, суперскаляр и суперконвейеры, исполнение с изменением последовательности команд. Pentium II, III: модификации Сeleron, Xeon, расширение системы команд, новый тип данных, SPFPкоманды, управление кэшированием, встроенные средства самотестирования и контроля производительности. Микропроцессоры серии Itanium: особенности архитектуры. Явный параллелизм на уровне команд, исполнительные ресурсы, особенности конвейерной обработки, трехуровневый кэш и др. Многоядерные процессоры фирмы Intel: 4-х ядерные процессоры Intel Xeon Е5540/E5450: архитектура, новое поколение интеллектуальных процессоров, особенности применения. Основные направления в архитектуре современных микропроцессоров (Speed Daemon, Brainiac и др.). Перспективные микропроцессоры других фирм. 3. 3.1 4. 4.1 Коммуникационные среды Коммутаторы: простые, составные, распределенные составные. Коммуникационные сети: сети с координатной коммутацией, многоступенчатые сети, сети с топологией гиперкуба, сети с ячеистой топологией, сети с древовидной топологией, сети с кольцевой топологией, сети со смешанной топологией. Наиболее распространенные коммуникационные технологии: Fast Ethernet, Gigabit Ethernet, SCI, Myrinet, InfiniBand и др. Современные высокопроизводительные вычислительные системы. Симметричные многопроцессорные системы с общей памятью (SMPкомпьютеры). Архитектурная организация. Особенности 1 9 2 0 0 2 1 10 2 0 0 2 1 11 2 0 0 2 1 12 2 0 0 2 1 Коллоквиум 1 13 2 0 0 2 1 14 1 0 0 1 307 4.2 4.3 4.4 4.5 5. построения операционных систем. Характерная модель программирования. Примеры конкретных систем. NUMA- и cc-NUMA-системы. Архитектурные особенности. Коммутация процессоров и модулей памяти. Организация когерентности многоуровневой иерархической памяти. Примеры конкретных систем. Векторно-параллельные системы (PVP-системы). Организация вычислительных узлов. Перспективы масштабируемости. Программное обеспечение: векторизаторы, матричные языки. Примеры конкретных систем. Массивно-параллельные компьютеры (MPP-системы). Вычислительные узлы и коммуникационная сеть, топология связи между узлами. Перспективы масштабируемости. Системное и программное обеспечение. Примеры конкретных систем. Кластерные системы. Элементная база для построения современных кластерных систем. Вычислительные узлы, коммуникационные технологии, системы хранения данных, программное обеспечение. Модульные и блейд–системы для построения кластеров. Основные аспекты администрирования кластеров: контроль доступа (работа с пользовательскими записями и правами), безопасность, поддержка и настройка вычислительных пакетов и библиотек, управление очередями, обслуживание узлов (чистка временных файлов, обновление ПО и т.п.), физическое обслуживание, мониторинг. ОС для кластеров. Сервисы, структура каталога /etc, принцип работы init, пакеты, компиляция программ и библиотек из исходных текстов. Понятия лимитов, дисковой квоты. Pluggable Authentication Modules (PAM). Неоднородные распределенные вычислительные системы и среды. Понятие метакомпьютинга. Отличительные свойства вычислительных сред. Концепция GRID, базовые компоненты и сервисы, существующие проекты GRID-сегментов. 1 14 1 0 0 1 1 15 2 0 0 2 1 16 2 0 0 2 1 17 2 0 0 2 1 18 2 0 0 2 1 32 5. Образовательные технологии 308 0 0 32 Экзамен 8 Используется лекционная система обучения, а также проводится экскурсия на Сибирский суперкомпьютерный центр СО РАН. 6. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов Перечень примерных контрольных вопросов и заданий для самостоятельной работы 1. Оценка производительности вычислительных систем: системы тестов SPEC и LINPACK. 2. Конвейеры команд, операций, данных. 3. Структурная организация CRAY-1. 4. Основные свойства матричных процессоров. 5. Структурная организация типичного матричного процессора. 6. Основные свойства мультипроцессорных систем. 7. Отличия мультикомпьютерных систем от мультипроцессорных. 8. Организация транспьютерных систем. 9. Классификации архитектур потоковых систем. 10. Механизмы поддержки реентерабельных потоковых вычислений. 11. Особенности организации систолических вычислителей. 12. Искусственный нейрон. 13. Топологии нейрокомпьютерных систем. 14. Обучение нейрокомпьютерных сетей. 15. Техника компактификации команд в VLIW-системах. 16. Принципы функционирования суперскалярных систем. 17. Обобщенная схема микропроцессора. 18. Эволюция архитектуры процессоров от i8086 до Pentium. 19. Структура сервера rx 1620 на базе микропроцессора Itanium2 20. Специализированные процессоры Cell фирмы IBM 21. Процессоры с большим числом ядер, принципы построения, tile 22. Принципы и особенности построения простых, составных, распределенных составных коммутаторов. 23. Топологии коммуникационных сетей. 24. Характеристики коммуникационных технологий Myrinet и InfiniBand. 25. Организация вычислительного узла MPP-системы. 26. Основные свойства SMP-систем. 27. Организация когерентности многоуровневой иерархической памяти в cc-NUMAсистемах. 28. Организация вычислительного узла PVP-системы. 29. Масштабируемость кластеров на основе MPP и SMP - систем, ограничения Образцы контрольных вопросов для подготовки к экзамену. Билет 1. 1. Классификация Флинна. Достоинства и недостатки классификации. 2. Характеристики коммуникационной технологии InfiniBand. 3. Организация вычислительного узла векторно-параллельных систем. Билет 2. 1.Основные принципы организации потоковых вычислений. 2. Многоядерные процессоры фирмы Intel (Intel Xeon E55xx): архитектура, особенности применения. 309 3. Типы кластеров, принципы построения. Билет 3. 1. Структурная организация транспьютера T805. 2. Архитектура Pentium Pro – разнесенная архитектура, динамическое выполнение команд, двойная независимая шина, суперскаляр и суперконвейеры, исполнение с изменением последовательности команд. 3. Характеристики системы Blue Gene/L. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Антонов А.С. Введение в параллельные вычисления (методическое пособие), изд-во Физического факультета МГУ, 2002, 70 стр. 2. Вальковский В.А., Вирбицкайте И.Б. Потоковые вычислительные системы. Системная информатика. Вып. 2. – Новосибирск: Наука, 1993. – 247с. 3. Воеводин В.В. и др. Вычислительное дело, Изд. МГУ, 2007. 4. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. – СПб.: Изд-во БХВПетербург, 2002. - 608 с. 5. Воеводин Вл.В., Жуматий С.А. Вычислительное дело и кластерные системы. - М.: Издво МГУ, 2007. - 161 с. 6. Глинский Б.М. Физические и логические основы ЭВМ. НГУ, 2000г. 7. Корнеев В.В. Параллельные вычислительные системы. - М.: Изд-во "Нолидж", 1999. 320 с. 8. Корнеев В.Д. Параллельное программирование кластеров. Новосибирск: Изд-во НГТУ, 2008. – 312 с. Учебное пособие / – 9. Королев Л.Н. Архитектура процессоров электронных вычислительных машин. - М.: Изд. факультета ВМиК МГУ, 2003. 10. Таненбаум Э. Архитектура компьютера. – СПб.: Изд-во «Питер», 2007. б) дополнительная литература: 1. Буза М.К. Архитектура компьютеров. – Минск: Изд-во «Новое знание», 2007. 2. Корнеев В.В. Параллельные вычислительные системы. – М.: Изд-во " Гелиос АРВ", 2004. – 320 с. 3. Крейгон Х. Архитектура компьютеров и ее реализация. – М.: Изд-во «Мир», 2004. 4. Немнюгин С., Стесик О. Параллельное программирование для многопроцессорных вычислительных систем. – СПб.: Изд-во «БХВ – Петербург», 2002. 5. Степанов А.Н. Архитектура вычислительных систем и компьютерных сетей. – СПб.: Изд-во «Питер», 2006. 310 6. Столингс В. Современные компьютерные сети. – СПб.: Питер, 2003. – 783с. 7. Столингс У. Структурная организация и архитектура компьютерных систем. – М., СПб., Киев: Изд-во «Вильямс», 2002. 8. Токхайм Р. Микропроцессоры. – М.: Изд-во Энергоатомиздат, 1987. 9. Хорошевский В.Г. Архитектура вычислительных систем. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2005. 10. Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем. – СПб.: Изд-во «Питер», 2007. 11. Лю Ю-Чжен, Гибсон Г. Микропроцессоры семейства 8086/8088. – М.: Изд-во Радио и связь, 1987. в) программное обеспечение и Интернет-ресурсы: 1. www.parallel.rb.ru Материалы информационно-аналитического центра по параллельным вычислениям 2. www.top500.org список Top 500. 3. http://www.jscc.ru/ Межведомственный Суперкомпьютерный Центр 4. http://www.microprocessor.sscc.ru/ Современные процессоры. 5. http://parallel.rb.ru/computers/reviews/meta-computing.html Что такое Метакомпьютинг? 6. http://parallel.rb.ru/computers/classes.html - Основные классы современных параллельных компьютеров. 7. http://parallel.rb.ru/computers/taxonomy/ Классификации архитектур вычислительных систем. 8. http://parallel.rb.ru/computers/benchmarks/ - Тесты производительности компьютеров и системного ПО 9. http://parallel.rb.ru/tech/tech_dev/mpi.html - MPI: The Message Passing Interface 10. http://www-unix.mcs.anl.gov/dbpp/text/node1.html - MPI Course 11. http://parallel.rb.ru/parallel/vvv/intro2hpc.html Суперкомпьютерная грань компьютерного мира. 12. http://parallel.rb.ru/parallel/vvv/ Курс лекций "Параллельная обработка данных". 13. http://parallel.rb.ru/parallel/krukov/ Крюков В.А. Курс лекций "Операционные системы распределенных вычислительных систем" (4-й курс факультета ВМиК МГУ). 14. http://parallel.rb.ru/history/wilson_history.html Хронология основных событий в истории параллельных вычислений, с 1955 по 1993 год. Автор: Gregory V. Wilson. 15. http://parallel.rb.ru/info/reference/ - ссылки на справочные материалы. Стандарты MPI. 16. http://parallel.ru/tech/mpc/ - mpC. Язык параллельного программирования для кластеров и сетей рабочих станций. 17. http://www.hpc.nw.ru/KOI/COURSES/ Учебные курсы по высокопроизводительным вычислениям. 18. http://www.citforum.ru/hardware/svk/contents.shtml Современные высокопроизводительные компьютеры В. Шнитман, информационно-аналитические материалы Центра Информационных Технологий, 1996 год. 19. http://www2.sscc.ru/Litera/HPC/ Программирование для высокопроизводительных ЭВМ А.В.Комолкин, С.А.Немнюгин. 8. Материально-техническое обеспечение дисциплины Вычислительные средства ССКЦ: 1. Кластерный суперкомпьютер НКС-30Т в составе 192 серверов сверхплотной упаковки (двойные «лезвия»). Пиковая производительность НКС-30Т составляет 16.5 ТФлопс, производительность на тесте HPL (A Portable Implementation of the High-Performance 311 Linpack Benchmark for Distributed-Memory Computers) – 12.4 ТFlops. Параллельная файловая система Lustre в составе двух серверов hp DL380G5 и двух дисковых массивов hp Storageworks SFS20 имеет объём 6 Тбайт “сырой” дисковой памяти. Программные средства: RedHat Enterprise Linux5.4; HP Cluster Management Utility; Система пакетной обработки PBSPro 10.4; Компиляторы Intel Compiler Professional Edition 11.1 включая Intel MKL; Intel MPI 4.0. 2. Сервер с общей памятью hp ProLiant DL580 G5 в составе 4-х процессоров Intel QuadCore Xeon X7350 (4 ядра) и 256 ГБайт оперативной памяти с дисковым массивом HP Storageworks SFS20, имеющим 9 Тбайт “сырой” дисковой памяти. Программные средства: Операционная система CentOS 5.3; Компиляторы Intel C/C++, Intel Fortran 11.1 (Professional Edition, включают MKL, IPP и IBB), некоммерческая лицензия. 3. Кластерный суперкомпьютер НКС-160 в составе 84 вычислительных модуля hp Integrity rx1620 (два процессора Intel Itanium2, 4 ГБайт оперативной памяти). Пиковая производительность НКС-160 составляет 1075 ГФлопс, производительность на тесте HPL (A Portable Implementation of the High-Performance Linpack Benchmark for Distributed-Memory Computers) – 828.7 GFlops. Программный средства: Операционная система CentOS 5.3; Компиляторы IntelC/C++, Intel Fortran 11.1 (Professional Edition, включают MKL, IPP и IBB), некоммерческая лицензия; MPI MVAPICH 1.2.6; ППП Fluent 6.3; ППП Gaussian 03. Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 312 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Теория параллельных систем и процессов» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Вирбицкайте Ирина Бонавентуровна, д.ф.-м.н. (подпись) 313 Аннотация программы курса Дисциплина «Теория параллельных систем и процессов» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой «Вычислительные системы» ММФ НГУ. Содержание дисциплины включает изучение и систематизацию знаний в области формальных методов и средств спецификации, анализа и верификации параллельных систем и процессов. Дисциплина нацелена на формирование общекультурных компетенций ОК-2, ОК-4 6, профессиональных компетенций ПК-1 – ПК-3, ПК-8, ПК-9 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, семинары, практические занятия, контрольные работы самостоятельную работу студентов. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме коллоквиума, промежуточный контроль в форме устного экзамена. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 4 зачетных единиц, 144 академических часа. Программой дисциплины предусмотрены 68 часов лекционных, 10 часов семинаров, 10 практических занятий, 68 часов самостоятельной работы. Остальное – формы контроля. 314 1. Цели освоения дисциплины (курса) Основной целью освоения дисциплины «Теория параллельных систем и процессов» является систематизация знаний в области формальных методов и средств спецификации, анализа и верификации параллельных систем и процессов. Для достижения поставленной цели выделяются следующие задачи курса: изучение теоретической части курса в соответствии с программой, решение задач по моделированию и анализу поведения параллельных систем с использованием моделей сетей Петри и их расширений в системе PEP (Programming Environment based on Petri nets), выполнение контрольных работ и заданий, сдача экзамена в соответствии с учебным планом. Современный этап развития теоретической информатики характеризуется бурным ростом активности исследований в области разработки формальных методов спецификации, анализа и моделирования параллельных/распределенных систем, имеющих сложную структурную и функциональную организацию. К таким системам относятся коммуникационные протоколы, системы управления производством, распределенные операционные системы и т.д. Разработка корректных систем такого типа – нетривиальная задача, требующая для своего успешного решения проведения комплексных фундаментальных исследований, основанных на различных формальных методах и средствах, которые варьируются в зависимости от класса моделируемых систем, степени детализации их структуры и поведения, а также характера изучаемых проблем. На основе результатов и рекомендаций теоретических исследований ведется поиск и проверка новых архитектурных принципов конструирования параллельных/распределенных систем, изучаются методы распараллеливания алгоритмов и программ, проверяются новые способы организации программ и процессов, обосновываются программные конструкции, вводимые в языки параллельного программирования, отрабатываются методы структурного и семантического анализа параллельных программ и т.д. В течение трех последних десятилетий теория параллелизма породила большое разнообразие моделей, теорем, алгоритмов и инструментов, предназначенных для спецификации, разработки и верификации параллельных/распределенных систем. Данный раздел теоретической информатики изучает фундаментальные понятия и законы параллельной обработки информации и на основании обнаруженных закономерностей строит более частные формальные модели исследуемых объектов, на которых ставит и решает прикладные задачи. Складываются устойчивые системы базовых понятий и общепринятых методик, появляются специальные периодические издания, регулярно проводятся научные конференции, посвященные данной тематике. В начале курса делается краткий экскурс в историю изучаемой теории, рассматриваются предмет и задачи теоретических исследований в области параллельной обработки информации. Центральное место в курсе занимает теория сетей Петри, которые являются одним из самых популярных формализмов для описания параллельных систем и процессов. Сети Петри были разработаны и используются, в основном, для анализа и моделирования различных систем. С их помощью могут быть промоделированы аппаратное и программное обеспечение ЭВМ, физические и химические системы, социальные и экономические задачи и др. Наиболее удобны сети Петри для моделирования параллельных систем, причем параллельность моделируется естественным и адекватным образом. В курсе рассматриваются методы анализа сетей Петри, позволяющие изучать поведение и свойства моделируемых систем. Также излагаются наиболее интересные и распространенные обобщения сетей Петри, предложенные для адекватного моделирования реальных параллельных систем, имеющих сложную структурную организацию. Кроме того, предполагается проведение практических занятий с целью знакомства и освоения возможностей систем PEP (Programming Environment based on Petri nets) и CPN Tools, предназначенных для моделирования, анализа и верификации 315 различных моделей сетей Петри. Затем излагается материал по таким семантическим моделям параллелизма, как системы переходов, трассы Хоара, системы переходов с независимостью, трассы Мазуркевича, сети-процессы, частично-упорядоченные множества, структуры событий. Изучаются свойства этих моделей и показываются их достоинства для спецификации и анализа поведения параллельных систем. Рассматриваются различные эквивалентности параллельных процессов на основе трассового, тестового и бисимуляционного подходов. Устанавливаются взаимосвязи между перечисленными моделями и эквивалентностями. В заключении курса излагаются базовые понятия и законы алгебраических исчислений параллельных процессов на примере алгебры взаимодействующих процессов (CCS) Милнера. Также, рассматривается аппарат динамических и темпоральных логик для спецификации параллельных процессов. Обсуждаются основные идеи автоматической верификации параллельных систем (механические доказатели теорем и проверка модели (model cheking)). Методы теории параллелизма можно успешно применять в самых различных областях. Например, знание основ этой теории становится обязательным для специалистов по вычислительной технике, системному анализу, программированию и др. 2. Место дисциплины в структуре образовательной программы Дисциплина «Теория параллельных систем и процессов» принадлежит к вариативной части профессионального цикла данной ООП. Предполагается, что студенты должны обладать базовыми знаниями в следующих областях: математической логики (формализация методов рассуждений, логические связки, аксиоматические модели, модальные и темпоральные логики), классической алгебры (алгебраические операции, универсальная алгебра, алгебра множеств, алгебраическая система), теории алгоритмов (понятие временной и емкостной сложности алгоритма), теории программирования (теория схем программ), теории графов (методы описания и анализа графовых моделей). Результаты освоения дисциплины «Теория параллельных систем и процессов» используются в следующих дисциплинах данной ОП: Архитектура параллельных вычислительных систем; Языки и технологии параллельного программирования; Операционные системы супер-ЭВМ; Параллельные системы баз данных; Параллельные численные методы. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины В результате освоения дисциплины обучающийся должен: Знать основные понятия и методы теории сетей Петри, базовые семантические модели параллелизма и их взаимосвязи, особенности формального моделирования параллельных систем и процессов. Уметь строить модели для описания и исследования структуры и поведения параллельных систем и процессов. Владеть методами моделирования, анализа и верификации поведения с целью проектирования корректных параллельных систем, а также навыками работы в системах CPN Tools и PEP. 4. Структура и содержание дисциплины 316 0 1.1 1.2 1.3 Основные понятия, терминология и основополагающие законы параллельной обработки информации. Исторический обзор и классификация формальных моделей параллельных систем и процессов. Элементы теории сетей Петри (СП). Основные понятия и формальные определения теории СП. Примеры моделирования параллельных систем посредством СП. Поведенческие свойства СП (живость, справедливость, ограниченность, безопасность) и их анализ. Разрешимые проблемы безопасности, ограниченности, живости, достижимости. Неразрешимые проблемы Rвключения и Rэквивалентности. Подклассы СП (ординарные СП, синхрографы, автоматные сети, сети со свободным выбором, элементарные сетевые системы). Методы анализа Неделя семестра № п/п Раздел дисциплины Семестр Общая трудоемкость дисциплины составляет __4___ зачетных единиц, __144__ часов. 1 1,2 1 1 1 1 Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) Лекции Семин. Прак. зан. Сам. раб. 4 0 0 4 3,4 4 0 2 4 5-7 6 2 0 6 8-10 0 6 2 2 0 0 0 6 317 Контрольная 1.4 1.5 поведенческих свойств подклассов СП. Языки СП. Помеченные СП. Классы языков СП и их характеризация. Разрешимые и неразрешимые свойства языков СП. Обобщения СП (ингибиторные сети, сети с приоритетами, дискретновременные и непрерывновременные СП, раскрашенные СП). Выразительная мощность моделей. Анализ их поведения. 1 1113 6 4 0 6 1 1418 10 0 6 10 0 0 2 0 2.1 Семантические 1 1 2 1,2 4 0 0 4 2.2 2 3-6 6 0 0 6 2 7,8 4 0 0 6 2.3 модели параллелизма. Интерливинговые модели. Трассы Хоара как пример модели с семантикой «линейного времени». Системы переходов как пример модели с семантикой «ветвистого времени». «Истинно параллельные модели». Модели с семантикой «линейного времени». Трассы Мазуркевича как пример модели с семантикой «линейного времени». Модели с семантикой «ветвистого времени»: системы переходов с независимостью, сети-процессы, частичноупорядоченные множества, структуры событий. Понятия 318 Прием заданий Зачет 2.4 2.5 эквивалентностей параллельных процессов: трассовый, тестовый, бисимуляционный подходы. Сравнительный анализ параллельных моделей и эквивалентностей. Алгебраические исчисления параллельных процессов. Методы композиции параллельных процессов и способы их взаимодействия на примере CCS (исчисления взаимодействующих систем). Структурная операционная и денотационная семантики исчисления CCS. Эквивалентность и конгруэнтность CCS-выражений. Теорема разложения. Семантика сетей Петри для CCS. Логики параллельных процессов. Динамические и темпоральные логики как инструмент спецификации и верификации параллельных процессов. Синтаксис и семантика темпорального языка с семантикой «линейного времени» LTL. Синтаксис и семантика темпоральных языков с семантикой «ветвистого времени» CTL, CTL*. Сравнение выразительных 2 9-11 6 0 0 6 2 1213 4 0 0 4 319 2.6 мощностей темпоральных языков. Методы автоматической верификации. Механические доказатели теорем. Метод проверки модели (model cheking method). Алгоритмы верификации сетевых моделей с использованием LTL- и CTLформул. Алгоритмы проверки моделей сетей Петри. 2 1416 2 6 0 68 10 0 10 6 68 Экзамен 5. Образовательные технологии Используется лекционно-семинарская система обучения. Также с целью овладения методами и навыками, необходимыми для моделирования, анализа и верификации параллельных систем, проводятся практические занятия, на которых студенты работают с программными системами PEP (Programming Environment based on Petri Nets) и CPN Tools. 6. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов Перечень примерных заданий для самостоятельной работы. Рассматриваемая задача о шести обедающих философах является модификацией задачи, предложенной Дейкстрой. Шесть философов проводят свое время, размышляя и поедая макароны. Они сидят за круглым обеденным столом, вокруг которого стоят 6 стульев. На столе лежать 6 вилок так, что между каждыми двумя философами лежит одна вилка, т.е. слева и справа от каждого философа находится по вилке. Вилка с номером i находится слева от философа с номером i. Для еды философу необходимо иметь две вилки. Если философ не может немедленно взять две вилки, то он ждет, когда сможет приступить к еде. Вилки поднимаются со стола по одной, причем первой поднимается вилка с четным номером. Закончив еду, философ кладет вилки на стол. С помощью системы PEP построить раскрашенную СП, моделирующую описанное решение; выполнить симуляцию сети и проверить выполнение свойств живости и ограниченности. Обосновать полученные результаты. В магазине имеется два типа касс – с терминалом для пластиковых карт и без него. Заказ проходит следующие стадии: 1. чек принимается; 2. если касса оборудована терминалом для пластиковых карт, то происходит списание денег с карты через внутренний банковский терминал (доступ эксклюзивный), иначе принимаются наличные от клиента; 3. происходит регистрация чека во внутренней базе данных (доступ эксклюзивный); 4. чек печатается. С помощью системы PEP построить временную СП, моделирующую описанную систему, выполнить симуляцию сети и проверить ее на свойства живости и ограниченности. Обосновать полученные результаты. Система автомат-продавец состоит из трех различных автоматов M1, M2 и M3 и двух операторов F1 и F2. Оператор F1 воздействует на автоматы M1 и M2, а оператор F2 – на 320 M1 и M3. Заказы требуют двух стадий обработки. Сначала они должны быть обработаны автоматом M1, затем либо автоматом M2 , либо автоматом M3. Заказ может поступать только, если есть свободный оператор. С помощью системы PEP построить сеть Петри, моделирующую данную систему, выполнить симуляцию сети и проверить ее на свойства живости и ограниченности. Обосновать полученные результаты. Протокол коммуникаций позволяет двум сторонам обмениваться сообщениями по одному через ненадежную среду. Ненадежность среды заключается в том, что сообщения и подтверждения могут теряться при передаче (т.е. не достигать получателя). Для восстановления от потерь при передаче используется механизм повторной посылки сообщения при превышении времени ожидания подтверждения, т.е. время отправления сообщения записывается, и, если по истечении определенного промежутка времени не получено подтверждение, сообщение посылается еще раз и т.д. С помощью системы PEP построить временную сеть Петри, моделирующую данную систему, выполнить симуляцию временной сети и проверить ее на свойства живости и ограниченности. Обосновать полученные результаты. Образцы контрольных вопросов для текущего контроля. Вариант 1. 1. Анализ свойства ограниченности сетей Петри на основе построения полного покрывающего дерева. 2. Синтаксис и семантика раскрашенных СП. 3. Установить, является ли сеть Петри со свободным выбором живой на основе метода Коммонера. P1 P2 T1 T2 P4 P3 T3 P6 P5 T5 T4 T6 P8 P7 T7 Вариант 2. 1. Выразительная мощность модели сетей Петри с ингибиторными дугами. 2. Методы анализа поведения синхрографов. 321 3. Определить, является ли живой временная сеть Петри. p1 p2 t1 d1 t2 d2 Вариант 3. 1. Понятие бисимуляционной эквивалентности систем переходов. 2. Проблемы R-эквивалентности и R-включения СП. 3. Построить множество конфигураций стабильной структуры событий, состоящей из компонент: E = {e1,e2,e3}; Con = {{e1,e2}, {e1,e3}, {e2,e3}} и ∅⊢e1, ∅⊢e2, {e1}⊢e3, {e2} ⊢e3. __________________________________________________________________________ (Указываются темы эссе, рефератов, курсовых работ и др. Приводятся контрольные вопросы и задания для проведения текущего контроля контрольные вопросы и задания для проведения промежуточной аттестации по итогам освоения дисциплины, а также для контроля самостоятельной работы обучающегося по отдельным разделам дисциплины). 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Вирбицкайте И.Б. Семантические модели параллельных программ и процессов. Уч. пос. НГУ, 1996. – 92с. 2. Вирбицкайте И.Б. Сети Петри: модификации и расширения. Уч. пос. НГУ, 2005. – 126с. 3. Котов В.Е. Сети Петри. – М.: Наука, 1984. – 160с. 4. Питерсон Дж. Теория сетей Петри и моделирование систем. – М.: Мир, 1984. – 264с. 5. Dezel J. Esparza J. Free-Choice Petri Nets. Cambridge Tracts in Theoretical Computer Science. – 1994. 6. Jensen K. Coloured Petri nets. – Springer-Verlag. – Vol.1,2,3. 1996. 7. Mazurkiewicz A. Basic notions of trace theory // Lect. Notes Comput. Sci. – 1988. – Vol. 354. – P. 285–363. 8. Milner R. A Calculus of communicating systems // Lect. Notes Comput. Sci. – 1980. – Vol. 92. 9. Winskel G. An introduction to event structures // Lect. Notes Comput. Sci. – V. 354. – 1988. – p. 364-397. 10. Winskel G., Nielsen M. Models for concurrency // Hand-book of Logic in Comput. Sci. – 1995. – Vol. 4. б) дополнительная литература: 322 12. Карп Р.М., Миллер Р.Е. Параллельные схемы программ // Кибернетический сборник. Вып. 13. – М.: Мир, 1976.– с. 5–61. 13. Bouyer, P., Haddad, S., Reynier P.-A. Timed unfoldings for networks of timed automata // Lect. Notes Comput. Sci. – 2006. – Vol. 4218. – P. 292–306. 14. De Nicola, R., Hennessy, M. Testing equivalence for processes // Theoretical Computer Science. – 1984. – Vol. 34. – P. 83–133. 15. Dezel J., Reisig W., Rosenberg G. (Eds.) Lectures on Concurrency and Petri Nets // Lect. Notes Comput. Sci. – 2004. – Vol. 3098. 16. Engelfriet J. Branching processes of Petri nets // Acta Informatica. – 1991. – Vol. 28. – P. 576–591. 17. van Glabbeek R.J., Goltz U. Refinement of actions and equivalence notions for concurrent systems // Acta Informatica. – 2001. – Vol. 37. – P. 229–327. 18. Hoogers, P.W., Kleijn, H.C.M., Thiagarajan, P.S. An event structure semantics for general Petri nets // Theoretical Computer Science. – 1996. – Vol. 153. – P. 129–170. 19. Merlin P., Faber D.J. Recoverability of communication protocols // IEEE Trans. of Communication. – 1976. – Vol. COM-24(9) – (1976). 20. Nielsen M., Plotkin G., Winskel G. Petri nets, event structures and domains. Theoretical Computer Science. – 1981. – Vol. 13(1). – P. 85–108. 21. Nielsen M., Rozenberg G., Thiagarajan P.S. Behavioural notions for elementary net systems // Distributed Computing. – 1990. – V.4, N1. –P. 45–57. 22. Nygaard M., Winskel, G. Domain theory for Concurrency // Theoretical Computer Science. – 2004. – V.103. – P. 153–190. 23. Rozenberg, J. Engelfriet. Elementary net systems. Lect. Notes Comput. Sci. – 1998. – Vol. 1491. – P. 12–121. 24. Starke P. Some properties of timed nets under the earliest firing time // Lect. Notes Comput. Sci. – 1990. – Vol. 424 . – P. 418–432. в) программное обеспечение и Интернет-ресурсы: 2. Вирбицкайте И.Б. Сети Петри: модификации и расширения. (электронный учебник) http://i-portal.nsu.ru/lemma.dll?db=Seti&int=VIEW&el=1&templ=I206 3. Система CPN Tools. http://wiki.daimi.au.dk/cpntools/cpntools.wiki 4. Система PEP ((Programming Environment based on Petri nets) http://parsys.informatik.unioldenburg.de/~pep/ 5. www.parallel.rb.ru Материалы информационно-аналитического центра по параллельным вычислениям 6. www.top500.org список Top 500. 8. Материально-техническое обеспечение дисциплины Рабочие станции для индивидуальной работы и удаленного доступа к вычислительным комплексам. Ноутбук, медиа-проектор, экран. Программное обеспечение для демонстрации слайд-презентаций. 323 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Технологии параллельного программирования» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Дубцов Роман Сергеевич, к.ф.-м.н. (подпись) 324 (ФИО) 1. Цели освоения дисциплины (курса) Дисциплина (курс) Технологии параллельного программирования имеет своей целью: подготовку студентов к освоению и использованию современных высокопроизводительных вычислительных систем при решении трудоемких вычислительных задач и задач обработки данных. Для достижения поставленной цели выделяются задачи курса: знакомство с принципами функционирования и особенностями наиболее распространенных высокопроизводительных вычислительных систем, изучение студентами основ параллельного программирования для различных многопроцессорных вычислительных архитектур, освоение современных средств проектирования и разработки параллельных программ, в том числе высокоуровневых стандартов параллельного программирования OpenMP, MPI и OpenCL/CUDA, методов и средств отладки и анализа производительности параллельных программ. 2. Место дисциплины в структуре образовательной программы Данная дисциплина является составной частью ООП «Математика и компьютерные науки» и тесно и органично связана с такими разделами ООП, как «Теория параллельных систем и процессов», «Архитектура параллельных вычислительных систем», «Параллельные численные методы». Предполагается, что студенты должны обладать базовыми знаниями в области разработки алгоритмов, программирования и проектирования программных систем, владеть инструментальными средствами разработки программных продуктов на распространенных платформах – Linux/*nix, Microsoft Windows™ – иметь представление об архитектурах ЭВМ и операционных систем. Курс является основой для успешного освоения дисциплин, требующих знания основ и обладания навыками параллельного программирования, таких как «Параллельные численные методы». 3. Компетенции обучающегося, формируемые в результате освоения дисциплины Технологии параллельного программирования. В результате освоения дисциплины обучающийся должен: Знать: основы параллельного программирования на уровне операционной системы, основы стандартов MPI, OpenMP, OpenCL/CUDA особенности создания программ для систем с общей памятью, с распределенной памятью, потоковых вычислителей (на основе GPGPU), гибридных систем. Уметь: выбирать технологии параллельного программирования и их эффективные комбинации, подходящие для решения конкретных задач, разрабатывать и реализовывать программно параллельные алгоритмы с использованием стандартов MPI, OpenMP и OpenCL/CUDA, в том числе на основе исходного последовательного кода, производить отладку и анализ производительности параллельных программ, оптимизировать работу параллельных программ с учетом особенностей используемой вычислительной системы. Владеть 325 основными подходами к созданию параллельных программ для современных вычислительных систем и систем обработки данных, методами и средствами проектирования и разработки параллельных алгоритмов и программ 4. Структура программирования и содержание дисциплины Технологии параллельного 1 Введение. Проектирование и 1 разработка параллельных программ: Зачем нужно параллельное программирование: закон Мура и реальность. Параллельные процессы: взаимодействующие процессы, синхронизация процессов. Модели параллельного программирования и их связь с архитектурами вычислительных систем. Модели SMP и SPMD. Параллельные алгоритмы: информационные зависимости, основные показатели качества, анализ трудоемкости основных операций обмена информацией, коммуникационная структура, графическое представление. Общие принципы систематической разработки параллельных алгоритмов: разделение 326 1-3 6 Самост. работы Семинар ы Практика Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Лекции Раздел дисциплины Семестр № п/п Неделя семестра Общая трудоемкость дисциплины составляет 3 зачетных единиц, 108 часа. 6 6 Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) 2 вычислений, выделение информационных зависимостей, объединение подзадач в соответствии с их связями, отображение на архитектуру компьютера. Средства разработки и автоматизации создания параллельных программ: параллельные языки программирования и расширения существующих языков (HPF, Fortran 90/95, Fortran D95, Cilk, HPC++), специализированные языки с поддержкой параллелизма (Erlang, Occam, Sisal). Программирование в модели с разделяемой памятью: 1 Особенности модели параллельного программирования в системах разделяемой памятью. Принципы разделения вычислений и ограничения. Базовые понятия OpenMP: общие понятия, директивы OpenMP, порождение нитей, модель fork-join, принципы разделения работы между нитями, модель данных и коммуникации, синхронизация, переменные окружения и библиотечные функции OpenMP. Параллельные циклы в OpenMP: зависимости данных и способы их элиминации, циклы и вложенный параллелизм, влияние неравномерности загрузки на производительность параллельных программ. Параллельные регионы OpenMP: ограничения на параллелизм регионов, контроль над разделением 327 4-6 6 6 6 Лабораторная работа 3 данных в параллельных регионах, вложенные параллельные регионы. Синхронизация: конфликты по данным и необходимость синхронизации, способы синхронизации, критические интервалы. Программирование в модели с 1 распределенной памятью: Особенности модели параллельного программирования в системах с распределенной памятью. Основные понятия и процедуры MPI. Группы и коммуникаторы: операции с группами процессов, операции с коммуникаторами, интеркоммуникаторы. Коммуникации между отдельными процессами: коммуникации с блокировкой и без блокировки, отложенные запросы на взаимодействие, тупиковые ситуации (deadlocks). Коллективные взаимодействия. Виртуальные топологии: декартова топология, топология графа. Пересылка разнотипных данных. Производные типы данных, упаковка. Операции с удаленной памятью: отличия от передачи сообщений, окна памяти, передача данных, существующие проблемы. Динамическое управление процессами: порождение новых процессов, установление связи между процессами. Параллельный ввод/вывод: несмежные операции, работа с массивами, 328 710 8 8 8 Лабораторная работа 4 неблокирующий и раздельный коллективный ввод/вывод. Программирование потоковых 1 вычислителей: Эволюция графических процессоров. Развитие принципов организации вычислений с использованием графических процессоров. Архитектуры GPGPU, использование CUDA и OpenCL для их программирования. Распределение памяти и передача данных внутри иерархии памяти. Потоки и функции, исполняемые устройством. Структура программы. Декларации функций, исполняемых устройством. Запуск параллельных вычислений. Функции библиотеки времени выполнения. Потоки в CUDA и OpenCL. Организация параллельных вычислений в форме потоков. Синхронизация потоков. Блокировки при доступе к памяти. Эффективное распределение вычислений и данных. Организация памяти. Специализация запоминающих устройств. Категории запоминающих устройств в CUDA и OpenCL. Использование локальных запоминающих устройств для сокращения нагрузки на глобальную память. Память, как фактор, ограничивающий параллелизм. Способы повышения производительности программ. Характеристики, определяющие производительность 329 1113 6 6 6 Лабораторная работа 5 программ. Динамическое распределение ресурсов. Предвыборка данных. Переупорядочение инструкций. Измерение производительности программ. Вычисления с плавающей точкой. Формат представления вещественных чисел. Множество представимых чисел. Вопросы точности арифметических вычислений. Влияние выбора алгоритма на точность получаемых результатов. Анализ производительности и 1 оптимизация параллельных программ: Введение в суперкомпиляторы: анализ зависимостей данных, оптимизация работы с массивами данных с учетом иерархии памяти, векторизация и автоматическая параллелизация на уровне циклов, векторизация в присутствии управляющих конструкций, векторизация вне циклов, скаляризация. Анализ корректности и производительности параллельных программ: проблема корректности параллельных программ, типичные ошибки, статический и динамический анализ. Методы обнаружения тупиковых ситуаций в программах с распределенной памятью. Методы обнаружения аномалий доступа к данным в программах с разделяемой памятью. Типичные проблемы производительности 330 1416 6 6 6 Лабораторная работа, экзамен за семестр параллельных программ. Понятие профилирования приложения. Обзор существующих инструментов для анализа корректности и производительности параллельных программ (TotalView, AIMS, MPICheck, UMPIRE, IMC, MPIDD, ITC, mpiP, ompP). Оптимизация параллельных программ в гибридной модели – OpenMP+MPIпараллелизация. 5. Образовательные технологии В качестве образовательной технологии по данной дисциплине будет использоваться Учебно-методический комплекс (УМК) «Технологии параллельного программирования и их приложения», разрабатываемый в НГУ авторами данной дисциплины. Комплекс даст студентам возможность самостоятельного овладения основами технологий параллельного программирования и закрепления полученных знаний при выполнении курсовых и дипломных работ. В состав УМК войдут наборы типовых лабораторных работ, варианты курсовых и дипломных работ, которые преподаватель может достаточно легко модифицировать под конкретные задачи в соответствующей предметной области. Интерактивная система проверки знаний, входящая в состав УМК, позволит студентам самостоятельно контролировать уровень своих знаний и практических навыков в технологиях параллельного программирования. 6. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов Работа на практических занятиях и самостоятельная работа оцениваются по выполнению четырех лабораторных работ по каждому из четырех разделов курса: 1. Программирование в модели с разделяемой памятью, 2. Программирование в модели с распределенной памятью, 3. Программирование потоковых вычислителей, 4. Анализ производительности и оптимизация параллельных программ. По итогу выполнения лабораторных работ выставляется зачет и студент допускается к теоретическому экзамену, на котором выставляется итоговая дифференцированная оценка, учитывающая и уровень теоретической подготовки по курсу, и качество выполнения лабораторных работ. КРИТЕРИИ ОЦЕНКИ РЕЗУЛЬТАТОВ ОБУЧЕНИЯ Студенту выставляется оценка за выполненные лабораторные работы и ответы на теоретические вопросы. Лабораторная работа считается выполненной, если студент продемонстрировал соответствующие программы и ответил на контрольные вопросы преподавателя. Оценку «отлично» студент получает в случае полного выполнения заданий. «Хорошо» – если написанные ими программы работают, но студент испытывает затруднения в беседе с преподавателем по теме работ, неточно определяет и/или понимает понятия из лекционного курса. «Удовлетворительно» студент получает в том случае, если 331 написанный им программы работают не в полном объеме, при этом он формально отвечает на вопросы по теме работ и на определения понятий из лекционного курса, но не может пояснить детали, привести примеры без подсказки. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: А.С.Антонов Параллельное программирование с использованием технологии MPI: Учебное пособие. -М.: Изд-во МГУ, 2004.-71 с. MPI: A Message-Passing Interface Standard (Version 1.1) OpenMP Specification 2.5 The OpenCL Specification (Ver. 1.1) NVidia CUDA Programming Guide (Version 3.0) Э.Таненбаум. Современные операционные системы. 2-е издание. СПб: Питер, 2002. б) дополнительная литература: 1. POSIX threads explained, http://www-128.ibm.com/developerworks/linux/library/lposix1.html 2. Chandra, R., Menon, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J. Parallel Programming in OpenMP. - Morgan Kaufinann Publishers, 2000 3. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. - СПб.: БХВПетербург, 2002 4. W. Haque, Concurrent Deadlock Detection in Parallel Programs, Intl. Journal of Computers and Applications, Vol. 28, No. 1, 2006, 19-25 5. U. Banerjee, B. Bliss, Z. Ma, P. Peterson, A Theory of Data Race Detection , In Proceedings of the 2006 workshop on Parallel and distributed systems: testing and debugging, 2006, 69-78 6. R.H.B. Netzer, B.P. Miller, What are Race Conditions? Some Issues and formalization, In ACM Letters on Programming Languages and Systems, Vol. 1, No 1, 1992, 74-88 7. Tuning CUDA Application for Fermi (Version 1.0) 8. David Kirk and Wen-mei Hwu, Programming Massively Parallel Processors: A Hands-on Approach. Morgan-Kaufmann, 2010. в) программное обеспечение и Интернет-ресурсы: Кластерная операционная система Средства разработки – компиляции и отладки – с поддержкой OpenMP Несколько альтернативных библиотек MPI NVidia CUDA SDK / ATI Stream SDK 8. Материально-техническое обеспечение дисциплины Лекционная аудитория с интерактивной презентационной системой Вычислительный комплекс, включающий o Подсистемы с общей (разделяемой) памятью o Систему с распределенной памятью (кластер) o Потоковые вычислители на основе GPGPU Терминальный класс с 12-15 рабочими терминалами, имеющими доступ к Вычислительному комплексу, с доступом в глобальную компьютерную сеть (Интернет) 332 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Параллельные численные методы» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Федорук Михаил Петрович, д.ф.-м.н. (подпись) 333 (ФИО) Аннотация рабочей программы Дисциплина «Параллельные численные методы» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Математического моделирования ММФ НГУ. Содержание дисциплины включает технологию распараллеливания численных методов линейной алгебры, численных методов решения обыкновенных дифференциальных уравнений и уравнений в частных производных; методы и алгоритмы декомпозиции в задачах механики сплошной среды и нелинейной волоконой оптики; подходы к построению параллельных алгоритмов в методе конечных элементов; методы генерации сеток, включая описание сложных областей, типы сеток, методы построения сеток, средства для построения сеток; стандартные библиотеки оптимизированных параллельных вычислительных алгоритмов. Дисциплина нацелена на формирование общекультурных компетенций ОК-2 – ОК 5, ОК-7 – ОК-9, профессиональных компетенций ПК-1 – ПК-13, ПК-14 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, практические занятия, контрольные работы, самостоятельную работу студентов. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме контрольных работ, промежуточный контроль в форме письменного экзамена и устного экзамена. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 3 зачетных единиц, !Неопределенная закладка, OPERSRESE8 академических часов. Программой дисциплины предусмотрены !Неопределенная закладка, OPERSRESE часов лекционных, 8 часов семинарских занятий, 34 часа практических занятий для каждой группы, !Неопределенная закладка, OPERSRESE часов самостоятельной работы. Различные формы контроля включены в общее число часов. 334 1. Цели освоения дисциплины (курса) Дисциплина (курс) «Параллельные численные методы» имеет своей целью изучение студентами классических и современных методов вычислительной математики, применяемых для решения различных классов задач с использованием современных вычислительных систем параллельного действия. 2. Место дисциплины в структуре образовательной программы Данная дисциплина является составной частью ОПП «Математика и компьютерные науки» и тесно и органично связана с такими разделами ООП, как «Теория параллельных систем и процессов», «Технологии параллельного программирования», «Архитектура параллельных вычислительных систем». Предполагается, что студенты должны обладать базовыми знаниями в области численных методов линейной алгебры, численных методов решения уравнений математической физики. Для освоения данной дисциплины студенты должны владеть основными инструментальными средствами параллельного программирования (MPI, OpenMP). 3. Компетенции обучающегося, формируемые в результате освоения дисциплины В результате освоения дисциплины обучающийся должен: Знать: - основные численные методы и алгоритмы решения задач, возникающих при моделировании сложных систем; - принципы распараллеливания алгоритмов и получения оценки эффективности их распараллеливания. Уметь: - обосновывать выбор численных методов для решения конкретных прикладных задач на параллельных вычислительных системах; - использовать приобретённые знания для распараллеливания алгоритмов и для создания параллельных программ на основе стандартов MPI и OpenMP; - применять при создании программ и комплексов стандартные библиотеки оптимизированных параллельных вычислительных алгоритмов. Владеть: - получением оценок эффективности выбора численных методов для решения конкретной прикладной задачи; - использованием соответствующих методических и программных подходов для распараллеливания алгоритмов и написания параллельных программ; - анализом производительности и архитектурно-ориентированной оптимизации параллельных программ, написанных с использованием стандартов MPI и OpenMP. 4. Структура и содержание дисциплины ______________________________ Общая трудоемкость дисциплины составляет __3___ зачетных единиц, __108_ часов. 335 Неделя семестра Семестр № п/п Раздел дисциплины Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) 1 Введение – параллельные вычислительные системы и алгоритмы в численном анализе 1 1 2 Численные методы линейной алгебры и их распараллеливание Численные методы решения актуальных задач моделирования сложных систем и их распараллеливание 1 2-9 Лекции Семи(16 ч.) нары (4ч.) Лаб. работы (16ч.) Самост. Работа (16ч.) Контр. работа (8-я неделя) 1 10 18 Лекции Семи(18 ч.) нары (4ч.) Лаб. работы (18ч.) Самост. Работа (16ч.) Контр. работа (17-я неделя) Экзамен за семестр 3 Лекции (2 ч.) Формы текущего контроля успеваемост и (по неделям семестра) Форма промежуточ ной аттестации (по семестрам) Содержание разделов и тем курса. Введение – параллельные вычислительные системы и алгоритмы в численном анализе. Современные тенденции развития высокопроизводительных вычислительных систем. Принципы создания параллельных алгоритмов и программ для гибридных параллельных систем. Численные методы линейной алгебры и их распараллеливание Решение систем линейных алгебраических уравнений (СЛАУ). Распараллеливание алгоритмов численного анализа: o прямые и итерационные методы решения СЛАУ, o распараллеливание метода прогонки, o вычисление определителей и ранга матриц, o решение задач о собственных числах и векторах. Стандартные библиотеки оптимизированных параллельных вычислительных алгоритмов. Численные методы решения актуальных задач моделирования сложных систем и их распараллеливание. 336 Дискретное преобразование Фурье, параллельная реализация, библиотека FFTW. Генерация сеток – описание областей, типы сеток, методы построения сеток, средства для построения сеток. Метод декомпозиции областей – основы. Общие вопросы теории разностных схем, распараллеливание явных и неявных разностных схем. Разностные схемы для решения многомерных уравнений. Метод матричной прогонки. Продольно-поперечная прогонка. Схемы расщепления. Методы распараллеливания алгоритмов решения многомерных задач. Статистические методы «Монте-Карло» для решения уравнений эллиптического типа и их использование в задачах имитационного моделирования. Метод конечных элементов. Подходы к созданию параллельных алгоритмов на основе МКЭ. 5. Образовательные технологии В качестве образовательной технологии по данной дисциплине будет использоваться Учебно-методический комплекс (УМК) «Параллельные вычислительные технологии в численных методах и их приложениях», разработанный в НГУ авторами данной дисциплины. Комплекс дает возможность студентам возможность самостоятельного овладения основами параллельных вычислительных технологий и закрепления полученных знаний при выполнении курсовых и дипломных работ. В состав УМК входят наборы типовых курсовых и дипломных работ, которые преподаватель может достаточно легко модифицировать под конкретные задачи в соответствующей предметной области. Интерактивная система проверки знаний, входящая в состав УМК, позволяет студентам самостоятельно контролировать уровень своих знаний и практических навыков в параллельных вычислительных технологиях. 6. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов Примеры вопросов и задач, включаемых в экзаменационные билеты по курсу «Параллельные численные методы» 1. Дана явная разностная схема для уравнения Эйлера с шаблоном крест и прямоугольная сетка в многосвязной области А (сфера с двумя ручками) На всех границах заданы условия отражения. Разбейте область на четыре подобласти и запишите разностные уравнения для каждой ячейки. 2. Оцените время, необходимое для обращения трехдиагональной матрицы методом Гаусса на компьютере, имеющем M арифметических процессоров. 3. Оцените время, необходимое для вычисления быстрого преобразования Фурье методом Коули и Тьюки на компьютере, имеющем M арифметических процессоров. 4. Метод прогонки для решения систем линейных алгебраических уравнений и алгоритм его распараллеливания. Напишите блок-схему алгоритма, выпишите оценку его эффективности. 337 5. Алгоритм статистического метода «блуждания по сферам» для решения уравнения 2u 2u Лапласа 0 в прямоугольной области (задача Дирихле) и его x 2 y 2 распараллеливание. Написать блок-схему параллельного алгоритма и определить максимальное значение коэффициента ускорения вычислений. 6. Параллельный алгоритм вычисления определителя квадратной матрицы A n n методом Гаусса. Написать блок-схему алгоритма. Какие процессоры будут при этом наиболее загружены? Предложите модификацию алгоритма с балансировкой нагрузки. Примеры тем лабораторных работ 1. Организация запуска задач с использованием системы пакетной обработки заданий. 2. Решение системы линейных алгебраических уравнений методом Гаусса. 3. Сравнение эффективности реализации алгоритма обращения матриц в библиотеках Intel MKL и BLAST. Перечень примерных контрольных вопросов и заданий для самостоятельной работы. 1. Изучение состава библиотеки оптимизированных численных алгоритмов BLAST. 2. Разработка уточненного варианта закона Амдала для «идеализированных» вычислительных систем а) с общей памятью б) с распределенной памятью в) гибридного типа Примеры заданий для курсовых работ 1. Анализ производительности и эффективности распараллеливания алгоритма обращения плотной матрицы в библиотеке численных алгоритмов Goto. 2. Решение двумерного нелинейного уравнения теплопроводности с помощью метода продольно-поперечной прогонки и методов расщепления. 3. Решение задачи о поиске собственных значений и векторов разреженной матрицы специального вида, сравнение эффективности с алгоритмом для плотных матриц. 4. Решение задачи Дирихле для двумерного уравнения Лапласа методом «блужданий по сферам». 5. Имитационное моделирование прохождения нейтронов через пластину методом Монте-Карло. 6. Решение двумерного уравнения (поточечным и блочных итераций). Пуассона методом Зейделя Отчет о выполнении курсовой работы Отчет о выполнении курсовой работы представляется в виде пояснительной записки (ПЗ) и файлов с исходными кодами разработанных программ. В пояснительную записку должны входить: титульный лист; полный текст задания к курсовой работе; реферат (объем ПЗ, количество таблиц, рисунков, схем, программ, приложений, краткая характеристика и результаты работы); содержание: o постановка задачи исследования; o краткая теория по теме курсовой работы; 338 o программная реализация; o результаты проведенного исследования; o выводы; список использованной литературы; подпись, дата. Пояснительная записка должна быть оформлена на листах формата А4, имеющих поля. Все листы следует сброшюровать и пронумеровать. Критерии оценки результатов обучения В результате обучения студенту выставляется оценка за курсовую работу и зачет за лабораторную работу. Лабораторная работа считается выполненной, если студент продемонстрировал соответствующие программы и ответил на контрольные вопросы преподавателя. Оценку «отлично» за курсовую работу студент получает в случае полного выполнения задания. «Хорошо» – если написанная им программа работает, но студент испытывает затруднения в беседе с преподавателем по теме курсовой работы, неточно определяет и/или понимает понятия из лекционного курса. «Удовлетворительно» студент получает в том случае, если написанная им программа работает не в полном объеме, но он формально отвечает на вопросы по теме курсовой работы и на определения понятий из лекционного курса, но не может пояснить детали, привести примеры без подсказки, написать простые разностные схемы для решения уравнений в частных производных и т.д. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Воеводин В.В, Воеводин Вл.В. Параллельные вычисления. – Спб.: БХВ-Петербург, 2002. – 608 с. 2. Ильин В.П. Методы и технологии конечных элементов. – Новосибирск: Изд. ИВМиМГ СО РАН, 2007. – 371 с. 3. Smith B., Bjorstad P., Gropp W. Domain decomposition: parallel multilevel methods for elliptic partial differential equations. – Cambridge University Press, 1996. – 224 p. 4. Самарский А.А., Николаев Е.С. Методы решения сеточных уравнений. – Главная редакция физико-математической литературы из-ва «Наука», М., 1978, 589 с. 1. 2. 3. 4. 5. б) дополнительная литература: У. Гроуп и др. Using MPI т.1, т.2 Х. Чандра, Программирование в OpenMP Бахвалов Е.А., Жидков Н.П., Кобельков Г.Н. Численные методы. М: Лаборатория базовых знаний, 2003. - 632 с. Рычков А.Д. Численные методы и параллельные вычисления: учебное пособие. Новосибирск, СибГУТИ, 2007. – 143с. Соболь И.М. Численные методы Монте-Карло. М.: Наука, 1973. – 311 с. в) программное обеспечение и Интернет-ресурсы: Операционная среда: на вычислительном комплексе – ОС Linux, на рабочем месте – любая с поддержкой X-протокола. Компиляторы: GNU Compiler Collection, SunStudio Fortran for Linux, SunStudio C/C++ for Linux, Intel Fortran for Linux, Intel C/C++ for Linux Библиотеки MPI: OpenMPI, MPICH2, Intel MPI. Библиотеки численных алгоритмов: Goto, FFTW, Intel MKL, BLAST. Среды программирования и комплексы программ для численного решения дифференциальных уравнений в частных производных: DUNE, PETSc. 339 7. Материально-техническое обеспечение дисциплины Вычислительный комплекс DL580G2 (кластер ИВЦ Новосибирского госуниверситета). Рабочие станции для индивидуальной работы и удаленного доступа к вычислительному комплексу. 340 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Параллельные системы обработки изображений» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Тарков Михаил Сергеевич, к.т.н. (подпись) 341 Аннотация рабочей программы дисциплины «Параллельные системы обработки изображений» Дисциплина «Параллельные системы обработки изображений» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механикоматематическом факультете Новосибирского государственного университета кафедрой вычислительных систем ММФ НГУ. Содержание дисциплины включает фильтрацию изображений в пространственной и частотной областях, преобразования Фурье, вейвлетные преобразования, конструирование параллельных алгоритмов обработки изображений, архитектуры параллельных вычислительных систем для обработки изображений. Дисциплина нацелена на формирование общекультурных компетенций OK-3, ОК-4, ОК-6, профессиональных компетенций ПК-1, ПК-2, ПК-3 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, самостоятельную работу студентов. Программой дисциплины предусмотрен устный экзамен. Общая трудоемкость дисциплины составляет 2 зач. ед., 72 академических часа. Программой дисциплины предусмотрены 36 лекционных часа. Остальное – контроль в виде экзамена. 342 1. Цели освоения дисциплины (курса) Дисциплина (курс) «Параллельные системы обработки изображений» имеет своей целью изучение студентами теоретических основ построения и применения на практике параллельных вычислительных систем обработки изображений. 2. Место дисциплины в структуре образовательной программы Дисциплина «Параллельные системы обработки изображений» опирается на следующие дисциплины данной ООП: Архитектура параллельных вычислительных систем; Теория параллельных систем и процессов; Нейрокомпьютерные системы. Результаты освоения дисциплины «Параллельные системы обработки изображений» используются в следующих дисциплинах данной ООП: Параллельные системы баз данных; Современные методы распределенных вычислений; Параллельные численные методы; Параллельные алгоритмы для решения больших задач. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины В результате освоения дисциплины обучающийся должен: Знать: формулировки основных задач обработки изображений, условия применимости и характеристики параллельных вычислительных систем обработки изображений; Уметь: определять применимость конкретных вычислительных систем для решения задач обработки изображений; Владеть: методикой разработки параллельных приложений при решении задач обработки изображений. 343 4. Структура и содержание дисциплины «Параллельные системы обработки изображений» 1.1 Дискретизация непрерывных изображений. Квантование яркости изображений. Градационные преобразования изображений. Преобразования гистограммы. 11 1 2 1.2 Сглаживающие пространственные Пространственные повышения резкости. 11 2 2 11 3-6 8 Связь между пространственными фильтрами и их аналогами в частотном пространстве. Теорема о свертке. Частотные фильтры низкой частоты. Частотные методы повышения резкости. 11 7-8 4 1.5 Пирамиды изображений. Преобразование Хаара. Кратномасштабное разложение изображения. Масштабирующие функции и вейвлет-функции. Разложение в вейвлет-ряды. Дискретное вейвлет-преобразование. Быстрое вейвлет-преобразование. Двумерные вейвлет-преобразования. Использование вейвлетов при обработке изображений. 11 9- 8 1.6 Основные понятия параллелизма и векторизации. Конструирование параллельных алгоритмов обработки изображений. 11 1314 4 11 15- 6 1.3 1.4 1.7 фильтры. фильтры 2. Одномерное преобразование Фурье и его обращение. Двумерное дискретное преобразование Фурье и его обращение. Свойства преобразования Фурье. Необходимость дополнения данных нулями при реализации дискретного преобразования Фурье. Быстрое преобразование Фурье. 3. Архитектуры вычислительных 12 344 Экзамен Лабор. работа Самост. работа Контр. работа Лекция Раздел дисциплины Виды учебной работы, включая самостоятельную работу студентов и трудоемкость Формы текущего (в часах) контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) Неделя семестра № п/п Семестр Общая трудоемкость дисциплины составляет __2___ зачетных единиц, __72___ часа. систем для параллельной обработки изображений. Отображение параллельных алгоритмов обработки изображений на гиперкубические и тороидальные сети процессоров. Обработка изображений на графических процессорах с использованием CUDA. 17 11 170 8 8 Экзамен 5. Образовательные технологии Традиционная лекционно-семинарская система обучения. 6. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов Образцы вопросов для подготовки к экзамену: 1. Дискретизация непрерывных изображений. 2. Квантование яркости изображений. 3. Градационные преобразования изображений. 4. Преобразования гистограммы. 5. Сглаживающие пространственные фильтры. 6. Пространственные фильтры повышения резкости. 7. Одномерное преобразование Фурье и его обращение. 8. Двумерное дискретное преобразование Фурье и его обращение. 9. Связь между пространственными фильтрами и их аналогами в частотном пространстве. Теорема о свертке. 10. Фильтры низкой частоты. 11. Частотные методы повышения резкости. 12. Свойства преобразования Фурье. 13. Необходимость дополнения данных нулями при реализации дискретного преобразования Фурье. 14. Теорема о корреляции. 15. Быстрое преобразование Фурье. 16. Пирамиды изображений. 17. Преобразование Хаара. 18. Кратномасштабное разложение изображения. Масштабирующие функции и вейвлет-функции. 19. Разложение в вейвлет-ряды. Дискретное вейвлет-преобразование. 20. Быстрое вейвлет-преобразование. 21. Двумерные вейвлет-преобразования. Использование вейвлетов при обработке изображений. 22. Основные понятия параллелизма и векторизации. 23. Конструирование параллельных алгоритмов обработки изображений. 24. Архитектуры вычислительных систем для параллельной обработки изображений. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 345 1. Цифровая обработка изображений в информационных системах: Учеб. Пособие/ И.С. Грузман, В.С. Киричук и др. – Новосибирск: Изд-во НГТУ, 2002. – 352 с. 2. Гонсалес Р., Вудс Р. Цифровая обработка изображений.-М.: Техносфера, 2005. – 1072 с. 3. Шапиро Л., Стокман Дж. Компьютерное зрение. М.: БИНОМ. Лаборатория знаний, 2006. 752 с. 4. Сергиенко А.Б. Цифровая обработка сигналов. СПб.: Питер, 2007. 751 с. 5. Корнеев В.В. Вычислительные системы.- М.: Гелиос АРВ, 2004. – 512 с. 6. Миллер Р., Боксер Л. Последовательные и параллельные алгоритмы: Общий подход. М.: БИНОМ. Лаборатория знаний, 2006. 406 с. 7. Тарков М.С. Отображение нейросетевых алгоритмов анализа изображений на регулярные структуры распределенных вычислительных систем// Известия Томского политехнического университета.- 2008, том 313, №5, С.101-105. 8. Нейрокомпьютеры в прикладных задачах обработки изображений. Кн.8/ Под ред. А.Н. Балухто, А.И. Галушкина. – М.: Издательство «Радиотехника», 2003. 224 c. 9. Gonzalez A., Valero-Garcia M., Diaz de Cerio L. Executing Algorithms with Hypercube Topology on Torus Multicomputers// IEEE Trans. on Parallel and Distributed Systems. 1995. Vol.6. No.8. P.803814. 10. Tarkov M.S., Mun Y., Choi J., Choi H.I. Mapping Adaptive Fuzzy Kohonen Clustering Network onto Distributed Image Processing System// Parallel Computing. 2002. Vol. 28. No.9. P.12391256. б) дополнительная литература: 1. Salomon D. Data compression: the complete reference. – 2nd edition, Springer-Verlag, 2000. 2. Новейшие методы обработки изображений./ Под ред. А.А. Потапова. М.: ФИЗМАТЛИТ, 2008. 496 с. 3. Винклер Г. Анализ изображений, случайные поля и динамические методы МонтеКарло. Математические основы. Новосибирск, Изд-во СО РАН, филиал «Гео», 2002. 343 с. 8. Материально-техническое обеспечение дисциплины Ноутбук, мультимедиапроектор, презентации. 346 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Нейрокомпьютерные системы» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Тарков Михаил Сергеевич, к.т.н. (подпись) 347 Аннотация рабочей программы дисциплины «Нейрокомпьютерные системы» Дисциплина «Нейрокомпьютерные системы» является частью математического цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой вычислительных систем ММФ НГУ. Содержание дисциплины включает нейронные сети, генетические алгоритмы и методы нечеткой логики. Дисциплина нацелена на формирование общекультурных компетенций ОК-6, ОК-8, ОК-11, ОК-12, профессиональных компетенций ПК-12, ПК-20, ПК-21, ПК-25, ПК-29 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, самостоятельную работу студентов. Программой дисциплины предусмотрены следующие виды контроля: промежуточный контроль в форме зачета, устный экзамен. Общая трудоемкость дисциплины составляет 144 академических часа. Программой дисциплины предусмотрены 68 лекционных часов. Остальное – различные формы контроля. 348 1. Цели освоения дисциплины (курса) Дисциплина (курс) «Нейрокомпьютерные системы» имеет своей целью систематизацию знаний о возможностях и особенностях применения нейрокомпьютерных алгоритмов и систем для обработки информации. 2. Место дисциплины в структуре образовательной программы Дисциплина «Параллельные системы обработки изображений» опирается на следующие дисциплины данной ОП: Архитектура параллельных вычислительных систем; Теория параллельных систем и процессов. Результаты освоения дисциплины «Параллельные системы обработки изображений» используются в следующих дисциплинах данной ООП: Параллельные системы обработки изображений Параллельные системы баз данных; Современные методы распределенных вычислений; Параллельные численные методы; Параллельные алгоритмы для решения больших задач. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины В результате освоения дисциплины обучающийся должен: Знать: основные типы нейронных сетей и задач, для решения которых эти нейронные сети предназначены; типовые методы, используемые при выборе архитектуры и обучении нейронных сетей; эффективные методы оптимизации, пригодные для обучения нейронных сетей, и методы контрастирования (редукции) сетей. Уметь: сделать сравнительный анализ и обосновать выбор архитектуры нейронной сети для решения поставленной задачи; разработать программную реализацию выбранного типа нейронной сети, произвести ее обучение и испытание. Владеть методикой разработки архитектуры и обучения нейронных сетей применительно к различным классам задач обработки данных. 349 4. Структура и содержание дисциплины «Нейрокомпьютерные системы» Общая трудоемкость дисциплины составляет __4___ зачетных единиц, __144__ часа. Лекция Неделя семестра Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) 1.1 Введение в нейрокомпьютерные системы. Элементы нейронных сетей. Понятие нейронной сети (НС). История возникновения НС и перспективы их развития. Отличия НС от традиционных вычислительных систем. Задача четкого разделения двух классов на обучающей выборке. Разделение центров масс. Алгоритм обучения персептрона. Виды обучения. Геометрическая интерпретация задачи разделения двух классов. 1.3 Аппроксимация функций. Адалайн. Паде-нейрон. Нейрон с квадратичным сумматором. 3 1 2 2 2 3 3 2 3 4-5 4 3 6-8 6 1.2 Виды нейронных сетей и решаемые ими задачи. Реализация булевских функций посредством НС. Виды НС. Способы организации функционирования НС. Интерпретация ответов НС. Виды интерпретации. Оценка способности НС решить поставленную задачу. Константа Липшица сети. Метод обратного распространения ошибки. 1.5 Методы оптимизации, используемые при обучении нейронных сетей. Особенности задачи оптимизации, возникающей при обучении НС. Выбор направления минимизации. Партан-методы. Одношаговый квазиньютоновский метод и сопряженные градиенты. Одномерная минимизация. Методы глобальной оптимизации. Алгоритм имитации отжига. Генетические алгоритмы. Использование 1.4 350 Экзамен Раздел дисциплины Лабор. работа Самост. работа Контр. работа № Семестр п/п Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) случайных возмущений в обучении. Метод виртуальных частиц. Рекуррентные нейронные сети как устройства ассоциативной памяти. Нейронная сеть Хопфилда как ассоциативная память. Сеть Хемминга. Двунаправленная ассоциативная память. Решение задач комбинаторной оптимизации на нейронных сетях. Решение задачи коммивояжера на сети Хопфилда. Машина Больцмана. Самоорганизация 1.7 нейронных сетей. Метод динамических ядер. Сети Кохонена. Машина опорных векторов. 1.8 Оптимальная гиперплоскость для линейно-разделимых образов. Метод построения машины опорных векторов. Когнитрон. Неокогнитрон. 1.9 Нейронные сети адаптивного 1.10 резонанса. Контрастирование 1.11 (редукция) нейронной сети. Оценка значимости параметров и сигналов.Сокращение числа входов в линейном сумматоре методом "снизу-вверх". Метод исключения параметров "сверхувниз" с ортогонализацией. Бинаризация адаптивного сумматора. Методы реализации 1.12 нейрокомпьютеров. Электронные методы реализации НС. Нейрочипы. Нейропроцессор NM6403. Оптические методы реализации НС. 3 Основные понятия и определения теории нечетких множеств. Операции на нечетких 1.14 множествах. Операции над нечеткими числами. Треугольные нормы. Нечеткие отношения и их 1.15 свойства. Нечеткое правило вывода modus ponens. Нечеткое правило вывода modus tollens. Правила нечеткой импликации. Модуль нечеткого 1.16 управления. Методы дефазификации. Метод нечеткого управления Такаги-Сугено. Проектирование базы 1.17 нечетких правил на основе численных данных. Основные понятия 1.18 генетических алгоритмов. Классический генетический алгоритм. Кодирование параметров задачи в генетическом алгоритме. Решение задач 1.19 комбинаторной оптимизации с помощью генетических алгоритмов. Основная теорема о 1.20 генетических алгоритмах 1.6 1.13 9- 4 3 11 2 3 12 2 3 3 13 14 2 2 3 1516 4 3 17 2 4 1 2 4 2-3 4 4 4-5 4 4 6-7 4 4 8 2 9- 4 4 11 2 4 12 2 4 10 10 351 8 Зачет (теорема о схемах). Модификации классического генетического алгоритма. Альтернативные методы селекции. Методы масштабирования функции приспособленности. Ниши в генетических алгоритмах. Генетические алгоритмы для многокритериальной оптимизации. Направления эволюционного 1.22 моделирования. Эволюционные алгоритмы в нейронных сетях. Структура модуля нечеткого 1.23 управления. Обучение модуля нечеткого управления алгоритмом обратного распространения ошибки. Представление модуля нечеткого управления в виде стандартной нечеткой сети. Структура модуля нечеткого управления с нейронной сетью для выполнения дефазификации. Алгоритмы обучения модуля нечеткого управления с нейронной сетью для выполнения дефазификации. 1.21 4 1314 4 4 15 2 4 1617 4 4 68 8 16 Экзамен 5. Образовательные технологии Традиционная лекционно-семинарская система обучения. 6. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов Образцы вопросов для подготовки к экзамену: Раздел 1. 1) Понятие нейронной сети (НС). Отличия НС от традиционных вычислительных систем. 2) Элементы нейрона. Сигмоидальный нейрон. 3) Задача четкого разделения двух классов на обучающей выборке. Разделение центров масс. 4) Алгоритм обучения персептрона. Виды обучения. 5) Геометрическая интерпретация алгоритма обучения персептрона. 6)Аппроксимация функций. Адалайн. Паде-нейрон. Нейрон с квадратичным сумматором. Раздел 2 1)Реализация булевских функций посредством НС. 2) Виды НС. Способы организации функционирования НС. 3) Интерпретация ответов НС. Виды интерпретации. 4) Оценка способности нейронной сети решить задачу. Константа Липшица сети. 5) Метод обратного распространения ошибки. Раздел 3. 1)Особенности задач оптимизации, возникающих при обучении НС. 352 2) Выбор направления минимизации. Партан-методы. 3) Одношаговый квазиньютоновский метод и сопряженные градиенты. 4) Одномерная минимизация. 5) Методы глобальной оптимизации. Алгоритм имитации отжига. 6) Методы глобальной оптимизации. Генетические алгоритмы. 7) Метод виртуальных частиц. Раздел 4. 1)Двунаправленная ассоциативная память. 2) Нейронная сеть Хопфилда как ассоциативная память. 3) Сеть Хемминга. 4) Решение задачи коммивояжера на сети Хопфилда. 5) Машина Больцмана. Решение задачи коммивояжера. Раздел 5. 1)Самообучение НС. Метод динамических ядер. Сети Кохонена Раздел 6. 1)Контрастирование (редукция) нейронной сети. Оценка значимости параметров и сигналов. 2)Сокращение числа входов в линейном сумматоре методом "снизу-вверх". 3) Метод исключения параметров "сверху-вниз" с ортогонализацией. 4) Бинаризация адаптивного сумматора Раздел 7. 1)Электронные методы реализации НС. Нейрочипы. 2)Оптические методы реализации НС. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: 1. Осовский С. Нейронные сети для обработки информации.-М.: Финансы и статистика, 2002. 2. Каллан Р. Основные концепции нейронных сетей.-М.:Изд. Дом «Вильямс», 2001. 3. Заенцев И.В. Нейронные сети. Основные модели.- Воронеж:ВГУ.-1999 г. 4. Тарков М.С. Нейрокомпьютерные системы. – М.: Интернет-Ун-т Информ. Технологий : Бином. Лаборатория знаний, 2006. - 142 с. 5. Тарков М.С. Нейрокомпьютеры. Новосибирск: НГУ. 2007. 164 с. 6. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы.- М.: Горячая линия – Телеком, 2004. 7. Хайкин С. Нейронные сети: полный курс.-М.: Вильямс, 2006.-1104 с. б) дополнительная литература: 1. Миркес Е.М. Нейрокомпьютер. Проект стандарта. – Новосибирск: Наука, 1999. 2. Круглов В.В., Борисов В.В. Искусственные нейронные сети. Теория и практика.М.:Горячая линия – Телеком, 2002. 3. Комарцова Л.Г., Максимов А.В. Нейрокомпьютеры. М.: МГТУ им. Н.Э.Баумана, 2004. 400 с. 353 4. Кохонен Т. Самоорганизующиеся карты. М.: БИНОМ. Лаборатория знаний, 2008. 655 с. 5. Системы искусственного интеллекта. Практический курс/ В.А.Чулюков, И.Ф. Астахова, А.С. Потапов и др.; под ред. И.Ф. Астаховой. М.: БИНОМ. Лаборатория знаний, 2008. 292 с. 6. Штовба С.Д. Проектирование нечетких систем средствами МАТЛАБ. М.: Горячая линия – Телеком, 2007. – 288 с. 7. Нейрокомпьютеры: от программной к аппаратной реализации/ М.А. Аляутдинов, А.И. Галушкин, П.А. Казанцев, Г.П. Остапенко. М.: Горячая линия – Телеком, 2008. – 152 с. 8. Материально-техническое обеспечение дисциплины Ноутбук, мультимедиапроектор, презентации. 354 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Параллельные алгоритмы решения больших задач» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Вшивков В.А., д.ф.-м.н. (подпись) 355 (ФИО) Аннотация рабочей программы Дисциплина «Параллельные алгоритмы решения больших задач» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механикоматематическом факультете Новосибирского государственного университета кафедрой Вычислительных систем ММФ НГУ. Содержание дисциплины включает классические методы параллельной сортировки, суммирования чисел с получением частичных сумм, решения систем линейных алгебраических уравнений, обращения квадратной матрицы и вычисления определителя рассмотрены параллельные методы решения систем обыкновенных дифференциальных уравнений и дифференциальных уравнений в частных производных. Дисциплина нацелена на формирование общекультурных компетенций ОК-2, ОК-3, ОК-4, ОК-5, ОК-8, профессиональных компетенций ПК-1 – ПК-13 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, практические занятия, контрольные работы, самостоятельную работу студентов. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме контрольных работ, промежуточный контроль в форме письменного экзамена и устного экзамена. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 5 зачетных единиц, !Неопределенная закладка, OPERSRESE академических часов. Программой дисциплины предусмотрены !Неопределенная закладка, OPERSRESE часа лекционных, 32 часа практических занятий для каждой группы, !Неопределенная закладка, OPERSRESE часов самостоятельной работы. Остальное – различные формы контроля. 356 1. Цели освоения дисциплины Дисциплина «Параллельные алгоритмы решения больших задач» имеет своей целью изучение классических и современных параллельных вычислительных алгоритмов для решения больших задач естественно-научного, технического и экономического цикла. 2. Место дисциплины в структуре образовательной программы Данная дисциплина является вариативной (общенаучной) частью ООП «Прикладная математика и информатика» и тесно связана с базовыми дисциплинами циклов данного ООП: 1. Общенаучный цикл: дисциплина «Современные проблемы прикладной математики и информатики»; 2. Профессиональный цикл: дисциплина «Современные компьютерные технологии». Предполагается, что студенты должны обладать необходимыми компетенциями по базовым дисциплинам ООП «Прикладная математика и информатика», квалификация (степень) – бакалавр: «Геометрия и алгебра», «Программирование вычислений», «Дискретная математика», «Функциональный анализ», «Дифференциальные уравнения», «Механика сплошной среды», «Уравнения математической физики», «Численный методы», «Основы параллельного программирования», «Управление ресурсами вычислительных систем», «Архитектура ЭВМ». 3. Компетенция обучающегося, формируемые в результате освоения дисциплины В результате освоения дисциплины обучающийся должен: Знать: 1. основные параллельные алгоритмы для решения больших задач, 2. параллельные алгоритмы сортировки чисел, 3. параллельные алгоритмы суммирования с оценкой их погрешности, 4. параллельные алгоритмы решения больших систем линейных алгебраических уравнений, 5. параллельные алгоритмы вычислительной линейной алгебры, 6. параллельные методы выполнения быстрого преобразования Фурье, 7. параллельные методы решения систем обыкновенных дифференциальных уравнений, 8. параллельные методы решения дифференциальных уравнений в частных производных эллиптического типа, 9. параллельные методы решения дифференциальных уравнений в частных производных параболического типа, 10. параллельные методы решения дифференциальных уравнений в частных производных гиперболического типа, 11. параллельные методы решения дифференциальных уравнений в частных производных смешанного типа. Уметь: 357 1. создавать алгоритмы для параллельного решения различных математических задач, 2. разрабатывать и реализовывать разработанные алгоритмы с помощью языков программирования на различных архитектурах: высокопроизводительных многоядерных компьютерах, высокопроизводительных многопроцессорных системах, графических и других специальных современных ускорителях, программируемых логических интегральных схем, гетерогенных вычислительных системах. 3. контролировать целостность и точность полученных результатов, 4. оценивать реальную эффективность созданного алгоритма и параллельной программы. Владеть: 1. оценками эффективности выбора параллельного алгоритма и архитектуры вычислительной системы для решения прикладной или фундаментальной задачи, 2. соответствующими формализованными и неформализованными подходами к построению параллельного алгоритма, его верификации, программной реализации, тестированию, 3. анализом производительности, точности и надёжности параллельных реализаций. 4. Структура и содержание дисциплины «Параллельные алгоритмы решения больших задач» Общая трудоёмкость дисциплины составляет 5 зачётных единиц, 180 часов. Таблица 1. Расписание учебной работы Виды учебной работы, включая Формы самостоятельную работу и текущего трудоёмкость (в часах) контроля успеваемости и аттестации 1 Основные понятия теории параллельных алгоритмов. Алгоритм сортировки Батчера 1 1-2 Лекции (2 часа) 1 3-5 Лекции (4 часа) 3 Общие параллельные алгоритмы 1 7-13 Лекции (8 часов) 4 Алгоритмы линейной алгебры 1 15-17 Лекции (4 часа) 2 Неделя семестра Раздел дисциплины Семестр № п/п 358 Лаб. работы (4 часа) Лаб. работы (4 часа) Самост. работа (5 часов) Самост. работа (15 часов) Самост. работа (15 часов) Самост. работа (15 часов) Контрольная работа (8-я неделя) Экзамен за семестр 5 6 Дискретное преобразование Фурье Параллельные алгоритмы для решения задач математической физики 2 1-9 2 10-17 Лекции (14 часов) Лаб. работы (12 часа) Лаб. работы (12 часа) Самост. работа (25 часов) Самост. работа (25 часов) Экзамен за семестр Темы лекционных занятий по разделам дисциплин: 1. Основные понятия теории параллельных алгоритмов. Краткий обзор современных параллельных ЭВМ и кластеров. Пример параллельного алгоритма Левиалди. Пример программы, реализующий алгоритм Левиалди. Пример распараллеливания пузырькового алгоритма сортировки. Пример последовательного и параллельного алгоритмов для решения задачи суммирования чисел. Сравнение количества времени, необходимого для решения задач с помощью последовательного и параллельного алгоритмов. 2. Алгоритм сортировки Батчера. Определения компаратора, компараторной, сортирующей и объединяющей сетей. Определения битонической последовательности и битонического делителя. Теорема о битоническом делителе. Битонический алгоритм сортировки. Алгоритмы слияния Батчера сортировки Батчера. Время выполнения алгоритма. 3. Общие параллельные алгоритмы. Нисходящий и восходящий параллельные алгоритмы. Приведение к общим алгоритмам битонического алгоритма сортировки, алгоритма вычисления частичных сумм, алгоритма перестановки, алгоритма слияния Батчера, операции сдвига данных. 4. Алгоритмы линейной алгебры. Матричное умножение. Определение четности перестановки чисел. Свойства определителя матрицы. Определения и свойства векторных и матричных норм. Стандартные векторные нормы. Определения собственных чисел матрицы и собственных векторов и их свойства. Связь определителя матрицы с ее собственными значениями. Собственные значения подобных и обратных матриц. Эрмитова положительно определенная матрица и ее собственные значения. Вычисление матричных норм. Итерационный метод Якоби. Теорема о сходимости метода Якоби. Скорость сходимости метода. Метод верхней релаксации Якоби и его свойства. Теорема о сходимости метода верхней релаксации. Метод последовательной верхней релаксации. Определения упорядочения и последовательного упорядочения матрицы. Теорема о распараллеливании метода последовательной верхней релаксации. Вычисление оптимального коэффициента релаксации. Связь обнаружения последовательного упорядочения матрицы с задачей раскраски графа. Алгоритм обнаружения последовательного упорядочения матрицы. Схема итераций Ричардсона. Методы степенных рядов. Теорема о степенях нижней треугольной матрицы. Обратная матрица для треугольной матрицы. Алгоритм Пана-Райфа вычисления обратной матрицы. Достаточно хорошая оценка для обратной матрицы. Теорема о сходимости степенного ряда к 359 обратной матрице. Нелинейные задачи. Сжимающее и псевдосжимающее отображения. Решение систем нелинейных уравнений. Метод Ньютона. Метод продолжения. Параллельный алгоритм для вычисления определителя матрицы. След матрицы. 5. Дискретное преобразование Фурье. Определение и основные свойства. Быстрый алгоритм для получения свертки двух последовательностей. Теорема о свойстве степеней главного корня единицы. Теорема об обратном преобразовании Фурье. Алгоритм быстрого преобразования Фурье. Идея алгоритма. Определение перемещающей операции. Теорема о полной перемещающей операции. Графическая схема метода. Пример параллельной программы, осуществляющей быстрое преобразование Фурье. Оценка времени выполнения алгоритма на параллельных процессорах. Применение быстрого преобразования Фурье. Собственные значения циклических матриц. Алгоритм вычисления. Дискретное преобразование по вейвлетам. Параллельный алгоритм быстрого преобразования по вейвлетам. Содержание лабораторных работ по разделам дисциплин: 1. Параллельные методы сортировки данных: Изучение метода сортировки Батчера. Реализация сортировки Батчера на многоядерных архитектурах. Исследование алгоритмической сложности последовательной и параллельной реализаций сортировки. 2. Влияние погрешности вычислений Параллельные методы численного интегрирования: Изучение и реализация методов численного интегрирования. Реализация методов численного интегрирования на многопроцессорных архитектурах. Исследование накопления погрешности. 3. Параллельные методы решения систем линейных алгебраических уравнений с разреженными матрицами: Изучение и реализация методов решения СЛАУ с разреженной матрицей на многопроцессорных ЭВМ. Изучение форматов хранения разреженных распределённых матриц. Исследование эффективности параллельной реализации. 4. Параллельные методы решения уравнений газовой динамики. Изучение и реализация метода Годунова для решения уравнений газовой на многопроцессорных ЭВМ. Изучение газодинамических течений. Исследование эффективности параллельной реализации. Разработка модели процедуры распада разрыва для реализации на ПЛИС. 5. Параллельные методы решения уравнения Пуассона. Изучение и реализация метода решения уравнения Пуассона в трёхмерной постановке с использованием быстрого преобразования Фурье. 360 Изучение библиотеки FFTW для реализации параллельного трёхмерного преобразования Фурье. Изучение библиотеки CUFFT для реализации трёхмерного преобразования Фурье на видеокарте. Исследование эффективности параллельной реализации. Темы индивидуальных занятий: 1. Современные параллельные методы решения системы обыкновенных дифференциальных уравнений. 2. Современные параллельные методы решения уравнений в частных производных гиперболического типа. 3. Современные параллельные реализации метода частиц в ячейках. Самостоятельная работа в течение учебного года состоит в подготовке к лабораторным работам и лекциям по каждой теме дисциплины. Работа выполняется на параллельных вычислительных системах Сибирского суперкомпьютерного центра. План самостоятельной работы может быть следующим: обзор методов решения систем обыкновенных дифференциальных уравнений (10 часов), обзор методов решения параболических и гиперболических уравнений (20 часов), обзор методов решения уравнения Пуассона (10 часов), обзор параллельных методов решения систем обыкновенных дифференциальных уравнений (15 часов), обзор параллельных методов решения параболических и гиперболических уравнений (25 часов), обзор параллельных методов решения уравнения Пуассона (10 часов), обзор параллельных методов решения систем линейных алгебраических уравнений (10 часов). Отчёт о выполнении лабораторной работы представляется в виде пояснительной записки и файлов с исходными текстами программ: титульный лист, полный текст задания к лабораторной работе, содержание: постановка цели лабораторной работы, алгоритм решения задачи, модель параллельного алгоритма, программная реализация, достаточный набор тестов, результаты выполнения работы, выводы. список использованных источников. 361 5. Образовательные технологии В качестве образовательной технологии по данной дисциплине будет использоваться учебно-методический программный комплекс «Параллельные алгоритмы решения больших задач», разработанный в НГУ авторами данной дисциплины. Комплекс даёт возможность самостоятельного проверки полученных знаний по следующим темам: 1. основные понятия теории параллельных алгоритмов, 2. параллельные численные методы для решения типовых задач вычислительной математики, 3. распараллеливание методов решения систем линейных алгебраических уравнений, 4. дискретное преобразование Фурье, 5. распараллеливание метода частиц в ячейках. Проверка знаний осуществляется средством выбора, прохождения и анализа результатов теста (рисунки 1 – 3): Рисунок 1. Выбор теста. Рисунок 2. Прохождение выбранного теста. Интерактивная система проверки знаний, входящих в состав учебно-методического комплекса, позволяет студентам самостоятельно контролировать уровень знаний и практических навыков в параллельных алгоритмах решения больших задач. 362 Рисунок 3. Результаты тестирования. 6. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов 1. 2. 3. 4. Запишите закон Амдала и назовите переменные q– f– p– k– Нарисуйте схему сортирующей сети и продемонстрируйте ее работоспособность на примере набора произвольного набора натуральных чисел, n = 5: Является ли последовательность битонической: 2 10 8 5 4 3 2 1 ДА НЕТ 8 7 6 5 6 1 2 3 ДА НЕТ 0 0 1 1 0 0 0 1 ДА НЕТ 1 0 0 0 0 0 0 1 ДА НЕТ Нарисуйте схему битонического делителя и продемонстрируйте ее работоспособность на примере набора произвольного набора из нулей и единиц: 363 5. Нарисуйте схему битонической сортирующей сети и продемонстрируйте ее работоспособность на примере произвольного набора натуральных чисел, n = 8: 6. Количество операций: Битонический делитель Битоническая сортировка Слияние Батчера Сортировка Батчера Нечетно-четное слияние Модифицированная каскадная схема суммирования 7. Проделайте подробно слияние Батчера для двух произвольных последовательностей натуральных чисел: 8. Проделайте подробно нечетно-четное последовательностей натуральных чисел: 364 слияние для двух произвольных 9. Какой метод слияния эффективнее и почему? 10. Найдите частичные суммы произвольной последовательности натуральных чисел: 11. Для параллельных алгоритмов умножения матрицы на вектор напишите, используется ли конвейерность (да - нет) и количество операций: p n 2 да – нет T (n) p nk да – нет T (n) p 2n да – нет T (n) pn 12. 13. 14. 15. 16. 17. 18. 19. да – нет T (n) Шаг метода Якоби для двумерного уравнения Пуассона: Почему метод Якоби можно распараллелить? Какой метод декомпозиции применяется для этого? Запишите в матричной форме систему уравнений Ax=b для дискретного уравнения Пуассона с использованием красно-черного упорядочения: Запишите в матричной форме для этой системы уравнений метод Гаусса-Зейделя: Запишите в матричной форме для этой системы уравнений метод последовательной верхней релаксации: Опишите, как организована параллельная реализация итераций метода последовательной верхней релаксации с красно-черным упорядочением: Шаг метода Якоби для решения уравнения Ax b в матричном виде: u (i 1) Z ( A) 20. 21. Зачем потребовалось разрабатывать модификации метода Якоби? Чем отличается метод верхней релаксации от метода Якоби? Шаг метода верхней релаксации для решения уравнения Ax b в матричном виде: 365 22. 23. 24. 25. 26. С какой целью в этом курсе изучаются понятия упорядочения и последовательного упорядочения матрицы? Определение связаных между собой чисел: Определение упорядочения: Определение последовательного упорядочения: Найти упорядочение (последовательное, если можно) и вектор последовательного упорядочения матриц: 5 0 0 5 2 0 5 0 0 8 0 0 5 0 4 0 2 0 5 0 0 7 0 0 5 S1 , S 2 , S3 7. Критерии оценки результатов обучения Для аттестации студентов по дисциплине используется балльно-рейтинговая система. Рейтинг студента по дисциплине определяется как сумма баллов за работу в каждом семестре (текущий рейтинг) и баллов, полученных в результате итоговой аттестации (экзамена по теории). В таблице приведено максимальное количество баллов, которое может набрать студент по видам учебной деятельности в течение каждого семестра и диапазоны баллов, соответствующие минимальному и максимальному количествам баллов. Максимальная сумма баллов за каждый семестр составляет 100 баллов: текущий рейтинг – 60 баллов, экзамен по теории – 40 баллов. Правила текущей аттестации в каждом семестре дисциплины: 1. В течение семестра необходимо представить и защитить 3 лабораторные работы в сроки, установленные учебным графиком (см. таблицу 2). 2. К защите лабораторной работе допускаются студенты, выполнившие это задание, в полном объеме (все задания согласно варианту) и оформившие отчет в соответствии с требованиями. 3. На защите задания предлагается два теоретических вопроса (по заданию). 4. Максимальное количество баллов (20 или 30 в зависимости от вида задания) выставляется, если студент полностью ответил на все вопросы, без серьезных замечаний и недочетов. 5. Количество баллов 6-10 или 15-20 (в зависимости от вида работы) выставляется, если студент полностью ответил на один вопрос из двух, причем один из вопросов – практический. 6. Минимальное количество баллов 5 или 10 (в зависимости от вида работы) выставляется, если студент ответил на один вопрос из двух частично, с серьезными замечаниями, недочетами. 7. Пересдача лабораторных работ назначается, если студент не ориентируется в учебном материале, не может объяснить ход и результаты выполнения работы. В 366 случае пересдачи работы происходит потеря баллов (максимальное количество баллов составляет 5 или 10 в зависимости от вида работы). В случае представления и защиты задания с опозданием от учебного графика происходит потеря баллов (опоздание на 1 неделю - потеря 1 или 2 баллов в зависимости от вида работы, опоздание на 2 недели - потеря 2 или 4 баллов, 3 недели и более – потеря 50% баллов от максимально возможного). 8. Правила итоговой аттестации в каждом семестре дисциплины: 1. К экзамену по теории допускаются студенты, сдавшие 3 задания, и набравшие не менее 40% по результатам текущего рейтинга. 2. На зачете по теории предлагается два вопроса по разделам дисциплины. 3. Максимальное количество баллов 40 выставляется, если студент ответил на все вопросы по теории без серьезных замечаний. 4. Минимальное количество баллов выставляется, если студент справился с одним вопросом по теории. 5. «Автомат» по дисциплине без сдачи экзамена по теории, студент может получить, если в течение семестра он отвечал на все вопросы по теории, выполнил дополнительные задания повышенной сложности и набирал свыше 90% баллов по текущему рейтингу. п № п/ 1. 2. 3. Итого рейтингу: 4. Итого п № п/ 1. 2. Итого рейтингу: 4. Таблица 2.1. График учебного процесса первого семестра дисциплины Лабораторны Максимально Диапазон Срок е работы е количество ы баллов представлени баллов я и защиты (неделя семестра) Задание № 1 20 5-10 5 Задание № 2 20 5-10 10 Задание № 3 20 5-10 16 по текущему 60 30-60 Экзамен по теории 40 20-40 100 50 – 100 Таблица 2.2. График учебного процесса второго семестра дисциплины Лабораторны Максимально Диапазон Срок е работы е количество ы баллов представлени баллов я и защиты (неделя семестра) Задание № 1 30 10-15 8 Задание № 2 30 10-15 16 по текущему 60 30-60 Экзамен по 40 367 20-40 теории Итого 100 50 – 100 8. Учебно-методическое и информационное обеспечение дисциплины Основная литература: 1. В.В. Воеводин, Вл.В. Воеводин. Параллельные вычисления. БХВ – Петербург 2002. 609 с. 2. Вшивков В.А., Лазарева Г.Г., Снытников А.В. Параллельные численные алгоритмы. Решение задач многофазной гидродинамики и астрофизики. Учебное пособие, НГУ, 2006 г., 145 стр. 3. Малышкин В.Э., Корнеев В.Д. Параллельное программирование мультикомпьютеров. Изд-во НГТУ, 2006 г. 4. С. Немнюгин, О. Стесик. Параллельное программирование для многопроцессорных вычислительных систем. БХВ – Петербург, 2002. – 400 с. 5. Гантмахер Ф.Р. Теория матриц. Физматлит, 2004 г. 6. Ахо А., Ульман Д., Хопкрофт Д. Построение и анализ вычислительных алгоритмов. М.: Мир, 1979 г. 7. Стулов В.П. Лекции по газовой динамике. Изд-во Физматлит, 2004 г. 8. Гельфанд А.О. Исчисление конечных разностей. Изд-во Комкнига, 2006 г. 9. Хокни Р., Джессхоуп К. Параллельные ЭВМ. Архитектура, программирование и алгоритмы. - М.: Радио и связь, 1986. 10. Ортега Дж. Введение в параллельные и векторные методы решения линейных систем. – М.: Мир, 1991. 11. Милла С. Вэйвлеты в обработке сигналов. Изд-во Мир, 2005 г. Дополнительная литература: 1. Валях Е. Последовательно-параллельные вычисления. – М.: Мир, 1985. 2. Смит Ж.Р. Проектирование и анализ параллельных алгоритмов. Оксфорд, 1993. 368 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Моделирование дискретных динамических систем» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Родионов Алексей Сергеевич, д.т.н. (подпись) 369 Аннотация рабочей программы Дисциплина «Моделирование дискретных динамических систем» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механикоматематическом факультете Новосибирского государственного университета кафедрой «Вычислительные системы» ММФ НГУ. Содержание дисциплины включает: методы описания распределённых систем с дискретными событиями (СДС); методологию системного анализа и построения имитационных моделей СДС; алгоритмы генерации псевдослучайных объектов (величин, процессов, структур); планирование имитационного эксперимента и анализ его результатов, специализированные системы моделирования ns2 и OMNet++, методы параллельной реализации имитационных моделей СДС. Дисциплина нацелена на формирование общекультурных компетенций ОК-4, ОК-6 – ОК-11, ОК-14, ОК-15, профессиональных компетенций ПК-1 – ПК-13 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, лабораторные занятия, контрольные работы, самостоятельную работу студентов. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме контрольных работ, промежуточный контроль в форме устного экзамена. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 5 зачетных единиц, 180 академических часа. Программой дисциплины предусмотрены 68 часов лекционных, 59 часов лабораторных работ для каждой группы, !Неопределенная закладка, OPERSRESE часа самостоятельной работы. Остальное – различные формы контроля. 370 1. Цели освоения дисциплины (курса) Дисциплина (курс) «Моделирование дискретных динамических систем» имеет своей целью изучение студентами основ теории и практики математического моделирования систем с дискретными событиями (СДС) на примере вычислительных систем и сетей. 2. Место дисциплины в структуре образовательной программы Дисциплина «Моделирование дискретных динамических систем» опирается на следующие базовые дисциплины: теория графов; теория вероятностей и математическая статистика; исследование операций, методы программирования, а также на следующие дисциплины данной ООП: Архитектура параллельных вычислительных систем Параллельные численные методы. Результаты освоения дисциплины «Моделирование и оптимизация телекоммуникационных сетей» используются в следующих дисциплинах данной ООП: Параллельные системы баз данных; Современные методы распределенных вычислений 3. Компетенции обучающегося, формируемые в результате освоения дисциплины В результате освоения дисциплины обучающийся должен: Знать: этапы моделирования и их задачи; основные подходы к описанию моделей вычислительных систем и соответствующие формальные модели (системы и сети массового обслуживания, графы событий, случайные и нечёткие графы, гиперграфы и гиперсети, агрегированные системы, DEVS формализм); математические методы и алгоритмы расчёта и имитации СДС; специализированные программные средства имитации СДС. Уметь: проводить системный анализ моделируемой СДС; обосновывать выбор способа представления модели и программных средств её реализации; проводить численные и имитационные эксперименты и анализировать их результаты; использовать приобретённые знания при самостоятельном проведении математического и/или имитационного моделирования СДС. Владеть: навыками работы с отечественным и зарубежным информационносправочным материалом; методами использования соответствующих алгоритмических, методических и программных подходов к построению моделей СДС и их элементов и их применения для анализа и оптимизации телекоммуникационных сетей различного назначения. 371 4. Структура и содержание дисциплины «Нейрокомпьютерные системы» Общая трудоемкость дисциплины составляет __5___ зачетных единиц, __180___ часов. 3 10 1 2 2- 20 372 2 18 15 2 Экзамен Контр. работа Лабор. работа Лекция Введение в предмет. Понятие моделирования. Классификация моделей. Имитационное моделирование. Этапы имитационного моделирования, их роль и содержание. Основные понятия и терминология имитационного моделирования. Основные подходы к описанию имитационных моделей вычислительных систем и сетей. Псевдослучайные 1.2 объекты, применяемые в моделировании СДС, и их генерация. Базовый датчик. Линейный конгруентный метод, выбор параметров метода. Тестирование базового датчика. 2.2. Генерация независимых, одинаково распределённых случайных величин. Непрерывный и дискретный случаи. Основные методы (обратной функции, отбраковки, использование линейных преобразований и т.д.). Генерация случайных процессов с заданными свойствами. Использование рандомизированных цепей Маркова для генерации случайных одномерных процессов с заданными распределением и автокорреляционной функцией. Генерация временных рядов. Генерация случайных графов с заданными свойствами. Метод 1.1 Самост. работа Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Неделя семестра Раздел дисциплины Семестр п/п № Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) допустимого выбора. Генерация случайных деревьев, связных графов, деревьев и графов с заданными степенями вершин и др. Генерация случайных строк бит. Строки с независимыми разрядами и заданной вероятностью появления единицы в разряде, строки с заданными сериальными характеристиками. Формальные модели 1.3 СДС. Системы и сети массового обслуживания. Замкнутые и открытые СеМО. Методы расчёта СеМО. Графы событий. Определение. Использование графа событий для определения минимального набора переменных состояния и определения минимального набора предварительно запланированных событий. Редукция графа событий. Технология написания программ с использованием графа событий. Агрегированные системы. Определение. Кусочно-линейные агрегаты. Иерархическое моделирование агрегированных систем. DEVS-формализм. Компонент DEVS. Генерические компоненты DEVS. Мультикомпоненты DEVS. Иерархическое описание и исполнение моделей. Параллельные DEVS.. Рассмотрение 1.4 конкретного примера построения и анализа модели ВС (в качестве консультации по пройденному материалу) Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Неделя семестра Раздел дисциплины Семестр п/п № 3 1116 12 10 8 3 17 2 2 2 2 8 373 Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) Зачёт Программные средства моделирования и различные подходы к описанию программных моделей. Транзактноориентированный подход к моделированию и язык GPSS. Процессноориентированный подход к моделированию и языки Симула и ModSim. Событийноориентированный подход к моделированию и языки Симскрипт и Simulink. Смешанные модели и язык Слам-2. Непрерывнодискретное моделирование. Специфические задачи проверки условий. Реализация дискретных и непрерывнодискретных систем имитационного моделирования в рамках пороцессно- и событийноориентированных подходов. Проблемы реализации 1.6 программных средств имитационного моделирования. Календарь событий. Уведомление о событии. Обработчик события. Эффективная реализация календаря событий. Одноимённые события. Одновременные события. Проблемы отладки имитационных моделей. Специфические ошибки. Трассировка событий. Проблемы параллельной реализации имитационных моделей. Синхронизация событий в процессах, исполняемых разными элементарными машинами. Различные подходы к проблеме и примеры алгоритмов синхронизации. Организация распределённого исполнения моделей. Объектноориентированный и агентный подход к 1.5 Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Неделя семестра Раздел дисциплины Семестр п/п № 4 4 1-5 10 8 6 2 6- 14 12 10 2 12 374 Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) организации моделей. Агентно-ориентированный пакет моделирования AGNES. Проблемно1.7 ориентированные пакеты моделирования.. OMNet++ и ns2. Описание моделей информационновычислительных систем и сетей, средства графического отображения хода и результатов моделирования. Организация 1.8 имитационного эксперимента. Сбор статистики по поведению модели. Задание на эксперимент. Особенности имитационного эксперимента. Методы понижения дисперсии в имитационном эксперименте. Стратифицированная выборка. Дополняющие случайные величины. Определение необходимого значения времени моделироования. Отсечение переходного процесса. Среднее по времени и среднее по наблюдениям. Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Неделя семестра Раздел дисциплины Семестр п/п № 4 1314 4 4 3 4 1517 6 5 6 4 68 59 52 Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) 1 9 8 16 Экзамен 5. Образовательные технологии Традиционная лекционно-лабораторная система обучения. 6. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов Образцы вопросов для подготовки к экзамену: Раздел 1. 1) Этапы имитационного моделирорвания. 2) Понятия события и активности. 3) Что такое «определение границ системы»? Чем оно определяется? 375 Раздел 2 1) Критерии качества базового датчика 2) Способы генерации с.в. равномерно распределённой на (0,1) 3) Генерация стационарных случайных процессов с заданными распределением и АКФ с помощью рандомизированных цепей Маркова. 4) Виды случайных графов и способы их описания. 5) Генерация случайных деревьев с ограничением на их диаметр. 6) Генерация случайных гиперсетей с ограничением на ёмкость рёбер. 7) Генерация случайных строк бит. Раздел 3. 1) Методы рсчёта замкнутых СеМО. 2) Понятие графа событитй. Основные задачи его анализа. 3) Определение минимального набора переменных состояния по анализу графа событий. 4) Кусочно-линейные агрегаты. Определение. 5) Построить граф событий для заданной несложной СеМО (4-5 СМО). 6) Генерические коипоненты DEVS/ 7) Мультикомпонента DEVS. Раздел 5. 1) Транзактный, событийный и процессный подходы к моделированию. Различие и сходство. 2) Операторы планирования событиями в процессно-ориентированных системах. 3) Схематическое представление моделей в СЛАМ-2 4) Средства поддержки сбора статистики в Simscript. 5) Блоки управления движением транзактов в GPSS. 6) Сбор нестандартной статистики в GPSS-моделях 7) Иерархическое исполение моделей, описанных DEVS-схемой. Раздел 6 1) .Календарь событий. Уведомление о событии. 2) Двухуровневая организация календаря событий с учётом одноимённых событий. 3) Типовые ошибки в транзактно-ориентированных моделях и их диагностика. 4) Типовые ошибки в объектно-ориентированных моделях и их диагностика. 5) Алгоритмы синхронизации модельного времени в распределённых моделях. 6) Использование агентов в создании интеллектуальных моделей. 7) Реализация оператора WAIT_UNTIL в процессно-ориентированных системах моделирования. Раздел 7 1) Организация системы моделирования ns2. 2) Язык Otcl и описание модели в ns2. 3) Язык Otcl и описание эксперимента в ns2. 4) Описание коммутации пакетов в моделях на ns2. 5) Графическое отображение хода моделирования в ns2. 6) Организация системы моделирования OMNet++. 7) Язык NED и описание модели в OMNet++. 8) Графическое отображение хода моделирования в OMNet++. 376 Раздел 8 1) Особенности имитационного эксперимента. 2) Методы понижениея дисперсии в имитационном эксперименте. 3) Определение необходимого объёма выборки. 4) Сбор и оперативная обработка статистики по поведению модели. 5) Усреднение по наблюдения и усреднение по времени: выбор способа в зависимости от задачи. 6) Планирование регрессионного эксперимента, типы оптимальных планов. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: [1].Конспект основных лекций (представлен в электронном виде). [2].Методические указания по выполнению лабораторных работ (представлены в электронном виде). [3].Родионов А.С. Имитационное моделирование на ЭВМ. Избранные лекции. Учебное пособие. – Новосибирск: НГУ, 1999. – 84 с. [4].Андрианов А.Н., Бычков С.П., Хорошилов А.И. Программирование на языке Симула67. – М: Наука, 1985. [5].Кельтон В. Д., Лоу А. М. Имитационное моделирование. Классика CS. 3-е изд. С-Пб: Питер, - 2004, 848 стр., ISBN 5-94723-981-7. [6].Кнут Д. Искусство программирования на ЭВМ. Т. 2. Получисленные алгоритмы. – 3 изд. М.: Вильямс, 2005 г., 832 с. [7].Прицкер А. Введение в имитационное моделирование и язык СЛАМ-2. – М.: Мир, 1987. [8].Шрайбер Т.Дж. Моделирование на GPSS. – М.: Машиностроение, 1980. [9].http://www.omnetpp.org/documentation [10]. http://www.cs.virginia.edu/~cs757/slidespdf/cs757-ns2-tutorial1.pdf б) дополнительная литература: [1].А.В. Войтишек. Основы метода Монте-Карло в алгоритмах и задачах. Части I-VI. Издво НГУ, 1977-2003. [2].Советов Б. Я., Яковлев С. А. Моделирование систем: Учеб. для вузов. М.: Высш. шк. (3-е изд., перераб. и доп.). 2001. - 343 с. [3].Технология системного моделирования /Аврамчук Е.Ф., Вавилов А.А., Емельянов С.В. и др.; Под общ. ред. С.В. Емельянова и др. - М.: Машиностроение; Берлин: Техник, 1988. 8. Материально-техническое обеспечение дисциплины Ноутбук, мультимедиапроектор, презентации. 377 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Моделирование и оптимизация телекоммуникационных сетей» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Родионов Алексей Сергеевич, д.т.н. (подпись) 378 Аннотация рабочей программы Дисциплина «Моделирование и оптимизация телекоммуникационных сетей» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механикоматематическом факультете Новосибирского государственного университета кафедрой «Вычислительные системы» ММФ НГУ. Содержание дисциплины включает: методы описания телекоммуникационных сетей (ТС) различного вида и назначения; показатели качества обслуживания, их математическая интерпретация и методы оптимизации; методы исследования ТС в условиях неполной и/или нечёткой информации; специализированные средства распределённого моделирования ТС. Дисциплина нацелена на формирование общекультурных компетенций ОК-4, ОК-6 – ОК-11, ОК-14, ОК-15, профессиональных компетенций ПК-1 – ПК-13 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, лабораторные занятия, контрольные работы, самостоятельную работу студентов. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме контрольных работ, промежуточный контроль в форме устного экзамена. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 2 зачетных единиц, 72 академических часа. Программой дисциплины предусмотрены 34 часов лекционных, 29 часов лабораторных работ для каждой группы, 23 часа самостоятельной работы. Остальное – различные формы контроля. 379 1. Цели освоения дисциплины (курса) Дисциплина (курс) «Моделирование и оптимизация телекоммуникационных сетей» имеет своей целью изучение студентами основ теории и практики математического моделирования телекоммуникационных сетей и их оптимизации. 2. Место дисциплины в структуре образовательной программы Дисциплина «Моделирование и оптимизация телекоммуникационных сетей» опирается на следующие базовые дисциплины: теория графов; теория вероятностей и математическая статистика; исследование операций, а также на следующие дисциплины данной ООП: Архитектура параллельных вычислительных систем Параллельные численные методы. Результаты освоения дисциплины «Моделирование и оптимизация телекоммуникационных сетей» используются в следующих дисциплинах данной ООП: Современные методы распределенных вычислений; Параллельные алгоритмы для решения больших задач. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины В результате освоения дисциплины обучающийся должен: Знать: этапы моделирования и их задачи; основные подходы к описанию моделей телекоммуникационных сетей и соответствующие формальные модели (системы и сети массового обслуживания, случайные и нечёткие графы, гиперграфы и гиперсети); математические методы и алгоритмы расчёта и имитации телекоммуникационных сетей; специализированные программные средства имитации телекоммуникационных сетей. Уметь: проводить системный анализ моделируемой сети; обосновывать выбор способа представления модели и программных средств её реализации; проводить численные и имитационные эксперименты и анализировать их результаты; использовать приобретённые знания при самостоятельном проведении математического и/или имитационного моделирования телекоммуникационных сетей. Владеть: навыками работы с отечественным и зарубежным информационносправочным материалом; методами использования соответствующих алгоритмических, методических и программных подходов к построению моделей телекоммуникационных сетей и их элементов и их применения для анализа и оптимизации телекоммуникационных сетей различного назначения. 380 4. Структура и содержание дисциплины «Нейрокомпьютерные системы» Общая трудоемкость дисциплины составляет __2___ зачетных единиц, __72___ часов. 3 1 2 2-4 6 381 2 7 6 1 Экзамен Контр. работа Лабор. работа Лекция Введение в предмет. Классификация современных телекоммуникационных сетей (ТС). Особенности структур и динамики различных ТС (беспроводные и проводные, сенсорные, управляющие, передачи данных, сотовые, мультисервисные и т.д.) Качество обслуживания как основной критерий оптимизации ТС. Показатели качества обслуживания. Псевдослучайные 1.2 объекты, применяемые в моделировании ТС, и их генерация. Генерация случайных процессов с заданными свойствами. Использование рандомизированных цепей Маркова для генерации случайных одномерных процессов с заданными распределением и автокорреляционной функцией. Генерация временных рядов. Особенности моделей различных видов трафика. Использование индикаторных рядов. Моделирование процессов с длинной АКФ. Генерация случайных графов с заданными свойствами. Метод допустимого выбора. Генерация случайных деревьев, связных графов, деревьев и графов с заданными степенями вершин и др. Генерация случайных строк бит. Строки с независимыми разрядами и заданной вероятностью 1.1 Самост. работа Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Неделя семестра Раздел дисциплины Семестр п/п № Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) появления единицы в разряде, строки с заданными сериальными характеристиками. Формальные модели 1.3 ТС, их использование в анализе и оптимизации ТС. Случайные графы (СГ) как модель ТС с ненадёжными элементами. Показатели связности СГ (kтерминальная связность, средняя вероятность связности пары вершин). Полиномы надёжности (по Колборну). Оптимизация структуры СГ. Учёт различного рода ограничений при расчёте и оптимизации показателей связности (ограничения на диаметр, число независимых путей и др.) Случайные гиперграфы (СГГ) и их использование в моделировании ТС СГГ в моделировании беспроводных сетей (сотовые, широковещательные, сенсорные). СГГ в моделировании мультисервисных сетей. Случайные гиперсети (СГС). Понятие СГС. Надёжность вторичной сети СГС как функция от надёжности элементов первичной сети при заданной укладке. Оптимизация укладки по критериям максимальной вероятности связности узлов вторичной сети (SN) и максимальной средней вероятности связности пары узлов SN. Методы точного и приближённого расчёта показателей связности случайных структур при наличии/отсутствии ограничений, равно/неравно-надёжных элементах. Нечёткие модели ТС. 1.4 Нечёткие графы и гиперграфы. Характеристики связности нечётких графов и гиперграфов. Поиск наиболее правдоподобных Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Неделя семестра Раздел дисциплины Семестр п/п № 3 3 5- 12 10 8 1113 6 6 4 10 382 2 Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) структур при известном множестве вершин, величине потоков и среднему количеству коммутаций. Нечёткие гиперсети. Проблема описания нечёткой ГС. Описание нечёткой укладки вторичной сети в первичную. Характеристики связности нечётких ГС. Программные средства 1.5 моделирования ТС. OMNet++ и ns2. Описание моделей сетей, средства графического отображения хода и результатов моделирования. Мультиагентный подход к моделированию ТС. Использование среды моделирования AGNES. Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Неделя семестра Раздел дисциплины Семестр п/п № 3 1417 6 4 3 2 34 29 23 5 3 8 8 Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) Экзамен 5. Образовательные технологии Традиционная лекционно-лабораторная система обучения. 6. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов Образцы вопросов для подготовки к экзамену: Раздел 1. 1) Показатели качества обслуживания сетей ATM и их математическая интерпретация. 2) Основные задачи оптимизации оптоволоконных сетей. 3) Задача назначения оптических частот в оптоволоконных сетях. 4) Основные задачи оптимизации беспроводных сенсорных сетей. 5) Средства управления в беспроводных сенсорных сетях и учёт этих средств в построении оптимальных стратегий управления. 6) Проблема Soft Handoff в беспроводных сотовых сетях и моделирование движения мобильного пользователя. Раздел 2 1) Генерация стационарных случайных процессов с заданными распределением и АКФ с помощью рандомизированных цепей Маркова. 383 2) Виды случайных графов и способы их описания. 3) Генерация случайных деревьев с ограничением на их диаметр. 4) Генерация случайных гиперсетей с ограничением на ёмкость рёбер. 5) Генерация случайных строк бит. Раздел 3. 1) Основные показатели связности СГ. 2) Метод факторизации в вычислении характеристик связности СГ и СГГ. 3) Приближённый расчёт вероятности связности СГ с ненадёжными рёбрами методом разрушения покрывающего дерева (метод Чена-Ли). 4) Метод расслоенной выборки при вычислении вероятности связности СГ методом Монте-Карло. 5) Последовательно-параллельная редукция в расчёте вероятности связности пары вершин СГ. 6) Методы понижения размерности при расчёте показателей связности СГ и СГГ. 7).Оптимальная укладка древовидной вторичной сети в кольцевую первичную. Раздел 4. 1) Нечёткие графы как модель коммуникационной сети. 2) Поиск путей в нечётких гиперграфах. 3) Нечёткая укладка в нечётких гиперсетях. 4) Снятие противоречий в задании значений неопределённости при описании нечётких гиперсетей. 5) Определение наиболее достоверного маршрута в нечётком графе. Раздел 5. 1) Основные требования к программным системам моделирования динамики телекоммуникационных сетей. 2) Возможности пакета ns2 для моделирования цифровых сетей передачи данных. 3) Описание протоколов в пакете ns2 4) Мультиагентный подход к моделированию больших сетей. 5) Стандарты взаимодействия агентов согласно спецификациям FIPA. 6) JADE как платформа создания агентно-ориентированных систем моделирования ТС. 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: [11]. Конспект основных лекций (представлен в электронном виде). [12]. Методические указания по выполнению лабораторных работ (представлены в электронном виде). [13]. Технология системного моделирования /Аврамчук Е.Ф., Вавилов А.А., Емельянов С.В. и др.; Под общ. ред. С.В. Емельянова и др. - М.: Машиностроение; Берлин: Техник, 1988. [14]. Л.С. Берштейн, А.В, Боженюк. Нечёткие графы и гиперграфы. – М.: Научный мир, 2005. [15]. В.К. Попков. Математические модели связности / Отв. Ред. А. С. Алексеев. – 2-е изд., испр. и доп. – Новосибирск: Изд. ИВМиМГ СО РАН, 2006. – 490 с. [16]. http://www.omnetpp.org/documentation [17]. http://www.cs.virginia.edu/~cs757/slidespdf/cs757-ns2-tutorial1.pdf 384 б) дополнительная литература: [4].А.В. Войтишек. Основы метода Монте-Карло в алгоритмах и задачах. Части I-VI. Издво НГУ, 1977-2003. [5].В.М. Вишневский. Теоретические основы проектирования компьютерных сетей. - М.: Техносфера, 2003.- 512 с. [6].В.М. Вишневский и др. Широкополосные беспроводные сети передачи информации - М.: Техносфера, 2005. – 592с. [7].Советов Б. Я., Яковлев С. А. Моделирование систем: Учеб. для вузов. М.: Высш. шк. (3-е изд., перераб. и доп.). 2001. - 343 с. 8. Материально-техническое обеспечение дисциплины Ноутбук, мультимедиапроектор, презентации. 385 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) (ФИО) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Использование СуперЭВМ в математическом моделировании» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Снытников Владимирович, к.ф.-м.н. (подпись) 386 Алексей Аннотация рабочей программы Дисциплина «Использование СуперЭВМ в математическом моделировании» входит в вариативную часть профессионального цикла ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механикоматематическом факультете Новосибирского государственного университета кафедрой Вычислительных Систем ММФ НГУ. Содержание дисциплины включает теоретические основ решения задач с примением суперЭВМ, специальные вычислительные методов, применямые при расчетах на суперЭВМ, особенности работы на суперЭВМ, методы анализа больших объемов данных. Дисциплина нацелена на формирование общекультурных компетенций ОК-1, ОК-3, ОК-7, профессиональных компетенций ПК-1 – ПК-13 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, самостоятельную работу студентов. Программой дисциплины предусмотрены следующие виды контроля: промежуточный контроль в форме дифференцированного зачета. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет, 2 зач. ед., 72 академических часа. Программой дисциплины предусмотрены 32 часа лекционных, 32 часа самостоятельной работы. Остальное – различные формы контроля. 387 Программа учебного курса (учебной дисциплины) «Использование СуперЭВМ в математическом моделировании.» 1. Цели освоения дисциплины (курса) Дисциплина (курс) «Использование СуперЭВМ в математическом моделировании» имеет своей целью изучение студентами теоретических основ решения задач с применением суперЭВМ, специальных вычислительных методов, применяемых при расчетах на суперЭВМ, особенностей работы на суперЭВМ, методов анализа больших объемов данных. 2. Место дисциплины в структуре образовательной программы Дисциплина «Использование СуперЭВМ в математическом моделировании» опирается на следующие дисциплины данной ОП: Архитектура параллельных вычислительных систем Технологии параллельного программирования Параллельные численные методы Результаты освоения дисциплины «Параллельные системы обработки изображений» используются в следующих дисциплинах данной ООП: 8. Параллельные алгоритмы для решения больших задач 9. Параллельные системы обработки изображений 10. Моделирование дискретных динамических систем 3. Компетенции обучающегося, формируемые в результате освоения дисциплины В результате освоения дисциплины обучающийся должен: Знать: методы вычислений, используемых для решения задач на суперЭВМ, типы архитектур суперЭВМ и возможностях их применения;ь основные постановки и методы решения задач вычислительной физики плазмы и астрофизики; Уметь: разрабатывать программы для суперЭВМ, а также отлаживать программы и визуализировать конечный результат. Владеть средствами отладки и профилировки параллельных программ а также инструментами визуализации 388 4. Структура и содержание математическом моделировании» дисциплины «Использование СуперЭВМ в Общая трудоемкость дисциплины составляет __2___ зачетную единицу, __72___ часов. еде ля сем ест ра Н Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) .1 .2 1Обзор суперЭВМ архитектур 3 1Технологии MPI,OpenMP, HPF. Вычисления на графических картах 2 2 2 1Методы 3 3 2 1Визуализация 3 4 2 анализ. Метод главных компонент. Факторный анализ 3 5 2 Итерационные методы Якоби, Гаусса-Зейделя, ПВР. 3 6 2 1 Методы подпространства Крылова: CG, GMRES. 3 7 2 1 Прямые методы: ПФ, метод редукции. 3 8 2 1Особенности отладки программ на суперЭВМ 3 9 2 Пример отладчика с последующим анализом информации: TotalView 3 10 2 .3 .4 .5 .6 проектирования параллельных программ. 1 данных. Распространенные программы. Анализ результатов удаленном режиме. в 1Корреляционный 1 .7 .8 .9 .10 1 389 2 Работа С Контр.рабо та ем ест р Самост.раб ота Раздел дисциплины Лабор.рабо та № Лекция п/п Формы текущего контроля успеваемости (по неделям семестра) Форма промежуточной аттестации (по семестрам) .11 .12 .13 .14 .15 .16 .17 .18 Использование профилировщиков для отладки: gprof и Intel Thread Analyzer 3 11 2 Возможности использования пошаговой отладки 3 12 2 1 Отладка больших задач в системах с очередью заданий 3 13 2 1Метод частиц в ячейках и его 3 14 2 1Свойства 3 15 2 1Альтернативные 3 16 2 1Моделирование 3 17 2 1 Космологическое 3 18 2 1 1 2 2 использование на суперЭВМ метода частиц в ячейках: необходимость больших расчетов методы: прямое решение уравнения Больцмана дисковых галактик: влияние размера и геометрии модели 2 моделирование: применение суперЭВМ 3 8 6 3 8 Экзамен 8 5. Образовательные технологии Традиционная лекционно-семинарская система обучения. 6. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов Образцы вопросов для подготовки к экзамену: Раздел 1. 1) Основные виды архитектур суперЭВМ 2) Достоинства и недостатки кластерной архитектуры 3) Технологии параллельного программирования для систем с общей памятью 4) Общая характеристика технологии MPI 5) Основные функции MPI 6) Характерные черты задачи, пригодной для решения на GPU Раздел 2 1) Итерационные методы: Якоби, Гаусса-Зейделя, ПВР. 2) Методы подпространства Крылова: CG, GMRES. 390 3) Прямые методы: ПФ, метод редукции. Раздел 3 1) Особенности отладки программ на суперЭВМ 2) Возможности использования пошаговой отладки 3) Отладка больших задач в системах с очередью заданий 4) Использование отладчика TotalView 5) Использовани профилировщиков для отладки 6) Анализ результатов в удаленном режиме. 7) Метод главных компонент Раздел 4 1) Метод частиц в ячейках: общая характеристика 2) Свойства метода частиц в ячейках 3) Сравнение метода частиц и прямых методов решения уравнения Больцмана Раздел 5 1) Влияние геометрии сетки на моделирование дисковых галактик 2) Реализация метода SPH на параллельных системах 7. Учебно-методическое и информационное обеспечение дисциплины а) основная литература: Ю.А.Березин, В.А.Вшивков «Метод частиц в динамике разреженной плазмы», Н:Наука, 1980. В.Д.Корнеев. «Параллельное программирование в MPI», изд-во СО РАН, 2000. В.В. Воеводин, Вл.В. Воеводин. «Параллельные вычисления». БХВ — СанктПетербург, 2002 Дж.Деммель. «Вычислительная линейная алгебра: Теория и приложения», М:Мир, 2001. В.А.Вшивков, Г.Г.Лазарева, А.В.Снытников. Параллельные численные алгоритмы решения задач астрофизики: Учеб. пособие // Новосиб. гос. ун-т., Новосибирск, 2007. 123 с. б) дополнительная литература: "The cosmological simulation code GADGET-2", Springel V., 2005, MNRAS, http://www.mpa-garching.mpg.de/gadget/gadget2-paper.pdf Validity of disk galaxy simulations. R. H. Miller, Journal of Computational Physics Volume 21, Issue 4, August 1976, Pages 400-437 Малышкин В.Э., Романенко А.А. "GEPARD - GEneral PARallel Debugger for MVS1000/M". //In proceedings of the International conference on Parallel Computing Technologies, Springer Verlag, Lecture Notes in Computer Science series, vol. 2763, 2003, pp.519-523. Малышкин В.Э., Романенко А.А. "Базисные функции отладчика параллельных программ GEPARD и их реализация для МВС-1000/М". //Материалы второго научно-практического семинара "Высокопроизводительные параллельные вычисления на кластерах ", Нижний Новгород, 2002г. 8. Материально-техническое обеспечение дисциплины Ноутбук, мультимедиапроектор, презентации. 391 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Технология программирования» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Васючкова Т.С., к.ф.-м.н. (подпись) 392 (ФИО) Аннотация рабочей программы Дисциплина «Технология программирования» является частью профессионального цикла (вариативная часть) ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Вычислительных систем ММФ НГУ. Содержание дисциплины включает изучение и освоение следующих тем: модели ЖЦПО, анализ свойств программного продукта, 4 подхода к организации технологий разработки П; задачи, методы, инструменты каждого этапа разработки ПО; методы оценки и обеспечение качества ПО; CASE средства автоматизации процесса разработки ПО. Дисциплина нацелена на формирование общекультурных компетенций ОК-4, ОК-7, профессиональных компетенций ПК-3, ПК-4 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: интерактивные лекции с экспресс тестированием и выполнением бизнес кейсов, подготовка рефератов, проведение миниконференций по темам курса, разбор реальных ситуаций, самостоятельную работу студентов. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме подготовки рефератов, проведения миниконференций по двум темам учебного курса, промежуточный контроль в форме дифференцированного зачета. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 4 зачетных единиц, 144 академических часа. Программой дисциплины предусмотрены 68 часов лекционных, 76 часов самостоятельной работы. Остальное – различные формы контроля. 1. Цели освоения дисциплины Целями освоения дисциплины «ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ» является формирование у студента инженерного подхода к процессу разработки программ по следующим ключевым позициям: - понимание моделей жизненного цикла программ как инструмента планирования и организации работ в программном проекте; - систематизация знаний о возможностях и особенностях применения различных методологий и технологий разработки информационных систем; - начальное формирование точки зрения аналитика, способного сделать обоснованный выбор методов и технологий для решения задач разного типа, умеющего определить критерии этого выбора; - знание методов, средств, инструментов, применяемых на каждом этапе жизненного цикла программного изделия; - представление о взаимосвязи между показателями качества программы и качества процесса ее разработки, методы обеспечения качества; - видение проблем построения и применения технологии разработки в разных аспектах – методологическом, управленческом, инструментальном, организационном, стоимостном, внедренческом. 2. Место дисциплины «ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ» в структуре магистерской программы Данная дисциплина относится к циклу профессиональных дисциплин М2 (вариативная часть). С другими частями образовательной программы соотносится следующим образом: Дисциплины, предшествующие по учебному плану относятся к блоку дисциплин «программирования», дающих теоретические знания методов и языков программирования и навыки их применения для создания программ: Программирование на языке высокого уровня Сети ЭВМ и телекоммуникации Математическая логика и теория алгоритмов Требования к первоначальному уровню подготовки обучающихся для успешного освоения дисциплины: Уровень «знать»: Основные понятия и конструкции языков программирования (процедуры, функции, указатели) Объектно-ориентированный подход, основные понятия: класс, объект, свойство, метод, событие) Основные элементы математической логики Уровень «уметь»: Умение проектировать и реализовывать программы на одном из языков объектноориентированного программирования Умение составлять и отлаживать программы на языках программирования высокого уровня Умение использовать правила логического вывода и логические операции при написании программы Умение применять базовые модели к созданию бизнес-моделей Дисциплины, последующие по учебному плану: Итоговая государственная аттестация Научно-исследовательская работа 3. Компетенции обучающегося, формируемые в результате освоения дисциплины «ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ» В результате освоения дисциплины студент должен: Знать проблемы, решаемые при организации жизненного цикла программы особенности промышленного производства программ концепции и идеи, на которых основано многообразие современных технологий создания программ характеристики программного изделия как объекта труда основные подходы к организации процесса разработки программ 395 Уметь разработать концепцию будущей информационной системы заказчика провести контроль разработки технической спецификации по полученным требованиям выполнить анализ требований и создание сценариев использования продукта разработать и документально оформить проект создаваемой информационной системы участвовать в инспекциях программного обеспечения провести обучение и консультирование персонала в рамках своей компетенции Владеть типовыми методологиями, технологиями и инструментами, применяемыми для автоматизации процесса разработки программ В методами обеспечения качества и развития процесса разработки программ методами обеспечения качества результата труда результате освоения дисциплины у учащегося формируются следующие компетенции: Общекультурные компетенции: способность самостоятельно приобретать с помощью информационных технологий и использовать в практической деятельности новые знания и умения, в том числе, в новых областях знаний, непосредственно не связанных со сферой деятельности, расширять и углублять своё научное мировоззрение (ОК-4); способность и готовность к активному общению в научной, производственной и социально-общественной сферах деятельности (ОК-7) Профессиональные компетенции: проектная и производственно-технологическая деятельность: способностью углубленного анализа проблем, постановки и обоснования задач 396 научной и проектно-технологической деятельности (ПК-3); способностью разрабатывать и оптимизировать бизнес-планы научно-прикладных проектов (ПК-4); При этом магистр должен знать 1. методы проектирования и конструирования программных продуктов для различных компьютерных платформ, операционных систем и современных высокопроизводительных вычислительных систем; 2. основы управления и организации при проведении проектно-конструкторских работ. уметь 1. готовить технические задания на разработку сложных проектных решений, математических моделей и программных систем для решения прикладных задач; 2. разрабатывать методические и нормативные документы, а также предложения и мероприятия по реализации разработанных проектов и программ владеть 1. программным инструментарием для разработки и описания программ, программных систем; 2. основами документирования программ и программных комплексов. 4. Структура и содержание ПРОГРАММИРОВАНИЯ» дисциплины «ТЕХНОЛОГИЯ Общая трудоемкость дисциплины составляет 4 зачетных единицы 144 уч.часа. 397 п N Наименование празделов и тем семестр недел я семест ра Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Лек ции 1-2 1-18 и 1-16 1 Раздел 1 Базовые 11-13 понятия. Модели ЖЦПО. Основы системологии 1.1.Программная система как объект труда. Типизация программ. Понятие программного продукта. Рост сложности программы в период эксплуатации. Кривая Лемана. Восемь признаков сложности программ как объекта труда (по Фоксу). 398 Сем Лаб инар орат ы орные рабо ты Формы текущего контроля успеваемо сти (по неделям семестра) Форма промежут очной аттестаци и (по семестрам ) Сам осто ятель -ная рабо та Всег о часо в 68 76 144 экзамен 26 14 40 Зачет по рефератам, докладам, работе на ми-никонференци и 1.2.Общая характеристика процесса разработки программ. Девять главных проблем, решаемых при организации программного проекта (по Соммервиллу). Четыре вида подходов к организации процесса. Нисходящее и восходящее проектирование. 1.3.Модели жизненного цикла программного обеспечения (ПО) – традиционная, каскадная, итерационная, матричная, спиральная. Анализ условий и ограничений применения моделей ЖЦПО. Достоинства и недостатки каждого типа моделей. 1.4.Краткий обзор основных понятий системологии. Определение системы. Классификация систем (физико – биологические, социальные, эрготехнические). Базовые категории системного подхода. Общие закономерности свойств, поведения, развития систем любой природы. Иерархичность структуры. Целостность и эмергентность. Целеобусловленность. Коммуникативность. Типы функционирования. Системное время. Управление и самоорганизация в системах. 399 1.5.Принципы и правила системного подхода при исследовании или построении эрготехнических систем, вытекающие из общих свойств систем – целеобуловленность, относительность, управляемость, симбиозность, оперативность 400 1.6.Моделирование как главный метод системного обследования. Виды моделей. Особенности моделирования эрготехнических систем. Функциональное моделирование. Понятия целевой функции, критериев успеха, альтернатив в достижении цели, анализа рисков 1.7.Введение в методологию структурного анализа и проектирования SADT. Принципы функционального моделирования. Стратегия декомпозиции, описание системы в трех 401 измерениях (структурном, функциональном, техническом). Принцип «черного ящика», описание уровней иерархической структуры. Описание функционирования системы, типизация моделей – модели вхождения, предметная, причинная и приоритетная. Виды эрготехнических средств, обеспечивающих функционирование системы. 2 Раздел 2. Этапы разработки задачи, работы, методы, инструменты для каждого этапа 1 14-18 1- 10 2 2.1.Методы анализа и постановки задачи. Определение требований к программной системе. Анализ осуществимости проекта. Метод решения задач по Пойа. Особенности эрготехнических систем, выбор альтернативных решений, критерии эффективности. Прототипирование как инструмент системного обследования. Правила описания требований к программному изделию, категории требований. Спецификация требований, концепция «черного ящика». 402 28 14 42 Зачет по рефератам, докладам, работе на миниконференци и Пример спецификации требования надежности ПО (по Маейрсу). Правила предотвращения ошибок при описании внешнего поведения системы. Валидация и эволюция требований. 2.2.Методы проектирования ПО. Моделирование архитектуры системы. Метод Дейкстры. Разработка структуры программной системы. Методологии модульного, структурного и объектноориентированого программирования. Методология структурного анализа SADT. Обзор подходов к доказательному программированию – синтез программ, сборочное и конкретизирующее программирование. 403 3 Раздел 3 Качество продукта и процесса Обеспечение качества ПО. Модели и стандарты качества – ISO, TQM, CMM, SPICE. Методы предотвращения ошибок в ПО, правила защитного программирования. Статические анализаторы, виды статического контроля программ. Реализация концепции качества в технологии «стерильного цеха» (Cleanroom) Миллза. Оценка надежности и готовности программы. Статистическое тестирование. Модель использования программы, операционный профиль. 210-13 8 6 14 Зачет по рефератам, докладам, работе на миниконференци и 4 Раздел 4. Применение CASE-систем Сквозная автоматизация работ в программном проекте. Обобщенная архитектура и возможности CASEсистем. Сравнительный анализ методологий RUP, RAD, XP. Особенности применения CASEсистем, выбор состава и функций интегрированной среды разработки при конструировании АРМов профессиональных программистов. 214-16 6 6 12 Зачет по рефератам, докладам, работе на миниконференци и 68 36 76 36 144 экзамен Итоговая аттестация Итого по курсу: 2 404 5. Образовательные технологии При проведении курса широко используются активные и интерактивные формы проведения занятий, в том числе: компьютерная симуляция моделей систем, деловые и ролевые игры, разбор конкретных ситуаций, коллективная работа, проектная форма выполнения заданий, дискуссии, учебные мини-конференции, элементы дистанционной поддержки обучения, встречи и семинары с представителями российских и зарубежных IT-компаний Удельный вес занятий, проводимых в интерактивной форме, составляет до 80 процентов. Доля лекционных занятий от общего числа аудиторных занятий составляет до 40%. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов Виды и порядок выполнения самостоятельной работы п/п № 1. 2. Вид Раздел самостоятельной дисциплины работы Подготовка Теоретическая рефератов по часть – разделы разделам 1,2,3,4 теоретической части дисциплины Порядок выполнения и вид контроля Задания по написанию рефератов выдаются в период изучения раздела. Прием рефератов и оценка качества их исполнения в течение недели по завершению раздела Теоретическая Проведение часть – разделы мини1,2,3,4 конференции во время Учебнометодич. обеспечение См. разделы 6.1 и 7 данного документа Выступление на занятиях с докладом по теме реферата/ раздела дисциплины См. разделы 6.1 и 7 данного документа 405 с последующей дискуссией интерактивной лекции, 15 мин. доклад студента, 10 мин. обсуждение Теоретическая Проведение часть – разделы мини1,2,3,4 конференции во время интерактивной лекции, 15 мин. доклад студента, 10 мин. обсуждение Теоретическая Задание по часть созданию и модерации сайта дается на первом занятии. Его выполняют 2-3 студента с получением текущих оценок. 3. Планирование, организация и проведение миниконференции в качестве ведущего 4. Создание и модерация сайта/форума для дистанционной поддержки дисциплины (вопросы к преподавателю, обсуждения тем, публикация текущих заданий, сдача заданий и пр.) Подготовка по Теоретическая контрольным часть – разделы вопросам разделов 1,2,3,4 теоретической части для выступления на дискуссии на миниконференции 5. 6. Задания выполняют все студенты. Проведение миниконференции во время интерактивной лекции, 15 мин. доклад студента, 10 мин. обсуждение Подготовка к Теоретическая Итоговая экзамену с часть – разделы аттестация в консультированием 1,2,3,4 форме преподавателя экзамена. На подготовку к экзамену примерно 4 дня. 406 См. разделы 6.1 и 7 данного документа См. разделы 6.1 и 7 данного документа См. разделы 6.2 и 7 данного документа См. разделы 6.2, 6.3 и 7 данного документа 6.1. Примерная тематика рефератов Примерные темы рефератов: 1) Сравнительный анализ моделей ЖЦПО (раздел 1 теоретической части дисциплины) 2) Оценка языка UML как инструмента бизнес-моделирования (раздел 2 теоретической части дисциплины) 3) Сравнительный анализ жестких и гибких методологий разработки программ – XP, Scrum, RAD, RUP (раздел 4 теоретической части дисциплины) 4) Сравнительный анализ и особенности применения моделей качества ISO, TQM, CMM, SPICE (раздел 3 теоретической части дисциплины) 6.2. Перечень примерных контрольных вопросов: Раздел 1. 46) Объяснить специфику программного изделия как объекта туда. Восемь признаков сложности. 47) Кривая Лемана – причины экспоненциального роста сложности программы при эксплуатации, меры борьбы с ростом сложности 48) Девять главных проблем организации процесса разработки программ. Подходы к их решению. Три источника этих проблем по Кауфману. 49) Условия применимости различных моделей ЖЦПО (водопад, каскадная, итерационная, спиральная). Достоинства и недостатки каждого вида моделей. Раздел 2 50) Типы требований к программной системе. Примеры спецификации требований. 51) Моделирование архитектуры программной системы. Метод Дейкстры. 52) Правила предотвращения ошибок при внешней спецификации программы. 53) Методология структурного анализа SADT. Три измерения и этапность моделирования системы. 54) Методология модульного программирования. Какие проблемы разработки программ она решает. Ее связи со структурным программированием и ООП. 407 55) Методология структурного программирования. Какие характиристики ПО и как она улучшает. Ее связи с ООП. 56) Три подхода к доказательному программированию. Связи этих подходов. 57) Достоинства и недостатки языка UML для моделирования бизнес-процессов. Раздел 3. 58) Характеристики качества программ. Их приоритеты для различных типов программ. 59) Характеристики качества процесса разработки программ. Модели ISO, TQM, CMM, SPICE. 60) Статические методы контроля программ. Инспекции, статические анализаторы, сквозной контроль. 61) Инкрементная разработка в технологии стерильного цеха. Концепция и метод структурных ящиков. 62) Способы обеспечения надежности и отказоустойчивости программы. Статистическое тестирование, модель возрастающей надежности. Раздел 4. 63) Сравнительный анализ возможностей применения методологий XP, RAD, RUP. 64) Проблемы применения CASE-систем. Выбор состава и функций интегрированной среды разработки. 6.3. Перечень экзаменационных вопросов: Раздел 1. 1 Cпецифика программного изделия как объекта туда. Восемь признаков сложности. 1. Причины экспоненциального роста сложности программы при эксплуатации, меры борьбы с ростом сложности 2. Девять главных проблем организации процесса разработки программ. Подходы к их решению. Три источника этих проблем по Кауфману. 3. Условия применимости различных моделей ЖЦПО (водопад, каскадная, итерационная, спиральная). Достоинства и недостатки каждого вида моделей. 408 Раздел 2 4. Типы и примеры требований к программной системе. 5. Моделирование архитектуры программной системы. Метод Дейкстры. 6. Методология структурного анализа SADT. Три измерения и этапность моделирования системы. 7. Методология модульного программирования. Какие проблемы разработки программ она решает. Ее связи со структурным программированием и ООП. 8. Методология структурного программирования. Какие характиристики ПО и как она улучшает. Ее связи с ООП. 9. Три подхода к доказательному программированию. Связи этих подходов. 10. Использование языка UML для моделирования бизнес-процессов. Достоинства и недостатки языка UML Раздел 3. 11. Характеристики качества программ. Их приоритеты для различных типов программ. 12. Характеристики качества процесса разработки программ. Модели ISO, TQM, CMM, SPICE. 13. Статические методы контроля программ. Инспекции, статические анализаторы, сквозной контроль. 14. Инкрементная разработка в технологии стерильного цеха. Концепция и метод структурных ящиков. 15. Способы обеспечения надежности и отказоустойчивости программы. Статистическое тестирование, модель возрастающей надежности. Раздел 4. 16. Сравнительный анализ возможностей применения методологий XP, RAD, RUP. 17. Проблемы применения CASE-систем. Выбор состава и функций интегрированной среды разработки. 18. Задачи и методы конфигурационного контроля в периоды разработки программы и ее эксплуатации. 7. Учебно-методическое и информационное обеспечение дисциплины 409 а) основная литература: 1) Фокс Дж. Программное обеспечение и его разработка. М.: Мир, 1985. – 359 с. 2) Боэм Б. Инженерное проектирование программного обеспечения. М.: Радио и связь, 1985. – 512 с. 3) Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. М.: Изд-во Бином, СПб.: Невский диалект, 1999. – 560 с. 4) Бадд Т. Объектно-ориентированное программирование в действии. СПб.: Питер, 1997. – 464 с. 5) Коллинз Г., Блей Дж. Структурные методы разработки систем: от стратегического планирования до тестирования. М.: Финансы и статистика, 1986. – 264 с. 6) Гантер Р. Методы управления проектированием программного обеспечения. М.: Мир,1975.- 245 с. 7) Майерс Г. Надежность программного обеспечения. М.: Мир, 1980. – 360 с. 8) Липаев В.В. Качество программного обеспечения. М.: Финансы и статистика, 1983. – 263 с. б) дополнительная литература: 1) Васючкова Т.С. Экономика программирования / Учебн. пособие. Новосибирск, НГУ, 1996. – 115 с. 2) Sommerwill I. Software engineering. Addison-Wesley Publ. Ltd.? 1996? – 742 p. 3) Wysocki R. K., Beck R. Jr., Crane D. B. Effective Project Management. Microsoft Corp. Publ., 2000. – 359 p. 4) Pressman R. S. Software Engineering. A practitioner’s approach. The McGraw-Hill Comp. Inc., 1997. 862 p. в) программное обеспечение и Интернет-ресурсы: Интернет; E-mail; MS Office (Word, Excel, PowerPoint); Case-системы. 410 Ресурсы Интернета по учебным и методическим разработкам для проектного менеджмента. 8. Материально-техническое обеспечение дисциплины Аудиторный класс Компьютерный класс со стандартным базовым программным обеспечением Ноутбук и мультимедиа проектор для презентаций 411 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Новосибирский национальный исследовательский государственный университет» Механико-математический факультет Программа одобрена на заседании УМК ММФ от ________________ протокол № ________. «Утверждаю» Декан ММФ НГУ ______________/__________ (подпись) РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Технология программирования» НАПРАВЛЕНИЕ ПОДГОТОВКИ 010200 «Математика и компьютерные науки» Квалификация (степень) выпускника Магистр Форма обучения очная Разработчик программы: Васючкова Т.С., к.ф.-м.н. (подпись) 412 (ФИО) Аннотация рабочей программы Дисциплина «Технология программирования» является частью профессионального цикла (вариативная часть) ООП по направлению подготовки «Математика и компьютерные науки». Дисциплина реализуется на Механико-математическом факультете Новосибирского государственного университета кафедрой Вычислительных систем ММФ НГУ. Содержание дисциплины включает изучение и освоение следующих тем: Определение форм организационной структуры ИТ фирмы, типовые службы и функции. Соотнесение с проектной формой работ. История проектного менеджмента. Структуры проекта. Основы стандарта РМ ВоК; Оценка и планирование ресурсов на программный проект; Методы и инструменты управления ходом работ в проекте; Управление рисками проекта. Стратегии управления рисками. Методы выявления и оценки рисков; Экономические методы в проектировании программных систем. Производственная функция и оценка производительности многопроцессорной системы обработки сообщений. Стоимостный анализ при выборе архитектурных решений; Анализ проблем разработки и применения программного обеспечения в разных аспектах – методологическом, управленческом, инструментальном, организационном, стоимостном, внедренческом Дисциплина нацелена на формирование общекультурных компетенций ОК-4, ОК-7, профессиональных компетенций ПК-5, ПК-6, ПК-7 выпускника. Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, практические занятия, подготовка рефератов, выполнение домашних заданий, проведение миниконференций по темам курса, разбор реальных ситуаций, самостоятельную работу студентов. Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме подготовки рефератов, проведения миниконференций по двум темам учебного курса, выполнение 5 домашних заданий, промежуточный контроль в форме дифференцированного зачета. Формы рубежного контроля определяются решениями Ученого совета, действующими в течение текущего учебного года. Общая трудоемкость дисциплины составляет 2 зачетных единиц, 72 академических часа. Программой дисциплины предусмотрены 16 часов лекционных, 20 часов практических занятий для каждой группы, 36 часов самостоятельной работы. Остальное – различные формы контроля. 413 1. Цели освоения дисциплины Практика показывает, что в 80% случаев причинами неудач программных проектов являются неумение программистов организовать свой труд, предвидеть проблемы, планировать работы, управлять работами. Курс предусматривает начальное знакомство с проблемной областью управления программными проектами. Рассматриваются цели, задачи, содержание деятельности менеджера проектов. Обсуждаются методы и средства управления программными проектами. Целями освоения дисциплины «Менеджмент и экономика программных проектов» являются: - начальное знакомство с современными концепциями управления программными проектами – проблемы и методы их решения - понимание учащимся связей между качеством программного продукта, качеством процесса его разработки и качеством управления проектом. Задачи курса - рассмотрение процесса создания и эксплуатации программ как инженерной деятельности, которую необходимо планировать, организовать, контролировать и корректировать - определение метрического подхода к программному проекту, измеримость программного продукта, измеримость процесса разработки - видение проблем разработки и применения программного обеспечения в разных аспектах – методологическом, управленческом, инструментальном, организационном, стоимостном, внедренческом - понимание учащимся компетенций менеджера программных проектов на разных уровнях управления. 2. Место дисциплины «Менеджмент и экономика программных проектов» в структуре магистерской программы Данная дисциплина относится к циклу профессиональных дисциплин М2 (вариативная часть). С другими частями образовательной программы соотносится следующим образом. Дисциплины, предшествующие по учебному плану относятся к блоку дисциплин «программирования», дающих теоретические знания методов и языков программирования и навыки их применения для создания программ: Программирование на языке высокого уровня Сети ЭВМ и телекоммуникации 414 Математическая логика и теория алгоритмов Требования к первоначальному уровню подготовки обучающихся для успешного освоения дисциплины: Уровень «знать»: Основные понятия и конструкции языков программирования (процедуры, функции, указатели) Объектно-ориентированный подход, основные понятия: класс, объект, свойство, метод, событие) Основные элементы математической логики Уровень «уметь»: Умение проектировать и реализовывать программы на одном из языков объектноориентированного программирования Умение составлять и отлаживать программы на языках программирования высокого уровня Умение использовать правила логического вывода и логические операции при написании программы Умение применять базовые модели к созданию бизнес-моделей Дисциплины, последующие по учебному плану: Итоговая государственная аттестация Научно-исследовательская работа 4. Компетенции обучающегося, формируемые в результате освоения дисциплины «Менеджмент и экономика программных проектов» В результате освоения дисципли�