среда, 24 июля 2013 г.

Formal Grammar for CRUD operations

Call        -> Function ArgList
Function -> "insert" | "lookup" | "delete"
ArgList   -> "[" "]" | "[" Terms "]"
Terms     -> Term | Term "," Terms

(c) - Martin Logan, Eric Merritt, and Richard Carlsson "Erlang and OTP in action".

суббота, 3 декабря 2011 г.

Математическое обоснование парадокса Монти-Холла

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

Для простоты доказательства будем считать, что игрок вначале выбрал первую коробку, а ведущий открыл вторую. В любом случае, мы всегда можем прийти к этой ситуации, перенумеровав коробки.
Итак, пусть Bi (box i) - приз в коробке под номером i.
P(B1) = P(B2) = P(B3) = 1/3.
Назовем событие, когда ведущий открывает пустой ящик - O (open)
{B1, B2, B3} - полное распределение несовместных событий, значит мы можем применить формулу полной вероятности и теорему Байеса.

P(O) = P(O|B1) * P(B1) + P(O|B2) + P(O|B3)

O|B1 - это обозначение случая, когда ведущий открыл вторую коробку, а приз - в первой. Раз приз в первой коробке (другими словами - в той, которую выбрал игрок), ведущий может выбирать, какую коробку ему открыть. Он может одинаково легко открыть как вторую, так и третью, то-есть вероятность этого события равна 50%.
Так и запишем:

P(O|B1) = 1/2.

O|B2 - случай, когда приз во второй коробке, иными словами - в той которой лежит приз. Это против правил и сломало бы всю игру, значит

P(O|B2) = 0.

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

P(O|B3) = 1.

Подставим значения в формулу:

P(O) = 1/2 * 1/3 + 0 * 1/3 + 1 * 1/3 = 1/2.

По теореме Байеса

P(B1|O) = P(O|H1) * P(H1) / P(O) = (1/2 * 1/3) / (1/2) = 1/3.

P(B2|O) = 0 - это очевидно,

P(B1|O) + P(B2|O) + P(B3|O) = 1 (так как распределение B полное и несовместное),

значит P(B3|O) = 1 - P(B1|O) = 2/3.

Что и требовалось доказать :)

четверг, 10 декабря 2009 г.

Реклама бесперебойника

За соседними столами в офисе сидят молодые симпатичные парень и девушка. Парень набирает что-то на клавиатуре.
Девушка с хитрой улыбкой глядит на парня.
В кадре изящная женская ножка под столом тянется носком к сетевому фильтру, и нажимает на выключатель.
Парень, как ни в чём не бывало, продолжает работать и тоже хитро улыбается.
Голос за кадром: "А вы уверены в надёжности своего UPS?"

среда, 9 декабря 2009 г.

Знаки на стенах

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

суббота, 3 октября 2009 г.

Сказки

Возможно, чо сказка про курочку Рябу и про Репку - из одного цикла. Мышка там решает всё :)

пятница, 2 октября 2009 г.

Умножение и другие операции

Я читал про одну девочку, у которой были проблемы с умножением. Она очень медленно умножала. Когда родители выяснили, в чём причина, оказалось, что умножать она не умела, а просто очень быстро складывала в уме.

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

Таким образом, возможно, в мозге нет области, в которую прошита операция умножения как элементарная.

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

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

Это как будто в паззле не хватает несколько деталей, а вы вырезаете их из бумаги. Если вы не видите дырку от детали, вы вырезаете наугад. Потом вы сравниваете результат, и если он не подходит, то вырезаете новый. Если фрагмент подошёл, то вы дорисовываете на нём картину. Проходит неделя. Вы решаете собрать тот же паззл, и история повторяется. Если же у вас есть все части головоломки, или вы сохранили добавленный кусочек, то всё происходит гораздо быстрей.

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

Другим важным элементом является, возможно, какой-то вычислительный блок. Вычислительная мощность которого всегда ограничена.

Тогда поэтому, кстати, важно получать качественную и хорошо структурированную информацию, чтобы эта карта не разрасталась без нужды и на ней было меньше размазанных объектов. И поэтому важно зубрить, чтобы чёткость была выше. И чтобы вычислительный блок с конечной скоростью быстрее находил в ней нужное.

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

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

Вы спросите, а что же является первоначальным базисом всех карт? Наверное, инстинкты.

среда, 15 июля 2009 г.

Часто лицемеры постно осуждают кого-то за аморальное поведение и строят из себя святош. Некоторые поступают так, потому что так делают в их окружении. Некоторые обличают самих себя. Кто-то стремится казаться лучше, чем очередная шлюха/подлец/идиот, за счёт жертвы их злого языка. А сегодня мне пришло в голову, что люди могут делать это ОТ ГОРЬКОЙ БЕСПОМОЩНОЙ ЗАВИСТИ К той СВОБОДЕ действия и мысли, КОТОРАЯ ЕСТЬ У ЭТОЙ ШЛЮХИ (особенно мне обидно за шлюх, которыми в устах этих людей становится любая красивая девушка) - роскоши, которую они никогда не посмеют себе позволить.