Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

курсовая

.doc
Скачиваний:
33
Добавлен:
12.04.2015
Размер:
429.06 Кб
Скачать

Кубическим называется (под)граф, степени всех вершин которого равны либо 3 либо 0.

Задание на курсовую работу. Вариант 23.

Прикладная программа. Гамильтонов цикл.

Описание задачи.

Задан неориентированный граф , где V — множество вершин; E — множество ребер. Выделить в исходном графе гамильтонов цикл. Если граф не содержит такого цикла, вывести на экран соответствующее сообщение. Предусмотреть графическое представление исходного графа и цветовое выделение найденного цикла.

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

Задание на курсовую работу. Вариант 24.

Прикладная программа. Гамильтонов путь.

Описание задачи.

Задан ориентированный граф , где V — множество вершин; A — множество дуг. Выделить в графе гамильтонов путь. Если граф не содержит такого пути, вывести на экран соответствующее сообщение. Предусмотреть графическое представление исходного графа и цветовое выделение найденного пути.

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

Задание на курсовую работу. Вариант 25.

Прикладная программа. Стягиваемость графа.

Описание задачи.

Заданы два неориентированных графа и , где — множества вершин графов; — множества ребер. Проверить, можно ли последовательным стягиванием ребер графа получить граф, изоморфный . Предусмотреть графическое представление исходных графов и цветовое выделение стягиваемых ребер.

Операция стягивания ребра e заключается в его замене одной (общей) вершиной так, чтобы все вершины, смежные концам ребра e, остались смежны новой общей вершине.

Задание на курсовую работу. Вариант 26.

Прикладная программа. Остов ограниченной степени.

Описание задачи.

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

Остовом графа называется его любой ациклический частичный граф.

Задание на курсовую работу. Вариант 27.

Прикладная программа. Самый длинный цикл.

Описание задачи.

Заданы неориентированный граф , где V — множество вершин; E — множество ребер, и положительное целое число K. Ребра графа взвешены положительными целыми числами. Выделить в графе хотя бы один цикл, имеющий длину не менее K. При отсутствии таких циклов в графе, выдать на экран сообщение. Предусмотреть графическое представление исходного графа и цветовое выделение найденного цикла.

Задание на курсовую работу. Вариант 28.

Прикладная программа. Модель пересечения множеств.

Описание задачи.

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

Задание на курсовую работу. Вариант 29.

Прикладная программа. Редактирование слова.

Описание задачи.

Заданы конечный алфавит , два слова и положительное целое число K, где — множество всевозможных слов в алфавите . Проверить, возможно ли получение слова y из слова x с использованием не более K операций вычеркивания символа и перестановки соседних символов.

Задание на курсовую работу. Вариант 30.

Прикладная программа. Покрытие битового образа прямоугольниками.

Описание задачи.

Заданы (0–1)-матрица M порядка и положительное целое число K. Проверить, возможно ли покрытие всех единичных элементов матрицы M не более чем K прямоугольниками. Исходную матрицу и вариант покрытия представить графически.

Задание на курсовую работу. Вариант 31.

Прикладная программа. Поиск ядра в графе.

Описание задачи.

Задан неориентированный граф , где V — множество вершин; E — множество ребер, и положительное целое число K. Выделить в графе хотя бы одно ядро мощности K. При отсутствии таких ядер в графе выдать на экран сообщение. Предусмотреть графическое представление исходного графа и цветовое выделение найденного ядра.

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

Задание на курсовую работу. Вариант 32.

Прикладная программа. Гомоморфизм графов.

Описание задачи.

Заданы два неориентированных графа и , где — множества вершин графов; — множества ребер. Проверить, можно ли последовательным отождествлением несмежных вершин графа получить граф . Предусмотреть графическое представление исходных графов и цветовое выделение отождествляемых вершин.

Операция отождествления вершин и заключается в их замене одной (общей) вершиной v так, чтобы все вершины, смежные и , остались смежны вершине v.

Задание на курсовую работу. Вариант 33.

Прикладная программа. Ориентированный диаметр графа.

Описание задачи.

Задан неориентированный граф , где V — множество вершин; E — множество ребер, и положительное целое число . Ориентировать ребра графа G так, чтобы полученный в результате ориентированный граф имел диаметр не более K. При отсутствии такой возможности выдать на экран соответствующее сообщение. Предусмотреть графическое представление исходного графа и результирующего ориентированного графа.

Задание на курсовую работу. Вариант 34.

Прикладная программа. Надежность сети.

Описание задачи.

Задан неориентированный граф , где V — множество вершин; E — множество ребер. Ребра графа G взвешены рациональными числами , , задающими вероятности "исправного состояния" соответствующих ребер. Кроме того, дано положительное рациональное число . Проверить что любые две вершины графа G соединены хотя бы одним маршрутом без неисправных ребер с вероятностью не менее q. Предусмотреть графическое представление исходного графа и цветовое выделение "неисправных" ребер.

Задание на курсовую работу. Вариант 35.

Прикладная программа. Задача о подъемном кране.

Описание задачи.

Задан смешанный граф , где V — множество вершин; A — множество дуг; E — множество ребер, дуги и ребра которого взвешены положительными целыми числами. Кроме того, дано положительное целое число B. Проверить существует ли в графе G цикл длины не более B, включающий каждую дугу по крайней мере один раз и проходящий дуги только в "правильном" направлении (совпадающем с их ориентацией). Предусмотреть графическое представление исходного графа и цветовое выделение найденного цикла. При отсутствии цикла вывести на экран соответствующее сообщение.

Задание на курсовую работу. Вариант 36.

Прикладная программа. Лексикографическая сортировка.

Описание задачи.

Составить программу для лексикографической сортировки цепочек символов в произвольном алфавите. Для сортировки использовать три метода: метод вычерпывания; метод быстрой сортировки; метод слияния. Алфавит, а также набор цепочек задаются пользователем либо с клавиатуры, либо из специального настроечного файла. Результат сортировки также, по выбору пользователя, записывается либо на экран, либо в специальный файл протокола. Метод сортировки выбирается пользователем с помощью меню. Предусмотреть изменение порядка сортировки.

Задание на курсовую работу. Вариант 37.

Прикладная программа. Разбиение графа на подграфы.

Описание задачи.

Составить программу для разбиения произвольного неориентированного графа на подграфы. При разбиении число подграфов должно быть минимально возможным. Число вершин в каждом подграфе не должно превышать заданного значения n. Количество связей каждого подграфа с остальными подграфами ограничено значением z. Исходный граф, а также значения n и z вводятся пользователем с клавиатуры. Предусмотреть графическое представление результатов разбиения графа с цветовым выделением формируемых подграфов.

Задание на курсовую работу. Вариант 38.

Прикладная программа. Остовное дерево минимальной стоимости.

Описание задачи.

Составить программу для нахождения в заданном взвешенном неориентированном графе остовного дерева минимальной стоимости алгоритмом Краскала. Предусмотреть графическое представление исходного графа и цветовое выделение найденного дерева.

Остовным деревом графа называется любой связный ациклический частичный граф.

Задание на курсовую работу. Вариант 39.

Прикладная программа. Кратчайший путь.

Описание задачи.

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

Задание на курсовую работу. Вариант 40.

Прикладная программа. Сочетания, перестановки и размещения.

Описание задачи.

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

Задание на курсовую работу. Вариант 41.

Прикладная программа. Оптимальная последовательность смежных элементов.

Описание задачи.

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

Элементы и считаются смежными, если или .

Задание на курсовую работу. Вариант 42.

Моделирующая программа. Одноленточная детерминированная машина Тьюринга.

Описание задачи.

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

Задание на курсовую работу. Вариант 43.

Моделирующая программа. Одноленточная недетерминированная машина Тьюринга.

Описание задачи.

Разработать программу для моделирования работы одноленточной недетерминированной машины Тьюринга (ОНДМТ) по произвольной программе. Программа ОНДМТ задается пользователем либо непосредственно с клавиатуры, либо из специального файла инициализации. Предусмотреть текстовый и графический режимы отображения процесса функционирования машины.

Задание на курсовую работу. Вариант 44.

Моделирующая программа. Многоленточная детерминированная машина Тьюринга.

Описание задачи.

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

Задание на курсовую работу. Вариант 45.

Моделирующая программа. Многоленточная недетерминированная машина Тьюринга.

Описание задачи.

Разработать программу для моделирования работы многоленточной недетерминированной машины Тьюринга (МНДМТ) по произвольной программе. Количество лент машины указывается пользователем. Программа МНДМТ также задается пользователем, либо непосредственно с клавиатуры, либо из специального файла инициализации (форма представления программы произвольна). Предусмотреть текстовый и графический режимы отображения процесса функционирования машины.

Задание на курсовую работу. Вариант 46.

Моделирующая программа. Двухсторонний детерминированный магазинный автомат.

Описание задачи.

Разработать программу для моделирования работы двухстороннего детерминированного магазинного автомата (ДДМА) по произвольной программе. Программа ДДМА задается пользователем либо непосредственно с клавиатуры, либо из специального файла инициализации (форма представления программы произвольна). Предусмотреть текстовый и графический режимы отображения процесса функционирования ДДМА.

Задание на курсовую работу. Вариант 47.

Моделирующая программа. Детерминированный конечный автомат.

Описание задачи.

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

Задание на курсовую работу. Вариант 48.

Моделирующая программа. Недетерминированный конечный автомат.

Описание задачи.

Разработать программу для моделирования работы недетерминированного конечного автомата (НДКА) с произвольной таблицей переходов. Таблица переходов НДКА задается пользователем либо непосредственно с клавиатуры, либо из специального файла инициализации (форма задания таблицы произвольна). Предусмотреть текстовый и графический режимы отображения процесса функционирования автомата. Рассматривать как полностью определенные, так и не полностью определенные НДКА.

