2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Число транспозиций вектора с заданным условием
Сообщение20.12.2006, 11:56 


20/12/06
13
Привет, форумяне!

Задачка, честно говоря, не олимпиадная, но вполне может быть такой - скажем, на олимпиаде по перечислительной комбинаторике. Постановка задачи такова:

В N-мерном пространстве задан вектор А. Все компоненты - натуральные числа, причем некоторые из них могут совпадать. Над вектором А определена операция транспозиции А -> Transpose(А), т.е. перестановка его компонент.

Задан линейный функционал: F(А) = (А, W) (скалярное произведение), где W – некоторый фиксированный вектор, все компоненты которого также являются натуральными числами.

Найти число разных транспозиций вектора А, таких, чтобы F(Transpose(А)) = F(А).

Понятно, что уже при N>10 тупой перебор вариантов на компе получается утомительным. Вполне удовлетворила бы асимптотическая формула, дающая решение с точностью порядка процентов, можно даже десятков процентов.

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

 Профиль  
                  
 
 
Сообщение20.12.2006, 12:45 
Модератор
Аватара пользователя


11/01/06
5710
Скорее бесполезное наблюдение (хотя кто знает):
если $A=(a_1,\dots,a_n)$ и $W=(w_1,\dots,w_n),$ то искомое число перестановок компонент вектора $A$ равно коэффициенту при $x^{F(A)}y^{2^n-1}$ в разложении
$$f(x,y) = \prod_{i=1}^n \sum_{j=1}^n x^{a_j w_i} y^{2^{j-1}},$$
а также (в виду симметрии) в разложении
$$g(x,y) = \prod_{i=1}^n \sum_{j=1}^n x^{a_i w_j} y^{2^{j-1}}.$$

Добавлено спустя 5 минут 22 секунды:

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

 Профиль  
                  
 
 
Сообщение20.12.2006, 13:56 


20/12/06
13
Спасибо, maxal. Не ожидал столь быстрой реакции. Ваш ответ великолепен по точности, без иронии.

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

maxal, Вы не могли бы указать источник, который можно было бы почитать, чтобы понять, откуда взялась эта производящая функция и что с ней делать для получения конечного решения?

 Профиль  
                  
 
 
Сообщение20.12.2006, 14:11 
Модератор
Аватара пользователя


11/01/06
5710
Это не совсем производящая функция, так как нас в ней интересует всего лишь один конкретный коэффициент. В общем виде можно показать, что коэффициент при $x^m y^{2^n-1}$ в разложении $f(x,y)$ равен числу перестановок $\pi,$ для которых $F(\pi\cdot A)=m.$ Начать можно с того наблюдения, что для получения $y^{2^n-1}$ из каждого множителя в $f(x,y)$ должен быть выбран свой уникальный $j,$ так что все эти выбранные $j$ образуют множество $\{1,\dots,n\}.$ Это следует из того, что показатель $2^n - 1 = 2^0 + 2^1 + \dots + 2^{n-1},$ возможно с перестановкой слагаемых, но никак иначе. Поэтому выбранные таким образом степени $y$ гарантируют выборку "перестановочных" произведений (т.е. $y^{2^{j_1-1}}\dots y^{2^{j_n-1}},$ где $\{j_1,\dots,j_n\}=\{1,\dots,n\}$) из всех возможных, в то время как степени $x$ "вычисляют" скалярное произведение на этих перестановках.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: Shadow


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group