Pull to refresh
0
0
Andrew Lapin @lunat1k

User

Send message

Об искусственном интеллекте в покере

Reading time8 min
Views52K


Покер давно привлекает исследователей самых различных мастей от любителей до серьезных ученых. И, не секрет, что столь пристальное внимание к покеру коррелирует с ростом популярности онлайн гэмблинга, который бурно развивался в 00-х годах. На сегодняшний день человек уже уступил лимитный хедс-ап Техасский Холдем машине, в то время как в безлимитных и многоместных покерных дисциплинах человек все еще берет верх. Наибольший вклад в проблему построения сильного компьютерного покерного интеллекта, вне всякого сомнения, внесла исследовательская группа из университета Альберты, а предложенное ими семейство алгоритмов поиска равновесных стратегий является на сегодняшний день самым модным и часто используемым средством при построении покерных агентов. Но обо всем по порядку.
Читать дальше →
Total votes 73: ↑68 and ↓5+63
Comments28

Р. Курцвейл – Как создать разум (“How to create a mind”). Краткий обзор книги

Reading time5 min
Views89K


Рэй Курцвайл (Ray Kurzweil) – довольно интересная личность. Начать хотя бы с того, что он первым в 1965 году придумал делать музыкальные синтезаторы. Он в свое время получил целую серию наград за свои изобретения в различных областях, опубликовал несколько книг (The age of intelligent machines — 1990, The 10% solution for a healthy life -1993, the age of spiritual machines – 1998, The singularity is near — 2005), снял фильм и даже основал (вместе с Google и NASA) Singularity University. Так что когда появилась информация, что он выпускает новую книгу о том, как cделать мозг (How to create a mind – the secrets of human thought revealed), — я тут же сделал предзаказ.

А для тех, кто сомневается, стоит ли покупать и для всех интересующихся предлагаю этакий обзор: а что же именно хотел сказать автор?

Читать дальше →
Total votes 56: ↑49 and ↓7+42
Comments54

Я хочу работать в Google! Телефонное интервью (часть 1)

Reading time4 min
Views31K
Привет Хабр! Давно не писал. Да это и понятно. Защита диссертации, получение PhD, а сейчас ещё и активный поиск работы — всё это занимает очень много драгоценного времени. Но разговор сегодня пойдёт не о том. Хотелось бы поделиться с Вами, уважаемые хабралюди, ресурсами и описанием процесса подготовки к телефонному техническому интервью с Гуглом, первый технический этап которого я уже прошёл, и теперь готовлюсь ко второму, который будет в пятницу.
Читать дальше →
Total votes 207: ↑182 and ↓25+157
Comments99

Бакалавриат Computer Science (AI) / Software Engineering. Спеши получить грант

Reading time1 min
Views12K
Университет Иннополис объявляет о начале конкурса среди студентов 3-5 курсов ведущих вузов России и зарубежья в области ИТ. Победители конкурса – группа студентов численностью 30-40 человек получат целевой грант на обучение по этой программе.

Читать дальше →
Total votes 28: ↑19 and ↓9+10
Comments0

Управленческие инструменты: Почему заказчики требуют дурацкие отчеты?

Reading time7 min
Views69K
На одной из конференций произошел комичный случай. Подходит слушательница:

— Александр, есть такой вопрос: Как нам повысить уровень доверия в отношениях с заказчиком?

— А что сейчас не так с уровнем доверия?

— Ну, у нас есть команда, есть менеджер. И мы хотим, чтобы заказчик доверял команде и общался только с менеджером. А он лезет напрямую к инженерам…

— А чем это плохо? Человек сразу получает ответы на свои вопросы, быстрые коммуникации и все такое.

— Понимаете… Мы ему джуниор инженеров продаем как синьор инженеров… И нам не хотелось бы, чтобы он обнаружил этот факт.


Напомню изначальную постановку вопроса: “Как нам повысить уровень доверия в отношениях с заказчиком?”

Вот о заказчиках сегодня и поговорим. А точнее, о простом инструменте, который:
  • Поможет осознать, где находятся ваши отношения с заказчиком
  • Покажет, почему формы отчетов иногда бывают такие идиотские
  • Возможно, поможет понять причины “неадекватного” поведения заказчика


Читать дальше →
Total votes 62: ↑57 and ↓5+52
Comments38

Аспирантура в Голландии: Kак (поиск, собеседование, оформление)

Reading time5 min
Views52K
Как и многие статьи подобного рода, эта основана на личном опыте и на особую объективность не претендует. Тем не менее, мне кажется, такая информация может быть полезна потенциальному поросенку П., которым и я до недавнего времени являлась. Полезна с той точки зрения, что дело трудозатратное, но вполне осуществимое.

А, кстати. Аспирантура у меня получилась околоайтишная, но процесс поиска все равно идентичный вне зависимости от области, да и собиралась в AI исследователи идти…
Еще замечание: приведённый ниже метод кроме Голландии подходит и для многих других европейских стран, но в итоге вышло, что туда поехала, поэтому наиболее точно о ней.
Читать дальше →
Total votes 50: ↑42 and ↓8+34
Comments21

Двоичная куча: доказательство сложности построения О(n)

Reading time1 min
Views12K
Собственно речь пойдет о двоичной куче и ее построении с помощью Sift-Down(или Heapify). Многим наверное известно, что построение кучи таким образом осуществляется за image. Здесь я приведу доказательство этого факта.
Читать дальше →
Total votes 41: ↑25 and ↓16+9
Comments3

Выучить французский и остаться в Тулузе

Reading time3 min
Views69K
image
Про Тулузу многие читатели Хабра должны были слышать как о штаб-квартире Аэробус и аэрокосмическом центре Европы. К этому добавлю, что до Средиземного моря отсюда меньше двух часов езды и до Атлантического океана три часа на машине. Так же в двух шагах Пиренеи и Испания. Температура воздуха сегодня 27 градусов. Если вам интересно, то я могу раскрыть легкий способ переехать сюда жить.
Читать дальше →
Total votes 32: ↑28 and ↓4+24
Comments30

Введение в анализ сложности алгоритмов (часть 1)

Reading time10 min
Views380K
От переводчика: данный текст даётся с незначительными сокращениями по причине местами излишней «разжёванности» материала. Автор абсолютно справедливо предупреждает, что отдельные темы покажутся чересчур простыми или общеизвестными. Тем не менее, лично мне этот текст помог упорядочить имеющиеся знания по анализу сложности алгоритмов. Надеюсь, что он будет полезен и кому-то ещё.
Из-за большого объёма оригинальной статьи я разбила её на части, которых в общей сложности будет четыре.
Я (как всегда) буду крайне признательна за любые замечания в личку по улучшению качества перевода.


Введение


Многие современные программисты, пишущие классные и широко распространённые программы, имеют крайне смутное представление о теоретической информатике. Это не мешает им оставаться прекрасными творческими специалистами, и мы благодарны за то, что они создают.

Тем не менее, знание теории тоже имеет свои преимущества и может оказаться весьма полезным. В этой статье, предназначенной для программистов, которые являются хорошими практиками, но имеют слабое представление о теории, я представлю один из наиболее прагматичных программистских инструментов: нотацию «большое О» и анализ сложности алгоритмов. Как человек, который работал как в области академической науки, так и над созданием коммерческого ПО, я считаю эти инструменты по-настоящему полезными на практике. Надеюсь, что после прочтения этой статьи вы сможете применить их к собственному коду, чтобы сделать его ещё лучше. Также этот пост принесёт с собой понимание таких общих терминов, используемых теоретиками информатики, как «большое О», «асимптотическое поведение», «анализ наиболее неблагоприятного случая» и т.п.
Читать дальше →
Total votes 106: ↑98 and ↓8+90
Comments27

В Киеве прошел Kiev Games Night на тему «Как открыть свою геймдев студию»

Reading time2 min
Views17K
Удивительно, что никто так и не осветил это событие. Неделю назад в Киеве прошла сходка-конференция «Games Night». Событие было разбито на две части: блок мини-докладов (по 5-10 минут каждый) и круглый стол, где докладчики отвечали на вопросы аудитории (которой собралось неожиданно много). А так же — свободное общение. Вход был свободный.

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

