2014 dxdy logo

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

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




На страницу Пред.  1 ... 44, 45, 46, 47, 48, 49, 50 ... 88  След.
 
 Re: Factorials
Сообщение29.03.2013, 09:14 
Аватара пользователя
dimkadimon в сообщении #702876 писал(а):
Гипотеза: количество шагов для N! приближается к N/2 для больших N.

При $\mathrm N$ стремящемся к бесконечности число шагов для $\mathrm N !$ оценивается как $\mathrm O(\log \mathrm N)$

 
 
 
 Re: Factorials
Сообщение29.03.2013, 10:48 
Аватара пользователя
whitefox в сообщении #702889 писал(а):
dimkadimon в сообщении #702876 писал(а):
Гипотеза: количество шагов для N! приближается к N/2 для больших N.

При $\mathrm N$ стремящемся к бесконечности число шагов для $\mathrm N !$ оценивается как $\mathrm O(\log \mathrm N)$

Как так мало?!?

 
 
 
 Re: Factorials
Сообщение29.03.2013, 12:24 
Аватара пользователя
dimkadimon в сообщении #702909 писал(а):
Как так мало?!?

Извините, пропустил слово "гипотеза" :oops:

 
 
 
 Re: Factorials
Сообщение29.03.2013, 12:40 
Аватара пользователя
whitefox в сообщении #702956 писал(а):
dimkadimon в сообщении #702909 писал(а):
Как так мало?!?

Извините, пропустил слово "гипотеза" :oops:

Не понял. Уже доказано что количество шагов приближается к O(log N) или это ваша гипотеза?

 
 
 
 Re: Factorials
Сообщение29.03.2013, 13:10 
Аватара пользователя
dimkadimon в сообщении #702964 писал(а):
Не понял. Уже доказано что количество шагов приближается к O(log N) или это ваша гипотеза?
Гипотеза, но не моя.

macroxue писал(а):
I've noticed that 4lnln n! is pretty close to the minimum sequence length

 
 
 
 Re: Factorials
Сообщение29.03.2013, 14:54 
Аватара пользователя
macroxue писал(а):
I've noticed that 4lnln n! is pretty close to the minimum sequence length

А но это он говорил про N<=37.

 
 
 
 Re: Factorials
Сообщение30.03.2013, 05:59 
Аватара пользователя
Nataly-Mak в сообщении #701520 писал(а):
Алгоритм №1 допускает многочисленные вариации, основанные не только на $(n!)^2$, но и на таких разложениях:

$n! =K \cdot m!$ , где $m<n$

В принципе ничего нового: тот же самый "ход вперёд" --- от m! к n!

Удивительно: применила этот метод при переходе от 26! к 33!
Достала! :D
Совсем не надеялась что-то получить. Тут число K довольно большое:
$K=27 \cdot 28 \cdot 29 ... \cdot 33$

Получилось!
Ну, не оптимальное, конечно, решение получила - всего в 21 шаг, но у меня было вообще очень плохое решение - 24 шага. Улучшение на 3 шага - это совсем не плохо.
Немножко улучшила свои решения для N>30, они у меня пока плоховатенькие :? (плюс три - плюс шесть шагов от оптимальных).

Код:
31 32 33 34 35 36 37
18 18 18 17 19 18 20
21 21 21 23 24 23 25

 
 
 
 Re: Factorials
Сообщение30.03.2013, 10:46 
Аватара пользователя
Возникла такая задачка.
Дано: Множество чисел (целых больше нуля). Разобьем множество на два подмножества и посчитаем произведение чисел в каждом подмножестве.
Необходимо: так разбить множество на два подмножества, чтобы разность между произведениями чисел из каждого подмножества была минимальной.

 
 
 
 Re: Factorials
Сообщение30.03.2013, 11:49 
Аватара пользователя
Xaositect в сообщении #675739 писал(а):
Если говорить об эвристиках, то можно пытаться разложить факториал или близкое к нему число в произведение как можно более близких друг к другу сомножителей, а их вычислять с помощью сложений/вычитаний и, если поможет, умножений из степеней двойки или тройки.

Pavlovsky
что-то ваша последняя задачка очень напоминает мне эту эвристику, озвученную давным-давно :D

Кстати, здесь:

Цитата:
Let G(n) be the cost of computing Г(n). Then, such a equation would yield that
G(n)\leq G(n/2)+ O({\log}^{O(1)} n)
This implies a fast method of computing n!.

не говорится ли о длине последовательности для любого натурального числа n?
Я не понимаю по-английски.

 
 
 
 Re: Factorials
Сообщение30.03.2013, 14:46 
Аватара пользователя
Pavlovsky в сообщении #703380 писал(а):
Возникла такая задачка.
Дано: Множество чисел (целых больше нуля). Разобьем множество на два подмножества и посчитаем произведение чисел в каждом подмножестве.
Необходимо: так разбить множество на два подмножества, чтобы разность между произведениями чисел из каждого подмножества была минимальной.

