Страница 1 из 1

Переполнение памяти в Maple

Добавлено: Пт мар 20, 2015 11:49 am
Sunrise
Здравствуйте!
Подскажите, пожалуйста, в чем проблема.
Пишу программу в Maple.(вывод графов(деревьев)и еще реализуется разбиение множества вершин на подмножества).
Для n=3 и n=4 (n количество вершин) все прекрасно считает и выдает правильный результат.
Для n=5(125 деревьев(графов)) программа не считает , происходит накопление памяти до 1гб и программа перестает работать.
Работаю в Maple18.
Подскажите, пожалуйста.

Большой объем результата

Добавлено: Сб мар 21, 2015 8:40 am
Markiyan Hirnyk
Не видя кода и не зная конкретно, что именно находит ваша программа, на поставленный вопрос ответить не могу. Предполагаю, что объем результата стремительно возрастает вместе с n, например, как 2^(2^(3n)). Ср. 2^8=256 , 2^64= 18446744073709551616 и 2^512= 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096. В этих случаях алгоритм не реализируем, ибо зачастую результат больше количества атомов в Солнечной системе.
Такие попытки делают наивные студенты младших курсов.

Добавлено: Сб мар 21, 2015 10:38 am
Aivar
Maple имеет очень слабый механизм динамического управления памятью в своей рабочей области. Именно поэтому у него, в частности, зачастую проблемы при работе с длинными списками, требуя перехода к векторам. Эту проблему обозначил еще для более ранних версий Аладьев в своих книгах. В Mathemarica ситуация куда лучше.

Экстасенс

Добавлено: Сб мар 21, 2015 11:25 am
Markiyan Hirnyk
Aivar писал(а):Maple имеет очень слабый механизм динамического управления памятью в своей рабочей области. Именно поэтому у него, в частности, зачастую проблемы при работе с длинными списками, требуя перехода к векторам. Эту проблему обозначил еще для более ранних версий Аладьев в своих книгах. В Mathemarica ситуация куда лучше.

Откуда известно, что код вопрошателя работает со списками?

Добавлено: Вс мар 22, 2015 11:27 am
Aivar
Вы так и не поняли суть моего поста, а списки указаны в контексте "в частности", ибо именно с ними возникают, в основном, проблемы такого рода. Список же - одна из базовых структур и в Maple, и особенно в Mathematica. Я сотрудничаю с Wolfram Research и знаком с системой достаточно глубоко, идеология же Maple в значительной степени пересекается с идеологией первой, у них даже однотипных ошибок довольно много. Если же вас интересуют эти вопросы, дискутировать следует не на пользовательском, а на системном уровне.