Здравствуйте, гость Правила · Помощь

»  Шпионский код Подписаться | Сообщить другу | Версия для печати
      » 6/02/2006, 21:42,  Dantes 
/ так задача ещё проще...

Сашун ,а можно на примере (предположим вам нужно закодировать число 7)? А я вот утверждаю что это гораздо сложнее чем пример у Тони . А по такому подробному описанию нельзя вычислить имея 2 бумашки ?

Да, и ещё, если вам резко надо написать ещё одну шифровку для числа скажем 11 ...? Каким методом легче и быстрее ?

Это сообщение отредактировал Dantes - 6/02/2006, 21:51
      » 6/02/2006, 21:46,  Jim_Hokins 
Растлитель, вроде "по-русски" математическим языком раскладку дал,
что если количество танков - сумма чисел любых трех записок из пяти,
то на каждой записке - одинаковое число ...
      » 6/02/2006, 21:49,  ilia_gold 
да.... у тони лучшее решение...
      » 6/02/2006, 21:56,  Jim_Hokins 
Сашун ( "6/".$m["фев"]."/2006," 17:20)
Ну, если исходить из того, что пользователь знает код, так задача еще проще ))).

Каждая записка содержит ПОЛНЫЙ НАБОР инструкций о том, что делать с информацией на ДВУХ ДРУГИХ записках.

Пример записки № 1.

"1. Число этой записки 2345. Чтобы узнать количество танков следуйте нижеприведенной инструкции.

2. Если У Вас есть еще записки №2 и № 3, сделайте с числами записок 1, 2 и 3 следующее...
3. Если У Вас есть еще записки №2 и № 4, сделайте с числами записок 1, 2 и 4 следующее...
4. Если У Вас есть еще записки №2 и № 5, сделайте с числами записок 1, 2 и 5 следующее...
5. Если У Вас есть еще записки №3 и № 4, сделайте с числами записок 1, 3 и 4 следующее...
6. Если У Вас есть еще записки №3 и № 5, сделайте с числами записок 1, 3 и 5 следующее...
7. Если У Вас есть еще записки №4 и № 5, сделайте с числами записок 1, 4 и 5 следующее... "


Вместо многоточия приводится любой алгоритм типа "получить нужное число из двух-трех известных".

Итак, каждая записка содержит полный набор уравнений с участием числа этой записки и загаданного числа танков.
Если к нам в руки попали две записки, то мы имеем восемь разных уравнений
и всего четыре неизвестных величины.
Кто слабое звено, кому не по силам решить такую систему уравнений ????

Это сообщение отредактировал Jim_Hokins - 6/02/2006, 21:56
      » 6/02/2006, 22:03,  Guest 
Попытаюсь точно сформулировать условие, как я его понял, и прокомментировать "решения".
Агент передает информацию о количестве танков в пяти занумерованных записках (если записки не занумерованы, то определенная ниже функция "ключ" симметрична относительно перестановок переменных), каждая из которых содержит число (или последовательность, или множество чисел, т.к. по сути это не важно, будем считать, что число).
Центр расшифровывает сообщение с помощью функции "ключ" F(X1, X2, X3, X4, X5): N5 --> N, где Xi - число в i-ой записке.
На некоторых 5-ках функция "ключ" может быть не определена (или, если угодно, определена неоднозначно), что, быть может, говорит об ошибке Агента или работе "под контролем", и т.п.
Словам, написанным в записке, вообще говоря, доверять нельзя - а вдруг это не "настоящая" инструкция типа "Количество вражеских танков равно сумме чисел на трех записках", а часть кода?
Поэтому очевидно, если Враг не знает ключа, то, вообще говоря, он не может расшифровать послание ни по трем, ни по всем пяти запискам. Поэтому предполагается, что Враг знает ключ.
Условие разрешимости задачи по любым трем запискам означает (c учетом симметрии), что числа A1, A2, A3, A4, A5 (переданные агентом) удовлетворяют следующему условию:
для каждой тройки i, j, k (i =/= j =/= k) и для любых A, B выполнено F(Ai, Aj, Ak, A4, A5) = F(Ai, Aj, Ak, A, B) тогда и только тогда, когда правая часть равенства определена.
Условие неразрешимости задачи по любым двум запискам означает (c учетом симметрии), что числа A1, A2, A3, A4, A5 удовлетворяют следующему условию:
для каждой пары i, j (i =/= j) существуют числа A, B, С, для которых F(Ai, Aj, A3, A4, A5) =/= F(Ai, Aj, A, B, С), причем правая часть определена.
Поскольку из "физических" соображений ясно, что ключ F таков, что пятерку с условием 3-разрешимости и 2-неразрешимости можно выбрать для любого значения ф-ции F, предполагается, что набор A1, A2, A3, A4, A5, используемый Агентом, именно таков, и Враг об этом знает. (Тут, на самом деле, есть некоторая тонкость).
Учитывая вышесказанное:
1. Первоначальное решение Сашуна неверно (знающий ключ определит и по одной; а незнающий кода почему, собственно, должен доверять словесам "...равно сумме чисел на трех записках"?)
2. Второе решение Сашуна требует серьезных дополнительных исследований, поскольку в нем в общем случае нарушен принцип симметрии (каждая тройка записок выдает свое количество танков). Нет желания поработать над формулировкой совокупности инструкций, инвариантных относительно подстановок?
3. Решение Тони-Растлителя, очевидно, удовлетворяет всем необходимым условиям. Конечно, "в реале" врагу или конкурентам, нашедшим две бумажки, не стоит оставлять альтернативу всего из двух чисел, поэтому кодировать, наверное, стоило какие-нибудь остатки от деления, множители и проч.
      » 6/02/2006, 22:10,  Guest 
Guest ( "6/".$m["фев"]."/2006," 19:03)
Попытаюсь точно сформулировать условие, как я его понял, и прокомментировать "решения".
Агент передает информацию о количестве танков в пяти занумерованных записках (если записки не занумерованы, то определенная ниже функция "ключ" симметрична относительно перестановок переменных), каждая из которых содержит число (или последовательность, или множество чисел, т.к. по сути это не важно, будем считать, что число).
Центр расшифровывает сообщение с помощью функции "ключ" F(X1, X2, X3, X4, X5): N5 --> N, где Xi - число в i-ой записке.
На некоторых 5-ках функция "ключ" может быть не определена (или, если угодно, определена неоднозначно), что, быть может, говорит об ошибке Агента или работе "под контролем", и т.п.
Словам, написанным в записке, вообще говоря, доверять нельзя - а вдруг это не "настоящая" инструкция типа "Количество вражеских танков равно сумме чисел на трех записках", а часть кода?
Поэтому очевидно, если Враг не знает ключа, то, вообще говоря, он не может расшифровать послание ни по трем, ни по всем пяти запискам. Поэтому предполагается, что Враг знает ключ.
Условие разрешимости задачи по любым трем запискам означает (c учетом симметрии), что числа A1, A2, A3, A4, A5 (переданные агентом) удовлетворяют следующему условию:
для каждой тройки i, j, k (i =/= j =/= k) и для любых A, B выполнено F(Ai, Aj, Ak, A4, A5) = F(Ai, Aj, Ak, A, B) тогда и только тогда, когда правая часть равенства определена.
Условие неразрешимости задачи по любым двум запискам означает (c учетом симметрии), что числа A1, A2, A3, A4, A5 удовлетворяют следующему условию:
для каждой пары i, j (i =/= j) существуют числа A, B, С, для которых F(Ai, Aj, A3, A4, A5) =/= F(Ai, Aj, A, B, С), причем правая часть определена.
Поскольку из "физических" соображений ясно, что ключ F таков, что пятерку с условием 3-разрешимости и 2-неразрешимости можно выбрать для любого значения ф-ции F, предполагается, что набор A1, A2, A3, A4, A5, используемый Агентом, именно таков, и Враг об этом знает. (Тут, на самом деле, есть некоторая тонкость).
Учитывая вышесказанное:
1. Первоначальное решение Сашуна неверно (знающий ключ определит и по одной; а незнающий кода почему, собственно, должен доверять словесам "...равно сумме чисел на трех записках"?)
2. Второе решение Сашуна требует серьезных дополнительных исследований, поскольку в нем в общем случае нарушен принцип симметрии (каждая тройка записок выдает свое количество танков). Нет желания поработать над формулировкой совокупности инструкций, инвариантных относительно подстановок?
3. Решение Тони-Растлителя, очевидно, удовлетворяет всем необходимым условиям. Конечно, "в реале" врагу или конкурентам, нашедшим две бумажки, не стоит оставлять альтернативу всего из двух чисел, поэтому кодировать, наверное, стоило какие-нибудь остатки от деления, множители и проч.

Очепятка: формулу F(Ai, Aj, Ak, A4, A5) = F(Ai, Aj, Ak, A, B) следует читать F(Ai, Aj, Ak, Am, An) = F(Ai, Aj, Ak, A, B), где {m, n} = {1, 2, 3, 4, 5}/{i, j, k}
      » 6/02/2006, 22:18,  Guest 
.... а формулу F(Ai, Aj, A3, A4, A5) =/= F(Ai, Aj, A, B, С) следует читать "F(Ai, Aj, Ak, Am, An) =/= F(Ai, Aj, A, B, C), где {k, m, n} = {1, 2, 3, 4, 5}/{i, j}.
Извините. Nik.
      » 7/02/2006, 02:34,  Сашун 
Нате Вам решение геометрическое. ))).

Оно есть кусок математики - аналитическая геометрия. Пусть число танков однозначно определяется точкой в трехмерном пространстве - тремя ее координатами.

Напишем 5 уравнений РАЗНЫХ пересекающихся плоскостей, содержащих заданную точку, и поместим в каждую записку ОДНО уравнение.

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

--------------------
С уважением, А.Малышев
      » 7/02/2006, 12:34,  Jim_Hokins 
Сашун ( "6/".$m["фев"]."/2006," 23:34)
Нате Вам решение геометрическое. ))).

Оно есть кусок математики - аналитическая геометрия. Пусть число танков однозначно определяется точкой в трехмерном пространстве - тремя ее координатами.

Напишем 5 уравнений РАЗНЫХ пересекающихся плоскостей, содержащих заданную точку, и поместим в каждую записку ОДНО уравнение.

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

А типа у Тони предложение было другое ?????
      » 7/02/2006, 18:38,  ilia_gold 
Сашун от моего к Тониному решению бегает))

короче с задачей мы справились...даешь еще чтото подобное))
« Предыдущая тема | Перечень тем | Следующая тема »
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей: