Category: it

Category was added automatically. Read all entries about "it".

cartoon

AlphaZero, шахматы и искусственный интеллект

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

Если кратко, я считаю, что создание AlphaZero - это большой прорыв для исследований в области искусственного интеллекта (с некоторыми оговорками, которые я изложу ниже), но с точки зрения шахмат ничего особенного не произошло, по крайней мере, пока.

Теперь по пунктам.

1. Одна шахматная программа победила другую шахматную программу, но это происходит постоянно. Отрыв AlphaZero от Стокфиша, на самом деле, не так велик и вряд ли значительно увеличится от дальнейшего обучения нейронной сети. Посмотрите на график в статье - на промежутке от 300,000 до 700,000 шагов разрыв в рейтинге Эло практически не изменился. Любопытно, что в сёги отрыв более значителен. Вероятно, в развитие шахматных программ исторически вкладывались больше.
2. Я готов поверить, что AlphaZero действительно лучше понимает шахматы, чем собственно шахматисты или программы предыдущего поколения. Однако, с точки зрения людей она остается "черным ящиком" или "оракулом". В каждой конкретной позиции AlphaZero может подсказать правильный ход, но не сможет объяснить нам, почему он правильный.
3. Сейчас очень популярна реакция "смотрите, рушатся основы мироздания!". С моей точки зрения, картина ровно обратная - новые данные только подтверждают уже известные нам истины. Ферзевый гамбит и даже защита Грюнфельда оказались действительно неплохими дебютами. Берлин остался неприступной крепостью. Так что многие поколения шахматистов трудились не зря. Вот если бы оказалось, что лучший ход за белых - это 1.e3 или какой-то другой из не самых популярных дебютов - тогда действительно было бы чему удивляться.

Кроме того, есть несколько факторов, которые заставляют меня отнестись к этим результатам с некоторой долей скептицизма:

1. Широкому кругу шахматистов - да что там говорить, почти никому в мире! - AlphaZero недоступна. Мы не можем независимо подтвердить результаты команды DeepMind или провести эксперименты с другими начальными условиями. Например, я не уверен, что партии с контролем "минута на ход" дают объективное отражение реальной силы Стокфиша.
2. Нам показали только 10 партий из всего матча, которые представляют AlphaZero в лучшем свете. Интересно, конечно, но 10 качественных партий я могу набрать даже из собственных партий (по переписке, конечно :) В то же время, в статье приведены результаты "тренировочных" партий и они дают менее радужную картину для AlphaZero. Там были и поражения, а главное, дебютные сводки дают основания предположить, что AlphaZero все-таки еще далеко до "шахматного бога". Посмотрите на его результаты в сицилианской защите, особенно в моем любимом Паульсене.
3. Есть вероятность, что это останется своего рода publicity stunt. Совсем недавно я закончил читать любопытнейшую книгу Гарри Каспарова "Deep Thinking", в которой основное внимание уделено исторической победе искусственного интеллекта над человеком. Так вот, одним из главных сожалений Каспарова является не само поражение, не упущенные возможности и даже не безумный блеф 7...h6?? в решающей партии (кстати, даже после прочтения книги трудно понять, что все-таки подвигло Гарри Кимовича так сыграть, но это отдельная история). Главной претензией было то, что после этой победы Deep Blue так больше и не сыграл ни одной партии в шахматы. Со временем появились другие шахматные программы, которые повторили и даже превзошли ее силу игры, но для IBM (как сегодня для Google) негативные PR-последствия от возможных поражений DeepBlue после победы над Каспаровым перевесили все другие соображения.

Я надеюсь, что с AlphaZero этого не произойдет и что он станет доступен как шахматистам, так и исследователям в области искусственного интеллекта. На самом деле, именно потенциальное влияние AlphaZero на развитие ИИ кажется мне наиболее интересной частью всей этой истории. Если результаты AlphaZero удатся повторить, воспроизвести и распространить на другие предметы (а судя по статье, авторы замахиваются именно на это - недаром они экспериментировали сразу с шахматами, сёги и го), тогда человечество научится находить близкие к идеальным решения для любых хорошо формализованных задач. Очень многое в жизни можно свести к теории игр (на эту тему см. прекрасную книгу "The Art of Strategy"), так что перспективы открываются захватывающие.

