Аноним

Разработка высокоэффективных алгоритмов для крупномасштабных задач: различия между версиями

Материал из WEGA
м
Строка 3: Строка 3:


== Постановка задачи ==
== Постановка задачи ==
Под разработкой алгоритмов понимается процесс, в результате которого нарисованная на бумаге блок-схема преобразуется в надежную, эффективную, тщательно протестированную и удобную для использования реализацию. Таким образом, она охватывает ряд тем, от моделирования поведения кэша до принципов проектирования хорошего ПО; однако ее главным направлением является эксперимент. В этом смысле ее можно связать с недавним ростом экспериментальной алгоритмики [ ], посвященной разработке методов, инструментов и практик для оценки и совершенствования алгоритмов посредством экспериментов. Этому направлению посвящен Журнал экспериментальной алгоритмики ACM (ACM Journal of Experimental Algorithmics, JEA), доступный на сайте www.jea.acm.org.
Под разработкой алгоритмов понимается процесс, в результате которого нарисованная на бумаге блок-схема преобразуется в надежную, эффективную, тщательно протестированную и удобную для использования реализацию. Таким образом, она охватывает ряд тем, от моделирования поведения кэша до принципов проектирования хорошего ПО; однако ее главным направлением является эксперимент. В этом смысле ее можно связать с недавно опубликованной книгой  по экспериментальной алгоритмике [14], посвященной разработке методов, инструментов и практик для оценки и совершенствования алгоритмов посредством экспериментов. Этому направлению посвящен Журнал экспериментальной алгоритмики ACM (ACM Journal of Experimental Algorithmics, JEA), доступный на сайте http://www.jea.acm.org.




Разработка высокоэффективных алгоритмов [2] ориентирована на один из множества аспектов разработки алгоритмов – скорость работы. Высокая эффективность необязательно подразумевает распараллеливание; на деле в любой задаче с выкосой степенью параллелизма максимум прироста эффективности достигается при совершенствовании последовательной части кода.
''Разработка высокоэффективных алгоритмов'' [2] ориентирована на один из множества аспектов процесса разработки алгоритмов – скорость работы. Высокая эффективность необязательно подразумевает распараллеливание; на деле в любой задаче с высокой степенью параллелизма максимум прироста эффективности достигается при совершенствовании последовательной части кода.




Термин «разработка алгоритмов» был впервые использован в этом контексте в 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).
Термин ''«разработка алгоритмов»'' был впервые использован в этом контексте в 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).


== Основные результаты ==
== Основные результаты ==
4446

правок