Как бы вы решили этот график теории рукопожатия проблема в Python?

StackOverflow https://stackoverflow.com/questions/2902660

Вопрос

Я закончил колледж в прошлом году со степенью психологии, но я также принял много математики для удовольствия. Я недавно получил книгу «Вступительные графические теории» Gary Chartrand, чтобы освежить мою математику и повеселиться. Вот упражнение из книги, которую я нахожу особо бентейлинг:

Предположим, вы и ваш муж посещали вечеринку с тремя другими супружескими парами. Несколько рукопожатий состоялись. Никто не пожал руки с собой (или сама) или со своим (или ее) супругом, и никто не пожал руку с тем же человеком более одного раза. Ведь рукопожатие было завершено, предположим, что вы спрашивали каждого человека, в том числе своего мужа, сколько рук он или она потрясел. Каждый человек дал другой ответ. а) Сколько рук вы дрожали? б) Сколько рук твой муж дрожал?

Теперь я некоторое время рассуждаю об этом, и пытаясь рисовать образцы графиков, которые могут проиллюстрировать решение, но я приду к пустым руками. Моя логика это: на графике есть 8 разных вершин, а 7 из них имеют разные степени. Поэтому значения для степеней должны быть 0, 1, 2, 3, 4, 5, 6 и х. Количество градусов за одну супружескую пару (0, 6). Поскольку все графики имеют четное количество нечетных вершин, X должно быть 5, 3 или 1.

Каково ваше решение этой проблемы? И, если бы вы могли решить это в Python, как бы вы это сделали?

(python is fun.)

Ваше здоровье.

Это было полезно?

Решение

Приятно в этой проблеме вам не нужно решить график, если вы не хотите. Вы на самом деле очень близко. Вы подумали, что одна пара имеет краткие многочисленные (6,0). Остальная часть вершин недифференцируется друг от друга относительно первой пары, и у вас есть те же правила для этого подграфа. Таким образом, множества под-графов составляют 0,1,2,3,4, х, и есть несколько пары с умножениями (4,0). Эта пара имеет краткие многочисленные (5,1) в полном графике. Поэтому, как вы переживаете процессу, вы заключите, что ваши пары имеют многолики (6,0), (5,1), (4,2), (3,3). И, конечно, вы должны иметь множественность х = 3, так что ваш муж потряс 3 руках.

Другие советы

Я думаю, что этот список соседних представляет решение:

1 ->  {}
2 ->  {3, 4, 5, 6, 7, 8}
3 ->  {2, 5, 6, 7, 8}
4 ->  {2}
5 ->  {2, 3, 7, 8}
6 ->  {2, 3}
7 ->  {2, 3, 5}
8 ->  {2, 3, 5}

Обратите внимание, что каждая даже вершина женат на вершине один меньше, чем сама. Вы 8.

Я вроде интактировал решение. Подумал об этом на несколько минут, а затем понял, что каждая пара должна иметь комбинированную степень 6 для этого для работы. Тогда просто разобрался, как это должно работать.

То, что говорит Стивен, так это то, что вы вывели, что должна быть пара с градусами (0,6) и все остальные (1, 2, 3, 4, 5, х). Теперь рассмотрим подграф, созданный, удалив эту первую пару. «Муж» не встряхнул чью-то руку, поэтому он не будет никакого эффекта. «Жена» потрясла всех, поэтому вам нужно будет вычитать 1 из всех других градусов. Таким образом, у вас есть график с (0, 1, 2, 3, 4, X-1), где применяются те же правила. Отсюда вы можете использовать тот же процесс мысли, который вы использовали для определения существования пары (0,6), чтобы выяснить существование пары (1,5). Это на самом деле будет (0,4), но вам нужно добавить 1 в конце, потому что это подграф, не считая первую пару.

Просто продолжайте повторять, пока вы не до кого-то и X срок, и вы должны получить x = 3.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top