Как стать автором
Обновить
28
0

Пользователь

Отправить сообщение

Некоторые идеи написания искуственного интелекта для шахмат

Время на прочтение7 мин
Количество просмотров19K
К сожалению, для шахмат пока нет лучших алгоритмов, чем перебор очень многих позиций. Правда, перебор порядком (и не одним) оптимизированный, но все же это большой перебор. Для поиска ответного хода строится дерево с исходным ходом в корне, ребрами — ходами-ответами и узлами — новыми позициями.

image

Как в элементарных алгоритмах выбирается следующий ход объяснить просто. На своем ходе вы выбираете такой ход (по вашему мнению), который принесет наибольшую пользу (максимизирует вашу выгоду), а противник на очередном своем ходе старается выбрать ход, который принесет ему больше всего пользы (максимизирует его выгоду и минимизирует вашу). Алгоритм с таким принципом называется минимакс. На каждом этапе вы присваиваете каждому узлу в дереве оценку позиции (об этом потом) и на своем ходе ее максимизируете, а на ходе противника — минимизируете. Алгоритм во время работы должен пройти по всем узлам дерева (то есть по всем возможный игровым позициям в игре), то есть совсем непригоден по времени.
Следующее его усовершенствование — альфа-бета отсечение (метод веток и границ).
Читать дальше →
Всего голосов 56: ↑49 и ↓7+42
Комментарии26

Вам календарик 2011

Время на прочтение1 мин
Количество просмотров6.4K


Вам снова календарик!

В карман (100×70мм):
pdf, eps, svg или png (1185×831, 300dpi)

На стенку (A4):
pdf, eps, svg или png (3512×2484, 300dpi)

Сделай сам:
Генератор календариков (Python, GPL)

С Новым Годом!

Всего голосов 237: ↑220 и ↓17+203
Комментарии78

Визуализация работы веб-сервера Apache — logstalgia

Время на прочтение1 мин
Количество просмотров15K
image

Logstalgia скорее порадует разработчиков и системных администраторов, которые много времени проводят на «заднем дворе» сайтов, но сам результат работы программы очень красив и видео будет интересно посмотреть всем. Данная программа визуализирует работу веб-сервера Apache используя log-файлы. По ссылке видео, а саму программу можно скачать по здесь.
Всего голосов 101: ↑96 и ↓5+91
Комментарии57

Извлечение фактов

Время на прочтение3 мин
Количество просмотров13K
Задача извлечения информации из текста сама по себе не нова: в этом направлении проделано довольно много работы как со стороны крупных компаний aka Яndex и Google, так и со стороны независимых разработчиков. Однако, говорить о том, что данная задача окончательно решена, увы, не приходится. В этой статье я хочу немного упорядочить свои знания по данному вопросу, поверхностно разобрав наработки, с которыми мне недавно пришлось столкнуться.
Читать дальше →
Всего голосов 62: ↑58 и ↓4+54
Комментарии21

Незаметная смерть распознавания речи

Время на прочтение3 мин
Количество просмотров31K
Предполагалось, что когда компьютер научится понимать человеческую речь, мы быстро сможем создать искусственный интеллект. Но точность систем распознавания речи достигла своего пика в 1999 году и с тех пор застыла на месте. Академические тесты 2006 года констатируют факт: системы общего профиля так и не преодолели уровень 80%, тогда как у человека этот показатель составляет 96-98%.

Профессор Роберт Фортнер из Media Research Institute считает, что создатели систем распознавания речи окончательно зашли в тупик. Программисты сделали всё что смогли, и у них не получилось. Спустя несколько десятилетий они поняли, что человеческая речь — не просто набор звуков. Акустический сигнал не несёт достаточно информации для распознавания текста.
Читать дальше →
Всего голосов 190: ↑166 и ↓24+142
Комментарии313

Краткий обзор популярных нейронных сетей

Время на прочтение6 мин
Количество просмотров51K
К написанию этой статьи меня побудила большая распространенность некоторых заблуждений на тему искусственных нейронных сетей (ИНС), особенно в области представлений о том, что они могут и чего не могут, ну и хотелось бы знать, насколько вопросы ИНС вообще актуальны здесь, стоит ли что-либо обсудить подробнее.

Я хочу рассмотреть несколько известных архитектур ИНС, привести наиболее общие (в следствие чего не всегда абсолютно точные) сведения об их устройстве, описать их сильные и слабые стороны, а также обрисовать перспективы.

Начну с классики.

Читать дальше →
Всего голосов 83: ↑78 и ↓5+73
Комментарии45

Обзор торговых роботов

Время на прочтение3 мин
Количество просмотров26K
Привет, хабралюди! Все мы знаем про Forex, может даже кто-нибудь из Вас и пытался (или до сих пор пытается) на нём играть заработать на жизнь, пиво, телефон, машину, стартап (нужное подчеркнуть). Но в нашей жизни полностью уделить все время торговле на валютном рынке, практически не реально и в следствии чего появились автоматические торговые эксперты.
В данном посте я расскажу о некоторых платных советниках, которые я покупал и использовал на реальном счете. Все графики и цифры взяты из личного опыта и никаким образом не отношусь к разработчикам советников.
Так что предлагается выбрать «красную» или «синюю» таблетку :)

Синяя таблетка...
Всего голосов 165: ↑130 и ↓35+95
Комментарии183

Тоби Сегаран «Программируем коллективный разум»

Время на прочтение3 мин
Количество просмотров11K
Знаете, люблю я книжки про всякие интересные алгоритмы, и вот недавно попалась еще одна такая книжка.

Книга «Программируем коллективный разум» в основном посвящена алгоритмам классификации и кластеризации, хотя есть главы, посвященные другим темам вроде создания собственного поисковика, генетическим алгоритмам и генетическому программированию. Почти все описанные алгоритмы применяются в духе Web 2.0, используя анализ поведения пользователей на разных сайтах, которые предоставляют свой API. Но что особенно приятно удивило, так это то, что все примеры написаны на языке Python.


Вот какие алгоритмы описываются в книге:


  • Коллаборативная фильтрация. Или, говоря человечески языком, алгоритмы, которые могут рекомендовать вам какие-то покупки, сайты или музыку в зависимости от оценок, которые вы поставили другим подобным вещам. По таким алгоритмам работает навязывание покупок в интернет-магазинах или подбор музыки на last.fm. В конце главы приводится пример, который будет рекомендовать вам ссылки из сервиса del.icio.us.
  • Алгоритмы группировки (кластеризации). Создаваемый пример анализирует RSS-каналы блогов и пытается их автоматически разделить на группы в виде дерева в зависимости от частоты слов, которые попадаются в блоге. Заодно Сегаран рассказывает как можно сделать так, чтобы названия блогов расположились на плоскости кучками в зависимости от их близости в плане рассматриваемых тем.
  • Отдельная глава посвящена построению поисковиков – созданию паука и, самое главное, рассматриваются алгоритмы ранжирования ссылок, в том числе и с учетом ссылок страниц друг на друга, создавая, таким образом, аналог Google PageRank. Еще интересно, что в этой же главе есть пример, где для выдачи наиболее релевантных ссылок используется нейронная сеть, которая обучается по мере того как пользователь щелкает на понравившиеся ему ссылки.

Читать дальше →
Всего голосов 73: ↑67 и ↓6+61
Комментарии29

Распознавание изображений. Алгоритм Eigenface

Время на прочтение6 мин
Количество просмотров66K

Введение



Я продолжаю серию статей посвящённую тематике pattern recognition, computer vision и machine learning. Сегодня я вам представляю обзор алгоритма, который носит название eigenface.



В основе алгоритма лежит использование фундаментальных статистических характеристик: средних (мат. ожидание) и ковариационной матрицы; использование метода главных компонент. Мы также коснёмся таких понятий линейной алгебры, как собственные значения (eigenvalues) и собственные вектора (eigenvectors) (wiki: ru, eng). И вдобавок, поработаем в многомерном пространстве.
Как бы страшно всё это не звучало, данный алгоритм, пожалуй, является одним из самых простых рассмотренных мною, его реализация не превышает нескольких десятков строк, в тоже время он показывает неплохие результаты в ряде задач.

Мне не страшно.
Всего голосов 132: ↑127 и ↓5+122
Комментарии48

Новый социализм: Глобальное общество коллективистов идет в онлайн

Время на прочтение14 мин
Количество просмотров2.1K
image

Месяц назад наткнулся на понравившуюся мне статью, а на днях зарегистрировался на Хабре. Вот и решил первым своим постом сделать ее перевод. Сильно не судите, перевод довольно вольный, английский изучал только в школе (школу закончил 9 лет назад, высшее образование ни как не связанно с лингвистикой). Статья довольно объемная, но от этого не менее интересная.


Билл Гейтс однажды смеялся над сторонниками открытых исходников, произнося наихудший эпитет, который капиталист может сказать. Эти люди, по его словам, являются «новые, современного вида коммунисты», и эта злая сила стремится уничтожить монополистический уклад, который помогает поддерживать американскую мечту. Гейтс был неправ: Open Source фанатики больше похожи сторонников борцов за свободную волю чем на сторонников коммунизма. Тем не менее, существует некоторая правда в его утверждение. Безумная, глобальная спешка подключения каждого человека друг к другу, все это время, тихонько, порождала пересмотренный вариант социализма.
Читать дальше →
Всего голосов 125: ↑94 и ↓31+63
Комментарии68

Поспешай медленно или Что такое «Медленные медиа»

Время на прочтение4 мин
Количество просмотров2.4K
image

Эпиграфом к этому небольшому рассуждению о новом концепте медиа-ресурсов может быть всем надоевшая поговорка «тише едешь — дальше будешь» или менее затертая «поспешай медленно». Все дело в том, что несколько месяцев назад в Германии был создан и опубликован так называемый «Манифест медленных медиа». Это манифест послужил толчком для утверджения новой концепции медиа, что весьма сильно потревожило западные СМИ.

Круги по воде начинают проявляться и у нас, так что спешу ознакомить хабра-сообщество с данной темой. Возможно, некоторые из вас и читали уже «Манифест», причем в оригинале, и если это так, приглашаю присоединиться к обсуждению.

Читать дальше →
Всего голосов 57: ↑36 и ↓21+15
Комментарии95

Развитие образного мышления

Время на прочтение3 мин
Количество просмотров67K
image

Пламенный привет, дорогие хабравчане!

В своей дебютной статье я хочу рассказать вам об упражнениях-играх на развитие образного мышления, которые будут полезны не только людям творческих профессий: в отличие от упражнений на развитие воображения, в которых идет доминирование правого полушария, прокачка образного мышления активно задействует аналитические способности, а это уже симбиоз двух полушарий. Поэтому эти упражнения прекрасно подойдут не только для получения каких-либо плодов для людей, чья работа хоть как-то связана с образной информацией, но и любому человеку, который хочет иметь острый ум и налаженное взаимодействие обоих полушарий мозга.
Читать дальше →
Всего голосов 132: ↑119 и ↓13+106
Комментарии83

Три ключевых принципа ПО, которые вы должны понимать

Время на прочтение13 мин
Количество просмотров224K

Разрабатывая приложения, мы постоянно сталкиваемся с новыми подходами, языками и концептами. И постоянно мы мечемся в сомнениях «смогу ли я быть на волне, оставаться конкурентоспособным, учитывая все изменения и тренды?». Давайте задумаемся на мгновение, вспомнив фразу из моего любимого фильма «Касабланка» — в любви законов новых нет — так создан свет.

Все, что касается любви, применимо и к коду. Новых законов в коде нет. Если вы четко понимаете основные идеи разработки, вы способны максимально быстро адаптироваться к новым подходам. В этой статье я расскажу вам о трех основных принципах, которые, наряду с другими, позволяют регулировать сложность разработки. Я поделюсь своим видением вопроса, которое, надеюсь, поможет вам в повседневной работе.
Читать дальше →
Всего голосов 142: ↑128 и ↓14+114
Комментарии56

CSS кнопки с помощью псевдо-элементов

Время на прочтение5 мин
Количество просмотров47K


Здравствуйте, друзья. За последний месяц я экспериментировал с псевдо-элементами, особенно, с их использованием в создании кнопок. Таким образом, удалось создать крутые эффекты, которые раньше можно было сделать только со спрайтами.

В этом уроке я покажу как создать кнопку с изюминкой, используя только якорный тег и мощь CSS.

Читать дальше →
Всего голосов 238: ↑230 и ↓8+222
Комментарии117

Все что вы хотели знать о мастерах операций, но боялись спросить

Время на прочтение27 мин
Количество просмотров89K

Большинство системных администраторов в своей корпоративной среде для обеспечения системы идентификации и доступа своих пользователей к ресурсам предприятия используют доменные службы Active Directory, которые смело можно назвать сердцем всей инфраструктуры предприятия. Как многие из вас знают, структура доменных служб в организациях может включать в себя как один, так и несколько лесов (набор доменов, включающих описание сетевой конфигурации и единственный экземпляр каталога), в зависимости от таких факторов как ограничение области доверительных отношений, полное разделение сетевых данных, получение административной изоляции. В свою очередь, каждый большой лес для упрощения администрирования и репликации данных должен разделяться на домены. В каждом домене для управления доменными службами и выполнения таких задач как проверка подлинности, запуск службы «Центр распределения ключей Kerberos» и управления доступом используются контроллеры домена. А для управления сетевым трафиком между офисами разрабатываются сайты.
Читать дальше →
Всего голосов 85: ↑68 и ↓17+51
Комментарии32