Эта задача называется balanced partition problem: http://en.wikipedia.org/wiki/Partition_problem
В вашем случае надо заменить сумму на произведение. Хоть задача NP-complete для нее есть псевдополиномиальный DP алгоритм который ее решит в O(nK^n), где n это количество цифр и K это размер самого большого числа. Ну теперь вы меня точно обгоните :)

 
 
 
 Re: Factorials
Сообщение30.03.2013, 16:11 
Аватара пользователя
dimkadimon Спасибо. Задачу partition problem я знал, но не подумал, что нет никакой разницы сумму мы считаем или произведение.

dimkadimon в сообщении #703458 писал(а):
Ну теперь вы меня точно обгоните

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

Очередная бредовая идея такая. Труднее всего строить числа содержащие большие простые числа. Есть простое свойство, которое заметил еще Эйлер.
Произведение нечетных чисел, можно представить как разность квадратов.
Пример: 31*29*23*19=628^2-39^2.
Как это применять понятно. Для выше приведенного примера, мы хотим построить число 31*29*23*19. Тогда ищем начальную последовательность в которой есть числа 628 и 39 добавляем к ней числа 628^2,39^2,(628^2-39^2).

Смысл идеи: затратив три операции мы строим число с заданными свойствами.

 
 
 
 Re: Factorials
Сообщение30.03.2013, 23:04 
Аватара пользователя

(Оффтоп)

Pavlovsky
да бросьте вы эти факториалы :D пожалейте свою машину.
Посмотрите, если интересно, какие решения пришли к головоломке о квадратах Стенли (в теме "Антимагические квадраты").
Это грандиозно! Подтверждена минимальность индекса (1597) квадрата Стенли 7-го порядка из простых чисел, что мы очень долго не могли сделать. Приведено ещё много квадратов Стенли с минимальными и не минимальными индексами.
Надо всё это внимательно рассмотреть.
Умеют же люди решать задачи! Когда захотят :wink:

 
 
 
 Re: Factorials
Сообщение31.03.2013, 03:25 
Аватара пользователя
Ещё чуть-чуть подправила свой хвостик :?

Код:
31 32 33 34 35 36 37
18 18 18 17 19 18 20
20 21 21 22 23 23 25

Теперь нет хотя бы плюс 6 от оптимального решения.

 
 
 
 Re: Factorials
Сообщение31.03.2013, 13:24 
Аватара пользователя
Чего-то все замолчали?
Творческий кризис? :D
У меня напротив всё замечательно :roll: есть второе оптимальное решение - для 30!
И всё тем же алгоритмом №1, никаких ухищрений!

$30! = K \cdot (15!)^2$

-- Вс мар 31, 2013 14:35:27 --

Nataly-Mak в сообщении #703402 писал(а):
Кстати, здесь:
Цитата:
Let G(n) be the cost of computing Г(n). Then, such a equation would yield that
G(n)\leq G(n/2)+ O({\log}^{O(1)} n)
This implies a fast method of computing n!.

не говорится ли о длине последовательности для любого натурального числа n?
Я не понимаю по-английски.

И об этом ни гу-гу :D
Это цитата из какой-то статьи, приведённой выше Pavlovsky.
Я статью, конечно, не стала смотреть, что смотреть, если всё равно ни черта не понимаю.
А перевод... все прекрасно знают, как Гугл переводит.
Ну, вот, например, перевожу эту цитату:

Цитата:
Пусть G (п) затраты на вычислительную Г (п). Затем, такие уравнения даст, что
G(n)\leq G(n/2)+ O({\log}^{O(1)} n)
Это означает быстрый метод вычисления N!.

Ну всё понятно... :D

Предположила, что приведённое равенство как-то оценивает длину последовательности для любого натурального n. Но это только предположение.

Далее, что означает: "Это означает быстрый метод вычисления N!" :?:
[извините за каламбур]

Что это за быстрый метод такой? Он в статье той, наверное, описан, да? :-)
Ну, правильно: не все методы тут выкладывать, надо что-то и для домашнего пользования оставить :wink:

 
 
 
 Re: Factorials
Сообщение01.04.2013, 04:28 
Аватара пользователя
Допустим a(n) это минимальное количество шагов чтобы набрать n. Тогда нас интересует b(n):=a(n!). Формулы для a(n) можно найти тут: http://oeis.org/A173419

Из этих формул имеем (примерно):

b(n) <= 2n
b(n) >= lg(n)+1
b(n) >= n/lg(n),

где lg() бинарный логарифм. Если сможем доказать что существует C так чтобы b(n)<=(log(log n))^C для всех n тогда NP != P.

 
 
 [ Сообщений: 1310 ]  На страницу Пред.  1 ... 44, 45, 46, 47, 48, 49, 50 ... 88  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group