2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 разделяй-и-властвуй разбиения прямоугольников
Сообщение28.05.2013, 20:24 
Заслуженный участник


27/04/09
28128
Не нашёл в OEIS (по-всякому: и части строк, и части антидиагоналей) двумерной последовательности чисел разбиений типа «разделяй и властвуй» прямоугольника $m\times n$ на целочисленной сетке на другие целочисленные прямоугольники. Это такие разбиения, которые можно получить, деля прямоугольники на две части. (Если совсем непонятно выразился, по просьбе нарисую.)

Рекуррентная формула этой последовательности такая:$$p(m,n) = 1 + \sum_{i=1}^{m-1} p(i,n)p(m-i,n) + \sum_{i=1}^{n-1} p(m,i)p(m,n-i).$$(Не знаю, какими лучше выбрать $p(n,0) = p(0,n)$. Может, единицы подойдут. Во всяком случае, $p(0, 0)$ уж точно следует выбрать единичным, да и с формулой это согласуется.)

Если эта последовательность там есть — пожалуйста, покажите! А если нет — не знаю, стоит ли мне регистрироваться или попросить кого-нибудь внести запись о ней (вроде, тема для таких просьб была здесь, но не смог найти). :? Если кто-то захочет, приведу немного дополнительных данных:

$p(a,b) = p(b,a)$;

Возможный код на Mathematica 8 (по-моему, должен работать и на 5 и более ранних; пока не видел в OEIS рекомендаций к версии, для которой указывается код):
Код:
a[m_, n_] := a[m, n] = If[m == 0 || n == 0, 0, Sum[a[i, n] a[m - i, n], {i, 1, m - 1}] + Sum[a[m, i] a[m, n - i], {i, 1, n - 1}]] + 1
Насколько знаю, код рекомендуется делать однострочным — сделал такой.

Начальные значения по антидиагоналям, начиная с $(0, 0)$:
Код:
1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 5, 9, 5, 1, 1, 15, 62, 62, 15, 1, 1, 51, 555, 1241, 555, 51, 1, 1, 188, 5938, 32905, 32905, 5938, 188, 1, 1, 731, 72931, 1088611, 2590351, 1088611, 72931, 731, 1, 1, 2950, 1001790, 43928468, 260533247, 260533247, 43928468, 1001790, 2950, 1, 1, 12235, 15066756, 2120559635, 33610060775, 79005470861, 33610060775, 2120559635, 15066756, 12235, 1, 1, 51822, 243629094, 119331258310, 5571806117201, 31382601829332, 31382601829332, 5571806117201, 119331258310, 243629094, 51822, 1, 1, 223191, 4171672883, 7598537855507, 1159378522657088, 17101224492478097, 37263998546837813, 17101224492478097, 1159378522657088, 7598537855507, 4171672883, 223191, 1, 1, 974427, 74732630906, 532490554273634, 289819040450725021, 12793117887565507798, 62203992154002217892, 62203992154002217892, 12793117887565507798, 289819040450725021, 532490554273634, 74732630906, 974427, 1, 1, 4302645, 1387678909465, 40157801725561967, 83182468866007697165, 12411807868185761887593, 157366409203190062251932, 297673204380311095417269, 157366409203190062251932, 12411807868185761887593, 83182468866007697165, 40157801725561967, 1387678909465, 4302645, 1, 1, 19181100, 26521428609262, 3205249839869263865, 26450536817074978611723, 14541879534095833366436302, 576297828182920595865664612, 2254065837160963454876132166, 2254065837160963454876132166, 576297828182920595865664612, 14541879534095833366436302, 26450536817074978611723, 3205249839869263865, 26521428609262, 19181100, 1, 1, 86211885, 518970524638009, 267524468054653186977, 9087177675503249635663481, 19481637344176959935333146441, 2733341425184031032735013038617, 28900405064550035285587964919965, 44876774577264353544114141934177, 28900405064550035285587964919965, 2733341425184031032735013038617, 19481637344176959935333146441, 9087177675503249635663481, 267524468054653186977, 518970524638009, 86211885, 1

Сужение $n\mapsto p(1,n)$ — это A007317.

А разбиения такого вида не считаются:
Вложение:
not-a-div-and-conq-partition.png


-- Вт май 28, 2013 23:25:32 --

Пожалуйста, проверьте эти данные и посоветуйте, что ещё можно было бы добавить к записи.

-- Вт май 28, 2013 23:26:37 --

…и ещё как лучше описать считаемые разбиения. :-)

-- Вт май 28, 2013 23:27:21 --

И если всё будет хорошо, можно потом кубы бить!

 Профиль  
                  
 
 Re: Ещё OEIS и последовательность
Сообщение28.05.2013, 21:00 
Модератор
Аватара пользователя


11/01/06
5710
Лучше вообще не определять для нулевых индексов (т.к. естественным образом в формуле они не возникают), но если уж определять, то должно выполняться $p(n,0)=p(n,1)$ в соответствие с рекуррентной формулой.

 Профиль  
                  
 
 Re: Ещё OEIS и последовательность
Сообщение28.05.2013, 21:08 
Заслуженный участник


27/04/09
28128
maxal, а как вы считаете, насколько осмысленно выделить отдельно, например, последовательность $n\mapsto p(n,n)$?

 Профиль  
                  
 
 Re: Ещё OEIS и последовательность
Сообщение28.05.2013, 21:10 
Модератор
Аватара пользователя


11/01/06
5710
arseniiv в сообщении #729710 писал(а):
maxal, а как вы считаете, насколько осмысленно выделить отдельно, например, последовательность $n\mapsto p(n,n)$?

Да, имеет смысл.

 Профиль  
                  
 
 Re: Ещё OEIS и последовательность
Сообщение29.05.2013, 00:34 
Заслуженный участник


27/04/09
28128
Ну вот. Формула не соотносится с этими разбиениями 1:1, она даёт числа не меньше. Например, есть всего 4 разбиения прямоугольника $3\times1$, а не 5.

Ясно, почему числа, возможно, не нашлись. Стоит ли теперь эту последовательность предлагать? :roll: Может, у неё какие-то интересные свойства есть? (Как жаль. Я уже почти всё оформил. Завтра, значит, посмотрим…)

 Профиль  
                  
 
 Re: Ещё OEIS и последовательность
Сообщение29.05.2013, 02:39 
Модератор
Аватара пользователя


11/01/06
5710
arseniiv в сообщении #729829 писал(а):
Ну вот. Формула не соотносится с этими разбиениями 1:1, она даёт числа не меньше. Например, есть всего 4 разбиения прямоугольника $3\times1$, а не 5.


Ну да, должно быть $p(n,1) = 2^{n-1}$, т.е. количество всех композиций числа $n$.

Вот PARI/GP код, вычисляющий правильные значения более точные верхние оценки для $m,n=1..5$:

Код:
? ph(m,n) = local(s); 1 + sum(k=2,m, s=0; forvec(v=vector(k-1,i,[1,m-1]), s += ph(n,v[1])*ph(n,m-v[k-1])*prod(i=1,k-2,ph(n,v[i+1]-v[i])), 2); s);
? p(m,n) = ph(m,n) + ph(n,m) - 1;
? matrix(5,5,m,n,p(m,n))
%1 =
[ 1    2      4        8        16]
[ 2    9     45      234      1233]
[ 4   45    593     8098    111247]
[ 8  234   8098   286985  10157914]
[16 1233 111247 10157914 920259357]

В OEIS она тоже отсутствует.

 Профиль  
                  
 
 Re: Ещё OEIS и последовательность
Сообщение29.05.2013, 15:33 
Заслуженный участник


27/04/09
28128
А что возвращает vector(k-1,i,[1,m-1])?

К сожалению, у вас тоже неправильный алгоритм. :lol: Разбиений $2\times2$ всего 8. Вот первые числа, найденные перебором:
Код:
1,      2,       4,       8,      16,     32,      64
2,      8,      34,     148,     650,   2864,   12634
4,     34,     320,    3118,   30752, 304618, 3022112
8,    148,    3118,   68480, 1525558
16,   650,   30752, 1525558
32,  2864,  304618
64, 12634, 3022112

Находится A116694, в которой количества всех разбиений. Этой пока нет. :-) Оформлю статью без алгоритмов и формул пока что. Нужно ли к такой добавить ключевые слова uned или new?

UPD: Если что, вот пока непроверенная запись: https://oeis.org/draft/A222659 (если что, все изменения кроме замены «Array» на «Table» — автоматические).

Думаю, для последовательности чисел на диагонали ещё мало членов. Для вычисления $p(5, 5)$ перебором у меня не хватает памяти.

 Профиль  
                  
 
 Re: Ещё OEIS и последовательность
Сообщение29.05.2013, 21:48 
Модератор
Аватара пользователя


11/01/06
5710
arseniiv в сообщении #729997 писал(а):
А что возвращает vector(k-1,i,[1,m-1])?

К сожалению, у вас тоже неправильный алгоритм. :lol: Разбиений $2\times2$ всего 8.


Ну да, у меня тоже верхняя оценка, только чуть более точная.
vector(k-1,i,[1,m-1]) выдает вектор размера k-1, каждый элемент которого есть вектор [1,m-1].

Последовательность A222659 немного отредактировал и утвердил.

 Профиль  
                  
 
 Re: Ещё OEIS и последовательность
Сообщение29.05.2013, 22:14 
Заслуженный участник


27/04/09
28128
Спасибо! :-) И за редактирование тоже. И разбиение квадрата теперь более понятно.

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

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



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

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


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

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