4446
правок
Irina (обсуждение | вклад) м (→См. также =) |
Irina (обсуждение | вклад) |
||
Строка 3: | Строка 3: | ||
== Постановка задачи == | == Постановка задачи == | ||
Под разработкой алгоритмов понимается процесс, в результате которого нарисованная на бумаге блок-схема преобразуется в надежную, эффективную, тщательно протестированную и удобную для использования реализацию. Таким образом, она охватывает ряд тем, от моделирования поведения кэша до принципов проектирования хорошего ПО; однако ее главным направлением является эксперимент. В этом смысле ее можно связать с | Под разработкой алгоритмов понимается процесс, в результате которого нарисованная на бумаге блок-схема преобразуется в надежную, эффективную, тщательно протестированную и удобную для использования реализацию. Таким образом, она охватывает ряд тем, от моделирования поведения кэша до принципов проектирования хорошего ПО; однако ее главным направлением является эксперимент. В этом смысле ее можно связать с недавно опубликованной книгой по экспериментальной алгоритмике [14], посвященной разработке методов, инструментов и практик для оценки и совершенствования алгоритмов посредством экспериментов. Этому направлению посвящен Журнал экспериментальной алгоритмики ACM (ACM Journal of Experimental Algorithmics, JEA), доступный на сайте http://www.jea.acm.org. | ||
Разработка высокоэффективных алгоритмов [2] ориентирована на один из множества аспектов разработки алгоритмов – скорость работы. Высокая эффективность необязательно подразумевает распараллеливание; на деле в любой задаче с | ''Разработка высокоэффективных алгоритмов'' [2] ориентирована на один из множества аспектов процесса разработки алгоритмов – скорость работы. Высокая эффективность необязательно подразумевает распараллеливание; на деле в любой задаче с высокой степенью параллелизма максимум прироста эффективности достигается при совершенствовании последовательной части кода. | ||
Термин «разработка алгоритмов» был впервые использован в этом контексте в 1997 году в процессе организации первого семинара по разработке алгоритмов (Workshop on Algorithm Engineering, WAE 97). С тех пор этот семинар | Термин ''«разработка алгоритмов»'' был впервые использован в этом контексте в 1997 году в процессе организации первого семинара по разработке алгоритмов (Workshop on Algorithm Engineering, WAE 97). С тех пор этот семинар проводился в разных странах Европы ежегодно. Семинар по разработке и экспериментальному выполнению алгоритмов 1998 года (Workshop on Algorithms and Experiments, ALEX98), проходивший в Италии, включал дискуссионный форум для исследователей и специалистов-практиков, интересующихся разработкой, анализом и экспериментальной проверкой точных и эвристических алгоритмов. Родственный семинар начал работу в США в 1999 году: семинар по разработке и экспериментальному выполнению алгоритмов (Workshop on Algorithm Engineering and Experiments, ALENEX99) проводится каждую зиму совместно с симпозиумом ACM/SIAM по дискретным алгоритмам (ACM/SIAM Symposium on Discrete Algorithms, SODA). | ||
== Основные результаты == | == Основные результаты == |
правок