пятница, 30 апреля 2010 г.

Комбинаторная задачка

Есть у нас дома такая вот безделушка (подарили на новый год):


Явно назначение этого сувенира на нём не написано, поэтому я придумал использовать его в качестве календаря: можно выставлять на нём из кубиков текущее число месяца. Думаю, что я не сильно ошибся с задумкой авторов о его применении.

Я задумался над проблемой: в этом сувенире всего два кубика, по шесть граней на каждом. Как и какие цифры нужно разместить на гранях каждого из кубиков, чтобы этими двумя кубиками можно было изобразить любое число от 1 до 31.

Для начала я записал все возможные числа (а):

а) б) в) г) д) е) ж)

01 01 01 01 0 00 00
02 02 02 02 11 11 11
03 03 03 03 22 22 22
04 04 04 04 3 63 43
05 05 05 05 4 74 65
06 06 06 06 5 85 78
07 07 07 07 6
08 08 08 08 7
09 09 06 8
10 01 01
11 11 11 11
12 12 12 12
13 13 13 13
14 14 14 14
15 15 15 15
16 16 16 16
17 17 17 17
18 18 18 18
19 19 16
20 02 02
21 12 12
22 22 22 22
23 23 23 23
24 24 24 24
25 25 25 25
26 26 26 26
27 27 27 27
28 28 28 28
29 29 26
30 03 03
31 13 13

а) б) в) г) д) е) ж)

Поскольку для чисел вида xy и yx нужны одни и те же цифры, я перевёл все числа в "нормализованную форму": отсортировал цифры каждого из чисел в порядке возрастания (б).

Можно ещё заметить, что цифры 6 и 9 совпадают по начертанию. Поэтому заменим все 9 на 6 (в).

Теперь вычеркнем все повторяющиеся числа (г).

Наконец, составим список цифр, которые должны присутствовать в каждом из столбцов (д).

Поскольку в правом столбце 8 цифр, то две из них неминуемо придётся перенести в левый столбец. Но если любые две цифры просто перенести в левый столбец, тогда их нельзя будет использовать совместно с нулём. Поэтому добавляем в правый столбец ноль и переносим в левый столбец три цифры (е).

Нанеся на грани первого кубика цифры 0, 1, 2, 6, 7 и 8, а на грани второго - цифры 0, 1, 2, 3, 4, 5, мы сможем с помощью двух кубиков изобразить любое число от 1 до 31.

Теперь сравним результат нашего вывода с реальными кубиками в сувенире. На первом кубике имеются цифры 0, 1, 2, 4, 6, 7, а на втором - 0, 1, 2, 3, 5, 8 (ж). Фактически, вариантов размещения цифр на кубиках много: шесть цифр (3, 4, 5, 6, 7, 8) на двух кубиках можно разместить произвольным образом.

Возьмём 3 произвольных цифры из 6, которые будут нанесены на три грани одного кубика, грани на оставшемся кубике будут помечены оставшимися тремя цифрами. Порядок размещения каждой из цифр нас не интересует, поэтому общее количество комбинаций будет равно количеству сочетаний C(n, m) = n! / (m! (n - m)!) или C(6, 3) = 6! / (3! (6 - 3)!) = 2*3*4*5*6 / (2*3*(2*3)) = 2*3*4*5*6 / 2*3*6 = 4 * 5 = 20. Двадцать способов нанести шесть цифр на 3 грани каждого из двух кубиков.

Вот эти 20 вариантов:
1. 345 678
2. 346 578
3. 347 568
4. 348 567
5. 356 478
6. 357 468
7. 358 467
8. 367 458
9. 368 457
10. 378 456
11. 456 378
12. 457 368
13. 458 367
14. 467 358
15. 468 357
16. 478 356
17. 567 348
18. 568 347
19. 578 346
20. 678 345

Можно заметить, что пары 1 и 20 симметричны, а стало быть одинаковы. Точно так же симметричны пары 2 и 19. Таким образом на самом деле вариантов кубиков всего 10:
1. 345 678
2. 346 578
3. 347 568
4. 348 567
5. 356 478
6. 357 468
7. 358 467
8. 367 458
9. 368 457
10. 378 456

Я выбрал первый вариант, а на имеющихся кубиках был использован вариант под номером 6. Этот вариант отличается от всех прочих тем, что на одном кубике используются нечётные цифры (3, 5, 7), а на другом - чётные (4, 6, 8).

Факториал 20000

Сегодня читал статью об Erlang: Язык Erlang и программирование для мультиядерных процессоров и встретил там вычисление факториала 20000. Заинтересовался, а можно ли получить эти 77 тысяч цифр на Scheme. Написал следующую программку:

(define (fact n)
(if (= 1 n) 1 (* n (fact (- n 1)))))
(fact 20000)

И таки получил эти свои 77 тысяч знаков! Что характерно, времени на это ушло, по ощущениям, секунды 3.

четверг, 22 апреля 2010 г.

Спор из гостевой книги: прогрессорство

Вот тут Спор из гостевой книги: прогрессорство пытаются провести аналогию между прогрессорством в книгах Стругацких и войной США в Ираке. Я прочитал совсем недавно "Трудно быть богом", "Парень из преисподней", "Малыш". Ещё не читал, но в целом знаком с сюжетом "Обитаемого острова". Так вот, эта аналогия - бред от начала и до конца.

