Pull to refresh
0
Александр Агуленко @agulread⁠-⁠only

User

Send message

Искуственный интеллект с нечеткой логикой в аркадной игре

Reading time10 min
Views16K

Введение или как я писал свой первый ИИ


Доброго времени суток. Я написал свой первый искуственный интеллект много лет назад, когда учился в колледже. Тогда это был ИИ для змейки в необычной для змеек игре — Serpent's Madness (ссылка ведет на мой сайт игры), в которой последние могут двигаться в любом направлении. Скриншот ниже демонстрирует это:



Тогда это был детерминированный алгоритм, т.е. алгоритм с четкой последовательностью действий, когда на каждом шаге можно точно сказать, что будет на следующем. Выглядел он приблизительно так
Читать дальше →
Total votes 65: ↑55 and ↓10+45
Comments21

Дизайн будильника моей мечты

Reading time4 min
Views44K
Нет, не здоровенного. А просто удобного будильника для Андроида. После долгих поисков на Маркете я так и не смог найти будильник, который мне было бы приятно использовать. Поэтому в этой статье я буду проектировать будильник таким, каким бы я сам хотел его видеть.

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

Перед тем, как рассказать о том что есть в этом будильнике, я начну с того, чего в нём нет. Во-первых, в нём нет возможности установки нескольких будильников, так как в большинстве случаев они используются только для того, чтобы поставить 3 будильника подряд с целью не проспать. Это не работает и должно решаться другими средствами.

Во-вторых, в нём нет псевдо-анализа стадий сна, так как пока я не нашёл подтверждения тому, что хоть одно из таких приложений работает. И уж точно они не работают, если спишь в кровати не один.

И в-третьих, в нём нет никаких математических примеров для отключения звонка. Так что для любителей математики он не подойдёт.

Дисклаймер. Вполне возможно, у вас уже есть будильник который вас полностью устраивает. Что ж, тогда эта статья вряд ли вам будет интересна. А для остальных я расскажу о проектировании будильника
под катом
Total votes 302: ↑279 and ↓23+256
Comments195

Как начать и не бросить писать ОС

Reading time7 min
Views77K
Очередной велосипедЧитая Хабр в течении последних двух лет, я видел только несколько попыток разработки ОС (если конкретно: от пользователей pehat и iley (отложено на неопределённый срок) и Igor1024 (не заброшено, но пока больше походит на описание работы защищённого режима x86-совместимых процессоров, что бесспорно тоже необходимо знать для написания ОС под x86); и описание готовой системы от alman (правда не с нуля, хотя в этом нет ничего плохого, может даже наоборот)). Мне почему-то думается, что почти все системные (да и часть прикладных) программисты хотя бы раз, но задумывались о написании собственной операционной системы. В связи с чем, 3 ОС от многочисленного сообщества данного ресурса кажется смешным числом. Видимо, большинство задумывающихся о собственной ОС так никуда дальше идеи и не идёт, малая часть останавливается после написания загрузчика, немногие пишут куски ядра, и только безнадёжно упёртые создают что-то отдалённо напоминающее ОС (если сравнивать с чем-то вроде Windows/Linux). Причин для этого можно найти много, но главной на мой взгляд является то, что люди бросают разработку (некоторые даже не успев начать) из-за небольшого количества описаний самого процесса написания и отладки ОС, который довольно сильно отличается от того, что происходит при разработке прикладного ПО.

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

Читать дальше →
Total votes 125: ↑117 and ↓8+109
Comments55

Windows 3.1 на Android

Reading time2 min
Views51K
Человеческой изобретательности нет предела.
На этот раз нашли способ запускать Windows 3.1 (а возможно и выше) на аппарате под управлением OS Android.



Система устанавливается оригинальная и полностью рабочая, единственный большой минус — довольно сложное управление.

И так для этого нам понадобится:
  1. Аппарат с Android версии 2.2 или выше
  2. Приложение aDosBox
  3. Установочные файлы Windows
  4. Свободное место на SD карте или в самом аппарате (20 мб (это проблема..))
  5. Прямые руки

Читать дальше →
Total votes 135: ↑113 and ↓22+91
Comments98

Опыт составления резюме

Reading time5 min
Views33K

Проблема


Не так давно мне потребовалось обновить своё резюме. Последний раз я это делал несколько лет назад, так что решил написать резюме с нуля.

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

