Рубрика «Занимательные задачки» - 37

Пусть в блоге Яндекса на Хабрахабре эта неделя пройдет под знаком нейронных сетей. Как мы видим, нейросети сейчас начинают использоваться в очень многих областях, включая поиск. Кажется, что «модно» искать для них новые сферы применения, а в тех сферах, где они работают уже какое-то время, процессы не такие интересные.

Однако события в мире синтеза визуальных образов доказывают обратное. Да, компании еще несколько лет назад начали использовать нейросети для операций с изображениями — но это был не конец пути, а его начало. Недавно руководитель группы компьютерного зрения «Сколтеха» и большой друг Яндекса и ШАДа Виктор Лемпицкий рассказал о нескольких новых способах применения сетей к изображениям. Поскольку сегодняшняя лекция — про картинки, то она очень наглядная.

Под катом — расшифровка и большинство слайдов.

Читать полностью »

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

Теория решения изобретательских задач на пальцах - 1

Читать полностью »

Всем привет! Сегодня я расскажу о приложении DisTalk Pro. Я должен извиниться за паузу в моих постах, опять спасал мир подбивал итоги четверти, выиграл серебряную медаль кубка России по бочча в тройках, выступил на форуме Обнаженные сердца. Но обещание есть обещание, и на этой неделе я выложил новую версию программы DisTalk в Google Play и на GitHub.

Для тех кто не понимает, о чем я говорю, советую почитать эту статью.

DisTalk. Если ты не умеешь читать, это не значит то, что ты не можешь общаться - 1
DisTalk Pro
Читать полностью »

Я (и, как мне кажется, многие из вас) сталкивался не раз с несовместимостью селектов с дизайном сайта.
Боль состоит в том, что их нельзя стилизовать, а в каждом браузере они выглядят по-своему.

Конечно, есть огромное количество решений, представляемых фреймворками/библиотеками (тот же бутстрап).
Но все они предполагают наличие JSа.
Разумеется, в этом нет ничего страшного/плохого, но я попробовал сделать стилизуемый селект без JS в качестве фоллбэка на случай, если js по каким-либо причинам сломается.

Читать полностью »

Развлекаемся, «распутывая» код на языке Си

Вызов: Прежде чем лезть под кат, скомпилируйте в голове заголовок статьи, что он дает на выходе?

image

Когда я в очередной раз просматривал книгу «Expert C programming», я вдруг наткнулся на раздел «light relief» в международном конкурсе на самый запутанный код на Си (IOCCC). Это соревнование по написанию как можно более нечитабельного кода. То, что такие конкурсы устраиваются для Си, наверное, говорит что-что об этом языке. Мне хотелось увидеть работы участников этого соревнования. Не найдя никакой информации в интернете, я решил поискать их самостоятельно.

IOCCC был придуман Стивеном Борном, когда он решил использовать препроцессор Си и написать Unix shell как бы на языке Си, но больше похожем на язык Algol-68, с его явными окончаниями операторов, например:

if
  ...
fi 

Он добился этого, сделав:

#define IF if(
#define THEN ){
#define ELSE } else {
#define FI ;}

Что позволило ему писать так:

IF *s2++ == 0
THEN return(0);
FI

Читать полностью »

Кто-то ради шутки, кто-то чтобы доказать существование или опровергнуть гипотезу, кто-то для разминки мозгов (путешествуя по поверхности бутылки Клейна или в четырехмерном пространстве), но сотни людей создали «эзотерические» языки программирования. Я пролистал около 150 таких языков и больше никогда не смогу быть прежним.

Hello, эзотерика - 1

«Argh!», «Oof!», «2-ill», «Nhohnhehr», «Noit o' mnain gelb», «DZZZZ», «Ypsilax», «YABALL», fuckfuck — это заклинания, поэзия только названия… под катом — примеры кода на самых вырвиглазных языках программирования.

Кроличья нора глубока.
Читать полностью »

Кто-то ради шутки, кто-то чтобы доказать существование или опровергнуть гипотезу, кто-то для разминки мозгов (путешествуя по поверхности бутылки Клейна или в четырехмерном пространстве), но сотни людей создали «эзотерические» языки программирования. Я пролистал около 150 таких языков и больше никогда не смогу быть прежним.

Примеры кода на 39 эзотерических языках программирования - 1

«Argh!», «Oof!», «2-ill», «Nhohnhehr», «Noit o' mnain gelb», «DZZZZ», «Ypsilax», «YABALL», fuckfuck — это заклинания, поэзия только названия… под катом — примеры кода на самых вырвиглазных языках программирования.

Кроличья нора глубока.
Читать полностью »

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

Английская версия этой записи — на GitHub.

Итак, 9 из присланных решений оказались самообучающимися. Идея самообучения такова: поскольку все слова выбираются из конечного словаря, а не-слова генерируются случайно, то всякая строка, которая была представлена тестируемой программе повторно, с большей вероятностью окажется словом, чем не-словом. При достаточно продолжительном тестировании большинство слов из словаря успеют повториться, тогда как для не-слов случайные повторения встречаются гораздо реже.

Чтобы пронаблюдать поведение самообучающихся решений, мы протестировали их на 1 000 000 блоков. Тестировать на таком количестве блоков все решения было бы нереально, но эти девять оказались достаточно быстрыми.

На графике ниже показана зависимость процента правильных ответов от числа обработанных блоков. Обратите внимание, что горизонтальная шкала — логарифмическая.

image

Читать полностью »

image Думаю всем с детства знакома задача о счастливом билете. Однако чаще всего поездка в автобусе занимает гораздо больше времени, чем время, потраченное на суммирование первых и последних трех цифр.

И чтобы развлечь себя до конца поездки, я изобрел концепт «Несчастливого билета». Билета, у которого ни одно число из множества значений, полученного при помощи первых трех цифр, не совпадет ни с одним числом из множества значений, полученного при помощи последних трех цифр. Подробности в условии задачи.
Читать полностью »

image

Это уникальное событие в моей жизни. Оно произошло в ранних 70-ых. Я познакомился с Джоном Конвейем, вероятно с одним из величайших математиков. Я встретил его по пути в университет Калгари в 71-м и мы вместе пообедали. Он набросал на салфетке новую теорию, которая пришла ему в голову, и, на мой взгляд, она была действительно потрясающей. Это чисто математическая теория о новом способе определения чисел. Ее суть в том, что они могут быть не только целыми или дробными, но также бывают бесконечные числа, и квадратный корень из бесконечности, и бесконечность бесконечности, и бесконечность квадратных корней бесконечности и все это имеет смысл. Год спустя я был в отпуске в Норвегии и посреди ночи ко мне пришла мысль «Вау, эта теория так красива, что было бы интересно рассказать историю, написать книгу, в которой герои откроют теорию Конвея. Они найдут её правила на каменной скрижали, расшифруют её и смогут сами доказать все эти вещи о бесконечности и прочем».

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

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js