В работе рассмотрены различные способы сравнения исполняемых файлов на основании их структуры, проанализированы их достоинства и недостатки. Предложен способ сравнения, отличающийся от разработанных ранее с использованием блоков переменного размера для описания файла и мерой расчета степени подобия. Экспериментально доказано превосходство предложенного способа в сравнении с существующими.
В настоящее время разработано множество алгоритмов кластеризации, использующих различные подходы к решению задачи кластерного анализа. В данной статье предлагается модификация одного из алгоритмов кластеризации, принцип работы которого основан на так называемом жадном подходе. Суть модификации состоит в том, что решение о том, следует ли добавлять новый документ в кластер, принимается на основании…
В статье описывается подход к решению задачи векторизации, позволяющий представить контуры изображения в аналитическом виде как последовательность параметризованных примитивов. Подобного рода преобразования необходимы в таких областях, как робототехника, САПР, географические информационные системы, станки с числовым программным управлением и в других областях.
Представлены результаты разработки и исследования методов формообразования 3D-объектов, формирования их проекций на плоскость наблюдения, а также обеспечения динамики 3D-сцен – задания законов движения тел и формирования анимированных изображений проекций, основанных на использовании тетрагональной регулярной сетевой модели.
Рассматриваются возможности и перспективы многокритериальной оценки параметров системы с помощью методов и программных комплексов многокритериальной оптимизации. Указаны сайты, на которых доступны программные системы для решения многокритериальных задач. Рассмотрены некоторые программы для однокритериальной оптимизации, которые применимы для оценки скаляризованной многокритериальной задачи.
Анализируется ситуационная модель выбора маршрута доставки для принятия оперативных решений при возникновении непредвиденной ситуации на маршруте, корректировке опорного плана и выборе нового маршрута доставки. Решается задача многокритериального выбора маршрутов доставки в условиях неопределенности на основе теории нечетких множеств. Проводится ранжирование альтернатив множества маршрутов и выбир…
Языки программирования от Фортрана и Кобола до Caml и Java играют ключевую роль в управлении сложными компьютерными системами. Книга «Введение в теорию языков программирования» представляет читателю средства, необходимые для проектирования и реализации подобных языков. В ней предлагается единый подход к различным формализмам для определения языков программирования – операционной и денотационной се…
Книга представляет собой практическое руководство по использованию возможностей IDE NetBeans 7 для разработки корпоративных приложений, совместимых со стандартом Java EE 6. В книге показаны приемы эффективного программирования, задействующие контекстные меню и «горячие» клавиши, мастера и шаблоны среды NetBeans, затрагиваются вопросы создания, конфигурирования, развертывания, отладки и профилирова…
Книга в сжатой форме описывает, что можно делать на языке Scala, и как это делать. Кей Хорстманн, автор всемирного бестселлера «Core Java», дает быстрое и практическое введение в язык программирования, основанное на примерах программного кода. Он знакомит читателя с концепциями языка Scala и приемами программирования небольшими «порциями», что позволяет быстро осваивать их и применять на практике.…
В этой книге Ричард Берд представляет принципиально новый подход к проектированию алгоритмов, а именно проектирование посредством формального вывода. Основное содержание книги разделено на 30 коротких глав, называемых жемчужинами, в каждой из которых решается конкретная программистская задача. Эти задачи, некоторые из них абсолютно новые, происходят из таких разнообразных источников, как игры и го…
Из этого краткого руководства вы узнаете, как механизм async в С# 5.0 позволяет упростить написание асинхронного кода. Помимо ясного введения в асинхронное программирование вообще, вы найдете углубленное описание работы этого конкретного механизма и ответ на вопрос, когда и зачем использовать его в собственных приложениях. В книге рассматриваются следующие вопросы:Как писать асинхронный код вручну…
С++ Accelerated Massive Parallelism (С++ AMP) – разработанная корпорацией Microsoft технология ускорения написанных на С++ приложен за счет исполнения кода на оборудовании с распараллеливанием по данным например, на графических процессорах. Модель программирования в С++ AMP основана на библиотеке, устроенной по образцу STL, и двух расширениях языка С++, интегрированных в компилятор Visual С++ 2012…
В книге показано, как создавать мобильные приложения для платформы Android на языке C/C++ с использованием пакета библиотек Android Native Development Kit (NDK) и объединять их с программным кодом на языке Java. Вы узнаете как создать первое низкоуровневое приложение для Android, как взаимодействовать с программным кодом на Java посредством механизма Java Native Interfaces, как соединить в своем п…
Применяя методику разработки через приемочные тесты (ATDD), заказчики, разработчики и тестировщики получают возможность совместно сформулировать тестопригодные требования, что позволяет создавать высококачественное программное обеспечение в сжатые сроки. Однако на практике многие не понимают, в чем истинный смысл ATDD. Настоящая книга – первое практическое руководство начального уровня по внедрени…
В наши дни компьютеры с несколькими многоядерными процессорами стали нормой. Стандарт C++11 языка C++ предоставляет развитую поддержку многопоточности в приложениях. Поэтому, чтобы сохранять конкурентоспособность, вы должны овладеть принципами и приемами их разработки, а также новыми средствами языка, относящимися к параллелизму. Книга «Параллельное программирование на С++ в действии» не предполаг…