Подвиг разведчика

Задача

Могущественная террористическая организация «Спектр» собирается нанести ракетный удар по каким-то двум из десяти секретных объектов разведывательной службы МИ-6, у которой есть возможность защитить средствами ПВО только любые шесть объектов: если атакован будет любой из них, то ракеты будут сбиты на подлете. Но если атакован будет какой-то из незащищенных объектов, то он будет полностью уничтожен.

К счастью, Джеймс Бонд сможет в день атаки узнать, какие именно объекты будут атакованы, и после этого сможет передать в штаб МИ-6 два бита информации. Помогите штабу и Бонду договориться о таком способе передачи информации, чтобы ни один из атакуемых объектов не пострадал.


Подсказка

Бонд и штаб должны сформировать 4 списка (из 6 объектов каждый), чтобы каждая пара из 10 объектов встречалась вместе хотя бы в одном из списков. Тогда Бонд сможет передать номер списка (два бита информации как раз дадут возможность выбрать 1 из 4 номеров), после чего все шесть объектов этого списка можно будет защитить.


Решение

Обозначим секретные объекты цифрами от 0 до 9.

Пусть первый список (00) — это {0, 1, 2, 3, 4, 5}, второй (01) — {0, 1, 6, 7, 8, 9}, третий (10) — {2, 3, 6, 7, 8, 9}, четвертый (11) — {4, 5, 6, 7, 8, 9}. Как мы уже предположили в подсказке, Бонд будет передавать номер списка, а сами списки согласованы с МИ-6 заранее.

Если «Спектр» не собирается атаковать ни один из объектов списка 00, то Бонду достаточно передать любой из остальных трех списков. Если оба атакуемых объекта из списка 00, то именно его Бонд и передаст. Если же один объект входит в список 00, а второй не входит, то второй объект — один из {6, 7, 8, 9} — присутствует во всех остальных списках, и Бонд выберет тот из списков 01, 10, 11, в который входит еще и первый атакуемый объект. Например, если атака будет на объекты 3 и 7, то Бонд выберет список 10.

Как можно было догадаться до такого способа формирования списков? Ну, например, можно было заметить, что и 10, и 6 делятся на 2, поэтому напрашивается объединение пар объектов в одно множество. Тогда новых «парных» объектов всего 5, а в каждый из списков должны войти три из них. Требование «каждая пара вошла вместе хотя бы в один список» безусловно сохраняется, потому что для пар, которые мы объединили, оно будет выполнено точно, а для всех остальных пар мы должны его обеспечить. Группировка в пары упрощает задачу просто потому, что прокомбинировать 5 объектов в списки длины 3 намного быстрее, чем перебирать комбинации из 10 объектов в списках длины 6.

Само по себе решение на этом закончено, однако один важный вопрос остался совершенно непроясненным: а если бы секретных объектов у МИ-6 было не 10, а, к примеру, 1000, а одновременно защитить можно было бы не 600, а всего 599, — можно ли было бы это обеспечить?

Ответ на этот вопрос отрицателен, и чтобы доказать это, мы перейдем к пределу (устремив число объектов к бесконечности). Или, выражаясь проще, вместо дискретной задачи об объектах перейдем к «непрерывной» задаче.

Пусть роль множества объектов играет отрезок, длину которого будем считать равной 1, роль двух атакуемых «Спектром» объектов будут играть две точки этого отрезка, а роль списка, сообщаемого Бондом, достанется копии отрезка, на которой некоторые точки мы будем считать выделенными (например, покрашенными). Бонд должен сообщить номер копии (по-прежнему, от 00 до 11), в которой покрашены обе выбранных противником точки, причем это должно быть возможно при любом выборе противника. То, что Бонду удастся это сделать с четырьмя копиями, у которых покрашенная часть имеет длину 0,6 (3/5 от единичного отрезка), очевидно из приведенного выше решения дискретной задачи. Докажем, что покрасить в каждой копии меньше, чем 0,6, нельзя.

Предположим противное: покрашенная часть каждого отрезка имеет длину x < 0,6. Заметим, что каждая точка отрезка должна быть покрашена не менее чем в двух копиях, потому что иначе вместе с нею в покрашенной копии встретилась только часть, имеющая длину x, а остальная часть длины 1 − x не встретилась.

Пусть A — часть отрезка, покрашенная в двух копиях, B — часть, покрашенная трижды, а C — часть, покрашенная во всех четырех копиях.

Тогда 2A + 3B + 4C = 4x. Кроме этого, A + B + C = 1 (это равенство означает, что каждая точка отрезка окажется либо в двух, либо в трех, либо в четырех покрашенных копиях). Умножим второе равенство на 3 и вычтем из первого. Получим C − A = 4x − 3, откуда

A = C + 3 − 4x ≥ 3 − 4x > 3 − 4·0,6 = 0,6.

С другой стороны, часть A состоит из нескольких кусков, каждый из которых покрашен в каких-то конкретных двух копиях. Обозначим эти куски «12», «13», «14», «23», «24», «34» — по номерам соответствующих копий. Если таких кусков в A больше трех, то в какой-то из пар «12»+«34», «13»+«24», «14»+«23» оба слагаемых присутствуют. Без ограничения общности можно считать, что в A есть куски «12» и «34». Но тогда можно отметить одну точку в куске «12», а другую — в куске «34», и получится, что ни в какой копии отрезка эти точки не окрашены вместе.

Следовательно, в A может быть не более трех кусков. Рассмотрим наибольший из этих кусков, пусть его длина равна y. Так как выше доказано, что длина A больше 0,6, то y > 0,2. Но тогда в каждой из двух своих копий этот кусок дополняется какими-то другими частями (длина которых равна x − y), так что два этих дополнения в сумме равны 2x − 2y. А так как общая длина остальных кусков (всех, кроме куска длины y) равна 1 − y, то должно выполняться неравенство 2x − 2y ≥ 1 − y, откуда y ≤ 2x − 1 < 2·0,6 − 1 = 0,2. Мы получили противоречие: неравенства y > 0,2 и y < 0,2 одновременно не могут выполняться.

Следовательно, наше предположение о том, что можно как-то покрасить четыре копии менее чем по 0,6 каждую, неверно.


Послесловие

О комбинаторных задачах группового тестирования я однажды уже рассказывал — в задаче «Меченые шарики» и послесловии к ней.

Задача о Бонде и двух отмеченных точках относится к соседней комбинаторной области — задачах о покрытии множества его подмножествами (covering problems). Как ни удивительно, этой области науки очень долго «не везло» — математики не рассматривали ее всерьез, а наиболее интересные результаты в ней были получены... любителями призовых лотерей. Казалось бы, какая связь между математической задачей и лотереями? На самом деле — прямая. Если вы играете в лотерею типа «6 из 45», а в выигрышном билете должны быть угаданы не менее трех чисел, то возникает естественный вопрос: сколько билетов надо купить и как именно их заполнить, чтобы гарантированно выиграть? Теперь представьте, что вы с Джеймсом Бондом заранее составили такой план покупки и заполнения билетов, а в «момент Ч» он вам сообщит просто номер выигравшего билета... В нашей задаче мы сыграли в точно такую игру в лотерее «6 из 10», если выигрышным объявлялся билет, в котором угаданы два числа. Точнее, мы убедились в том, что выигрыш в такой игре возможен при покупке всего четырех лотерейных билетов.

К счастью, в какой-то момент математики подключились к поиску оптимальных стратегий выигрышей в лотереи и составили для решения подобных задач целые таблицы, например La Jolla Covering Repository. Если в форму на этом сайте ввести t = 2, size = 4 и нажать на search, то в результатах поиска будет очень много строчек, соответствующих различным значениям (nk), где n — число всех объектов, а k — длина списка. Если приведенное в решении доказательство вас не до конца убедило, можете самостоятельно убедиться, что во всех этих строчках отношение k/n не меньше 3/5.


18
Показать комментарии (18)
Свернуть комментарии (18)

  • John Clayton  | 16.09.2016 | 07:28
    Комментарий скрыт
    • Олег Чечулин > John Clayton | 16.09.2016 | 09:02 Ответить
      1. В Вашем примере 5 вариантов - а это уже больше 2 бит.
      2. Если захотят атаковать объекты 9 и 10 - что в Вашем решении должен передать Бонд?
      Ответить
      • persicum > Олег Чечулин | 16.09.2016 | 09:43 Ответить
        Классная задачка! Я ее решил, группируя цифры так:
        1) 012345 - самое простое
        2) 067891 - покрыли все пары с нулем, а потом и с единицей.
        Смотрим, пара 26 еще не встречается, начнем с нее
        3) 267893 - завершили все пары с двойкой и с тройкой.
        Не хватает пары 46, начинаем с нее
        4) 467895

        Кажется, списки получились сильно избыточными. Пару 15 можно защитить только первым списком, пару 01 можно защитить и 1 и 2 списком, а пару 67 можно защитить, передав любой из списков 2,3 или 4. Как же так?
        Ответить
      • John Clayton > Олег Чечулин | 19.09.2016 | 08:35 Ответить
        Согласен
        Ответить
  • DiSha  | 17.09.2016 | 07:45 Ответить
    Можно проще:
    Надо заранее договориться МИ-6 и Джеймсу Бонду, какие именно 6 объектов будут защищены ПО УМОЛЧАНИЮ.
    Далее делим объекты на заранее согласованные списки:
    A - 2 объекта, по умолчанию - не защищены
    B - 2 объекта, по умолчанию - не защищены
    C - 2 объекта, по умолчанию - защищены
    D - 4 объекта, по умолчанию - защищены

    Далее Бонд узнал, какие на какие 2 объекта будет нападение и передаёт информацию:
    00 - атака на любые объекты кроме списка D (кроме случая, когда атака ТОЛЬКО на объекты списка C) - перебросить защиту с D на A и B;
    01 - атака на объекты списков A и D - перебросить защиту с C на A;
    10 - атака на объекты списков B и D - перебросить защиту с C на B;
    11 - атака на защищённые объекты из списков C и D - ничего не делать.

    P.S. Задачу можно обобщить - вместо "по двум", можно написать "не более, чем по двум". Ну и вообще говоря, согласно буквальной постановке задачи - имеющаяся возможность не передавать сигнал (что ИМХО - не входит в оговорённые 2 бита), сокращает необходимый объём передачи информации до полутора :) бит.
    Ответить
    • persicum > DiSha | 17.09.2016 | 08:00 Ответить
      А пример можно? Допустим, сначала защищены объекты 012345, дальше что?
      Ответить
      • DiSha > persicum | 17.09.2016 | 08:08 Ответить
        A - 98
        B - 76
        C - 54
        D - 3210

        Вроде дальше логика понятна. Если надо расписать подробно, ок, сделаю.
        число сочетаний 10 из 2, т.е. C(2,10) =45.
        --- О б ъ е к т ы--- 9876543210
        Комбинация -№ 1 0000000011 - 11
        Комбинация -№ 2 0000000101 - 11
        Комбинация -№ 3 0000000110 - 11
        Комбинация -№ 4 0000001001 - 11
        Комбинация -№ 5 0000001010 - 11
        Комбинация -№ 6 0000001100 - 11
        Комбинация -№ 7 0000010001 - 11
        Комбинация -№ 8 0000010010 - 11
        Комбинация -№ 9 0000010100 - 11
        Комбинация №10 0000011000 - 11
        Комбинация №11 0000100001 - 11
        Комбинация №12 0000100010 - 11
        Комбинация №13 0000100100 - 11
        Комбинация №14 0000101000 - 11
        Комбинация №15 0000110000 - 11
        Комбинация №16 0001000001 - 10
        Комбинация №17 0001000010 - 10
        Комбинация №18 0001000100 - 10
        Комбинация №19 0001001000 - 10
        Комбинация №20 0001010000 - 00
        Комбинация №21 0001100000 - 00
        Комбинация №22 0010000001 - 10
        Комбинация №23 0010000010 - 10
        Комбинация №24 0010000100 - 10
        Комбинация №25 0010001000 - 10
        Комбинация №26 0010010000 - 00
        Комбинация №27 0010100000 - 00
        Комбинация №28 0011000000 - 00
        Комбинация №29 0100000001 - 01
        Комбинация №30 0100000010 - 01
        Комбинация №31 0100000100 - 01
        Комбинация №32 0100001000 - 01
        Комбинация №33 0100010000 - 00
        Комбинация №34 0100100000 - 00
        Комбинация №35 0101000000 - 00
        Комбинация №36 0110000000 - 00
        Комбинация №37 1000000001 - 01
        Комбинация №38 1000000010 - 01
        Комбинация №39 1000000100 - 01
        Комбинация №40 1000001000 - 01
        Комбинация №41 1000010000 - 00
        Комбинация №42 1000100000 - 00
        Комбинация №43 1001000000 - 00
        Комбинация №44 1010000000 - 00
        Комбинация №45 1100000000 - 00
        Ответить
  • pale  | 17.09.2016 | 11:56 Ответить
    Подозревал, что решил задачу не так, как это предполагалось автором задачи :) Наверно, додумался бы и до авторского решения, но поленился. И, как мне думается, моё решение тоже можно признать верным, поскольку цели - защиты нужных объектов - оно добиться позволяет. Один из комментаторов уже высказал мысль о списке объектов принятом по умолчанию - именно! Покрыть множество из десяти объектов пятью списками по 6 намного проще, хотя, да, эти списки оказываются избыточными. Номера 0-3 передаются Бондом (при необходимости), в противном случае (и изначально) используется список №4.
    Если обратиться к ситуации, описанной в задаче, пять списков даже надёжнее (несколько), чем четыре - шпиону может что-то помешать выйти на связь, да и передислоцировать и развернуть шесть комплексов ПВО, какими бы они ни были мобильными, наверняка труднее и дольше, чем один-два. Но в случае с пятью списками, решение сводится не к комбинаторике, как задумывалось автором, а к теории информации (как я понимаю): отсутствие сигнала - тоже сигнал.
    Ответить
    • pale > pale | 17.09.2016 | 12:14 Ответить
      Э... насчёт надёжности погорячился. Конечно же, ничто не мешает принять "по умолчанию" один из четырёх списков. Я и DiSha, видимо, решили задачу не вполне корректно. Но решили!
      Ответить
      • DiSha > pale | 17.09.2016 | 13:22 Ответить
        Стоп-стоп. Я решил задачу максимально корректно.
        У меня передаются ровно 2 бита, включая случай со "списком по умолчанию".
        Если для списка по умолчанию никакие сигналы не передаются (что, как верно замечено - тоже сигнал), то достаточно передачи одного троичного бита.
        P.S. Ещё прошу обратить внимание - у меня формируются 4 списка (из них 2 списка - C и D - защищённые объекты "по умолчанию"), НО - элементы в списках не повторяются, и передаются не сами списки, а некоторые (описанные выше) производные от этих списков.
        P.P.S. И, да, мой вариант по сравнению с вариантом решения автора задачи ИМХО более надёжен, поскольку в 15 из 45 случаев необходимые объекты уже защищены ПВО, в 16 из 45 случаев необходимо перенацелить на другие объекты только 2 системы ПВО в 14 из 45 случаев необходимо перенацелить на другие объекты только 4 системы ПВО
        Ответить
        • 3g430 > DiSha | 17.09.2016 | 15:39 Ответить
          Вот еще более простое решение с учетом неявного условия в задаче, что средства ПВО приводятся в боевое положение только при поступлении сигнала от шпиона, т.к. их ресурс на боевом дежурстве ограничен:
          - изначально защищены объекты 012345
          - при поступлении сигнала 00 средства ПВО приводятся в боевое положение;
          - при поступлении сигнала 01 4 средства ПВО снимаются с объектов 2345, перемещаются на объекты 6789 и все средства ПВО приводятся в боевое положение;
          - при поступлении сигнала 10 4 средства ПВО снимаются с объектов 0145, перемещаются на объекты 6789 и все средства ПВО приводятся в боевое положение;
          - при поступлении сигнала 11 4 средства ПВО снимаются с объектов 0123, перемещаются на объекты 6789 и все средства ПВО приводятся в боевое положение.
          Таким образом, Бонд передает не список атакуемых объектов, а указывает, какие действия необходимо предпринять.
          Видно, что информации избыточно много, т.к в 9 случаях из 45 защита возможна более, чем одним способом, но придумать, как использовать эту избыточность (например, увеличить количество объектов или уменьшить ПВО) мне не удалось.
          Ответить
          • persicum > 3g430 | 17.09.2016 | 18:50 Ответить
            Ну понятно, что ни в каком случае Бонд не передает сам список, а только ссылку на него, от 00 до 11. Я немного небрежно выразился. Нужна предварительная договоренность со штабом.

            Отсутствие сигнала - не сигнал. Может, он не по своей воле его не послал. Может, сломалось что. А почему не рассматривается сигнал в 1 бит?
            Ответить
            • ovz > persicum | 22.09.2016 | 19:00 Ответить
              Я как раз этим путем и пошел.
              Решал задачу через трехзначную логику.
              На самом деле бит может содержать три значения. 0, 1, NULL (т,е отсутствовать)
              Таким образом имеем шесть состояний
              1) 00
              2) 01
              3) 10
              4) 11
              5) 0 NULL или NULL 0 (так как мы не занем какой бит отсутствует)
              6) 1 NULL или NULL 1
              Есть еще и седьмой вариант NULL NULL. Т.е. отстутствие сигналов от Бонда вообще. В обсуждениях он фигурирует как вариант по умолчанию.Но тут уже возникает вопрос по какой причине Бонд не передал сигнал. Хотел передать таким образом информацию или не смог.
              Если не смог то и эталонный вариант решения задачи приводит к тому же результату - с вероятностью 4/10+3/10 враг достигнет цели. Видимо разработчиками задачи такая ситуация исключается и Бонд точно имеет возможность передавать сигналы.
              Поэтому смело можно передать 7 разных состояний двумя битами.
              Далее вариантов решения задачи может быть несколько а число защищаемых объектов таким способом может быть и больше 10.
              Ответить
          • DiSha > 3g430 | 18.09.2016 | 08:51 Ответить
            В Вашем варианте достаточно
            - при поступлении сигнала 01 2 средства ПВО снимаются с объектов 45, перемещаются на объекты 89 и все средства ПВО приводятся в боевое положение;
            - при поступлении сигнала 10 2 средства ПВО снимаются с объектов 45, перемещаются на объекты 67 и все средства ПВО приводятся в боевое положение;
            В случаях 00 и 11 - так, как описано у Вас.
            Ответить
  • DiSha  | 18.09.2016 | 09:55 Ответить
    А давайте обобщим задачу:
    Всего объектов - K
    Можно защитить объектов - L
    Количество объектов, по которым наносится удар - M
    Передаётся один бит.
    Определить функцию минимально возможного основания системы счисления, в которой этот бит передаётся, при условии что все атакуемые объекты будут защищены - S
    а именно - S=F(K,L,M) K>=L>=M
    Ответить
  • oriss  | 19.09.2016 | 00:22 Ответить
    еще вариант - без математики! синхронизируются часы, сигнал отправляется в ту минуту которая соответствует номеру объекта. на циферблате 6 десятиминуток) вуаля!
    Ответить
  • eugenfs  | 19.09.2016 | 05:12 Ответить
    Многие нестандартные решения интересны, но IMHO противоречат условию - передать два бита информации. А отсутствие передачи, как и её время - это дополнительная информация. Возможно, такое выискивание лазеек имеет смысл, но неужели была бы лучше строго математическая формулировка? Типа "имеется множеснво из N элементов, определить M подмножеств, обладающих следующими свойствами..."
    Ответить
  • armet27  | 20.09.2016 | 09:53 Ответить
    Решил немного по-другому: разбил объекты на пары A (1,2); B (3,4); C (5,6); D (7,8), E (9,10). Чтобы защитить 6 объектов МИ-6 - Бонд отправляет информацию о трех парах объектов, при этом максимум две из которых задействованы в ударе. 2 бита = 4 варианта комбинаций соответственно:
    ABC - 00
    ABD - 01
    ABE - 10
    CDE - 11
    В этих четырех комбинациях присутствуют любые 2 пары объектов и этого достаточно для защиты.

    Вариант решения автора, в принципе, аналогичен, но приходится работать с 6-ю объектами из 10-ти. В этом варианте задача упрощается до 3-х объектов (пар объектов) из 5-ти.
    Ответить
  • oriss  | 24.09.2016 | 04:55 Ответить
    Автор задачи, как я понимаю, не хочет комментировать решения которые предлагают участники обсуждения. Вопрос - зачем автор задавал эту задачу?
    Ответить
Написать комментарий
Элементы

© 2005–2026 «Элементы»