Каждый из выступающих делился своим опытом создания игродельчесской студии. Рассказывал о проблемах, с которыми пришлось столкнуться, давал советы и т.п.

Докладов было 11:

  • Андрей Арутюнян (Colibri Games) — о том, как команда из 3-х человек сделала свою игру
  • Андрей Прохоров (4A Games) — авторы серии игр Metro и т.п.
  • Артем Мироновский (Nival Red) — про то, как команде пойти под крыло гиганта Nival
  • Олег Яворский (Vostok Games) — про то, как авторы S.T.A.L.K.E.R. искали финансирование на сиквел
  • Игорь Карев (Tatem Games) — авторы «Анабиоза» и многих друих игр
  • Кен Ливер (Eastlabs) — инкубатор игровых стартапов
  • Олег Клаповский (GOG.com) — 3-я по масштабу платформа после Steam и Origin
  • Евгений Жуков (Digitilus) — про то, как и когда выходить на Kickstarter
  • Олег Придюк (Unity) — про то, как команда из 3х человек в гараже на деньги одного из родителей написала всемирно известный движок
  • Андрей Ионес (Saber Interactive) — о разработке на консолях
  • Сергей Климов (Daedalic) — про квесты и сторителлинг в играх

Видео выступлений:


Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments4

Сегментация изображения

Reading time5 min
Views93K

Сегментация изображения


Одной из основных задач обработки и анализа изображений является сегментация, т.е. разделение изображения на области, для которых выполняется определенный критерий однородности, например, выделение на изображении областей приблизительно одинаковой яркости. Понятие области изображения используется для определения связной группы элементов изображения, имеющих определенный общий признак (свойство).
Один из основных и простых способов — это построение сегментации с помощью порога. Порог — это признак (свойство), которое помогает разделить искомый сигнал на классы. Операция порогового разделения заключается в сопоставлении значения яркости каждого пикселя изображения с заданным значением порога.

Читать дальше →
Total votes 69: ↑64 and ↓5+59
Comments12

Алгоритм Эллера для генерации лабиринтов

Reading time5 min
Views152K
Это топик-перевод статьи Eller's Algorithm. В ней рассказывается о способе программной генерации лабиринтов. Дальнейшее повествование идет от лица автора.

 __ __ __ __ __ __ __ __ __ __ __ __ __ __ __  
|__   |__       __ __|__   |   __|  |  |  |  |
|__   |__   |__|   __ __|   __ __      |     |
|        |  |  |     |  |__      |__|  |  |  |
|__|__|  |  |   __|   __|__   |   __|__|  |__|
|   __|  |     |__ __ __|  |  |__|  |     |  |
|  |  |  |  |__|  |__   |  |   __|__ __|  |  |
|  |__    __    __ __    __|  |   __   |  |  |
|  |  |  |  |      __|  |   __|  |  |__|  |  |
|  |     |     |__   |  |  |  |  |  |__    __|
|  |  |__|__|__ __|  |     |  |  |      __|  |
|__ __|  |  |  |__   |__|   __|     |   __ __|
|   __|  |   __|__      |__   |__|  |__    __|
|  |  |     |  |     |__|  |   __    __|   __|
|   __|  |__ __|__|      __|  |  |     |  |  |
|   __ __   |      __|__|  |__   |  |  |__|  |
|__ __ __|__ __|__ __ __ __ __|__|__|__ __ __|


Алгоритм Эллера позволяет создавать лабиринты, имеющие только один путь между двумя точками. Сам по себе алгоритм очень быстр и использует память эффективнее, чем другие популярные алгоритмы (такие как Prim и Kruskal), требуя памяти пропорционально числу строк. Это позволяет создавать лабиринты большого размера при ограниченных размерах памяти.

Читать дальше →
Total votes 122: ↑117 and ↓5+112
Comments35

GamePlay 3D Framework — лёгкий старт в кроссплатформенную разработку 3D игр

Reading time13 min
Views32K
Доброе время суток, уважаемые хабражители!

