cookie

نحن نستخدم ملفات تعريف الارتباط لتحسين تجربة التصفح الخاصة بك. بالنقر على "قبول الكل"، أنت توافق على استخدام ملفات تعريف الارتباط.

avatar

Авва

Чат на @avvablog_chat

إظهار المزيد
روسيا49 287الروسية54 565الطب2 232
Advertising posts
10 040المشتركون
-624 hour
-317 يوم
+65630 يوم

جاري تحميل البيانات...

معدل نمو المشترك

جاري تحميل البيانات...

(эта запись - не про математику, а про программирование. В конце ее я предлагаю соревнование: приз за лучшую программу) Недавно я несколько раз писал об игре Алисы и Боба с честной монетой: Алиса и Боб вместе бросают одну честную монету 100 раз. Каждый раз, когда во время бросков выпадают подряд два орла ОО, Алиса получает очко. Когда выпадает ОР, Боб получает очко. Побеждает тот, у кого больше очков после 100 бросков. Эта запись - не про математику, а про программирование. Чтобы проверить свои мысли об этой игре, я написал код, который проходит по *всем* возможным играм - но не 100 бросков, это было бы 2^100 игр, слишком много - а скажем 26. Для каждой возможной игры, т.е. вариантов бросков, надо посчитать, сколько очков у каждого и кто победил. В конце мы хотим знать, сколько из, скажем, 2^26 возможных игр - победы Боба, сколько победы Алисы, сколько ничьи. Мой первый вариант был на Питоне. Потом мне стало любопытно, насколько быстро это можно сделать, и я переписал его на C. В этой быстрой версии игра представлена с помощью числа - его биты это результаты бросков - и я проверяю, есть ли 11 (Алиса) или 10 (Боб) в первых двух битах, потом сдвигаю все число вправо на 1, проверяю опять, и так в цикле 25 раз (если длина игры 26). Эта программа перебрала все 2^26 игр за полторы секунды (Питон за много минут, не помню уже сколько). Тогда мне стало интересно, как еще можно это убыстрить, и сколько бросков я смогу перебрать без проблем на обычном десктопе. Программа прошла еще через две версии, и в конце концов я закончил на следующей (показываю только главную часть): #define TURNS 40 #define MAXN (1ULL << TURNS) unsigned long long i, ascore, bscore; for (i = 0; i < MAXN; ++i) { ascore = __builtin_popcount(i&(i>>1)); bscore = __builtin_popcount(i&((~i & (MAXN-1))>>1)); awins += (ascore > bscore); bwins += (ascore < bscore); } Для максимальной эффективности ее надо компилировать так: gcc -O3 -march=native, тогда компилятор использует инструкцию popcnt вместо функции __builtin_popcount. Наверняка для MSVC тоже можно найти правильные параметры и способ использовать эту инструкцию, я не проверял (я компилировал под 64-битным Windows, но gcc). Эта версия проходит через все 40-бросковые игры за 25 минут. Это примерно триллион вариантов, довольно круто по-моему. Предположим, я захотел бы таким образом узнать точное число побед Алисы и Боба на игре из 64 бросков. Используя эту программу на одном компьютере, я ждал бы ответа 38 лет. Но ясно, что эту программу тривиально легко разбить на параллельные вычисления. На моем десктопе 28 ядер на двух процессорах; если 25 из них занять этим вычислением, то машина справится уже за полгода, а тысяча машин - за 12 часов. Я не буду это делать. Во-первых, я уже не работаю в Гугле и у меня нет тривиально легкого и бесплатного доступа к 1000 машин. Во-вторых, на то мы и программисты, чтобы не все и всегда делать в лоб. Найти точное число побед Алисы и Боба в первоначальной версии игры, со 100 бросками, полным перебором - не сможет, думаю, вся наша цивилизация за год или десять лет. Но по-моему, должно быть не слишком тяжело сделать это умнее. Я предлагаю конкурс: написать программу, которая должна как можно быстрее вычислить и напечатать правильное число побед Алисы и Боба в игре из 100 бросков. Варианты можно предлагать в течение недели. Автор варианта, который делает это быстрее всех (и правильно), получает приз в $100. Для этого надо не только дать ответ, но и исходный код, и в случае если это нетривиально - пояснения, как его скомпилировать или запустить (под стандартным Windows или Линуксом), а также время, за которое программа выдает ответ у вас на компьютере. В случае близких по времени результатов я буду сравнивать их, запуская на своем десктопе (два процессора Intel Xeon @2.40GHz по 14 ядер в каждом, 32GB памяти, стандартная Windows 10, в случае надобности Линукса установлю на ней WSL2). Можно посылать больше одного варианта. Посылать можно в комментариях или почтой на avorobey в GMail. Вроде ничего не забыл, но если непонятно, можно задавать вопросы.
إظهار الكل...
Кто человек, инициалы которого встречаются в созданных человеческой культурой артефактах больше, чем чьи либо другие? Конечно, это Марк Збиковский (Mark Zbikowski). Любой EXE-файл в линейке операционных систем Майкрософта начинается с двух символов MZ - его инициалов. Марк был одним из первых программистов в Майкрософт. Мне напомнила об этом вопросе дискуссия вокруг выпущенного только что Майкрософтом исходного кода MS-DOS 4.0. Может, посмотрю на досуге несколько интересных файлов внутри этих исходников. Правда, я вот пытаюсь вспомнить, что это за четвертый DOS был, и не могу. Третий помню (3.3 точнее). Пятый помню. А между ними не очень.
إظهار الكل...
Будем вести счет игре, давая +1 за каждое очко Алисы и -1 за каждое очко Боба. Если в конце счет положительный/отрицательный, то победила Алиса/победил Боб. Мы начинаем со счета 0. Представим себе вначале, что мы играем игру неопределенно долго, тогда счет будет блуждать случайным образом, начиная с 0, потом переходя, например, в положительный район, покружив там, через 0 в отрицательный, и так далее. Чтобы быть точнее, поделим всю запись игры на "экскурсии" в + или -, каждая из которых начинается после броска О с нулевым счетом. Если после такого О идет О, мы идем в +1, и блуждаем там какое-то время, пока опять не окажемся в О со счетом 0. Если Р, то -1 и опять блуждаем до следующего О при нулевом счете. Если именно так определить "экскурсии", то оказывается, что средняя длина положительных и отрицательных экскурсий одинакова. Это можно доказать, выписав вероятности переходов и увидев симметрию, но есть более остроумный способ: если прочитать экскурсию от конца к началу, то положительная превращается в отрицательную и наоборот. Например: ОООРООРОРРРРО это положительная экскурсия, в течение которой счет был: 1, 2, 1, 2, 1, 0. А теперь перевернем ее, прочитаем от конца к началу: ΟРРРРОРООРООО, здесь счет идет: -1, -2, -1, -2, 1, 0. Таким образом, число положительных экскурсий любой данной длины строго равно числу отрицательных такой же длины. А это значит, что всю игру можно представить как череду экскурсий, каждая из которых случайным образом положительная или отрицательная, и вот после 100-го броска внезапно игру обрывают, и внутри какой экскурсии мы остановились, тот игрок и победил. Поскольку длина экскурсии не зависит от знака, очевидно, что шанс оказаться внутри положительной экскурсии после 100-го броска равен шансу оказаться внутри отрицательной. Но почему же тогда шансы Алисы и Боба победить не равны 50% у каждого? Потому что есть крохотная асимметрия в подсчете очков. Посмотрите на пример двух экскурсий выше. В отрицательной экскурсии ОРРРРОРООРООО мы все время, кроме начального и последнего О, имеем отрицательный счет, и если игра оборвется в середине этой экскурсии, победит Боб. А в ее положительном двойнике ОООРООРОРРРРО счет положительный до последнего блока РРРРО, в течение которого он уже 0, но мы еще не дошли до О с этим нулевым счетом. Если игра оборвется на этом блоке, будет ничья. Оказывается, эта крохотная разница и есть причина победы Боба. Последовательности из одних Р при нулевом счете должны "по-честному" (кроме самой первой в начале игры) считаться за Алису, потому что они стоят в конце положительных экскурсий, но по правилам игры они не засчитываются ни за кого. И те случаи, когда 100-й бросок оказывается внутри таких последовательностей, и дают перевес Бобу. Если изменить правила так, что "если конец игры падает на Р при нулевом счете, но при этом не все вообще броски Р, то победа засчитывается Алисе", то оказывается, что вероятность победы ровно 50% у каждого. Причем *ровно* 50% - если посчитать число выигрышных игр у Алисы и Боба, они совпадают один к одному (я посчитал для 25 бросков, не для 100). Обратите внимание, что при таком изменении правил игры, когда мы "ничейные" (нулевой счет) блоки Р записываем в пользу Алисе, все равно остается верным, что у Алисы больше скученность очков, что у нее есть игры с числом очков больше 50, а у Боба таких не бывает - все аргументы того объяснения, что я дал первым, остаются верными, но шансы победить тем не менее равны. Вот почему я написал выше, что уверен, что то объяснение неверно. Вроде все.
إظهار الكل...
Продолжая предыдущую запись. Третий вопрос. 3. Кто в среднем наберет больше очков? То есть, в среднем за все 100 бросков Алиса наберет X очков, Боб наберет Y очков. Какие отношения между X и Y? Бонус-вопрос: можете ли вы найти точные значения X и Y? Правильный ответ - в среднем каждый наберет одинаковое число очков, а именно 24.75 (99/4). Для хорошо знающих теорию вероятностей это очень простой вопрос, показывающий силу очень важного принципа - аддитивности математического ожидания даже зависимых друг от друга событий. Говоря простыми словами, спросим себя, сколько в среднем очков получит Алиса *на втором броске*? Ответ 1/4, потому что из 4 возможных равновероятных исходов первых двух бросков только один дает ей 1 очко. Сколько очков в среднем получит Алиса на третьем, четвертом итд. броске? Ответ всегда 1/4 по той же причине. Несмотря на то, что события "получила очко на 2-м броске" и "получила очко на третьем броске" очень сильно зависят друг от друга, ВСЕ РАВНО (и это крайне контринтуитивно поначалу, но очень важно понимать и уметь пользоваться) число очков в среднем по всем броскам - это простая сумма этих 1/4 за каждый возможный бросок, на котором можно получить очко. То есть, 1/4 умножить на 99 таких бросков. Для Боба ситуация абсолютно такая же и ответ такой же. Вот и все. Для тех, кого не убеждает использование этого принципа, могу предложить аргумент с подсчетом. Ведь среднее число очков за игру - это просто-напросто общее число очков во всех возможных играх, поделенное на количество возможных игр. Это и значит "среднее". Сколько всего возможных игр? Число последовательностей из О и Р длиной 100, т.е. 2^100. Сколько в них всего очков Боба, например? Посчитаем отдельно по позициям: есть 2^98 игр, в которых Боб получает очко на второй позиции (после второго броска), потому что нам необходимо зафиксировать ОР в позициях 1,2, а остальные 98 могут быть любыми. Значит, 2^98 очков Боба, полученных на втором броске; столько же на третьем, четвертом итд., всего 99*2^98 очков Боба, и поделив на 2^100 игр, получаем те же 99/4 очков в среднем. То же самое у Алисы. (Подумать как следует над решением с подсчетом может помочь поверить в принцип аддитивности матожидания) И наконец, самый сложный вопрос (его первоначально задал в твиттере математик Даниэль Литт). Четвертый вопрос. Что более вероятно: что Алиса победит Боба, или что Боб победит Алису? Правильный ответ: несмотря на равенство среднего числа очков в третьем вопросе, более вероятна победа Боба, с вероятностью примерно 51%. Это легко проверить опытным путем, если запустить симуляцию достаточно большого числа игр. Но как это объяснить? Почти все, кто написал правильный ответ, дали следующее логичное объяснение (и я тоже его для себя придумал). Хотя общее число очков у Алисы и Боба по всем играм одинаковое, очки Алисы более "скученные". Например, Алиса может в одной игре получить даже 99 очков, если все О, а Боб максимум 50. Значит, во многих играх Алиса как бы "зря расходует" свои очки на создание большего перевеса, чем нужен для победы, и поэтому выигрывает в меньшем количестве игр, чем Боб, и в целом шанс победить у нее немного меньше. Это очень логичное объяснение. Но оно совершенно неверно. У Алисы немного меньше шанс победить, но не поэтому. Почему я в этом уверен, будет понятно из правильного объяснения, к которому я в итоге пришел (ну не только я, конечно, в твиттере это многие обсуждали). Вот оно.
إظهار الكل...
Это же объяснение помогает и понять кажущееся противоречие с первым вопросом. Вероятность получить первое очко в игре у каждого одинакова, но если оно досталось Алисе, то до очка Боба уже "недалеко", а если досталось Бобу, то до очка Алисы в среднем дольше шагать. Если бы мы считали "среднее число бросков до первого очка Боба, учитывая только такие игры, в которых Бобу достается первое очко", и то же самое для Алисы - вот *тогда* бы было равенство, и это бы соответствовало первому вопросу. Но мы, когда считаем среднее число бросков до первого очка Боба, учитываем также игры, в которых Алиса побеждает первой - и наоборот. Эти игры "ломают" симметрию. Третий и четвертый вопросы - в отдельной записи позже, пока напомню их. 3. Кто в среднем наберет больше очков? То есть, в среднем за все 100 бросков Алиса наберет X очков, Боб наберет Y очков. Какие отношения между X и Y? Бонус-вопрос: можете ли вы найти точные значения X и Y? 4. Что более вероятно: что Алиса победит Боба, или что Боб победит Алису?
إظهار الكل...
Возвращаюсь к очень интересной и контринтуитивной серии задач про Алису, Боба и честную монету, которая была здесь месяц назад. Сегодня я расскажу и объясню правильные решения. Напоминаю условие игры: "Алиса и Боб вместе бросают одну честную монету 100 раз, получая последовательность О и Р (орлов и решек). Каждый раз, когда во время бросков выпадают подряд два орла ОО, Алиса получает очко. Когда выпадает ОР, Боб получает очко. Специально отмечу, что если например выпадает ООО, то это два очка Алисе, то есть ее выигрышные броски могут пересекаться. После того, как 100 бросков сделаны, побеждает тот, у кого накопилось больше очков." Дальше было четыре вопроса, на которые большинство ответивших по интуиции давали неправильные ответы. Программисты могли легко написать симуляцию игры и узнать правильные ответы, и многие так и сделали, но не всегда могли их объяснить. Первый вопрос. 1. Что более вероятно: что первое заработанное очко в игре достанется Алисе - или Бобу? Это самый простой из вопросов. Правильный ответ - одинаковая вероятность. Самый простой способ это увидеть следующий: первое заработанное очко в игре случится сразу после первого раза, когда выпадет О. Как только это впервые случится, следующий бросок О или Р определит, достанется первое очко Алисе или Бобу. Вероятность 50% у каждого. Второй вопрос. 2. Для кого из игроков в среднем дольше путь до первого заработанного очка? То есть, в среднем Алиса получит свое первое очко после А бросков, Боб после Б бросков, какие отношения между А и Б? Правильный ответ - для Алисы в среднем путь к первому заработанному очку длиннее, чем у Боба: 6 бросков против 4. Для каждого в отдельности можно вычислить это число разными способами, например, используя элементарную теорию цепей Маркова следующим образом. Пусть А1 - среднее число бросков до очка Алисы, если только что выпал орел, а А2 - если только что выпала решка. Тогда A1 = 1/2 * 1 (50% что выпадает орел, и тогда 1 бросок) + 1/2 * (A2+1) (50% что выпадает решка, и тогда 1 бросок сейчас и еще A2 бросков). Похожим образом A2 = 1/2 * (A1+1) + 1/2 * (A2+1). Второе уравнение упрощается в A2=A1+2, подставляя это в первое, находим A1=4, A2=6. Число бросков для Алисы от начала игры равно A2, т.е. 6, потому что начать с ничего все равно что начать с решки. Для Боба уравнения выглядят немного иначе: Б1 = 1/2 * (Б1+1) (после орла выпал орел) + 1/2 * 1 (после орла выпала решка). После решки имеем Б2 = 1/2 * (Б1+1) + 1/2 * (Б2+1). Как и у Алисы, второе уравнение упрощается в Б2=Б1+2, но из первого сразу следует Б1=2, так что Б2=4 и это среднее число бросков до очка для Боба. Предположим, уравнения работают; но как объяснить этот ответ, учитывая ответ на первый вопрос. Если вероятность того, кто получит очко первый, одинакова, как может путь к первому очку быть разной длины? Интуитивное объяснение того, что пути разной длины, следующее. На первый взгляд, условия симметричны: после того, как выпадает О, следующий бросок 50/50 дает очко Алисе или Бобу. Но если мы сейчас "болеем" за Алису, то обнаружим, что в случае, когда следующий бросок промахнется и не даст ей очко, то после ОР ей надо заново зарабатывать свои ОО "с нуля". А в случае Боба, если следующий бросок после О не дает ему очко, то это ОО и у него уже готова первая часть, осталось лишь Р. Поэтому логично, что если первая "попытка" получить очко не удалась, то после нее Алисе дольше в среднем идти до очка, чем Бобу; значит, и в целом от начала дольше идти.
إظهار الكل...
Лео Каганов написал интересную запись о том, как пишутся песни для коммерческих проектов: ну типа для рекламного ролика, для поздравления юбиляра, для мультфильма, гимн корпорации итд. итд. Там просто ну вот все интересно, рекомендую почитать. Мне особенно понравилось - про то, что начинают всегда с мелодии, а текст пишут уже под нее (я в принципе понимаю это умом, но сердцем, как очень текстовый человек, затрудняюсь) - про то, как готовится фонограмма для текстовика, что в ней желательно ясно определить, где звучит вокал (там примеры есть) - Про рыбу: прослушав много раз фонограмму, предоставленную композитором, поэт-текстовик пишет первым делом рыбу: "Рыбой называется черновик текста, содержащий пока бессмыслицу ради ритмического рисунка. Проще всего использовать цифры. Но если музыка сама подсказывает обороты, можно вписать и их, пусть даже в окончательный вариант не войдут. Типа такого: Вечные друзья три четыре семнадцать Вечные друзья тридцать девять сто пять Вечные друзья семь четыре и двадцать Вечные друзья — опять После всей этой подготовки текстовик погружается в эмоции, садится и делает текст — обычно за день."
إظهار الكل...
Леонид Каганов:

Леонид Каганов, дневник

Израильский писатель Аарон Аппельфельд родился в 1932 году в Буковине (сегодня часть Украины, тогда - Румынии), он был единственным ребенком в еврейской семье, не соблюдавшей религию, и родным языком Аппельфельда был немецкий. В 1941 году Румыния захватила Буковину (до этого год она была в СССР) и начала уничтожение евреев. Мать Аппельфельда застрелили прямо на улице; отца с ребенком сначала направили в гетто в Черновцах, а оттуда пешим походом в концлагерь в Транснистрии. Восьмилетний Аарон оказался разлученным с отцом и вскоре после этого бежал из лагеря. Два года скитался по лесам, жил вместе с такой же скитающейся группой воров и проституток, потом одно время в доме украинской женщины. В 44-м году прибился к советским солдатам и с ними попал в Болгарию, оттуда в Югославию, Италию (где провел часть времени в монастыре) и в 46-м добрался до Израиля. Аарон был уверен, что отец погиб в лагере, а отец - что погиб сын. В 1957-м году 25-летний Аарон видит имя отца в списке репатриантов и находит его в поселке Беер-Тувия, работающим на сборе урожая. Он описал эту встречу в интервью в 2000-м году, почти полвека спустя: "Я вижу лестиницу, и на дереве стоит очень старый еврей... я обращаюсь к нему на немецком и говорю ему: "Герр Аппельфельд?" Он спускается с лестиницы, смотрит на меня и не может вымолвить ни слова, и только слезы омывают его. И в течение целого дня он не может издать ни звука, только страшные рыдания. Он не говорит мне, что он мой отец, я не говорю ему, что я его сын. Вплоть до сегодняшнего дня я не могу ничего с этим сделать. Это только вызывает у меня слезы, я не могу этого коснуться. Пока не могу. Может, через двадцать лет я смогу дотронуться до этого огня". Аппельфельд умер в 2018-м.
إظهار الكل...
Акт первый. 19 апреля, ИА Регнум: "Авторы песни «Александра» Никитины после начала СВО переехали в США, а теперь начали принимать участие в мероприятиях, где не скрывают, что вырученные средства отправятся антироссийским силам... Ещё оказалось, что Никитины помимо осуждения политики России, проживая в США, записывают антироссийские ролики для антироссийской же организации «Настоящая Россия»... При этом зарабатывать в России известные барды тоже успевают. 20 июня 2024 года Никитины планируют выступить в Москве, на юбилейном концерте, посвященном 90-летию Юрия Визбора." Акт второй. 23 апреля, Комсомольская правда: "Социальные сети буквально взорвало сообщение о том, что поэтесса Юнна Мориц намерена запретить Татьяне и Сергею Никитиным исполнять песни на свои стихи. Реакция Юнны Мориц последовала на разразившийся в Сети на прошлой неделе после публикации ИА Регнум скандал. Юнна Мориц - о бардах Никитиных: "Ещё на «Эхе Москвы», исполняя песни на мои стихи, Никитины не называли моё имя, чтобы не испортить свою репутацию и репутацию «Эха М». В результате у них появилось много «поклонников», уверенных в том, что Никитины - авторы моего поэтства! Сейчас на своих гастролях, они не называют моё имя, чтобы не испортить свою русофобскую репутацию..." - Ещё раз подтверждаю, - сказала Юнна Мориц, завершая нашу сегодняшнюю беседу, - я хочу наложить запрет на исполнение моих песен Никитиными и теперь думаю, как сделать это юридически грамотно." Акт третий. 24 апреля, Татьяна и Сергей Никитины. «СОВЕСТЬ, БЛАГОРОДСТВО И ДОСТОИНСТВО» Сегодня мы обращаемся к нашим зрителям, нашим друзьям, коллегам и всем тем, кому небезразлична наша жизнь. Прежде всего хотим сказать, что мы никогда не финансировали ВСУ и не собирались этого делать. То, что пишут в сети – злонамеренная ложь и клевета. Чтобы снять все сомнения, мы отказались от участия в фестивале «Возраст счастья», который должен состояться в конце мая в Черногории... Мы никогда не пели в угоду политики и политикам, не ждали от государства никаких благ - квартир, должностей и гонораров. Может то, что мы держали спину прямо в любых ситуациях, то, что порядочность, уважение к человеку, честность для нас не пустой звук, люди чувствовали и ценили. Все, что мы хотим сказать, вы найдете в наших песнях. Русский язык и Россия – наше Отечество. Все, что было написано за нашу жизнь, было продиктовано любовью к поэзии и желанием поделиться этим со зрителями... Наш сын уехал учиться в США в 1990-м году... Это было время разрядки и дружбы не только на правительственном уровне, но и между людьми наших стран. Наш единственный сын женился, родились внуки, и они живут в США. Мы, естественно, стали частыми гостями его семьи... И как тут не вспомнить Булата Окуджаву: Совесть, благородство и достоинство – Вот оно, святое наше воинство...
إظهار الكل...
Позавчера вечером до начала Песаха оставались еще почти сутки, но в супермаркетах уже начали завешивать клеенкой стеллажи и полки, на которых обычно стоит хамец, квасные продукты, которые нельзя по закону продавать в Песах. (если говорить точнее, нельзя их выставлять, продавать можно, да и то за нарушение закона полагается штраф, который реально выписывают исключительно редко; некошерные магазины в последние годы часто просто игнорируют запрет, но обычные гастрономы/супермаркеты следуют устоявшейся традиции) А меня послала жена срочно закупиться хлопьями на время праздника. У нас в семье пятеро душ, я, жена и трое детей; я хлопья не ем, остаются четыре поэтому, естественно, мы покупаем четыре разных вида хлопьев, чего еще можно было ожидать? И все они, разумеется, кончились: - и "хлопья Даника", кукурузные с медом, которые раньше назывались "хлопья Юли", а до этого "хлопья мамы", есть их один Даник; - и "хлопья Юли", просто кукурузные "Корнфлекс", которые раньше тоже назывались "хлопья мамы", а сейчас, хотя они называются "хлопья Юли", ест их главным образом Адам и немного Юля; - и "хлопья мамы" (я думаю, вы уже видите закономерность), многозлачные Cheerios колечками, которые одно время были "хлопья Адама", но не прижилось, и они опять "мамы", а едят их мама и все трое детей, время от времени и нерегулярно - и "фейковые хлопья мамы", это те же Cheerios колечками, но овсяные, используются для подмены предыдущих для Адама, когда он очень много тех требует, а те слишком сладкие. И я такой в девять вечера, в день перед Песахом - в один магазин - вообще уже закрылся, в другой - парни с рулонами клеенки заклеивают соседний стеллаж с тем, на котором хлопья, а хлопья еще свободны. Я быстро нахватал даникиных, юлиных, фейковых маминых, а вот просто маминых нет, и я делаю еще одну попытку, в большой супермаркет, который закрывается в 10:30. И обламываюсь, в нем уже завешен весь ряд, в котором хлопья всех видов. Я сквозь полупрозрачную клеенку смутно вижу очертания коробок, прижимаю ее к коробкам, угадываю названия по тусклым следам: не то, не то, не то, а - вот она, Cheerios Multi-system! Оглядываюсь воровато, никого вроде рядом нет, сейчас оторву скотч внизу, раскрою клеенку, быстро достану и заклею обратно. Работник магазина внезапно материализуется в трех метрах от меня - серьезно, там никого не было - и возмущается: ты что делаешь, не открывай! Я пробую на секунду возмущение - а что, еще не Песах, чего это вы закрываете! - но это звучит неубедительно, и я сам это понимаю. Не умею скандалить, орать и качать права - эту столь важную черту израильской ментальности так и не развил в себе. Вместо этого честно прошу о помощи: брат, говорю, понимаешь, такое дело, дети остались без хлопьев. Я знаю, где коробка, вот она, помоги только достать. Не корысти ради, а толмо волею пославшей мя жены. Ну ты же знаешь, как это, брат!.. И вот оно, пасхальное чудо еще до наступления праздника - работник смягчается, и вот он отрывает скотч и аккуратно просовывает руку под него снизу. Я слежу за силуэтом руки, судорожно вспоминаю, где именно стоит моя вожделенная коробка и командую: правее, правее... нет еще выше... выше... еще чуть-чуть выше! Вся его левая рука и плечо исчезли под пленкой, он, полуприсев и прижавшись щекой к полкам, шарит там рукой, аки щупальце батискафа по морскому дну, вольно же было этим хлопьям стоять на полке повыше, но вот! удача! пальцы сжались на нужной коробке и медленно утаскивают ее вниз, вниз и наружу из запретной зоны. Спасибо, брат! С праздником тебя! Счастливой пасхи, Песах самеах!
إظهار الكل...