Рейтинговые книги
Читем онлайн The Programmers Stone (Программистский камень) - Alan Carter

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 33 34 35 36 37 38 39 40 41 42

Дилемма заключенных, свободное программое обеспечение и доверие

Дилемма заключенных (The Prisoners' Dilemma) интенсивно изучалась как модель стратегии первого удара ядерными баллистическими ракетами. Там два заключенных содержатся отдельно, и обоим предлагается следующая сделка: «Если никто не сознается, вас обоих освободят. Если вы оба сознаетесь, то получите большие сроки. Если сознается только один, он получит маленький срок, а другой получит срок в два раза больше».

Дело в том, что пока я могу быть уверенным, что ты не хочешь сознаться, лучшее, что я могу сделать — это сознаться и отсидеть короткий или длинный срок, но при этом избежать двойного срока. Ты думаешь также. Поэтому, пока мы оба уверены (вспомните «уверенность» — «certainty» старых паковщиков), чего может и не быть, мы оба закончим тем, что будем сидеть длинный срок, хотя могли бы не сидеть вовсе.

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

В чем ошибалась теория игр? Все возвращается к проблеме обоснования уверенности, в терминах паковщика, в уверенности другого, что вы уверены… Это так сложно. Чтобы сделать это, оба игрока должны суметь оказаться рациональными — что теории называют «сверхрациональными» ('super-rational') — сами по себе и по отношению к рациональности другого. Кажется, нет другого очевидного способа этого достигнуть, кроме обращения Ганди (Ghandi) к людям, что казалось не слишком надежным людям, вооружившимся ядерным оружием.

В модели картостроитель/паковщик, вещи гораздо проще. Если мы оба паковщики, мы оба получим большие сроки. Если ты паковщик, я должен сознаться, поскольку ты сознаешься. Но если мы знаем друг друга, то нам легко осознать способность друг друга конструировать мысленные карты и достигать прямого и полного их понимания. Если я знаю, что ты картостроитель, я знаю, что ты будешь в состоянии обнаружить хитрость Дилеммы, поскольку это не очень большая карта. Ты знаешь, что я картостроитель, поэтому ты также будешь в состоянии предсказать мое полное понимание этой простой хитрости. Поэтому нас выпустят. Другими словами, мы победим, поскольку разница между идиотами и здравомыслящими людьми — вещь не сильно заметная, но видна только здравомыслящим людям. Для паковщиков это градация от душевнобольных (картостроители, которые не могут думать правильно и поэтому… <пауза>… выход (escape)), через людей, которые могут запомнить лишь несколько пакетов знаний и поэтому глупы, до Ответственных Персон, которые применяют пакеты знаний с точностью роботов. Знаменательно, что хотя мы будем убивать миллионы и терять огромные богатства, играя в спасающие лицо игры, держа носы по ветру, как род человеческий мы удержались от уничтожения планеты.

Озабоченнось паковщика уверенностью, без видения, как ее достигнуть, связаная с игрой с нулевым результатом в условиях материальной экономики и дефицита, ведет к очень ограниченному набору возможных транзакций. Чтобы заниматься программной инженерией, мы должны быть картостроителями, и Дилемма Заключенных показывает нам, что у нас есть возможность увидеть эффективные стратегии, которые недоступны паковщикам. Создание программного обеспечения — это не игра с нулевым результатом — если я копирую вашу программу, то она есть у обоих. И у нас нет дефицита, если только программирование хорошо оплачивается. Поэтому нам доступно гораздо больше видов взаимодействий (транзакций), чем у любой другой группы в истории. Мы уже начали находить примеры в совместной разработке стандартов, в коммерческих организациях, помещающих ключевые исходные коды в открытый доступ, и в росте рынка свободного программного обеспечения. Люди, которые совершают эти вещи, не беднеют — преимущества лидерства часто перевешивают стоимость даваемого на сторону, которое вы все равно получите любым способом. Решение проблем музыкального бизнеса состоит в правильной оценке этой новой среды бизнеса, и пока мы делаем это, мы будем страдать от установленных по сговору цен, которые конкурирующие организации устанавливают сами для себя.

Рынок программного обеспечения должен оставаться интересным достаточно долго!

Предопределенность

В работе «Структура научных революций» (The Structure of Scientific Revolutions) Томас Кун (Thomas Kuhn) ввел концепцию парадигмы — лежащей в основе теории мира, которую даже не считают теорией, а вместо этого называют «реальностью». Целые общества совместно используют парадигмы, и они могут оказать необычайное влияние на поведение членов общества. Одно время была такая философская парадигма, названная «предопределенность» ('predeterminism'). Она говорит, что Бог распланировал жизнь каждого при рождении, и испытаний, которые выпадают на чью-либо долю, невозможно избежать, поскольку они были волей Бога и поэтому должны приниматься с благодарностью. Затем были религиозные споры, закончившиеся тем, что эта противоречивая свобода воли победила, а предопределенность была повержена. Это были хорошие новости, поскольку предопределенность мало устраивает людей. Если на все воля Бога, то наши слабенькие усилия мало чего стоят.

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

Даже после этого мы все ждали, когда же упадет другой ботинок. Хотя мы верим, что результаты возможны, и поэтому мы прикладываем усилия, чтобы улучшить нашу жизнь, большинство из нас по-прежнему не верит, что возможно понимание, поэтому мы не делаем усилий, чтобы понять. Теперь, когда автоматизация сделала понимание необходимым и доказала его возможность, у нас есть шанс войти в новую эру человеческого знания — настоящую Эру Информации.

Примечания

1

в смысле подсиживания

2

в смысле поощрения совместных действий

3

«Буря в пустыне»

4

referents — объекты и события, на которые делаются ссылки

5

Вот как пояснил выражение «the penny dropped» («упал пенс») Алан Картер:

«Оно означает тот момент внезапного, вневременного стремительного движения (timeless rush), когда новая ментальная модель встает на место. После момента озаренияя (insight), именно так ты естественным образом „видишь“ проблемы навсегда (или до следующего раза). Эти опыты (learnings) никогда не забываются. Человек (own person) „вырос“, а линия раздела шифр / шифровальный блокнот (code/codebook) между личностью (self) и остальной вселенной сдвинулась. В новом переводе <„Евангелия от Фомы“> Иисус даже более отчетливо, чем в старом, говорит о той же самой модели, что и R. Это странное движение разделительной линии и необычный субъективный опыт действительно показывают, что когда мы это совершаем, происходит нечто очень интересное с точки зрения космологии и информации.

В английском есть эта фраза „the penny dropped“, говорящая о том, что один из этих моментов возник по воле случая (by chance), но нет способа сказать, что некто заставил такой момент наступить. Это нельзя сделать процедурно, но можно сделать умышленно (deliberately). Именно это происходит каждый раз, когда хакер намеревается упростить проблему в программе. Он или она как профессионал „знает“, что к пятнице проблема будет решена, но у него/нее нет идеи — как это будет сделано. У нас нет слова для этого высочайшего способа работы. Потому что в обществе M0 это не происходит (не случается), и никто не требует от нашей физики принять во внимание тот факт, что это действительно происходит.»

— С.К.

6

наверное, очень противно кричит — С.К.

7

определяемой сводом положений — законами, правилами, инструкциями и т. д. — С.К.

8

Насколько я слышал, скунс — это такая вонючка, что даже кошек выворачивает — С.К.

9

из-за разбухания проекта — С.К.

10

в смысле быть первым — С.К.

11

строгим командным голосом — С.К.

12

table lookups — например, массив адресов перехода или массив указателей на функции, когда выбор осуществляется по целому индексу — С.К.

13

например, выбор имен для переменных — С.К.

14

когда все находятся в одном помещении — С.К.

1 ... 33 34 35 36 37 38 39 40 41 42
На этой странице вы можете бесплатно читать книгу The Programmers Stone (Программистский камень) - Alan Carter бесплатно.
Похожие на The Programmers Stone (Программистский камень) - Alan Carter книги

Оставить комментарий