Прослушав курс по компьютерной графике в университете и вдоволь наигравшись с OpenGL, я решил, что пора бы уже двинуться дальше и попробовать себя в разработке игр. Писать с нуля свой движок, прямо скажем, не очень-то хотелось. Главной целью было скорее посмотреть как это делается, вынести уроки и может быть создать что-то на базе выбранного движка. Беглый поиск показал, что с открытыми кроссплатформенными движками немного туго. У одного проблемы с Linux, Windows или Mac OS, у другого со свежими версиями мобильных ОС, третий почти заброшен… Но я-таки наткнулся на один очень привлекательный экземпляр, о котором и хочу поведать в этой статье.

gameplay

Имя этому фреймворку — GamePlay 3D. Информации о нём на просторах интернета не очень много, чего уж говорить про рунет. Это open source фреймворк написанный на C++ для программирования игр на C++ со всеми вытекающими из этого достоинствами и недостатками. Авторы проекта позиционируют его как универсальный инструмент, эдакий аналог cocos2d для 3D игр. Чтобы начать писать на GamePlay 3D не нужно обладать глубокими знаниями OpenGL, GLSL или математики 3D графики, однако все мы понимаем, что для достижения хорошего результата от этого никуда не деться. Подробности и небольшой пример для старта под катом.

Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments13

Баланс в играх жанра Tower Defense (часть 1)

Reading time7 min
Views68K
В данной статье речь пойдет о принципах вычисления баланса в нашей игре жанра Tower Defense (TD), которую мы выпустили летом 2012г. для платформ iOS и Android. Мы расскажем, c какими сложностями и ограничениями пришлось столкнуться, каков был ход мыслей геймдизайнера при выборе того или иного решения, и как был получен конечный результат.

Достижения игры
1. побывала в топ6 и топ7 в категориях US Appstore;
2. занимала топ1 категорий и топ7 overall в RU Appstore;
3. «письмо счастья» от Apple;
4. 425 000 закачек;
5. 5 звезд (средняя оценка для всех магазинов);
6. множество положительных комментариев;
7. обзоры на ведущих мировых мобильных порталах.


Читать дальше →
Total votes 76: ↑64 and ↓12+52
Comments59

Графические фильтры на основе матрицы скручивания

Reading time6 min
Views42K
UPD: Заголовок изменен, что бы более соответствовать теме статьи

В статье пойдет речь об использовании convolution matrix (матрицы скручивания или матрицы свертки), с помощью которой можно создавать и накладывать на изображения фильтры, такие как blur, sharpen и многие другие.

Cтатья будет интересна не только веб-программистам, но и всем кто так или иначе занимается программной обработкой изображений, поскольку функции для работы с матрицей скручивания имеются во многих языках (точно известно о php и flash). Так же, статья будет интересна дизайнерам, использующим Adobe Photoshop, поскольку в нем имеется соответствующий фильтр (Filter-Other-Custom).

Примеры будут на языке PHP с использованием библиотеки GD. Теория, практика, примеры (осторожно, много картинок!)

под катом
Total votes 100: ↑98 and ↓2+96
Comments37

Матричные фильтры обработки изображений

Reading time3 min
Views213K
Данная статья рассказывает не только о наиболее распространённых фильтрах обработки изображений, но в понятной форме описывает алгоритмы их работы. Статья ориентирована, прежде всего, на программистов, занимающихся обработкой изображений.

Читать дальше →
Total votes 40: ↑33 and ↓7+26
Comments26

Краткая история проекта OpenCV

Reading time5 min
Views37K
Автор: Кирилл Корняков, лидер команды разработчиков в Itseez.

Привет, Хабр!

image

Этой записью мы открываем блог компании Itseez (от англ. it sees — «оно видит!»). Компания основана адептами компьютерного зрения, проработавшими в этой области более 13 лет, среди которых есть участники проекта OpenCV с первого дня его существования. Наша стратегия связана с разработкой технологий и продуктов в области компьютерного зрения под девизом ”Vision that works!”. Наши клиенты — Willow Garage, NVidia, Intel, Microsoft, несколько менее известных компаний и стартапов. На сегодняшний день коллектив Itseez — это команда из 40 инженеров и исследователей, многие сотрудники активно участвуют в образовательной деятельности: преподают в университете, публикуются в журналах и выступают на конференциях, а также проводят школы по компьютерному зрению.

