Пробки и теория игр

14.05.2012

В связи с успешным окончанием курса по теории игр хочу рассказать еще об одной простой модели, хорошо иллюстрирующей наш мир. В оригинале она называется «Tradegy of commons», что можно перевести как «Трагедия общин», хотя я бы перевел как «Трагедия (драма) общежития», ибо общинами сейчас уже почти не живут, а вот в общежитиях – запросто.

Итак, рассмотрим типичную ситуацию: две дороги сливаются в одну. Пропускная способность слияния падает по мере увеличения интенсивности вливающихся потоков машин. В предельном случае, когда машин очень много, все встают, образовывается мертвая пробка. Пусть из каждого рукава идет поток в q_i машин в час. Допустим также, что пропускная способность падает линейно и равна S = 300-\sum\limits_{i=1}^n q_i (конкретные значения констант сейчас не важны, важна сама идея). В нашем случае n=2. Тогда из каждого потока за час проедет q_iS = q_i(300-q_i-q_{-i}), где q_{-i} – другой поток. Каждый поток будет стараться максимизировать свое количество проехавших машин. Приравняем производную по q_i к нулю, чтобы найти максимум:

300-2q_i-q_{-i}=0

Отсюда

q_i=150-q_{-i}/2

Так как ситуация симметрична для обоих потоков, то каждый из них будет действовать одинаково, и в равновесии их интенсивности сравняются. Обозначим равновесную интенсивность через q_{eq}:

q_{eq}=150-q_{eq}/2

Откуда

q_{eq}=100

То есть в равновесии, к которому будут стремиться участники движения, из каждого потока будет въезжать по 100 машин в час. Посмотрим, сколько из них проедет слияние:

q_{eq}S = 100(300-100-100)=10000

Не нужно удивляться, что проедет больше чем въехало. Число 10000 означается лишь, что въехавшие 100 машин проедут слияние быстрее, чем за час, а конкретнее за 100/10000=1/100 часа. Теперь попробуем максимизировать не количество проехавших машин в каждом рукаве, а общее число машин, проехавших через слияние. Обозначим общий въезжающий поток через q_{total} = q_1+q_2, тогда число машин, проехавших через слияние будет

q_{total}S = q_{total}(300-q_{total})

Возьмем производную по q_{total} и приравняем к нулю для поиска максимума:

300-2q_{total} = 0

Отсюда q_{total}=150. Опять-таки в силу симметричности ситуации для все участников

q_{total} = q_1 + q_2 = 2q_{op}, где q_{op} – оптимальный поток из каждого рукава.

Значит, q_{op} = 150/2=75. Видим, что в этом случае интенсивность каждого потока меньше. Посмотрим, как изменилось количество проехавших через слияние машин для каждого потока:

q_{op}S=75(300-75-75)=11250

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

,

Полезный сайт о строительстве

03.05.2012

Очень хороший на мой взгляд сайт об индивидуальном строительстве: svoidom.su. Пишет толковый дядя, основываясь на немецком опыте. Дядя, походу, программист, его системный подход подкупает.

, ,

Революция и теория игр

20.04.2012

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

Пусть у нас есть два игрока, условно, Навальный и Путин. У игрока Навальный есть две стратегии: штурм Кремля или ничего не делание. У Путина в ответ на действия Навального также есть две стратегии: подавление штурма или капитуляция. Если Навальный штурмует и Путин капитулирует, Навальный выигрывает, Путин проигрывает. Если Навальный штурмует, и Путин подавляет штурм, Навальный проигрывает. Но выигрывает ли в этом случае Путин? Тут нужно сделать одно допущение, чтобы наша моделька заработала. Допустим, при подавлении Путин проигрывает больше, чем при капитуляции: кровавая бойня, шок у западных партнеров, волнения в стране и так далее. Всего этого можно избежать, если в случае активных действий оппозиционеров попытаться договориться, «заболтать», как он умеет, и так далее.

Итак, мы только что описали нашу игру в нормальной форме. Запишем ее в виде таблицы.

             Путин
          Подавление Переговоры
Навальный
Штурм       -1, -2     1, -1
Нет          0,  0     0,  0

Игрок номер 1 – Навальный, номер 2 – Путин. В клетках таблицы указаны выигрыши игроков. И вот что получается. Состояние (Нет, Подавление) является устойчивым (равновесие Нэша), так как ни одному из игроков не выгодно из него выходить. Если Навальный пойдет на штурм (передвинется вверх по таблице), то его выигрыш изменится с 0 до -1, то есть уменьшится. Если Путин пойдет на переговоры (сместится вправо), то его выигрыш останется равным нулю, то есть он индифферентен в данном случае. Поэтому обоим игрокам выгодно находится именно в этой позиции, то есть играть с такими стратегиями. Именно поэтому Навальный не идет на штурм. Однако, конкретно в этой игре есть еще одно состояние равновесия! Посмотрим на клетку (Штурм, Переговоры). Навальному нет смысла ее покидить, так как его выигрыш уменьшится с 1 до 0. И Путину также не выгодно менять стратегию, иначе его выигрыш уменьшится с -1 до -2. То есть это еще одно равновесие, еще один вероятный сценарий развития событий. Проблема в том, что если ты уже находишься в равновесии (Нет, Подавление), то выйти из него крайне сложно, так как это ведет к уменьшению выигрыша.

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

,

Рацпредложение по кувшинным фильтрам

14.02.2012

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

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

Шапито-шоу

08.02.2012

Вчера досмотрели с Марусей «Шапито-шоу» Сергея Лобана, того самого, который снял фантасмагорию «Пыль». Досмотрели, потому что картина состоит из четырех связанных между собой новелл, сгруппированных в два фильма: «Любовь и дружба» и «Уважение и сотрудничество». Смотреть лучше оба фильма и именно в таком порядке. Если есть силы, и кинотеатр позволяет, можно смотреть подряд. Мы смотрели с перерывом в пару дней.

Фильм отличный. Не смотря на то, что заявляется он как комедия (и смеются в зале часто), он совсем не смешной. Фильм о сложностях во взаимоотношениях между людьми, как разные люди эти сложности пытаются преодолеть, не всегда успешно впрочем. Кино просто переполнено отсылками к различным объектам современного искусства. К сожалению, мой кругозор и эрудиция не позволяют их разгадать. Я только узнал явную «Скрипку и немножко нервно» Маяковского.

Кстати, с первых кадров чувствуется влияние «Пыли». Во-первых, один из героев — Леша, толстый очкарик. А во-вторых, концепция магического места; в «Пыли» это была больница, здесь – шатер «Шапито-шоу».

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

В общем, от души рекомендую, посмотрите, не пожалеете.

О важности правильной подачи информации

05.02.2012

Кто-то написал во дворе на свежем снегу слово «ЗЛО», причем буква З была несколько необычной.

Я тут же взял и дописал «ЗЛО вечно».

А оказалось, это было написано слово «LOVE», только вверх ногами и с плохо прорисованной буквой L.

Кумулятивный апдейт

03.02.2012

Привет!

Сегодня будет просто пост про жизнь. Про мою, естественно. Как там у меня дела и все такое.

Как я уже упоминал, я со всем семейством перебрался в Питер. Кому не скажешь, все делают огромные глаза: «Зачем из Москвы уезжать в Питер?!» Во-первых, я в Москве никогда не жил, только работал. А жил в подмосковьях и каждый божий день как проклятый тащился в электричке или по пробке на работу. Это неправильно. Живешь в Подмосковье – работай в Подмосковье (водителем маршрутки, например), в выходные иди в подмосковный лес, а не толкайся пол дня в Ашане где-нибудь на Рязанке. Работаешь в Москве – живи в Москве, да поближе к работе. Нет денег на нормальную квартиру в Москве? Снимай. Нет денег даже на съем хорошей квартиры в хорошем месте? Поищи себе город подешевле.

Вот я и поискал. Квартиры в Питере (не в центре, но и не у КАД) стоят столько же, сколько в подмосковье. Даже лучше: за цену панельной подмосковной двушки можно купить просторную двушку в новом кирпично-монолитном доме. Но только это Питер, большой город, вторая столица, с метро, с городской инфраструктурой, а то – московский аппендикс.

Есть и другие, второстепенные факторы. Например, Карелия рядом, Финляндия, рыбачить можно.

Ну вот, пока сняли отличную двушку в самом центре на Троицкой площади и подыскиваем новое постоянное жилье. До работы 10 минут на машине, без пробок (точнее пробка есть, но я всегда еду ей навстречу, так вот удачно вышло).

Кстати о работе. Работаю в питерском офисе Яндекса в отделе поиска, занимаюсь его модернизацией и улучшением. По долгу службы пришлось изучить C++. Забавный язык, гремучая смесь высокоуровневых конструкций с низкоуровневыми операциями с памятью и объектами. С одной стороны, есть много удобных штук, которые давно надо было перенести в обычный C, все равно все эти штуки так или иначе реализованы в любой сложной программе на чистом C. С другой стороны, очень много способов прострелить себе обе ноги, так что нужно быть осторожным.

Вообще, работа нравится. Хороший офис, еда, можно практиковаться в настольном теннисе и бильярде. Интересные задачи, бывает, даже дома продолжаю хачить, благо офисная IT инфраструктура отлично настроена для удаленной работы. Выдали новенький Макбук, так что я теперь маковод, хе-хе. Классный кстати лаптоп, очень толково и удобно сделан, как по софту, так и по железу. На нем реально приятно работать в любой обстановке. Атмосфера разработки чем-то напоминает OpenBSD (возможно, сказываются FreeBSD’шные корни яндексового поиска): можно хачить чужой код, есть куча мест, где можно что-то улучшить по собственной инициативе, доброжелательный peer review.

Еще у меня недавно был день рождения. Друзья-коллеги с предыдущей работы из Москвы скинулись и заказали мне прямо в Питере с доставкой прекрасную электроакустическую гитару Ibanez:

У меня никогда раньше не было такой хорошей гитары, все время играл на каких-то дровах. Она составит отличную пару моему пианино.

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

Пользуясь случаем, приглашаем всех к нам в гости в Питер. Есть несколько спальных мест для ночевки, рядом с нашим домом неплохой английский паб с Гиннессом и пианино, на котором разрешают поиграть. Ловите момент, пока мы живем в центре, а то уедем потом куда-нибудь в Озерки :)

Радио/ Вышел шестой Eagle

24.01.2012

Говорят, очень круто.

Радио/ Изящное решение проблемы подключения SD карты к макетке

17.01.2012

Я когда игрался с SD картой, не смог додуматься до такого простого решения:

Via SparkFun.

ЭВМ/ IPv6 для Linode в Лондоне

21.12.2011

С пол года назад Linode объявила о настоящей поддержке IPv6 для своих виртуальных машин. До этого энтузиасты вроде меня использовали различные туннели. Однако, для большинства пользователей из России эта новость оказалась чуть менее чем полностью бесполезной, так как IPv6 заработал только для американских дата-центров, а наши люди в основном размещают свои машины в Лондоне, чтобы время отклика было поменьше.

И вот на днях IPv6 появился и для лондонских машин! Чтобы его включить, достаточно во вкладке «Remote Access» нажать на «Enable IPv6», после чего перезагрузить машину. Понятно, что, строго говоря, перезагрузка не является технически необходимой, но, видимо, ребятам из Linode так проще, простим им это. «Непорядок» уже работает на новом IPv6 адресе.

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

,

MakerBot

20.12.2011

Вот такую штуку сейчас можно купить за чуть более чем $1000:

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

