Исследуя одну задачу оптимизации, столкнулся с проблемой симметричности конфигураций при прямом переборе вариантов. Схожая проблема возникает в некоторых решениях задачи о восьми ферзях. Исследуя центральную симметрию прямоугольной сетки, я обнаружил революционный довольно интересный метод определения и проверки симметричных конфигураций с использованием чисел-«перевертышей».
Читать полностью »
Рубрика «алгоритм» - 7
Как я ускорял strstr
2016-06-22 в 8:33, admin, рубрики: алгоритм, Алгоритмы, поиск подстроки в строке, Программирование, СиПонадобилось мне недавно написать аналог функции strstr(поиск подстроки в строке). Я решил его ускорить. В результате получился алгоритм. Я не нашел его по первым ссылкам в поисковике, зато там куча других алгоритмов, поэтому и написал это.
График сравнения скорости работы моего алгоритма, с функцией strstr на 600 кб тексте русскоязычной книги, при поиске строк размером от 1 до 255 байт:
Алгоритм вычисления комплексного корня полинома произвольной степени
2016-06-16 в 18:17, admin, рубрики: алгоритм, вычисление комплексного корня, корень, косинус, математика, полином, синусЭто завершение статьи habrahabr.ru/post/303342
Спасибо комментаторам, сделавшим более ясным мое слишком уж конспективное изложение метода Лобачевского.
В самом деле, мне следовало явно написать, что квадрированный полином надо рассматривать как полином от аргумента x^2, где x — аргумент исходного полинома.
Главное же, там был описан простой алгоритм вычисления всех вещественных корней полинома произвольной степени.
Теперь на этом фундаменте будет построен вполне элементарный алгоритм вычисления комплексного корня полинома, не имеющего вещественных корней.
Читать полностью »
Алгоритм расчёта вещественных корней полиномов
2016-06-15 в 9:41, admin, рубрики: алгоритм, Алгоритмы, математика, метод Лобачевского, полином, расчет вещественных корнейОсновополагающая идея этого алгоритма очень проста и может быть изложена двумя предложениями. Вещественный корень полинома всегда находится на участке монотонного изменения полинома, т.е. между корнями производной полинома. Но производная полинома — это тоже полином, однако, меньшей степени и, найдя его вещественные корни, надо искать корни исходного полинома между корнями производной методом деления пополам.
А теперь по порядку.
Читать полностью »
Алгоритм решения кроссвордов из регулярных выражений
2016-06-06 в 9:01, admin, рубрики: алгоритм, головоломка, Регулярные выраженияНаверное, каждый, кто интересуется регулярными выражениями и читает Хабр, видел этот кроссворд из регулярных выражений:
На его решение нужно от 30 минут до нескольких часов, а вот ваш компьютер способен решить его всего за несколько минут. Да и не только этот кроссворд, а любой кроссворд из регулярных выражений под силу алгоритму под катом.
Алгоритм жевания для тачскрина
2016-04-29 в 9:13, admin, рубрики: unity3d, алгоритм, жевание, зум, мобильный, разработка игр, разработка мобильных приложений, тачскрин, юнити Не так давно вышла моя первая личная игра для мобильных. Суть заключается в том, что врагов надо пережевывать пальцами. Алгоритм не уникальный, но встречается редко. На первый взгляд, нужно только прослушать зум-движение двух пальцев, вроде ничего сложного, однако в процессе разработки игры выявляются различные подводные камни.
Читать полностью »
Метод Монте-Карло для поиска в дереве
2016-04-26 в 13:27, admin, рубрики: алгоритм, Алгоритмы, игра го, ИИ, Программирование
Метод Монте-Карло это алгоритм принятия решений, часто используемый в играх в качестве основы искусственного интеллекта. Сильное влияние он оказал на программы для игры в Го, хотя находит свое применение и в других играх, как настольных, так и обычных компьютерных (например Total War: Rome II). Так же, стоит отметить, что метод Монте-Карло используется в нашумевшей программе AlphaGo, победившей го-профессионала 9-го дана Ли Седоля в серии из 5 игр.
В данной статье хотелось бы рассказать про версию алгоритма Монте-Карло под названием Upper Confidence bound applied to Trees (UCT). Именно после публикации этого алгоритма в 2006-м году, программы для игры в Го сильно усилили свои позиции и достигли значительных успехов в игре против человека.
Читать полностью »
Индикатор Futaba M204SD02AJ в последовательном режиме
2016-04-08 в 7:23, admin, рубрики: arduino, алгоритм, ардуина, последовательный интерфейс, Электроника для начинающих, метки: ардуина, последовательный интерфейс
В этой статье я хочу поделиться опытом использования индикатора FUTABA MSD204AJ в режиме последовательного интерфейса. Будем программировать на ардуине.
Читать полностью »
Метрика рекомендательной системы imhonet.ru
2016-04-06 в 14:23, admin, рубрики: big data, алгоритм, Алгоритмы, Блог компании DCA (Data-Centric Alliance), рекомендацииЦель этого рассказа — поделиться способами решения проблемы, над которой работали авторы при разработке рекомендательного сервиса imhonet.ru. Поскольку проблема не является чисто научно-технической, а скорее находится на стыке технологий и бизнеса и может быть полезна более широкой аудитории, чем обычный технический отчёт, мы выбрали именно такой формат представления нашей работы — попытались написать рассказ настолько простым языком, насколько это возможно. Первая часть рассказа посвящена довольно подробному обоснованию того, как правильно измерять качество работы алгоритмов рекомендательной системы. А в конце иллюстративно перечислено несколько примеров, в которых мы проводили эти измерения для решения конкретных задач.
Программное обеспечение, предсказывающее место совершения преступления — реальность
2016-03-29 в 11:19, admin, рубрики: алгоритм, будущее здесь, Научно-популярное, особое мнение, ПО, прогнозирование
Кадр из к/ф «Особое мнение»
Исследователями из США был разработан новый тип программного обеспечения, который, как утверждается, поможет правоохранительным органам снизить уровень преступности с помощью прогнозирующего алгоритма. ПО будет просчитывать, где может произойти преступление и сможет направлять больше сотрудников правоохранительных органов в эти районы. Называется оно «Predictive Policing» и уже используется десятками полицейских управлений, в том числе в Лос-Анджелесе, Чикаго и Атланте.
Некоторые скептики сомневаются, что прогностическое ПО на самом деле работает так, как его рекламируют. В конце концов, большинство преступлений вписываются только в полурегулярную модель, в то время как серьезные, но низкочастотные преступления, например, террористические акты, не имеют конкретной схемы, что делает их гораздо более сложными для прогнозирования, сообщает fusion.
Читать полностью »