В заключение, хотел бы высказать одно наблюдение собственно о шахматных партиях этого матча. О них высказались уже многие шахматисты, от любителей до гроссмейстеров. Чаще всего обсуждается бодрый атакующий стиль победителя. В большинстве опубликованных партий AlphaZero что-то жертвует (например, в трех партиях встретилась одна и та же жертва d4-d5 в новоиндийской защите), причем чаще всего это классические жертвы материала за инициативу. Наибольшее впечатление производит партия, в которой AlphaZero жертвует пешку, потом коня, а дальше играет, как ни в чем не бывало... и побеждает!

Однако, мне показалось более любопытным, что сразу в нескольких партиях победу AlphaZero принесла последовательная игра на изоляцию или ограничение мобильности какой-то одной вражеской фигуры или даже целого фланга. Все, конечно, запомнили ферзя на h8 в партии №3, но посмотрите на несчастного слона b7 в партиях №7, №8 и №9, на коня b8 + ладью a8 в партиях №5 и №10...

На самом деле, большинство побед AlphaZero можно объяснить его лучшим пониманием только одного этого мотива!
cartoon

Дойчмарки как legacy system

Вот вы, небось, думаете, что дойчмарки уже несколько лет как вышли из употребления, с момента введения евро? Так вот ни фига - устаревшие системы живут и побеждают не только в программном обеспечении, но и в реальной жизни! Collapse )
cartoon

Три богатыря в Корее и Индии

Вот как выглядела на финале Imagine Cup расширенная (мною :-)) команда российского Microsoft. Традиционный кадр под названием "Три богатыря" (слева направо - Андрей Терехов, Александр Гаврилов и Дмитрий Сошников):

Три богатыря в Южной Корее

Для сравнения, под катом можно посмотреть, как это выглядело в Индии: Collapse )
cartoon

Software Engineering 2004 на русском языке

Чуть менее пяти лет назад, в мае 2002 года, я сдал в печать русский перевод документа "Computing Curricula 2001: Computer Science", подготовленный мной и Владимиром Павловым. Я тогда работал в ЛАНИТ-ТЕРКОМе, Владимир - в украинской аутсорсинговой компании eLine Software. Весь проект занял у нас полгода - английский документ был опубликован в декабре 2001 г., русская версия под названием "Рекомендации по преподаванию информатики в университетах" была опубликована в мае 2002-го.

Наш перевод быстро стал "очень известным в узких кругах". При тираже в 600 экземпляров на большее мы и не рассчитывали. И даже несмотря на то, что мы получили несколько язвительных комментариев по поводу качества нашего перевода, общий счет был безусловно в нашу пользу. Книжку читали, на нее ссылались, выложенную нами HTML-версию документа скопировали на свои сервера несколько других российских университетов, а нас с Владимиром несколько раз опознавали как авторов перевода незнакомые нам преподаватели.

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

Поэтому мы были уверены, что управимся еще быстрее, чем в прошлый раз. Помнится, Владимир агитировал меня перевести заодно и SWEBOK (Software Engineering Body Of Knowledge), как в старом анекдоте - чтобы два раза не вставать. К счастью, я от этой авантюры отказался, а в одиночку за нее не захотел браться даже такой неисправимый оптимист, как Владимир.

С тех пор прошло пять лет :) За это время я успел поработать в российском Microsoft'е и его восточноевропейской штаб-квартире, Владимир - в российском Intel'e, затем в российском Microsoft'е, а затем он создал свой собственный софтверный старт-ап в Киеве. По разным причинам мы как минимум дважды рестартовали этот проект. Как я сейчас понимаю, мы были отличной иллюстрацией к проблеме "второго проекта". Брукс мог бы нами гордиться. Мы все знали и умели, но времени и сил нам не хватало. Что было еще хуже, нам катастрофически не хватало мотивации. Один раз мы уже покорили эту высоту и заставить себя идти на нее второй раз было очень тяжело. Я прекрасно помнил все трудности, с которыми я столкнулся при доводке этого проекта, а убедить себя в том, что отдача будет хотя бы такой же, как в первый раз, никак не удавалось. С ужасом думаю о том, как ищут мотивацию для защиты титула чемпионы мира по шахматам или баскетболу :-О

К счастью, через три года после начала нашим проектом по переводу заинтересовался Терехов-старший. Полгода назад на конференции в МГУ он высказался в том духе, что наш с Владимиром главный вклад в проект - это то, что мы разрешили поучаствовать в нем кому-то еще. Это он, конечно, преувеличивает - все-таки кое-что мы сделали :-) но в главном он прав. Очень может быть, что без его участия мы с Владимиром так никогда и не смогли бы завершить этот проект.

В общем, хватит уже ходить вокруг да около. Две недели назад с помощью лома и какой-то матери мы все-таки сдали русский перевод Software Engineering 2004 в печать. Первая презентация перевода состоится на конференции "Преподавание ИТ в России". Издатель - Интернет-университет Интуит.ру обещал успеть к началу конференции.

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

Русский текст Computing Curricula 2001: Computer Science & Software Engineering (в формате PDF, 2Мб)

И пусть программную инженерию преподают сейчас всего в 2-3 российских университетах, и то "под чужими именами". Вдруг этот труд хоть кому-нибудь поможет?
iPAQ

Статья про преподавание программной инженерии

Совсем забыл рассказать - в восьмом номере "Открытых систем" за этот год опубликована статья, посвященная преподаванию программной инженерии и написанная в соавторстве с моим отцом, Тереховым-старшим.

Краткая история этой статьи такова - мы последние пару лет занимаемся в фоновом режиме переводом документа Computing Curricula 2001: Software Engineering на русский язык. Мы несколько раз обсуждали, что было бы неплохо проделать анализ соответствия российских вузовских стандартов этому документу, да все не находили на это времени. А затем Терехову-старшему предложили взять на вооружение новую учебную специальность, разработанную в МГУ. Он подумал, что это как раз удобный повод и проанализировал эту программу на предмет соответствия CC:SE. Оказалось, что все не так уж плохо и после небольших доработок можно декларировать практически полное соответствие программы подготовки бакалавра по этой программе (010400) требованиям Computing Curricula: Software Engineering.

В мае этого года мы сделали доклад на конференции "Преподавание информационных технологий в России", а летом доработали доклад и до состояния полноценной статьи.

В сентябре по этой специальности на мат-мехе СПбГУ уже начала учиться первая группа студентов. Надо будет не забыть через пару лет их спросить, что они думают об этой программе обучения...
cartoon

Переезд российского офиса Microsoft

Сегодня исполнилось ровно два года с момента начала моей работы в Microsoft Россия. Так получилось, что сегодняшний день также оказался последним днем нашей работы в офисе на Чапаевском переулке. Уже завтра начнется Великий Переезд Microsoft'а в новое здание, построенное в Крылатском, а ко вторнику мы все уже начнем распаковывать коробки на новом месте.

Как обычно бывает в таких случаях, мне немного грустно покидать здание, в котором я провел так много времени (интересно, если измерять в часах, то сколько тысяч получится?!). Я привык к нашему офису, в котором вечно не хватало переговорных комнат, к бесконечной стройке "Триумф-паласа" за окном и к молчаливой толпе таджиков-строителей, уезжающей по вечерам в свои общежития в Московской области в набитых до упора автобусах, к сталинской застройке в этом районе под романтическим названием "Сокол", к кинотеатру "Ленинград", в котором, правда, я побывал всего один раз за эти два года, к пивному ресторану "Шварцвальд", в котором я праздновал большинство своих рабочих и семейных праздников за эти два года, а эти гады так и не дали мне скидочную карточку, к фонтану на 2-й Песчаной улице, по периметру которого каждый вечер вырастает забор из пивных бутылок...

Прощай, Чапаевский!
cartoon

"...Technology Rock Stars..."

Оказывается, пресс-служба Microsoft сработала значительно быстрее, чем я - на корпоративном сайте уже выложен пресс-релиз, посвященный Imagine Cup 2005 и названный следующим образом: "Microsoft Awards Student Technology Rock Stars at Imagine Cup 2005".

Команда МФТИ/МГУ - добро пожаловать в рок-звезды! :-))

P.S. И еще мне понравилось в пресс-релизе - в одном абзаце цитата Коли Сурина, а непосредственно в следующем - Билла Гейтса. Неплохое соседство! :-))

Перенесено с моего старого блога на theSpoke
cartoon

Imagine Cup НАШ!!!!

Трепещите - мы везем домой в Россию Imagine Cup!!! Российская команда Team Inspiration заняла первое место в основной категории Imagine Cup 2005 - Software Design!

Вот как они выглядели на церемонии объявления победителей (слева - Моррис Сим, идейный вдохновитель всего соревнования, справа - Сома Сомасегар, Corporate Vice President of Microsoft, Developer Division):

Победители Imagine Cup 2005

После объявления победителей Imagine Cup 2005 нашей команды не давали передохнуть еще несколько часов - интервью, фотосессии, съемки для телевидения, а потом все сначала :-)) Напряжение начало спадать только ближе к вечеру и в какой-то момент я тоже примазался к успеху нашей команды (в центре - опять Моррис Сим, уже улыбающийся):

Мы, Imagine Cup, Моррис Сим и две японки

Перенесено с моего старого блога на theSpoke
cartoon

Борьба со смартфоном

"Сколько программистов нужно для замены перегоревшей лампочки? 
Нисколько - это аппаратная проблема, программисты их не решают"
(старый анекдот)



Вчера вечером у меня возникла странная проблема со смартфоном - я слушал музыку в наушниках на телефоне, потом вытащил наушники из разъема и с удивлением обнаружил, что профиль телефона не изменился из "Headset" в "Normal". Заодно перестал работать микрофон - когда мне звонили, я все слышал, а вот мои фразы до собеседников явно не доходили :-((

Телефон - одно из моих основных орудий производства, поэтому проблема срочно требовала разрешения. Для начала я проделал стандартные пассы руками:
  • попробовал поменять профиль вручную (не работает)

  • вставил/вынул наушники в телефон (никаких изменений)

  • включил/выключил телефон (опять никаких изменений)

  • снял/поставил обратно батарейку телефона (...ну, вы поняли)

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

Пришлось пойти более длинным и трудоемким путем - сегодня я нашел несколько форумов пользователей смартфонов Microsoft начал читать заголовки постингов, пытаясь найти что-то похожее. Если кому-то интересно - наиболее полезными оказались Mobile Gadget News (в частности, форум про мою модель телефона - SMT5600) и портал с благозвучным названием MoDaCo, выступающий под лозунгом "Windows, Mobilised!".

И вот он, счастливый момент - ключевая фраза нашлась! Топик "Smartphone stuck in Headset mode" привел меня к целой россыпи вариантов решения этой проблемы. То, что ни один из них не сработал, меня нисколько не расстроило - ведь теперь я знал, какие слова искать в Googl'e :-)) И действительно, в результате поиска по этим ключевым словам я нашел очень полезную статью "Stuck in Headset Profile", на еще одном интересном портале, www.CoolSmartPhone.com.

Подводя итог этому полуторачасовому упражнению в поиске информации в Интернете:

  • проблема все-таки оказалась аппаратной, так что никакие игрища с реестром, hard reset'ы и т.п. не имели никаких шансов помочь

  • суть проблемы - заедание крошечных пластиковых держателей у разъема наушников (они перестали возвращаться в свое нормальное положение)

  • решение проблемы - повозиться в этих разъемах зубочисткой, находящейся под углом 30-40 градусов от плоскости

  • отладка - выключить и включить телефон (иногда после этой процедуры телефон возвращается в Headset-режим - это значит, что надо продолжать упражнения с зубочисткой)

В конечном итоге, все заработало, так что начальный дебаггинг + поиск в Интернете + знания сообщества = победа!

Однако при дальнейшем использовании гарнитуры возможно повторное возникновение этой проблемы, поэтому нужно искать Bluetooth-гарнитуры, которые умели бы воспроизводить MP3. Вообще-то, стандартные гарнитуры не умеют этого делать, но может быть, найдется какой-нибудь грязный хак или workaround? Хм, интересно, что скажут найденные мною сайты по этому поводу?..

Перенесено с моего старого блога на theSpoke