Читать дальше →
Total votes 131: ↑107 and ↓24+83
Comments215

Chess@home: создаем крупнейший шахматный ИИ

Reading time6 min
Views6.3K
Многие знакомы с проектом Seti@home: мощнейшей инициативой по поиску следов внеземных цивилизаций в океане данных, получаемых с неба, с использованием мощностей миллионов компьютеров по всему земному шару («матрицы»).

Хотя инопланетян до сих пор не обнаружили, Seti@home вполне успешно демонстрирует потенциал крупномасштабных распределенных вычислений. Проекты типа BOINC распространили подобные инициативы в другие области: биологию, медицину и физику.
Читать дальше →
Total votes 80: ↑73 and ↓7+66
Comments46

Icon Ambulance — Скорая пиктографическая помощь

Reading time2 min
Views840
Перевод одной истории, произошедшей в Калифорнии.

Воскресным утром, 6-го января 2008 года я был в церкви когда мой телефон завибрировал. Как можно более незаметно я проверил телефон и заметил, что на экране значится — «Абонент не определён». Я решил проигнорировать звонок.

После службы, когда мы с моей семьёй шли к машине, я просмотрел сообщения на телефоне. Там было одно от Стива Джобса. Оно гласило: «Вик, перезвони, пожалуйста, мне на домашний. Я хотел бы обсудить кое что важное.»
Читать дальше →
Total votes 113: ↑77 and ↓36+41
Comments61

О понимании компьютерами текста

Reading time5 min
Views6.3K
Одна девушка-переводчица, задумчиво глядя в потолок, спросила меня: «А смогут когда-нибудь компьютеры понимать текст так же, как человек?» Тогда я не смог ответить на этот вопрос, но сейчас, обладая некоторыми знаниями в области семиотики текста, я уверен, что так же как человек компьютеры не смогут понимать текст никогда.

В этой статье я рассмотрю несколько примеров сложностей, которые для человека вовсе и не являются таковыми, но для компьютера практически неразрешимы.

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

Читать дальше →
Total votes 84: ↑66 and ↓18+48
Comments145

Codecademy. Учимся программировать

Reading time1 min
Views12K
Изображение - savepic.ru — сервис хранения изображений

Codecademy, который запустился буквально день назад будет интересен в первую очередь начинающим программистам JavaScript. Ресурс претендует быть прекрасным дополнением к туториалам, манам и другим материалам. Под катом небольшой обзор сервиса.
Читать дальше →
Total votes 80: ↑72 and ↓8+64
Comments52

Стэнфорд организует бесплатный онлайн-курс по ИИ

Reading time1 min
Views7.6K
Стэнфордский университет организует бесплатный онлайн-курс CS221 по искусственному интеллекту осенью этого года. Курс будет проходить с 2 октября по 16 декабря.

CS221 является вводным курсом в основы искусственного интеллекта. В нём описываются основные элементы искусственного интеллекта, такие как представление знаний, вывод, машинное обучение, планирование и игры, поиск информации, машинное зрение и робототехника.

В десятинедельный курс входит примерно двадцать лекций, около восьми домашних заданий, один промежуточный и один итоговый экзамен.
Читать дальше →
Total votes 80: ↑76 and ↓4+72
Comments25

Программируемый калькулятор на iOS

Reading time1 min
Views10K


Думаю, у многих увлечения программированием началось с МК. И ещё не забыты времена, когда хабралюди программировали на своих МК по статьям из журнала «Науки и жизнь». А сколько времени было потрачено на игры на этих самых калькуляторах (да, у меня было тяжелое детство).

Вспомнить молодость можно скачав для своего айфона, айпада PrgCalc (бесплатно).
Авторы уверяют нас, что на нём работают практически все программы, расчеты и игры. Дизайн тоже аутентичный.

К черту игры для аппстора, когда можно играть в игры (даже сайт на народе и оформление, как раньше), как в старые добрые времена на мк-61, 52.
Total votes 58: ↑48 and ↓10+38
Comments48

CountDown — Обратный отсчет на HTML5

Reading time1 min
Views5.7K
Те, кто был участником конференции Google I/O 2011, наверняка, обратили внимание на заставку на экране, где показывалась занятная сцена обратного отсчета. Я наблюдал за трасляцией конференции в московском офисе Гугла, но забыл спросить у устроителей, где можно скачать эту демонстрацию. Впрочем, я не уверен, что получил бы ответ. И совсем недавно неожиданно наткнулся на страницу Chrome Experiments, где и было краткое описание заставки.
К сожалению, скриншоты не дадут полного впечатления от красоты демонстрации, поэтому предлагаю посмотреть ее в действии по адресу http://www.weareinstrument.com/countdown/.
Вы увидите укороченный вариант обратного отсчета на 20 секунд. В реальности, я приехал в офис минут на 40 раньше до трансляции, и эта заставка уже крутилась на экране. И она совершенно не надоела — меня мучал вопрос, чем закончится сценка, когда часы достигнут отметки 00:00:00.
На мой взгляд такую демонстрацию вполне можно использовать как экранную заставку на компьютерах. А вам нравится?
Total votes 64: ↑51 and ↓13+38
Comments28

Google Maps (Android): Загрузка куска карты для использования в offline

Reading time1 min
Views79K
В новой версии Google Maps 5.7 для Android появилось несколько интересных фичей, но про одну из них, которая пока еще в labs, забыли упомянуть: это возможность загрузить кусок карты для того, чтоб использовать его когда не будет подключения к интернету.

image
Читать дальше →
Total votes 72: ↑70 and ↓2+68
Comments71

Экспорт контактов из Facebook в Google+

Reading time1 min
Views5.5K
Через пару дней после анонса Google+ уже появилось первое расширение для Chrome, которое автоматизирует экспорт контактов из Facebook в Google+. За четыре дня расширение Facebook Friend Exporter установили более 17 тыс. человек.

Исходный код fb-exporter на github.

С появлением Google+ снова возобновляется война за социальный граф, которую давно ведут Google и Facebook. Как известно, Facebook не даёт возможности экспортировать список своих друзей c почтовыми адресами и запрещает автоматический сбор этих данных (пункт 3.2 ToS). Предыдущее расширение для Chrome с аналогичным функционалом было заблокировано на Facebook, а потом удалено и с сайта Google Code, и с github. Посмотрим, что предпримет Facebook на этот раз (UPD: 05.07 приложение заблокировано).

В то же время Google демонстративно подчёркивает возможность экспорта контактов (Google Takeout) и постоянно выступает за «свободу информации».
Total votes 37: ↑30 and ↓7+23
Comments19

Курс по подготовке идиотов (цитаты из книги «Искусство оформления сайта»)

Reading time2 min
Views8.8K
Я не знаю, видел ли кто-то из вас эту книгу, но это же жесть полнейшая.

image

— «Хвостик» после имени файла, отделяемый точкой, носит название расширения. Веб-дизайн, будучи синтетическим видом искусства, совмещает в себе:
> фотографии, которые существуют в виде файлов с расширением *.jpg (*.jpeg) или, значительно реже, *.gif (другие форматы графических файлов в Сети не применяются);

— Иногда полезно включить тэг [meta name=«generator» content="…"], чтобы показать, в какой программе сверстана страничка, поскольку это нередко помогает броузеру прочитать ту ахинею, которую накрутил визуальный редактор.

Читать дальше →
Total votes 307: ↑277 and ↓30+247
Comments333

Как разработать свой бренд?

Reading time5 min
Views9K
В интернете и книгах по маркетингу (и брендингу) приводится масса различных схем построения бренда: «колесо», «пирамида» и т.д. При желании можно найти подробное описание каждой из них (с реальными и, как правило, одними и теми же кейсами), вот только последовательность работы по созданию собственного бренда толком не описывается.
Еще один важный момент, что модели у различных авторов (Аакер, Линдстром и т.д.) часто учитывают различные аспекты взаимодействия бренда и потребителя. И при этом все они по-своему интересны, так что выбирать какую-то одну модель – значит отказываться от плюсов другой.
Мы работали со многими из этих схем бренда и в результате пришли к определенной последовательности действий, с помощью которой, не вдаваясь в дебри, можно разработать свой собственный бренд, сочетающий в себе лучшие особенности каждой из схем. Это «синтетическая» модель, где мы постарались учесть максимум важной информации и отсечь все, без чего можно обойтись.
Читать дальше →
Total votes 10: ↑6 and ↓4+2
Comments6

Userscript чтобы убрать красные сообщения от Google+