Почему? Потому что, даже если между целями и можно провести аналогию, то механизмы прогрессорства в корне различаются. Как действует США? Отправляет свою армию на чужую территорию и начинает НАВЯЗЫВАТЬ свои порядки извне, угрожая расправой. Как действуют прогрессоры? Отправляют своих внедрённых агентов, которые живя одной жизнью с различными слоями местного населения, пытаются продемонстрировать другие ценности, донести до местного населения само их существование. В случае возникновения опасности крупных кровопролитий, прогрессоры пытаются предотвратить их изнутри, пытаясь навести власти на мысль о том, что может случиться и что нужно сделать, чтобы этого избежать. Прогрессорство ставит целью естественное развитие истории местного населения, способствуя лишь тому, чтобы этот путь был более коротким, прямым и менее кровопролитным.

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

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

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

понедельник, 5 апреля 2010 г.

Час быка

Прежде всего хотелось бы остановиться на допущенных в книге Ивана Ефремова логических ошибках:

1. Ось планеты Ян-Ях лежит в плоскости эклиптики. У планеты есть два полушария, одно из которых названо Головным, а другое - хвостовым. Названия полушарий говорят о том, что ось вращения планеты направлена по касательной к её орбите. Таким образом Головное полушарие всегда остаётся направленным по ходу обращения планеты вокруг её светила, а хвостовое - в противоположную сторону. По замыслу писателя планета таким образом должна обладать мягким климатом, т.к. всегда обращена к светилу экватором.

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

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

Я оказался не одинок в своих мыслях и нашёл совсем свежую запись с похожими рассуждениями: http://www.diary.ru/~talkaboutcreativework/?comments&postid=93957359&htm&uid=&rss_signature=&

2. Планета Ян-Ях обращается вокруг своего светила в четыре раза быстрее, чем Земля обращается вокруг Солнца. Таким образом их год равен нашим трём месяцам. Все кжи, короткожители, живут 100 тормансианских или 25 земных лет. В 25 лет их подвергают процедуре Лёгкой Смерти.

На мой взгляд такое положение вещей совершенно не логично ни с точки зрения экономики, ни с точки зрения психологии. Прежде чем начать приносить существенную пользу, кжи нужно прожить полжизни - дожить до 12-13 лет. До этого возраста им трудно доверить хоть сколь-нибудь серьёзную работу, их сложно напугать угрозой смерти.

Чем дальше, тем интереснее - к 22 годам уже вплотную подходит срок смерти. Чего бояться кжи в этом возрасте? Смерти? Да жить-то осталось всего три года! Получается, что кжи смертью вообще напугать невозможно - какой уж тут может быть тоталитарный строй. Эти спартанцы, численно превосходящие своих тиранов и джи, могут легко устроить государственный переворот, т.к. им нечего терять.

В одной из сцен, где Чеди и Цасор присутствуют на еженедельной гипнотической промывке мозгов кжи, был упомянут возраст присутствующих - 25 лет. Или это 25 земных лет, тогда всем этим кжи скоро предстоит Лёгкая Смерть. Или это 25 тормансианских лет, тогда всем присутствующим на церемонии по-земному всего 6 лет! Представьте себе "мужчин" и "женщин", которым всего шесть лет, и которым власти промывают мозги. Это просто смешно!

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

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

Теперь, в целом о книге.

Книга легко читалась поначалу. Пока Фай Родис общалась с правителем Торманса, чувствовалась объёмность хоть одного персонажа - Чойо Чагаса. Он не тупой злодей, в книге есть хоть какая-то его предыстория и понятны его мотивы. Он видел что было в прошлом человечества и знает, что нынешнее положение населения Торманса много лучше прежнего.

Прекрасно описание столь превозносимой ныне Римской империи: оно раскрывает подлую суть высокой культуры Рима. Произведения искусства создавались за счёт рабского труда и мучений сотен тысяч рабов: они работали в каменоломнях, на галерах, их на потеху тысячами бросали на арену со львами, крокодилами, поднимали на копья, распинали, натравливали друг на друга и т.д.

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

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

Честно говоря, от книги почти не осталось впечатлений. В менее интересной и плоской "Туманности Андромеды" запомнилось больше. Ежели хочется подумать о том, как будет выглядеть подобная миссия по модернизации дикарей землянами будущего, то, на мой взгляд, лучше почитать Стругацких: "Попытка к бегству", "Трудно быть богом". Первое произведение Стругацких только обозначает проблему, второе - пытается раскрыть её изнутри. Чего стоит один только диалог Руматы с Будахом в "Трудно быть богом"! Этот один диалог стоит тысячи слов в "Часе быка"!

Если "Туманность Андромеды" я бы порекомендовал к прочтению, то "Час быка" читать не особо рекомендую. Во всяком случае есть много книг получше, которые стоит прочесть в первую очередь, а "Час быка" можно оставить и на потом.

суббота, 3 апреля 2010 г.

Loom

Скачал игру с dosgames.ru, поставил dosbox и поиграл. В этот же день прошёл. Почитал прохождение - понял, что в разных ситуациях может одинаково сработать несколько разных заклинаний.

Раскрываются сюжетные ходы (чтобы прочитать, выделите текст мышью):

Например, траву в пещере с драконом я поджёг с помощью заклинания "напугать". Пастухов пугает образ дракона, а напугать дракона, видимо, можно только огнём.

Меч у кузница я скрутил, т.к. о заклинании заточки я узнал только из описаний прохождения, когда игру уже прошёл.

Дыры в "ткани мироздания" я закрывал, а не излечивал, как это описывается в разных описаниях прохождения.


Хорошая, добрая игрушка. Сейчас таких делать не станут. В современной игре должен быть "ЖЫР": нужно чтобы игра была красивая, динамичная, с реками крови и горами трупов.