задача дня-17

Nov 13, 2022 17:11

Не так давно встретилась задача -- скорее всего, она известная. Слишком уж естественная у неё формулировка. В таких случаях кому-то может быть известно "авторское" решение, которое мне было бы интересно узнать ( Read more... )

задача-дня, математика

Leave a comment

kaktus77 November 13 2022, 20:25:40 UTC
Можно рассуждать с конца.
Осталось два замка и два ключа это однозначно 1 проверка.
Нна предыдущем шаге - 3 замка и 3 ключа. Чтобы найти одну пару ключ-замок нужно 2 попытки. Это тоже однозначно. Меньше быть не может.
Таким образом получаем индукцию - каждый предыдущий шаг дает к+1 попыток.

И получаем по индукции, что это минимальное количество попыток (n(n-1)/2)

Reply

mathreader November 14 2022, 03:20:37 UTC

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

Reply

kaktus77 November 14 2022, 10:15:28 UTC
Почему же, вполне работает ( ... )

Reply

mathreader November 14 2022, 11:34:30 UTC

"Так или иначе переход от n ключей к n-1 происходит через подбор одной пары."

Здесь вы используете допущение, что нам надо переходить от n ключей к n-1. Нам, вообще говоря, не надо. Надо восстановить всё соответствие, и не обязательно один ключ за одним.

Reply

kaktus77 November 14 2022, 11:40:04 UTC
Ниже там доказано, что другого пути нет.
Нельзя подобрать сразу две (и больше) пары.

Reply

kaktus77 November 14 2022, 12:05:57 UTC
Впрочем, есть один (и только один) способ подобрать 2 пары за один ход.
То есть перейти от n сразу к n - 2.
Но он требует n-1 + n-2 проб. То есть заведомо. не уменьшает кол-во проб

Reply

falcao November 14 2022, 15:56:00 UTC
Рассуждение этого типа, наверное, возможно, но его не так легко изложить, обходя все возможные при этом "подводные камни". Если мы рассуждаем по индукции, то надо точно сформулировать доказываемое утверждение. И если в доказательстве участвуют "шаги", то нужно точно определить, что это означает. Скажем, если говорится, что "на шаге n все равно требуется минимум n-1 проб", то смысл этого утверждения ясен лишь в общих чертах. Нам приходится обращаться к ранее сделанным пробам, относя их к какому-то "шагу". Тогда должна быть задана функция, которая каждой пробе сопоставляет номер условного "шага". И я не думаю, что реализация такого плана является лёгким делом.

Reply

kaktus77 November 14 2022, 16:23:24 UTC
Конечно, это только план доказательства, и с неточностями:

Там не две стратегии, а три:

1) перебирать замки под ключ,
2) перебирать ключи для замка,
3) комбинация первых двух.

Вторая сводится к первой (симметрия ключей и замков) .

В первой возможен только переход от n к n-1, и для этого требуется минимум n-1 проб в n+ шагах (то есть при n или большем кол-ве свободных ключей). К какому именно шагу эти пробы относятся не имеет никакого значения, важно ведь только их количество (минимальное).

В третьей как раз возможен только переход от n к n-2 (иначе она сводится к первой) минимум за 2 n - 3 шага.

Надо, конечно, все строго и детально сформулировать, но вроде все довольно очевидно.
И проблем здесь возникнуть не должно.

Reply

falcao November 15 2022, 14:29:35 UTC
Основная трудность здесь в том, что мы не можем логически исключить какие-то "левые" стратегии, суть которых нам не вполне понятна, но которые по каким-то странным причинам в конце ведут к успеху. Так же, кстати, бывает и в случае алгоритмов. Допустим, есть какая-то NP-полная задача. Для неё известно, что некий "естественный" алгоритм решает её за экспоненциальное время. Но это не исключает возможности наличия подходящей процедуры с совершенно не знакомой нам стратегией. А самих стратегий, а также программ, необозримо много.

Reply


Leave a comment

Up