Как работает yield

Время на прочтение6 мин
Количество просмотров666K
На StackOverflow часто задают вопросы, подробно освещённые в документации. Ценность их в том, что на некоторые из них кто-нибудь даёт ответ, обладающий гораздо большей степенью ясности и наглядности, чем может себе позволить документация. Этот — один из них.

Вот исходный вопрос:
Как используется ключевое слово yield в Python? Что оно делает?

Например, я пытаюсь понять этот код (**):
def _get_child_candidates(self, distance, min_dist, max_dist):
    if self._leftchild and distance - max_dist < self._median:
        yield self._leftchild
    if self._rightchild and distance + max_dist >= self._median:
        yield self._rightchild

Вызывается он так:
result, candidates = list(), [self]
while candidates:
    node = candidates.pop()
    distance = node._get_dist(obj)
    if distance <= max_dist and distance >= min_dist:
        result.extend(node._values)
        candidates.extend(node._get_child_candidates(distance, min_dist, max_dist))
        return result


Что происходит при вызове метода _get_child_candidates? Возвращается список, какой-то элемент? Вызывается ли он снова? Когда последующие вызовы прекращаются?

** Код принадлежит Jochen Schulz (jrschulz), который написал отличную Python-библиотеку для метрических пространств. Вот ссылка на исходники: http://well-adjusted.de/~jrschulz/mspace/

Подробный и обстоятельный ответ
Всего голосов 141: ↑136 и ↓5+131
Комментарии41

Азартный способ повысить производительность в команде — Tree Poker

Время на прочтение3 мин
Количество просмотров2.9K
Tree Poker
В филиале одной крупной компании в России потребовалось отправить трех представителей на гей-парад в Европу. Как и ожидалось, желающих не нашлось. Решено было отправить руководителей подразделений, где ниже всего производительность труда. В последние недели до отправки производительность всего предприятия возросла в разы...

Реальная история, British American Tobacco
Традиционно, GTD относится больше к личному тайм-менеджменту и достижению личных целей. Хотя гораздо интереснее и сложнее достичь хорошей производительности в команде из нескольких людей. Как убедиться что все работают на полную, но в меру, каждый занимается нужным делом, причем таким чтобы соответствовало навыкам и способностям, да еще чтобы все были заинтересованы и мотивированы, и в целом команда достигала поставленных целей?.. Об этом написаны сотни книг, которые конечно полезны, но мы хотели бы поделиться довольно интересным, простым, азартным и эффективным способом повысить производительность в команде, который мы используем уже нескольно месяцев. Кому интересно — продолжаем…
Ставки сделаны, ставок больше нет!
Всего голосов 25: ↑13 и ↓12+1
Комментарии9

Принцип цикады и почему он важен для веб-дизайнеров

Время на прочтение6 мин
Количество просмотров229K
Пару лет назад я прочитал интересные факты о жизненном цикле периодических цикад. Обычно мы не видим вокруг себя много этих насекомых, потому что бóльшую часть своей жизни они проводят под землёй и тихо сосут корни растений.

Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.

Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
Читать дальше →
Всего голосов 696: ↑682 и ↓14+668
Комментарии119

Базовые рекомендации для повышения безопасности *nix веб-сервера

Время на прочтение3 мин
Количество просмотров24K
Вдохновившись статьей о поиске следов взлома, решил написать статью о предупреждении взлома и базовых шагах для сведения возможности взлома сервера к минимуму.
Все шаги крайне важны, и невозможно выделить самый-самый важный, либо второстепенный.
Данная статья не является пошаговой инструкцией, а лишь списком рекомендуемых шагов.
Читать дальше →
Всего голосов 197: ↑178 и ↓19+159
Комментарии247

Sentry — мониторинг ошибок в Django

Время на прочтение2 мин
Количество просмотров44K
Как Вы мониторите ошибки в своем Django проекте?

В Django есть стандартный механизм мониторинга ошибок, который отсылает уведомление о возникновении ошибки с подробной информацией на указанный email. Вещь, бесспорно, полезная. В письме содержатся все сведения об ошибке: название ошибки, где она произошла, откуда был переход на страницу и т.д. Но в этом есть один большой минус — когда проект крупный и ошибок становится достаточно много, то количество писем с уведомлениями об ошибках становится таким, что большая часть из них просто игнорируется.

Таким же вариантом пользовались и мы, пока не открыли для себя Sentry.
image
Читать дальше →
Всего голосов 58: ↑53 и ↓5+48
Комментарии24
1

Информация

В рейтинге
Не участвует
Откуда
London, England - London, Великобритания
Зарегистрирован
Активность