Задание на курсовую работу. Вариант 49.

Моделирующая программа. Последовательный вычислительный алгоритм.

Описание задачи.

Разработать программу для моделирования работы и проверки динамической корректности последовательных вычислительных алгоритмов. Корректность алгоритма определяется свойствами безызбыточности (отсутствие недостижимых операторов), реентерабельности (возможность перезапуска алгоритма после его прерывания в любой точке), отсутствия тупиков. Моделируемый алгоритм задается пользователем либо непосредственно с клавиатуры, либо из специального файла инициализации (форма представления алгоритма произвольна). Предусмотреть текстовый и графический режимы отображения процесса моделирования алгоритма. Если алгоритм некорректен, выдать на экран соответствующее сообщение с указанием источника некорректности.

Задание на курсовую работу. Вариант 50.

Моделирующая программа. Параллельный вычислительный алгоритм.

Описание задачи.

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

Задание на курсовую работу. Вариант 51.

Игровая программа. Игра "Хакенбуш".

Описание игры.

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

В игре участвуют два игрока. Они по очереди убирают (стирают) с рисунка по одному ребру. При стирании ребра, соединяющего какую-то часть графа с базовой линией, эта часть исчезает, т.е. также стирается ("падает на землю"). Например, если убрать на рисунке ребро А, то исчезнут и паук и окно (они оба упадут на землю). Если удалить ребро С, то исчезнет только паук. Убирая ребро В, можно срубить всю яблоню. Если убрать одно из ребер в основании фонаря (D или E), то фонарь все же останется стоять, но если при следующем ходе убрать и второе ребро основания, то фонарь опрокинется и исчезнет. Побеждает в игре тот, кто убирает на картинке последнее ребро.

Замечания:

  1. Исходная картинка вводится игроком.

  2. Картинка может содержать графы с петлями; между двумя вершинами могут быть несколько ребер.

  3. Максимальный размер поля картинки 2035 точек.

Задание на курсовую работу. Вариант 52.

Игровая программа. Игра "ним Норткотта".

Описание игры.

Игра состоит в перемещении шашек на обычной шахматной доске (88). В начале игры черные и белые шашки размещаются на произвольных клетках в каждом столбце доски — белые на одной стороне (8 шашек), черные — на другой (8 шашек). (При программировании игры для начального расположения шашек использовать датчик случайных чисел.) Играющие садятся друг против друга и по очереди делают ходы. Каждый ход состоит в перемещении одной из своих шашек вперед или назад на любое количество пустых клеток в соответствующем столбце. Перепрыгивать через шашку противника нельзя, поэтому если две шашки оказываются на соседних клетках в одном столбце, то можно ходить только назад. Если при этом достигнут край доски, то одна из шашек ходить назад уже не может (при условии, что другая шашка находится на соседней клетке). Побеждает тот игрок, который делает последний ход.

Пример:

Черная шашка 1 не имеет хода, белая шашка 1 может ходить назад на любое поле в данном столбце в пределах доски. Для шашек 3 хода вперед нет. Черная шашка 3 может отступить на одну клетку в столбце 3, а белая шашка 3 имеет 5 возможных ходов назад в столбце 3.

Задание на курсовую работу. Вариант 53.

Игровая программа. Игра "Французская Хальма".

Описание игры.

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

Играющие ходят по очереди, перемещая на доске при каждом ходе только одну фишку. В процессе игры разрешается делать ходы двух типов: 1) "шаг" — ход на любую из восьми соседних клеток; 2) "прыжок" — скачок через фишку в любом направлении. Фишка, через которую совершается прыжок, остается на месте. Несколько прыжков подряд рассматриваются как один ход. При этом разрешается перепрыгивать любое число своих и чужих фишек. Совершать прыжок необязательно, даже если он возможен. Каждый из соперников может остановиться после любого прыжка. Один и тот же ход не может включать и шаги и прыжки.

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

Задание на курсовую работу. Вариант 54.

Прикладная программа. Нахождение кратчайшего пути алгоритмом Левита.

Описание задачи.

Составить программу для нахождения в заданном взвешенном неориентированном графе кратчайшего пути между двумя заданными вершинами алгоритмом Левита [5, c.166-167]. Предусмотреть графическое представление исходного графа и цветовое выделение найденного кратчайшего пути.

Задание на курсовую работу. Вариант 55.

Прикладная программа. Нахождение кратчайшего дерева путей.

Описание задачи.

Составить программу для нахождения в заданном взвешенном неориентированном графе кратчайшего дерева путей от заданной вершины [5, c.170-173]. Предусмотреть графическое представление исходного графа и цветовое выделение найденного кратчайшего дерева путей.

Задание на курсовую работу. Вариант 56.

Обучающая программа. Основы теории графов.