Алгоритм Винограда вычисления коротких сверток



© А. Смаль

Санкт-Петербургский государственный университет информационных технологий, механики и оптики

Проектная документация в формате PDF
Исходные коды

Визуализатор (online)

Аннотация

Для того, что бы лучше понимать некоторый алгоритм, целесообразно рассмотреть пример. Для того, что бы сделать этот процесс интерактивным, создаются специальные программы — визуализаторы.

Данный проект представляет собой визуализатор алгоритма Винограда вычисления коротких сверток, который часто используется в при вычислении быстрого преобразовании Фурье. Проект написан на языке программирования Java (http://java.sun.com) с использованием технологии Vizi (http://ips.ifmo.ru:8888/vizi/), основанной на автоматном подходе к программированию (http://is.ifmo.ru), и имеет открытые исходные коды и проектную документацию.

Визуализатор является Java–апплетом, который можно включить в HTML–страницу. Язык Java не зависит от применяемой платформы и поэтому такой визуализатор можно просмотреть на любом компьютере с графической средой.

Необычным является процесс создания визуализатора: вместо непосредственного программирования — написания кода, который потом компилируется в апплет, используется технология Vizi. Ее суть заключается в том, что на языке Java пишется только интерфейс апплета. Алгоритм и все параметры визуализатора, такие как комментарии к шагам алгоритма, надписи и примеры, записываются средствами XML. По этому описанию с помощью пакета Vizi генерируются исходные коды программы на языке Java, которые реализуются в виде двух конечных автоматов. Каждый автомат имеет 22 состояния.