Выпуском занимается небольшой стартап MakerBot Industries. Им удалось привлечь $10 млн. венчурных инвестиций для своего проекта, что, как мне кажется, всяко лучше, чем создавать еще одну социальную сеть.

Производство еще не работает в полную силу, после заказа принтер придется ждать 4-5 недель. Приходит он в виде конструктора для отверточной сборки, что также добавляет удовольствия. Насчет доставки в Россию не знаю, возможно, придется воспользоваться посредником.

Как и в любой другой уважающей себя индустрии 2.0™, существует сайт для общения и обмена моделями – thingverse.com («вещеленная»). Встречаются порой очень забавные модельки, например – елочная игрушка «гуглохипстер»:

,

Цейтнот

09.12.2011

В связи со переездом, новой работой, поиском жилья совсем нет времени писать что-то интересное на технические темы. Да еще в стране такая движуха. В общем, надеюсь на следующей неделе вернуться в обычный режим. А пока можете почитать меня на Г+.

Моя тудушница – GQueues

22.11.2011

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

Требований у меня было не много: простота, удобство и поддержка методологии GTD (коя органично обобщила мой личный опыт в организации дел). Кандидатов было трое: Remember The Milk (RTM), GQueues и Google Tasks. Начну с последнего.

Google Tasks хороши тем, что я уже пользуюсь сервисами Гугла, так что не нужно умножать сущности; естественно интегрированы с почтой и календарем. Но они слишком аскетичны и поддерживают только древовидную структуру. А для методологии GTD обязательно нужны метки, чтобы объединять дела из разных иерархий в линейные списки. Поэтому, как ни печально, Google Tasks отпадают, на смотря на наличие полноэкранного интерфейса. Впрочем, если Гугл все же вспомнит об этом проекте и таки добавит метки, можно будет к ним вернуться.

Следующий кандидат – лидер индустрии Remember The Milk. Там есть все: и списки, и метки, и напоминалки, и GTD из коробки, и бесплатные приложения для смартфонов и даже какие-то платные супер-функции. Но мне RTM сразу и бесповоротно не понравился своим дизайном, он просто ужасен на мой взгляд. Я не смог себя заставить даже попробовать с ним поработать. Кроме того, если мне не изменяет память, там как-то криво реализована синхронизация с Гугловым календарем.

И, наконец, GQueues. Как заметил кто-то в интернетах, это именно то, чем должны были быть Google Tasks. Этот сервис мне понравился с первого взгляда: современный дизайн, удобный интерфейс, интеграция со всеми службами Google, включая Apps. Сам GQueues работает на App Engine и распространяется через егойный Marketplace. Есть ненулевая вероятность, что в конце концов Гугл его купит и встроит в свои сервисы.

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

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

Но есть и один большой минус. Важнейшая часть функционала, в частности интеграция с гугловым календарем (которая в свою очередь дает помимо всего прочего бесплатные напоминания по SMS) – платная, $25 в год. При регистрации доступны все функции в течение двух недель для ознакомления (раньше было три недели), после чего нужно либо заплатить, либо платные функции отключаются. За этот срок я так подсел на GQueues, что, скрипя зубами, заплатил. Это уже не первый раз, когда я плачу за софт, причем именно за SaaS, и, думаю, это нормально. Хорошие вещи стоят денег.

, ,

Музыка/ Язь (Piano Cover)

14.11.2011

Давненько мы ничего не играли. Но сначала введение для тех, кто не следит за бугагашечками на ютубе.

Видео номер раз:

Видео номер два:

И, наконец, собственно мой кавер:

, ,

ЭВМ/ Новости IPv6 от HE

13.11.2011

Hurricane Electric сообщает, что среди 39570 сетей в мире, использующих BGP, IPv6 сейчас используют 4830 или 12,2%. Год назад было 7,4%, пол года назад – 9,5%. Глобальная таблица маршрутизации IPv6 перешагнула рубеж в 7000 префиксов. Подробный отчет.

,