Reading time1 min
Views1.7K
Google+ может напрягать своими сообщениями. Я сразу же убрал все сообщения по электронной почте в настройках. Красные сообщения в черной полоске вверху напрягают чуть меньше, но они проходят красной ниткой через все остальные продукты компании добра.

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

http://userscripts.org/scripts/show/105894

Исходный код совсем простой. По сути, это одна строчка:

try {document.getElementById("gbg1").style.display = 'none';} catch(e) { }

Вы можете установить его в Chrome просто нажав зеленую кнопку «Install». Если вы не доверяте содержимому скрипта — скачайте его (например, на рабочий стол), нажав «Сохранить как» на этой кнопке. Посмотрите код внимательно, может быть, подправьте (возможно, вам хочется видеть сообщения в Reader). Откройте новую вкладку в Chrome и перетащите файл мышкой туда, согласитесь с установкой.
Total votes 31: ↑17 and ↓14+3
Comments9

Офис мечты для небольшой команды разработчиков социальных игр

Reading time4 min
Views5.9K
Я решил собрать небольшую команду людей, которые любят разрабатывать социальные приложения, чтобы вместе покорить галактику. И встал вопрос: как обеспечить участников команды такими условиями для работы, чтобы работать было приятно и удобно?

Поскольку до того как мы начнём захватывать космические фрегаты и маленькие колониальные планеты, бюджеты будут не очень большими, приходится думать над тем, как сделать так, чтобы стартового капитала хватило на большее время, но при этом не в ущерб участника команды. Поэтому вариант просто снять шикарный офис в каком-нибудь мега-крутом бизнес-центре класса A+100500 — не является рациональным в данной ситуации. Но коробочки в зданиях класса C, D (разнообразные бывшие НИИ и т. п. с советским уровнем сервиса) тоже не подходят — нельзя заставлять людей работать в таких условиях.

И встал вопрос: а нужен ли офис вообще?

Читать дальше →
Total votes 42: ↑34 and ↓8+26
Comments69

Переход с Windows Mobile на Android. Список приложений

Reading time9 min
Views32K
Практический опыт перехода от WM-коммуникатора к Android.
Очередной список Android-приложений со ссылками и кратким описанием.
Все нижеописанное — субъективное мнение автора и не претендует на истину в последней инстанции


Преамбула: после трех лет сосуществования с коммуникатором на базе Windows Mobile наступил момент, когда WM начало казаться мне жутким, неповоротливым и кривым чудовищем. Коммуникатор использовался очень плотно: звонки и SMS, разумеется, но это не главное; в основном – чтение книг, ежедневная навигация в московских пробках, web-серфинг, почта, хранение контактов, планирование рабочего (и не только) времени с помощью Календаря (от Задач ушел), Заметки (в том числе и графические от руки), переписка IM, звонки VoIP, ssh. Причем, Контакты, Календарь и Заметки постоянно синхронизировались с MS Outlook на настольном компьютере (ББ) и ноутбуке через USB и Bluetooth. Необходимые данные были постоянно доступны и на коммуникаторе и на рабочем месте и на домашнем ноутбуке, и отказываться от этого при переходе на другую платформу я не хотел. Мой выбор пал на Android. Открытая современная платформа и все такое. Близко душе программиста.
Читать дальше →
Total votes 116: ↑85 and ↓31+54
Comments138

Второе дыхание бюджетного Android-смартфона

Reading time4 min
Views62K
Android smartphoneОбладатели неновых смартфонов со скромным объемом оперативной памяти (160 в моем случае) очень скоро начинают ощущать тормоза при работе. Поставил буквально несколько программ, а переключение между ними уже сопровождается ощутимыми задержками, и вызов Quick Settings становится уже совсем не «quick».

После ребута всё летает, а уже после 15 минут работы, вроде набор активных программ тот же, а ощущение такое, будто железка умирает:
— замедленная реакция на команды;
— не плавный скроллинг;
— долгий запуск даже маленьких приложений;
— длинная пауза после подключение к интернету до его появления;
— а в самые нагруженные моменты, когда нужна наибольшая продуктивность и быстрое переключение между задачами, смартфон просто перестает реагировать на Вас, уходит в себя и делает вид, будто он очень серьезно думает о чём-то своём, личном.

Под катом небольшой личный опыт, как с помощью прав рута и двух небольших программ можно вдохнуть в свой смартфон новую жизнь.
Читать дальше →
Total votes 88: ↑86 and ↓2+84
Comments89
1
23 ...

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity