Нумерация подмножеств


10

Исправить . Для любого достаточно большого мы хотели бы пометить все подмножества размера точно натуральными числами из . Нам бы хотелось, чтобы эта маркировка удовлетворяла следующему свойству: есть множество целых чисел, stk≥5n{1..n}n/k{1...T}S

  1. Если подмножеств размера не пересекаются (т.е. объединение этих множеств образуют все множество ), то сумма их меток в .kn/k{1..n}S
  2. В противном случае, сумма их метки не в .S

Существует ли и метка st ?k≥5T⋅|S|=O(1.99n)

Например, для любого мы можем пометить подмножества следующим образом. , каждое подмножество имеет битов в своем числе: первый бит равен если подмножество содержит , второй бит равен если подмножество содержит т. Д. Легко видеть, что содержит только один элемент . Но здесь . Можем ли мы сделать это лучше?kT=2nn1112S2n−1T⋅|S|=Θ(2n)


3
Почему 5, а не 3?
— Домоторп

@domotorp: Вы знаете, как сделать это для меньшего ? k
— Алексей Головнев

Это дало бы конструктивное доказательство вопроса на миллион долларов! Не так быстро! :)
— Tayfun Pay

@Geekster: Не могли бы вы объяснить?
— Алексей Головнев

3
Можно ли сделать T = O (1,99 ^ n)? Кажется, вопрос предполагает, что это возможно, но мне неясно, как это сделать.
— Цуёси Ито

Ответы:


7

Частичный ответ состоит в том, что даже для такой маркировки не существует.k

Для набора из непересекающихся подмножеств (размером пусть обозначает сумму их значений).tS1,…,Stn/kf(S1,…,St)

Утверждение: если и то .t<kS1∪…∪St≠S1′∪…∪St′f(S1,…,St)≠f(S1′,…,St′)

Чтобы понять, почему утверждение верно, выберите набор такой, что но затем один из этих новых наборов пересекает один из , поэтому не может быть таким же, как .St+1,…,Sk⋃i=1kSi=[n]Si′f(S1,…,Sk)f(S1′,…,St′,St+1,…,Sk)

Следствие: .T>(ntn/k)/t

Установка дает нижнюю границу .t=k/2T≥2(nn/2)/k=Ω(2n/n)

Обратите внимание, что для нечетного можно получить нижнюю границу порядка . Уже при мы имеем поэтому показатель степени стремится к довольно быстро.k(nn(1−1/k)/2)≈2H((1−1/k)/2)n=2n(1−O(1/k2))k=5H((1−1/k)/2)=H(0.4)≈0.971

Я бы предположил, что для нечетных тоже не существует решения, но я не уверен, как это доказать.k


Спасибо, очень красивое решение! Но я не уверен, сможем ли мы обобщить это на нечетное . k
— Алексей Головнев

4

Это не ответ, а просто объяснение, почему при k = 2 такой маркировки не может быть (я уверен, что это уже было известно Алексу, так что это просто рецензия для других читателей, таких как я ...)

Для k = 2 имеем . Это потому, что есть подмножеств размера n / 2. Если любые два получают одинаковую метку, например, A и B, то либо сумма метки A и ее дополнения не в S, либо сумма метки B и дополнения A в S. Это подразумевает (для больших n).T≥(nn/2)≥1.99n(nn/2)T≥(nn/2)

Для больших k аналогичный аргумент показывает, что все метки должны быть разными, но это дает только более слабую экспоненциальную нижнюю границу. Так что уже k = 3 кажется неизвестным.


Да спасибо! Было бы замечательно, если бы кто-то мог дать какую-то интуицию, почему нет такой маркировки для больших , или почему трудно найти такую ​​маркировку. k
— Алексей Головнев
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.