Смекни!
smekni.com

Обучение решению математических задач с помощью графов (стр. 2 из 2)

П.Т.З. 3. "Множество элементов"

Лист бумаги Плюшкин разрезал на 3 части. Некоторые из полученных листов он также разрезал на три части. Несколько новых листиков он вновь разрезает на три более мелкие части и т.д. Сколько Плюшкин получает листков, если разрезает k листков?


Решение: Листки бумаги обозначим на рисунке кружками. Кружки, соответствующие листам, которые разрезаются, закрасим целиком; остальные кружки оставим не закрашенными. на рисунке видно, что при разрезании одного листа на 3 части число листков увеличивается на два. Если же разрезано k листков, то образовалось 1+ 2k листов.

П.Т.З. 4 "Спортивные турниры".

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

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

Каждая вершина графа с 9-тью вершинами может иметь степень, равную 0, 1, 2, 3, 4, 5, 6, 7, 8. Предположим, что существует граф, все вершины которого имеют разную степень, т.е. каждое из чисел последовательности 0, 1, 2, 3, 4, 5, 6, 7, 8 является степенью одной и только одной из его вершин. Но этого не может быть. Действительно, если в графе есть вершина степени 0, то в нем не найдется вершина со степенью 8, так как эта вершина должна быть соединена со всеми остальными вершинами графа в том числе и с той, у которой степень =0. Иначе говоря, в графе с 9-тью вершинами не могут быть одновременно вершины степени 0 и 8. Следовательно найдутся хотя бы две вершины, степени которых равны между собой. Получили, что в любой момент времени найдутся хотя бы двое, сыгравшие одинаковое число партий.

П.Т.З. 5. "Выбор, соответствие".

Кто играет Тяпкина-Ляпкина. В школьном драмкружке решили ставить гоголевского «Ревизора». И тут разгорелся жаркий спор. Все началось с Ляпкина-Тяпкина.

Ляпкиным-Тяпкиным буду я! – решительно заявил Гена.

Нет, я буду Ляпкиным-Тяпкиным, - возразил Дима, - с раннего детства мечтал воплотить этот образ на сцене.

Ну, хорошо, согласен уступить эту роль, если мне дадут сыграть Хлестакова, - проявил великодушие Гена.

. . . А мне – Осипа, - не уступил ему в великодушии Дима.

Хочу быть Земляникой или Городничим, - сказал Вова.

Нет, Городничим буду я, - хором закричали Алик и Боря. – Или Хлестаковым, добавили они одновременно.

Удастся ли распределить роли так, чтобы исполнители были довольны?

Решение. Попробуем построить граф для данной ситуации. Изобразим юных актеров кружками верхнего ряда: А –Алик, Б – Боря, В – Вова, Г – Гена, Д – Дима, а роли, которые они собираются играть, - кружками второго ряда (1 – Ляпкин-Тяпкин, 2 – Хлестаков, 3 – Осип, 4 – Земляника, 5 - Городничий). Затем от каждого участника проведем отрезки, т.е. ребра к ролям, которые он хотел бы сыграть. У нас получится граф с десятью вершинами и десятью ребрами.

А Б В Г

Д

1 2 3 4 5

Чтобы решить задачу, нужно из десяти выбрать пять ребер, не имеющих общих вершин. Сделать это легко. Достаточно заметить, что в вершины 3 и 4 ведет по одному ребру, из вершин Д и В соответственно. Это означает, что Осипа (вершина 3) должен играть Дима, а Землянику – Вова. Вершина 1 – Ляпкин-Тяпкин соединена ребрами с Г и Д. Ребро 1 – Д отпадает, так как Дима уже занят, остается ребро 1 – Г, Ляпкина-Тяпкина должен играть Гена. Остается соединить вершины А и Б с вершинами 2 и 5, соответствующим ролям Хлестакова и Городничего. Это можно сделать двумя способами: либо выбрать ребра А - 5 и Б – 2, либо ребра А – 2 и Б – 5. В первом случае Алик будет играть Городничего, а Боря – Хлестакова, во втором случае – наоборот.

П.Т.З. 6. "Мосты".

Задача о Кенигсбергских мостах. Город Кенигсберг (ныне Калининград) расположен на берегах и двух островах реки Прегель (Преголи). Различные части города соединены семью мостами, как показано на рисунке. В воскресные дни горожане совершают прогулки по городу. Можно ли выбрать такой маршрут, чтобы пройти один и только один раз по каждому мосту и притом вернуться в начальную точку пути?

С g

с d

D

A e

f

a b В

Решение.

Обозначим различные части города буквами А, В, С, D, а мосты – буквами a, b, c, d, e, f, g. В этой задаче существенны лишь переходы через мосты: переходя через любой мост, мы всегда из одной части города попадем в другую, и, наоборот, переходя из одной части города в другую мы непременно пройдем по мосту. Поэтому изобразим план города в виде графа, вершины которого изображают отдельные части города, а ребра – мосты, соединяющие соответствующие части города.

С g


c d D

A

a b

B f

Если бы существовал маршрут, удовлетворяющий условию задачи, то существовал бы замкнутый и непрерывный обход этого графа, проходящий один раз по каждому ребру. Иными словами, этот граф можно было бы вычертить, не отрывая карандаша от бумаги и не проходя дважды по одному и тому же ребру. Но это невозможно – какую бы вершину мы ни выбирали за исходную, нам придется проходить через остальные вершины, и при этом каждому «входящему» ребру (мосту, по которому мы вошли в эту часть города) будет соответствовать выходящее ребро (мост, которым мы воспользуемся затем, чтобы покинуть эту часть города): число ребер, входящих в каждую вершину, будет равно числу ребер выходящих из нее, т.е. общее число ребер, сходящихся в каждой вершине должно быть четным. Наш граф этому условию не удовлетворяет, и поэтому требуемого маршрута не существует.

П.Т.З. 7. "Наибольшее и наименьшее число элементов".

Город имеет в плане вид прямоугольника, разбитого на клетки: n улиц параллельны друг другу, m других пересекаются под прямым углом. На улицах города – но не на перекрестках – стоят милиционеры. Каждый милиционер сообщает номер проходящего мимо него автомобиля, направление его движения и время, когда он проехал. Какое наименьшее число милиционеров нужно расставить на улицах, чтобы по их показаниям можно было однозначно восстановить путь любого автомобиля, едущего по замкнутому маршруту (маршрут не проходит по одному и тому же участку улицы дважды)?

Решение:

Наименьшее число милиционеров равно (m-1)(n-1).

Если милиционеры расставлены требуемым образом, то вся сетка улиц распадается на какое-то число k кусков, не содержащих замкнутых маршрутов (циклов), - иначе найдется цикл, по которому можно проехать не будучи замененным ни одним милиционером. Если оставшийся кусок сетки содержит р перекрестков то в нем содержится ровно р – 1 отрезков улиц. Так как перекрестков всего m n, то число отрезков, на которых нет милиционеров, равно mn – k. Общее число отрезков улиц равно 2mn – m – n. Таким образом, число занятых отрезков равно

mn – m – n + k > (n – 1)(n – 1).

Пример нужной расстановки (n – 1)(n – 1) милиционеров показан на рисунке