Подсчет целочисленных разделов, для которых xor равен нулю - PullRequest
1 голос
/ 22 ноября 2011

Я ищу эффективный способ вычисления количества разделов целого числа, для которых xor равно нулю: F (n, c) = # {(x1, x2, ..., xc) |x1 + x2 + ... + xc = n & x1 xor x2 xor ... xor xc = 0}

Для небольших значений n и c легко запускать вложенные циклы для вычисления этих значений.Но для больших значений это не поддается обработке.Я хотел бы получить закрытую форму или хотя бы рекурсивную формулу, которая позволяет динамическое программирование ..

1 Ответ

1 голос
/ 22 ноября 2011

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

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

http://en.wikipedia.org/wiki/Partition_%28number_theory%29#Partition_function_formulas

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

Насколько большой ты намереваешься быть? Ссылка выше говорит, что р (1000) примерно 2,44 * 10 ^ 31.

Если n большое, вы также верите, что c будет маленьким? Это сильно упростит ситуацию.

Чтобы решить вашу проблему, вам нужно заинтересовать научного математика, специализирующегося в этой области.

www.aimath.org / Новости / раздела /

Вы можете попробовать Math Overflow, используя в качестве ключевого слова "Разделы".

Я нашел эту ветку о разделении точно на c (они используют 'k' для этой части) отдельных частей, что является первым (более легким) вашим ограничением.

https://mathoverflow.net/questions/72418/what-are-the-best-known-bounds-on-the-number-of-partitions-of-n-into-exactly-k

...