Труды КНЦ вып.124 (ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ вып. 5/2014(24))

Класс “AKMain ” - Класс “АК-программы ”. В отличие от АКМаіп предыдущей версии библиотеки, данный класс не привязан к интерфейсу. Хранение объектов осуществляется в словаре, а не списке, изменились способы поиска и доступа. Появилась возможность создавать несколько экземпляров АКМаіп в пределах одной программы. В завершении обзора преимуществ разработанной авторами библиотеки рассмотрим предоставляемые ей возможности визуализации данных. Под­ держивается несколько способов визуализации данных - с помощью gtk-виджетов и html кода. Опционально может использоваться Mathml. Обеспечена поддержка разработки оконных интерфейсов с помощью библиотеки GTK+, которая содержит элементы для построения пользо­ вательского графического интерфейса. Для генерации htm - и mathml - представлений экземпляров класса «АК-объект» используется специализированный шаблонизатор из библиотеки jinja2. Это позволяет отделить представление (материализацию) от кода и использовать сразу несколько представлений, загружать шаблоны извне. Просмотр результата можно выполнить с помощью браузера или в среде разработки программ на языке Python, если она поддерживает вывод результата в виде html/mathml кода. Ниже приводится пример шаблона для генерации представления класса «АК-объект». <table class='matrix-values'> {% for row in system %} <tr> {% for comp in row%} <td> {{ comp.elems_string() }} </td> {% endfor %} </tr> {% endfor %} </table> Заключение Рассмотрены основные недостатки существующей библиотеки для работы с АК-объектами, затрудняющие её развитие и использование вместе с другими программными средствами. Описана созданная с применением языка Python библиотека, позво­ ляющая выполнять операции АК, её структура, режимы работы, а также отличия от предыдущей версии библиотеки. В качестве перспектив развития можно отметить следующие направления: • интеграция системы с библиотеками или фреймворками, работающими с генетическими алгоритмами и поддерживающими решение задач програм­ мирования в ограничениях; • ускорение низкоуровневых операций с использованием Python С-АРІ; • развитие системы удалённого взаимодействия для реализации воз­ можности удалённого управления и распараллеливания операций. 169

RkJQdWJsaXNoZXIy MTUzNzYz