Курсовая работа: Математические модели
1.3 Выбор и обоснование основного алгоритма решения задачи
Существуют следующие алгоритмы нахождения пути в неориентированном графе:
А)Полный нециклический перебор:
Алгоритмом нахождения пути в данной курсовой работе является метод полного нециклического перебора.
Маршрут S(l0, l1, l2,…, ln) имеет не определенное число вершин. Каждый элемент liV, где V множество вершин графа. Множество кандидатов в li т.е. Si есть множество вершин соединенных ребрами с вершиной li-1. Было бы не целесообразно искать путь из одной точки в другую, как маршрут возможно содержащий циклы. Кроме практической непригодности данного решения, возникает проблема не ограниченности числа вершин в маршруте. Поэтому, для исключения циклов, на кандидатов в li вводится дополнительное ограничение: li. l1, li. l2,…, li. li-1 т.е. ни одна вершина не должна встречаться в маршруте более одного раза.
Описанный выше алгоритм нахождения пути наиболее прост в реализации на языке Prolog, так как он наиболее близок к процедуре доказательства истинности целей, которая осуществляется путем полного перебора по базе фактов и правил. (см. Математические модели информационных процессов и управления)
Если существует несколько оптимальных маршрутов, то выбирается только один из них.
Б) Последовательный перебор(Метод полного перебора):
В самом общем случае полагают, что решение состоит из вектора (a1, a2,…, an), конечной, но неопределенной длины, удовлетворяющего определенным ограничениям. Каждое аiAi, где Ai конечное упорядоченное множество. В качестве исходного частичного решения примем пустой вектор () и на основе имеющихся ограничений выясним, какие элементы из А1 являются кандидатами в а1. Обозначим это подмножество кандидатов через
S1A1. В результате имеем частичное решение (a1). В общем случае для расширения частичного решения (a1,a2,…,ak-1) до (a1,a2,…, ak-1, ak) кандидаты на роль аk выбираются из SkAk. Если частичное решение (a1, a2,…, ak-1) не позволяет выбрать аk то Sk =;
возвращаемся и выбираем новый элемент ak-1.
В) Перебор на основе заданного количества элементов в комбинациях.
Аналогично полному перебору, только с ограничениями по количеству элементов.
Рассомтренную задачу можно решить с помощью двух алгоритмов:
1)Найти все возможные пути маршрута, составить список из количесва остановок и в этом списке выбрать минимальное значение;
2)В ходе поиска маршрута проверять на минимальные значения остановки и при этом рассматривать список необходимых пересадок как подсписок найденного решения. Мы используем этот метод, так как он более удбен для риализации в среде Visual Prolog. В данной работе я рассмотрел частный случай схемы метро(без перегонов).
1.4 Требования к функциональным характеристикам программы
Пользователь вводит станции: начальный пункт, промежуточные и конечный пункт. Программа должна обеспечивать поиск пути от одной станции к другой через промежуточные станции.
2 Руководство пользователя
2.1 Назначение программы
Программа позволяет найти маршрут между двумя станциями в метро с проездом через заданные станции. При этом выбирается маршрут с минимальным числом остановок.
2.2 Минимальные требования программы к составу и параметрам технических средств
Минимальные требования программы к составу и параметрам технических средств в основном определяются требованиями операционной системы, а так как для работы программы необходима ОС Windows 95(или выше), то предъявляются следующие минимальные требования:
• Процессор 486/66;
• 16Мб оперативной памяти;
• Видеоадаптер SVGA;
• SVGA монитор;
• Дисковое пространство не менее 10 MB.
Мышь, клавиатура.