2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Мультиперестановки
Сообщение04.01.2009, 05:59 


25/06/07
124
Новосибирск
Сколько всего есть матриц, состоящих только из нулей и единиц, размера n*n, таких, что в каждой строке ровно k единиц и в каждом столбце ровно k единиц? (k<=n). Указать конструктивный способ перебора этих матриц.

 Профиль  
                  
 
 
Сообщение04.01.2009, 06:58 
Модератор
Аватара пользователя


11/01/06
5702
См. A008300

Сгенерировать такие матрицы можно, заведя массив сумм в столбцах, изначально равных $k$, и в рекурсивном цикле по строкам генерировать все сочетания столбцов с ненулевыми значениями сумм по $k$, уменьшая значения сумм в столбцах из сочетания на 1.

На PARI/GP примерная программка выглядит так (осуществляется только подсчет):
Код:
{ T(n,k) = local(m);
m=vector(n,i,k);
count=0;
genall(m,k);
count
}

{ genall(m,k) = local(m2,S);
S=select(j->m[j],vector(#m,j,j));
if(#S==0,count++;return);
forvec(v=vector(k,i,[1,#S]),
m2=m;
for(j=1,k,
  t=S[v[j]];
  m2[t]--;
);
genall(m2,k)
,2)
}

 Профиль  
                  
 
 
Сообщение04.01.2009, 07:24 


25/06/07
124
Новосибирск
maxal писал(а):
См. http://www.research.att.com/~njas/sequences/A008300

Сгенерировать такие матрицы можно, заведя массив сумм в столбцах, изначально равных $k$, и в рекурсивном цикле по строкам генерировать все сочетания столбцов с ненулевыми значениями сумм по $k$, уменьшая значения сумм в столбцах из сочетания на 1.

На PARI/GP примерная программка выглядит так (осуществляется только подсчет):
Код:
{ T(n,k) = local(m);
m=vector(n,i,k);
count=0;
genall(m,k);
count
}

{ genall(m,k) = local(m2,S);
S=select(j->m[j],vector(#m,j,j));
if(#S==0,count++;return);
forvec(v=vector(k,i,[1,#S]),
m2=m;
for(j=1,k,
  t=S[v[j]];
  m2[t]--;
);
genall(m2,k)
,2)
}


Спасибо.
Что же, получается, нельзя изящно посчитать без использования машины количество таких матриц?

 Профиль  
                  
 
 
Сообщение04.01.2009, 08:39 
Модератор
Аватара пользователя


11/01/06
5702
lexus c. в сообщении #173708 писал(а):
Что же, получается, нельзя изящно посчитать без использования машины количество таких матриц?

Смотря, что значит "изящно". Вот, например, цитата из "Advanced Combinatorics" (стр. 235-236) с кое-какими формулами для $k=2$ и $k=3$:

Изображение

 Профиль  
                  
 
 
Сообщение04.01.2009, 08:46 


25/06/07
124
Новосибирск
maxal писал(а):
lexus c. в сообщении #173708 писал(а):
Что же, получается, нельзя изящно посчитать без использования машины количество таких матриц?

Смотря, что значит "изящно". Вот, например, цитата из "Advanced Combinatorics" (стр. 235-236) с кое-какими формулами для $k=2$ и $k=3$:

Изображение

Спасибо!

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

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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