На страницах блога мы бы хотели рассказывать о том, что интересного происходит в реальном и кибер-пространстве вокруг нас, а также в мире компьютерного зрения. Мы надеемся, что публикуемые материалы будут интересны людям, близким к машинному обучению, робототехнике, вычислительной фотографии, технологиям интеллектуального видеонаблюдения и дополненной реальности, а также к смежным направлениям Науки и Техники. Важной особенностью Itseez является то, что многие наши разработки являются open-source, поэтому мы постараемся подкреплять свои слова примерами реального кода.

Поскольку это первая запись в нашем блоге, хотелось бы поделиться чем-то интересным, поэтому мы расскажем о ключевом проекте компании — о разработке библиотеки алгоритмов компьютерного зрения OpenCV (о своем вкладе в ROS (Robot Operating System) и PCL (Point Cloud Library) мы пока умолчим). Подготовленный читатель, вероятно, удивится, задавшись вопросом: “Но ведь OpenCV разрабатывается Intel / Willow Garage!”, и будет прав, но лишь отчасти. Действительно, далеко не все знают, что большинство ведущих разработчиков OpenCV живут и трудятся в России, в городе Нижний Новгород, и являются сотрудниками компании Itseez. Поэтому, чтобы устранить недоразумения, первый пост мы решили посвятить краткому изложению истории OpenCV. Также, пользуясь случаем, в заключении мы поделимся некоторой инсайдерской информацией о будущем проекта.
Читать дальше →
Total votes 61: ↑58 and ↓3+55
Comments29

Вирусный маркетинг для мобильной игры: дешево и эффективно

Reading time3 min
Views6.7K
Преамбула
Сейчас выпускается много статей, пытающихся проанализировать рецепты создания успешной игры. Часто на первое место ставится «уникальность». Легко сказать, но сложно сделать, да и существует достаточно примеров, когда качественный клон проносился роковой стрелой в спину пионеров-создателей. Проблема клонов в том, что их сложно продвигать, особенно в журналистской среде. Последние вообще часто отказываются писать обзор, аргументируя тем, что игра не несет рынку ничего нового. В данной статье я хочу рассказать о нетривиальном, но более чем успешном опыте продвижения созданного нами же клона Angry Birds. Дело было несколько лет назад на j2me, но в данном случае идея важнее давности лет и платформы.
Читать дальше →
Total votes 23: ↑14 and ↓9+5
Comments8

Линейная алгебра для разработчиков игр

Reading time19 min
Views766K
Эта статья является переводом цикла из четырёх статей «Linear algebra for game developers», написанных David Rosen и посвящённых линейной алгебре и её применению в разработке игр. С оригинальными статьями можно ознакомиться тут: часть 1, часть 2, часть 3 и часть 4. Я не стал публиковать переводы отдельными топиками, а объединил все статьи в одну. Думаю, что так будет удобнее воспринимать материал и работать с ним. Итак приступим.
Читать дальше →
Total votes 314: ↑296 and ↓18+278
Comments61

6 способов выделиться на переполненном рынке приложений

Reading time4 min
Views16K
С тех пор, как мы анонсировали нашу программу разработки MarvDev несколько месяцев назад, нам посчастливилось пообщаться с несколькими сотнями разработчиков, ищущих партнеров для издания своих игр.

Мы подписали первые игры на участие в программе и получили возможность посмотреть всевозможные игры — как от талантливых команд, так и от единичных разработчиков со всего света.

Но в день выпускается более 100 приложений, и выделиться из них, по сути, большая задача.

Рассмотрев так много игр за такой короткий промежуток времени – и думая о них с коммерческой точки зрения – мы получили неоценимый опыт и думаем, что полезно было бы составить список общих черт в играх, которые нам понравились.

Читать дальше →
Total votes 33: ↑18 and ↓15+3
Comments6
1

Information

Rating
Does not participate
Location
Саров (Нижегородская обл.), Нижегородская обл., Россия
Date of birth
Registered
Activity