Я создаю GA для прогноза временных рядов в python. Допустим, у меня есть большое дерево символов c, например:
['avg', ['diff', 'x', ['avg', 'pi', 24.90887042555513]], [ 'sqrt', ['max', ['mul', ['diff', 53.79502493321837, 'e'], ['mul', 0.5144978394070354, 46.36225530228578]], 44.34745373778043], ['sqrt', ['diff', ['avg', 20.424103573006004, 67.68047383230076], ['div', 35.70761733351755, 76.63350676737794]], 6.6143363501814605]]]
Что является хорошим способом случайного мутирования?
1) только мутировать только один случайный узел? или использовать вероятность, чтобы решить, сколько, если и когда произойдет мутация?
2) я должен мутировать, добавляя ветви, или просто отдельное значение (листовой узел)
3) как я должен go о реализации этого механизма? через рекурсивный механизм? или построить индекс формы дерева как-нибудь и случайным образом выбрать гнездо для мутирования?
Заранее спасибо