2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Перестановки и подпоследовательности
Сообщение11.04.2013, 16:58 


11/04/13
36
a(n) - самая короткая последовательность, которая содержит все подпоследовательности {1,...,n}. Если таких последовательностей несколько, то нужно выбрать (лексикографически) минимальную.

Например:
$a(3) = \{1,2,1,3,1,2,1\}$
содержит все перестановки {1,2,3}

Вот тут http://oeis.org/A136094 даны неправильные ответы для n > 4.

Я придумал некий алгоритм (интуитивно, без доказательства), но он для некоторых n даёт неверный результат (считал для всех n < 11).

Есть у кого-нибудь идеи, как решать, или хотя бы, что почитать на эту тему?


Предположительно, подобная задача была на одной из Всесоюзных Математических Олимпиад, поэтому запостил в этом разделе.

 Профиль  
                  
 
 Re: Перестановки и подпоследовательности
Сообщение11.04.2013, 17:45 
Заслуженный участник
Аватара пользователя


13/08/08
14495
Какая-то у Вас последовательность не такая. А где в ней $231$? Или я чего-то не понял?

+++ Ясно. То есть не обязательно непрерывным куском.

 Профиль  
                  
 
 Re: Перестановки и подпоследовательности
Сообщение11.04.2013, 19:49 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Corwin, вы уверены, что OEIS содержит неверные данные? Источник-то авторитетный.
gris в сообщении #708723 писал(а):
А где в ней $231$? Или я чего-то не понял?
Как я понимаю идею ТС, чтобы получить $231$, нужно взять второй, четвёртый и пятый элементы $a(3) = \{1,2,1,3,1,2,1\}$

 Профиль  
                  
 
 Re: Перестановки и подпоследовательности
Сообщение11.04.2013, 23:42 
Заслуженный участник


12/09/10
1547
Aritaborian в сообщении #708787 писал(а):
Corwin, вы уверены, что OEIS содержит неверные данные? Источник-то авторитетный

Наверное, точнее - непроверенные.
Цитата:
The entries a(6) and a(7) should be checked! - N. J. A. Sloane, May 08 2009

Хотя, если у ТС есть результат получше - может поделитесь?

 Профиль  
                  
 
 Re: Перестановки и подпоследовательности
Сообщение12.04.2013, 02:03 


11/04/13
36
$a(5) = \{1,2,3,4,5,1,2,3,4,1,5,2,3,1,4,2,3,5,1\}$
$a(6) = \{1,2,3,4,5,6,1,2,3,4,5,1,6,2,3,4,1,5,2,3,6,1,4,2,3,5,1,6\}$
$a(7) = \{1,2,3,4,5,6,7,1,2,3,4,5,6,1,7,2,3,4,5,1,6,2,7,3,4,1,5,2,6,3,7,1,4,2,3,5,1,6,7\}$

Как видите, мои варианты короче на 2, 3 и 4 цифры. Легко убедиться, что они содержат все перестановки.
Я на 95% уверен, что мои варианты являются кратчайшими по длине, но совсем не уверен, что они лексикографически минимальные.


Код:
a(10) = 1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,1,10,2,3,4,5,6,7,8,1,9,2,10,3,4,5,6,7,1,8,2,9,3,
        10,4,5,6,1,7,2,8,3,9,4,5,10,1,6,2,7,3,8,4,5,9,1,10,2,6,3,7,8,4,5,1,9,2,3,4,5,6,7,8,10,1

 Профиль  
                  
 
 Re: Перестановки и подпоследовательности
Сообщение12.04.2013, 02:17 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Cash в сообщении #708859 писал(а):
Наверное, точнее - непроверенные.
Упс, я не посмотрел упомянутую страницу у Слоуна, просто наехал на ТС. Зря. Corwin, каюсь.
Corwin в сообщении #708687 писал(а):
Я придумал некий алгоритм
Можно алгоритм в студию?

 Профиль  
                  
 
 Re: Перестановки и подпоследовательности
Сообщение12.04.2013, 10:04 
Заслуженный участник


12/09/10
1547
Всё верно.
Если присмотреться к числам, указанным в OEIS, то с $a_5$ они построены по примитивному правилу, гарантирующему появление любой перестановки, но, скорее всего, далекому от оптимальности.
Сначала возрастаем от $1$ до $n$, потом убываем до $1$, затем снова возрастаем до $n$, опять убываем до $1$ - и таких вагонов всего $n$.
Что Corwin всем наглядно и продемонстрировал :appl:

 Профиль  
                  
 
 Re: Перестановки и подпоследовательности
Сообщение14.04.2013, 13:00 


11/04/13
36
Цитата:
Можно алгоритм в студию?

А смысл? Он же неправильно считает.
Я нахожу число, которое содержит все подпоследовательности длины один. Затем добавляю цифры, которых не хватает для того, чтобы в нём содержались все подпоследовательности длины два. И так далее. То есть, жадный алгоритм - без перебора.
Добавив немного перебора, я нашёл меньшие числа (той же длины) для n = 6, 7, 8. А уже для n = 9 слишком долго считает - я не дождался ответа. Кроме того, так как перебор неполный, я по-прежнему не знаю, можно ли найти числа ещё меньше.

 Профиль  
                  
 
 Re: Перестановки и подпоследовательности
Сообщение14.04.2013, 15:58 
Модератор
Аватара пользователя


11/01/06
5702
Я исправил A136094. Но на самом деле основной для этой задачи является последовательность A062714, дающая длины соответствующих последовательностей. С достоверностью они установлены только для $n\leq 5$, а для $n\geq 6$ приводятся следующие оценки сверху:
8, 39, 52, 67, 84, 103, 124, 147, 172, 199, 227, 258, 291 and 326

Верхние оценки 8 и 39 для $n=6,7$ подверждаются также последовательностями, приведенными Corwin.

A062714 приводит общую конструкцию, доказывающую оценку сверху на длину $(n-1)^2+3$ для $n>2$. Однако, $n=16$ есть пример длины 227, показывающий что эта оценка не является точным значением.

 Профиль  
                  
 
 Re: Перестановки и подпоследовательности
Сообщение14.04.2013, 17:58 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
maxal, я правильно понимаю, что нахождение точных решений возможно лишь брутфорсом, а это слишком трудоёмко?

 Профиль  
                  
 
 Re: Перестановки и подпоследовательности
Сообщение14.04.2013, 18:11 
Модератор
Аватара пользователя


11/01/06
5702
Aritaborian, правильнее сказать, что ничего существенно лучше брутфорса пока не придумано. Иначе бы в A062714 было бы куда больше членов. Но это не означает, что более быстрого способа вычислений не существует.

-- Sun Apr 14, 2013 11:06:47 --

См. также задачу 187 в Сборнике задач-монстров по математике под ред. А. Я. Белова

 Профиль  
                  
 
 Re: Перестановки и подпоследовательности
Сообщение15.04.2013, 14:52 


11/04/13
36
Corwin в сообщении #708885 писал(а):

Я на 95% уверен, что мои варианты являются кратчайшими по длине, но совсем не уверен, что они лексикографически минимальные.

95% не сработали :(.

То есть, мой алгоритм не даёт даже кратчайшую подпоследовательность. Например, для n=10:

Код:
123456789A1234567891A2345678192A3456718293A4561728394A51627384915A2637481952A3647189
123456789A1234567891A23456781923456A71892345617A89234516789234A1567892341A567892341

Первая последовательность - это то, что даёт мой алгоритм.
Вторая последовательность короче и тоже содержит все перестановки.

-- 15.04.2013, 15:53 --

maxal
Спасибо за информацию. Особенно за текст задачи.

 Профиль  
                  
 
 Re: Перестановки и подпоследовательности
Сообщение16.04.2013, 13:24 


11/04/13
36
maxal в сообщении #710031 писал(а):
Я исправил A136094. Но на самом деле основной для этой задачи является последовательность A062714, дающая длины соответствующих последовательностей. С достоверностью они установлены только для $n\leq 5$, а для $n\geq 6$ приводятся следующие оценки сверху:
28, 39, 52, 67, 84, 103, 124, 147, 172, 199, 227, 258, 291 and 326


Для $n = 6$ длина $len = 28$
Для $n = 7$ длина $len = 39$
То есть, верхняя оценка совпадает с нижней оценкой. Это доказано тут (by Malcolm Newey):
http://infolab.stanford.edu/pub/cstr/reports/cs/tr/73/340/CS-TR-73-340.pdf

Для $n \geqslant 8$ существуют следующие оценки сверху:
52, 67, 83, 102, 123, 145, 170, 197, 225, 256, 289, 323

Формула выглядит так:
$len = n^2 -  (7n - 19)/3$
Источник:
A Construction of Short Sequences Containing All Permutations of a Set as Subsequences (by Saša Radomirović)

 Профиль  
                  
 
 Re: Перестановки и подпоследовательности
Сообщение16.04.2013, 17:46 
Модератор
Аватара пользователя


11/01/06
5702
Corwin, спасибо за информацию. Обновил A062714.

 Профиль  
                  
 
 Re: Перестановки и подпоследовательности
Сообщение20.04.2013, 00:02 


11/04/13
36
Как быстро проверить список чисел (содержат ли они все перестановки)?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.

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



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

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


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

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