alda: (Default)
Уже не раз в этом ЖЖ я пишу о вещах, которые планировал сделать давно и долго, и наконец сделал, причём достаточно быстро. Это ещё одна такая запись.

Несколько лет назад я прочитал в книге Мартина Гарднера о маленькой и забавной игре под названием Hexapawn, "Шесть Пешек". В принципе, это минатюрный и очень облегченный вариант шахмат: играют в Шесть Пешек на доске размером 3 на 3, и единственные фигуры, как можно понять из названия — пешки.

Начальная позиция для игры в Шесть Пешек
 
Пешки ходят как обычнейшие шахматные пешки: идут вперёд, захватывают по диагонали. Побеждает игрок, который продвигает свою пешку на другой край доски, съедает все фигуры противника или делает так, чтобы у противника не осталось ходов. Игра эта очень проста, она даже проще, чем крестики-нолики.
 
Так зачем же она нужна? )
 
alda: (Default)
Пришла в голову ещё одна идея для часов, гораздо проще всех, упомянутых в прошлых постах.

Когда мы смотрим на обычные, круглые часы, что нам важно увидеть? Нам важно увидеть стрелки. Точнее, не все стрелки, а только их концы, верно? Больше ведь ничего не нужно: только где на данный момент находятся в круге циферблата концы стрелок.

Теперь возьмём часы, покрасим стрелки в цвет циферблата (чтобы не мешали), и соединим их концы резинкой.

Получатся вот такие часы... )
alda: (Default)
Прошлый мой пост, посвящённый часам, я закончил упоминанием ещё одного открытого мной способа складывать Часы-1 вместе чтобы замостить плоскость. Честно говоря, додумавшись до этого способа, я почувствовал себя полным бараном: как мне вообще в голову пришло как-то прокладывать между часами какие-то другие формы, если можно просто складывать их впритык?
Вот, как надо: )
alda: (Default)
Продолжаем разговор о программе, которая прямым перебором составляет все возможные головоломки из громадного списка слов.

В прошлой части мы видели принцип работы медленной, совершенно неэффективной программы. В этой части мы рассмотрим усовершенствованную программу, которая справляется с делом намного быстрее.

Под катом снова ни строчки кода. )
alda: (Default)
Месяца три назад я писал о новой головоломке, найденной мной в игре The Fool and His Money.
Вкратце напомню, в чём она заключается: даются десять букв (разных). Из них нужно составить три слова: из пяти, шести и семи букв, причём последние четыре должны быть одинаковыми во всех словах.
Например, если даются буквы "ABCEHILPT", из них можно сделать слова "TEACH", "BLEACH", "IMPEACH". Заметьте, что все слова кончаются на "EACH", а начала слов составлены из оставшихся шести букв.

Так вот, в том посте я вскользь упомянул, что для решения головоломки я написал программу, которая составляет все возможные головоломки такого рода, и просто нашёл нужную в списке.
В этом посте я напишу, как именно работает эта программа, а в следующем я объясню, как мне удалось недавно переписать её, увеличив скорость в несколько сотен раз.

Под катом — ни строчки кода. )
alda: (Default)
В недавнем посте я выкладывал ещё одну математическую картинку. Вот эту: 



В этом посте я напишу, как я её создал.

Да, пока не забыл, дисклеймер: это не моё изобретение. Впервые эту картинку получил Дэн Кристенсен, и его версию (гораздо красивее моей) можно увидеть на его сайте.

А теперь — начнём. )
 
alda: (Default)
Как много интересных вещей можно сделать с простыми числами. Можно зашифровать информацию так, что ЦРУ будут миллион лет голову ломать. Можно попытаться разбогатеть, доказав гипотезу Римана (не советую: её уже больше сотни лет доказать не могут). А можно нарисовать красивые и загадочные картины. 

Угадайте с нуля раз, чем из вышеперечисленного мы займёмся в этом посте.
 
Дальше )
 
alda: (Default)



Что это за серая размазня, спросите вы? А вы откройте, откройте. Она только издали размазня. А на самом деле это не размазня, а нулевая плоскость Юникода!
О том, что такое Юникод, зачем он нужен, и как я сделал эту картинку — под катом.

А это — кат. )
alda: (Default)
Разобравшись с хитрыми палиндромными квадратами, я решил поискать все квадраты вообще: скажем, сколько есть квадратов 3х3? А 4х4? А ещё больше? 
Написал программу, запустил... оказалось, что квадратов много. Очень много.
Судите сами: даже квадратов 2 на два есть целых 1046 штук! Два на два, какие вообще слова есть из двух букв?! Оказывается, достаточно.
Квадратов 3 на 3 больше: 256,576. А 4 на 4 уже 9,632,444 — почти 10 миллионов!
К сожалению, моя программа работает очень медленно (скорее, нужно проверить так много комбинаций, что любая программа будет работать медленно), так что я смог сосчитать ещё только квадраты 5 на 5: их оказалось 38,294,207. Да, 38 миллионов. Надо будет завтра с утра запустить поиск квадратов 6 на 6... наверное, их будет несколько сотен миллионов.
alda: (Default)
ROTAS
OPERA
TENET
AREPO
SATOR

Этот "словесный квадрат" можно обнаружить на руинах в Помпеях, в Манчестере, где-то в Сирии, Португалии, Франции... Манчестерский квадрат датируется II веком Н.Э. и считается одним из раннейших свидетельств христианства в Британии.
Что он означает? Примерно: "Пахарь Арепо Сохраняет Вращение Колёс". Кстати, имя арепо больше нигде не встречается, но это неважно; главное (во всяком случае, для меня), что этот квадрат можно читать с любой стороны: хоть сверху вниз, хоть снизу вверх, хоть направо, хоть налево — этакий двумерный палиндром. Сами попробуйте.
Недавно я подумал: а есть ли ещё такие квадраты? Надо разузнать! Гугл молчал, так что пришлось решать проблему самому. Вооружившись громадным списком слов SOWPODS (267,751 слово!) и языком Python, я за полчаса и пять миллионов загубленных нервных клеток написал программку, которая генерирует эти самые квадраты. 
Оказалось, что эти квадраты очень даже есть, и их немало: целых 70 квадратов 5 на 5! 
А квадратов 4 на 4 немного больше: 686 штук. Не такой, оказывается, это и редкий зверь! Зато квадратов 6х6 всего два, причём все слова в них — палиндромы, так что они неинтересные. 
Квадратов больших размеров, насколько я знаю, не существует.

Под катом: все квадраты 5х5.

Profile

alda: (Default)
alda

February 2012

S M T W T F S
   1234
567891011
12131415161718
192021222324 25
26272829   

Syndicate

RSS Atom

Style Credit

Expand Cut Tags

No cut tags
Page generated 26/07/2017 04:33
Powered by Dreamwidth Studios