Автор работы: Пользователь скрыл имя, 03 Марта 2013 в 12:50, курсовая работа
Если вы любите решать олимпиадные задачи, то, наверное, не раз составляли таблицы, изображали объекты точками, соединяли их отрезками или стрелками, подмечали закономерности у полученных рисунков, выполняли над точками и отрезками операции, не похожие на арифметические, алгебраические или на преобразования в геометрии. То есть вам приходилось строить математический аппарат специально для решения задачи. А это означает, что вы открывали для себя начала теории графов. Исторически сложилось так, что теория графов зародилась двести с лишним лет назад именно в ходе решения головоломок.
Это число можно представить в виде суммы: Г=φ1+φ2+φ3+…, где φ3 – число граней, ограниченных тремя ребрами, φ4 — число граней, ограниченных четырьмя ребрами и т. д.
С другой стороны, каждое ребро является границей двух граней, а поэтому число граней равно 2Р, в то же время 2Р=20=3φ3+4φ4+... . Умножив равенство Г=7=φ3+ φ4 + φ5 + … на три, получим ЗГ=21=3( φ3 + φ4 + φ5 + …).
Ясно, что (3φ3+3φ4+3φ5+…) < (3φ3+4φ4+ 5φ5+…) или 3Г<2Р, но по условию, 2Р=20, а ЗГ=21; поэтому вывод, полученный при введенном нами предположении (граф плоский), противоречит условию. Отсюда заключаем, что полный граф с пятью вершинами не является плоским.
Теорема 11. (Теорема Понтрягина-Куратовского) Граф является плоским тогда и только тогда, когда он не имеет в качестве подграфа полного графа с пятью вершинами.
В заключение этого параграфа, на наш взгляд, следует упомянуть то, что в нем объяснялись только основные теоремы теории графов. Их практическое применение будет рассмотрено в следующих параграфах реферата.
Конструирование структур данных для представления в программе объектов математической модели – это основа искусства практического программирования. Далее приводится четыре различных базовых представления графов. Выбор наилучшего представления определяется требованиями конкретной задачи. Более того, при решении конкретных задач используются, как правило, некоторые комбинации или модификации указанных представлений, общее число которых необозримо. Но все они так или иначе основаны на тех базовых идеях, которые описаны в этом разделе.
Известны различные способы представления графов в памяти компьютера, которые различаются объемом занимаемой памяти и скоростью выполнения операций над графами. Представление выбирается, исходя из потребностей конкретной задачи. Далее приведены четыре наиболее часто используемых представления с указанием характеристики n(p,q) – объема памяти для каждого представления. Здесь p – число вершин, а q – число ребер.
Представление графа с помощью квадратной булевой матрицы M, отражающей смежность вершин, называется матрицей смежности, где
Для матрицы смежности n(p,q) = O(p2).
Замечание
Матрица смежности неориентированного графа симметрична относительно главной диагонали, поэтому достаточно хранить только верхнюю (или нижнюю) треугольную матрицу.
Представление графа с помощью матрицы H, отражающей инцидентность вершин и ребер, называется матрицей инциденций, где для неориентированного графа
а для орграфа
Для матрицы инциденций n(p,q) = O(pq).
Представление графа с помощью списочной структуры, отражающей смежность вершин и состоящей из массива указателей на списки смежных вершин, где элемент списка представлен структурой
N : record v : 1..p; n :↑ N end record,
называется списком смежности. В случае представления неориентированных графов списками смежности n(p,q) = O(p+2q), а в случае ориентированных графов n(p,q) = O(p+q).
Представление графа с помощью массива структур
E : array [1..q] of record b,e : 1..p end record,
отражающего список пар смежных вершин, называется массивом ребер (или, для орграфов, массивом дуг). Для массива ребер (или дуг) n(p,q) = O(2q).
Развитие теории графов в основном обязано большому числу всевозможных приложений. По-видимому, из всех математических объектов графы занимают одно из первых мест в качестве формальных моделей реальных систем.[4, стр. 12-15]
Графы нашли применение практически во всех отраслях научных знаний: физике, биологии, химии, математике, истории, лингвистике, социальных науках, технике и т.п. Наибольшей популярностью теоретико-графовые модели используются при исследовании коммуникационных сетей, систем информатики, химических и генетических структур, электрических цепей и других систем сетевой структуры.
Далее перечислим некоторые типовые задачи теории графов и их приложения:
- Задача о кратчайшей цепи
· замена оборудования
· составление расписания движения транспортных средств
· размещение пунктов скорой помощи
· размещение телефонных станций
- Задача о максимальном потоке
· анализ пропускной способности коммуникационной сети
· организация движения в динамической сети
· оптимальный подбор интенсивностей выполнения работ
· синтез двухполюсной сети с заданной структурной надежностью
· задача о распределении работ
- Задача об упаковках и покрытиях
· оптимизация структуры ПЗУ
· размещение диспетчерских пунктов городской транспортной сети
- Раскраска в графах
· распределение памяти в ЭВМ
· проектирование сетей телевизионного вещания
- Связность графов и сетей
· проектирование кратчайшей коммуникационной сети
· синтез структурно-надежной сети циркуляционной связи
· анализ надежности стохастических сетей связи
- Изоморфизм графов и сетей
· структурный синтез линейных избирательных цепей
· автоматизация контроля при проектировании БИС
- Изоморфное вхождение и пересечение графов
· локализация неисправности с помощью алгоритмов поиска МИПГ
· покрытие схемы заданным набором типовых подсхем
- Автоморфизм графов
· конструктивное перечисление структурных изомеров для производных органических соединений
· синтез тестов цифровых устройств
В работе были рассмотрены задачи из теории графов, которые уже стали классическими. Особенно часто в практическом программировании возникают вопросы о построении кратчайшего остова графа и нахождении максимального паросочетания. Известно также, что задача о нахождении гамильтонова цикла принадлежит к числу NP-полных, т.е. эффективный алгоритм для ее решения не найден. Таким образом, задачи теории графов актуальны, так как могут принести экономию времени и средств на производстве и в быту.
Расмотрим следующую задачу:
Доходы Чижовой М. А. за 1 квартал 2006 г., руб. | ||||
Наименование доходов |
Сентябрь |
Октябрь |
Ноябрь |
Декабрь |
Зарплата |
4000 |
3000 |
2200 |
3200 |
Прочие поступления |
- |
500 |
- |
1000 |
Сумма дохода в месяц |
Таблица 1 Доходы Чижовой М. А. за квартал
Доходы Чижова А. С. за 1 квартал 2006 г., руб. | ||||
Наименование доходов |
Сентябрь |
Октябрь |
Ноябрь |
Декабрь |
Зарплата |
7200 |
7000 |
7500 |
7400 |
Прочие поступления |
1200 |
500 |
500 |
1000 |
Сумма дохода в месяц |
Таблица 2 Доходы Чижова А. С. за квартал
Расходы семьи Чижовых за 1 квартал 2006 г., руб. | ||||
Наименование расходов |
Сентябрь |
Октябрь |
Ноябрь |
Декабрь |
Коммунальные платежи |
630 |
670 |
700 |
800 |
Оплата электроэнергии |
100 |
100 |
120 |
120 |
Оплата телефонных счетов |
195 |
195 |
195 |
195 |
Расходы на питание |
2500 |
2500 |
2600 |
3000 |
Прочие расходы |
1000 |
1000 |
1500 |
2000 |
Погашение кредита |
4000 |
4000 |
4000 |
4000 |
Суммарный расход в месяц |
Таблица 3 Расходы семьи Чижовых за квартал
Доходы семьи Чижовых за 1 квартал 2006 г., руб. | ||||
Наименование доходов |
Сентябрь |
Октябрь |
Ноябрь |
Декабрь |
Зарплата |
||||
Прочие поступления |
||||
Сумма дохода в месяц |
Таблица 4 Доходы семьи Чижовых за квартал
Бюджет семьи Чижовых за 1 квартал 2006 г., руб. | ||||
Наименование |
Сентябрь |
Октябрь |
Ноябрь |
Декабрь |
Суммарный доход в месяц |
||||
Суммарный расход в месяц |
||||
Остаток |
Таблица 5 Бюджет семьи Чижовых за квартал
Рисунок 2. 1 Расположение таблиц доходов на рабочем листе Доходы MS Excel
Рисунок 2. 2 Расположение таблиц расходов на рабочем листе Расходы MS Excel
Занести в ячейку С6 формулу:
=С4+С5
Размножить введенную в ячейку С6 формулу для остальных ячеек (с С4 по F4 и с С12 по F12) данных строк.
Таким образом будет автоматически подсчитаны суммы дохода в месяц (рис. 2.3).
Рисунок 2. 3 Автоматический подсчет суммы доходов в месяц
Занести в ячейку С10 формулу:
=СУММ(C4:C9)
Размножить введенную в ячейку С10 формулу для остальных ячеек (с С10 по F10) данной строки.
Таким образом будет автоматически подсчитана сумма расхода в месяц (рис. 2.4).
Рисунок 2. 4 Автоматический подсчет суммы расходов в месяц
Занести в ячейку С4 формулу:
=Доходы!C4+Доходы!C10
Размножить введенную в ячейку С4 формулу для остальных ячеек (с С4 по F6) данной таблицы.
Таким образом будут автоматически подсчитана сумма дохода в месяц (рис. 2.5).
Рисунок 2. 5 Автоматический подсчет суммы доходов в месяц
Занести в ячейку С11 формулу:
=C6
Размножить введенную в ячейку С11 формулу для остальных ячеек (с С11 по F11) данной таблицы.
Занести в ячейку С12 формулу:
=Расходы!C10
Размножить введенную в ячейку С12 формулу для остальных ячеек (с С12 по F12) данной таблицы.
Занести в ячейку С13 формулу:
=C11-C12
Размножить введенную в ячейку С13 формулу для остальных ячеек (с С13 по F13) данной таблицы.
Таким образом будет заполнена таблица «Бюджет семьи Чижовых за 1 квартал 2006 г., руб.» (рис. 2.6)