сложность "черного ящика"
От: valmond Россия http://blogs.technet.com/valmond/
Дата: 20.06.05 10:40
Оценка:
Помогите понять причину.
Есть большой кусок кода, разобраться полностью в котором достаточно сложно.
Код на вход получает некую последовательность из N элементов и что-то с ними делает.
По результатам эксперимента получается, что производительность экспоненциально зависит от N
Можно ли назвать какие-то общие моменты из за которых возникает экспонента?

Если вопрос идиотский, то сорри.
Заметки — SharePoint & InfoPath
http://blogs.technet.com/valmond/
Re: сложность "черного ящика"
От: valmond Россия http://blogs.technet.com/valmond/
Дата: 20.06.05 15:35
Оценка:
Так можно ли сказать откуда может появлятся экспонента?
Заметки — SharePoint & InfoPath
http://blogs.technet.com/valmond/
Re[2]: сложность "черного ящика"
От: Left2 Украина  
Дата: 20.06.05 15:42
Оценка:
Здравствуйте, valmond, Вы писали:

V>Так можно ли сказать откуда может появлятся экспонента?


Может, профайлером его?
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Re[3]: сложность "черного ящика"
От: valmond Россия http://blogs.technet.com/valmond/
Дата: 20.06.05 15:45
Оценка:
L>Может, профайлером его?
Делал, ясности не внесло особо.
Дело в том, что там один огромный метод и профайлер сильно не помогает понять, что именно там внутри метода происходит.
Заметки — SharePoint & InfoPath
http://blogs.technet.com/valmond/
Re[4]: сложность "черного ящика"
От: Left2 Украина  
Дата: 20.06.05 15:47
Оценка:
Здравствуйте, valmond, Вы писали:

L>>Может, профайлером его?

V>Делал, ясности не внесло особо.
V>Дело в том, что там один огромный метод и профайлер сильно не помогает понять, что именно там внутри метода происходит.

Ну, профайлер понятие широкое
Можно попробовать понавставлять своих обьектов, которые прописывают в глобальный map сколько раз в них входили и сколько времени провели.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Re: сложность "черного ящика"
От: Ranger_XL  
Дата: 21.06.05 05:53
Оценка: 10 (1)
V>Можно ли назвать какие-то общие моменты из за которых возникает экспонента?

Самое простое, что приходит в голову, это перебор с возвратом. Обычно реализуется рекурсивным алгоритмов. Упрощенно, если на каждом шаге число вариантов, которые надо перебрать, K, а всего надо выбрать N компонентов, то число действий порядка K^N.
Re: сложность "черного ящика"
От: Аноним  
Дата: 21.06.05 21:04
Оценка:
Здравствуйте, valmond, Вы писали:

V>Помогите понять причину.

V>Есть большой кусок кода, разобраться полностью в котором достаточно сложно.
V>Код на вход получает некую последовательность из N элементов и что-то с ними делает.
V>По результатам эксперимента получается, что производительность экспоненциально зависит от N
V>Можно ли назвать какие-то общие моменты из за которых возникает экспонента?

V>Если вопрос идиотский, то сорри.

Добрый вечер. Смотрите. Что такое увеличение сложности алгоритма? Это приведения алгоритма к NP полноте. Следовательно, в вашем случае можно предположить, что в Вашей программе присутствует алгоритм полного перебора или его аналог.
Вероятно так.
Re[2]: сложность "черного ящика"
От: _DAle_ Беларусь  
Дата: 22.06.05 04:07
Оценка: 2 (1)
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, valmond, Вы писали:


V>>Помогите понять причину.

V>>Есть большой кусок кода, разобраться полностью в котором достаточно сложно.
V>>Код на вход получает некую последовательность из N элементов и что-то с ними делает.
V>>По результатам эксперимента получается, что производительность экспоненциально зависит от N
V>>Можно ли назвать какие-то общие моменты из за которых возникает экспонента?

V>>Если вопрос идиотский, то сорри.

А>Добрый вечер. Смотрите. Что такое увеличение сложности алгоритма? Это приведения алгоритма к NP полноте. Следовательно, в вашем случае можно предположить, что в Вашей программе присутствует алгоритм полного перебора или его аналог.
А>Вероятно так.

А что такое "приведение алгоритма к NP-полноте"? Только сначала сюда: http://en.wikipedia.org/wiki/NP-complete
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.