Каковы некоторые полезные советы и/или методы оптимизации и повышения эффективности расчета тяжелых программ. Я говорю о таких вещах, как вычисления графики усложнения или математические и симуляционные типы программирования, где каждая секундная справка полезна, в отличие от тяжелых программ IO, где полезно только определенное ускорение.Тестирование производительности для расчета-тяжелых программ
Хотя изменение алгоритма часто упоминается как наиболее эффективный метод здесь, я пытаюсь выяснить, насколько эффективны различные алгоритмы в первую очередь, поэтому я хочу создать максимальную эффективность с каждым алгоритмом, насколько это возможно. «Проблема», которую я решаю, не является чем-то, что хорошо известно, поэтому в Интернете мало, если есть какие-либо алгоритмы, но я ищу хорошие советы о том, как действовать и что искать.
Я изучаю различия в эффективности между эволюционными алгоритмами и более простыми подходами к определенной группе связанных проблем. Я уже написал три эволюционных алгоритма для проблемы, и теперь я написал метод грубой силы, который я пытаюсь сделать как можно быстрее.
Редактировать: указать немного больше. Я использую C#, и мои алгоритмы вращаются вокруг вычисления и решения проблем типа ограничения для выражений (используя деревья выражений). Под выражениями я подразумеваю такие вещи, как x^2 + 4 или что-то еще подобное, которое было бы проанализировано в дереве выражений. Мои алгоритмы создают и обрабатывают эти деревья, чтобы попытаться найти более удобные аппроксимации. Но я хотел задать вопрос в общем виде, если это поможет кому-то еще.
Я пытаюсь выяснить, можно ли написать полезный эволюционный алгоритм для нахождения выражений, которые являются хорошим приближением для различных свойств. И потому, что я хочу знать, что такое хорошее приближение, и посмотреть, как эволюционный материал сравнивается с традиционными методами.
Я бы пошел еще дальше и скажу, что для любой задачи оптимизации, кроме решателей SAT и задач TSP, существуют гораздо более эффективные алгоритмы, чем эволюционный поиск. – SplittingField