категория: Искусственный интеллектдата публикации: 2017-02-10
Генетические алгоритмы в последнее время применяются все чаще и чаще для решения различных задач оптимизации, в частности одной из таких задач является - настройка нейронной сети. Я решил написать генетический алгоритм на С++, чтобы оптимизировать исполнение по скорости. Код можно расширять и дополнять различными методами селекции, управлять количеством особей, хромосом и генов, управлять мутацией и т.д. Предполагается дальнейшая доработка алгоритма, так как сейчас он содержит минимум функционала.
категория: Искусственный интеллектдата публикации: 2017-02-10
По многослойному персептрону я уже писал статью, но сейчас настало время реализовать простейшую конструкцию этой нейронной сети в коде, для чего был выбран язык С++. Многослойный персептрон используется для многих задач прогнозирования, кодирования и распознавания.
категория: Juliaдата публикации: 2016-11-14
Представляю Вашему вниманию четвертый урок по Julia, который посвящен строкам и комплексным числам. Вообще говоря, я не особый любитель работать со строками, но для полноты курса необходимо рассмотреть их тоже. Комплексные числа в свою очередь могут пригодиться при решении задач по электротехнике, дифференциальных уравнений и т.д. включая теорию функции комплексного переменного. Более подробно с информацией по теме урока можно ознакомиться на официальном сайте Julia.
категория: Juliaдата публикации: 2016-11-14
Представляю Вашему вниманию третий урок по Julia, который посвящен операторам. Здесь мы последовательно рассмотрим операторы, которые разобьем на группы, такие как арифметические, логические и т.д. Вместе с операторами предлагаю рассмотреть и элементарные функции (например, синус, косинус и т.д.) ввиду того, что это удобно и таким образом выстроена документация на официальном сайте.
категория: Juliaдата публикации: 2016-11-10
Представляю Вашему вниманию второй урок по Julia, который посвящен простым (базовым, встроенным) типам. В качестве простых типов Julia примем: int, bool, float, char и string. Не скажу, что Julia присуща минималистичность типов, тут их достаточно много. В самом деле базовых типов не должно быть много, обусловлено это еще и тем, что на самом низком уровне переменные в памяти располагаются одинаково. Разве что операции над числами с плавающей точкой осуществляются с помощью команд сопроцессора, именно поэтому обычно выделяют две группы типов: целочисленный и тип с плавающей точкой. В соответствии с классификацией типизации Julia является языком с неявной, сильной, динамической типизацией, что сближает с Python.
категория: C++дата публикации: 2016-10-31
В статье дается частичный обзор новелл языка: override, final, default, delete, constexpr, nullptr, explicit. По каждой новелле приведен практический пример. Задача статьи - дать общую информацию не перегружая тонкостями реализации.
категория: C++дата публикации: 2016-10-31
Статья об основах пользования интеллектуальными указателями в с++ в соответствии со стандартом С++11. Рассмотрены примеры использования unique_ptr, shared_ptr, weak_ptr и отличие этих решений от варианта непосредственного управления памятью.
категория: C++дата публикации: 2016-10-30
В статье на примере разбирается сущность rvalue ссылок и перемещений в стандарте С++11. Рассмотрен "рабочий" пример класса, который может быть использован для дальнейших модификаций под конкретную задачу.
категория: C++дата публикации: 2016-10-30
В статье рассматриваются вопросы конструирования и применения функторов и лямбда-функций. Последние рассмотрены в разрезе стандарта С++14. Важность материала определяется современными требованиями к гибкости и функциональности программного кода.
категория: Juliaдата публикации: 2016-10-18
Это первый урок в курсе, посвященном математическому языку программирования Julia, в котором я приведу свои соображения на основе собственного опыта. Скажу сразу, передо мной не стоит цель разобрать все существующие языки, например я не буду касаться языков Fortran, R и т.д., несмотря на то, что эти языки могут быть использованы для математических вычислений. Здесь мы будем рассматривать теоретические и практические аспекты применения Julia, его возможности и сильные стороны.
категория: C++дата публикации: 2016-07-04
Приводится важная информация относительно практики использования наследования. Обсуждаются вопросы связывания на этапе компиляции и на этапе исполнения программы. Приведены примеры виртуального наследования.
категория: C++дата публикации: 2016-07-04
Рассмотрены вопросы схем наследования и композиции. Определена взаимосвязь и взаимозаменяемость этих схем на практике. Обсуждаются термины необходимые для дальнейшего изучения паттернов проектирования.
категория: PHPдата публикации: 2016-04-21
Рассмотрен вопрос построения паттерна Builder и показаны основные отличия от паттерна абстрактная фабрика.
категория: PHPдата публикации: 2016-04-21
Коротко рассмотрен пример фабричного метода. Приведены собственные мысли относительно целесообразности использования этого паттерна.
категория: PHPдата публикации: 2016-04-20
Рассмотрен паттерн абстрактная фабрика, на простом примере показана сущность. Приведенный код может быть успешно использован при построении более сложных конструкций имплементирующих поведение паттерна.
категория: PHPдата публикации: 2016-02-22
Рассмотрена сущность паттерна синглтон на простом примере. Приведены доводы, определяющие необходимость его использования при проектировании программ.
категория: Pythonдата публикации: 2016-02-12
Коротко рассмотрены вопросы оптимального использования ресурсов многоядерного процессора на тестовом примере с использованием multiprocessing Pool. Приведены графики загрузки процессора и список процессов.
категория: Assemblerдата публикации: 2016-02-11
В заметке на примере показана необходимость изучения низкоуровневого программирования для лучшего понимания работы кода C. Объясняется сущность передачи аргументов в функцию по ссылке.