Архив за Январь, 2015

Почему люки круглые

Четверг, Январь 8th, 2015

Когда я говорил, что не нужно задавать головоломки на собеседованиях, вы продолжали спрашивать, почему люки круглые. Теперь у нас все знают, почему люки круглые, но чем абстрактный класс… ну вы поняли…
(с) http://habrahabr.ru/post/145960/

Дисклаймер.

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

Эксперименты ставились. Один из самых ранних:

Беда в том (и, конечно, реальная, раз уж мы не руководствуемся этим фактом в своей деятельности), что мы не знаем, как определить этих лучших сотрудников. Мы годами бились, устраивая тесты профессиональной пригодности программистов, сертификационные экзамены по вычислительным системам и внедряя программы самотестирования ACM (Association for Computing Machinery), и в итоге, пролив над ними моря крови, пота и, пожалуй, даже слез, мы увидели, что корреляция между результатами тестов и показателями на рабочем месте равна нулю. (Огорчительные результаты, не так ли? Примерно тогда же выяснилось, что корреляция между оценками по курсу информатики и производительностью труда тоже ужасна [ckman, H., W. I. Erikson, and E. E. Grant. 1968. «Exploratory Experimental Studies Comparing Online and Offline Programming Performances». Communications of the ACM, Jan.].

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

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

Ответ, который, скорее всего, знает спрашивающий.

Этот вопрос, наверное, один из самых известных среди тех, что задает Microsoft. Он настолько широко известен, что Microsoft даже перестала его использовать. Этот вопрос уже давно цитировался в журналах как пример того, насколько нелепые вопросы задают в корпорации Microsoft при приеме на работу. «Кандидаты входили в холл, выкрикивая: „Для того, чтобы они не падали в люк! “ — еще до того, как им задавали этот вопрос», — рассказывает Адам Дэвид Барр.

Остановимся? Нет, продолжим.

Человек, который предложил это решение, вероятно, после этого предложил эксперимент подтверждающий гипотезу. Классикой является рассуждение про то, что квадратную крышку в люк уронить можно. Вроде, все верно, и на этом останавливаются. Полагаю, срабатывает когнитивное искажение «Положительная предвзятость», которая иллюстрируется игрой «2-4-6». Ради интереса, я иногда заключаю пари по этой игре. На мелкие суммы. Пока я в выигрыше. Правильный подход это не «квадратный люк проваливается», а «есть ли еще фигуры, которые не проваливаются»? И вот такой вопрос после небольшого гугления приводит нас к опровержению гипотезы.  Крышка в форме треугольника Рёло  тоже не проваливается.

Жаль, красивая была гипотеза. И весьма популярная.

Лирическое отступление. Вопрос про люки я впервые услышал лет 30 назад. Мы в классе любили задачи, выходящие за рамки школьной программы. Довольно быстро мы пришли к наиболее популярному ответу. Мы как и многие допустили классическую ошибку.  Придумали правдоподобную гипотезу («Ошибка приоритизации гипотез»). Затем получили положительное подтверждение («Положительная предвзятость») и остановились. Сейчас вспоминая все это, понимаю насколько точно описал это Элиазер Юдковский http://hpmor.ru/book/1/8. Как с нас писалось.

И, кстати, почему люки ливневой канализации прямоугольные?

О кей, но что делать?

Рекомендуемый подход состоит в выписывании всех возможный и невозможных гипотез. Без критики.  И только после составления максимально полного списка переходить к детальному рассмотрению. И, да, при составления списка исходить из разных точек зрения.
Ничего нового. Старый добрый «Мозговой штурм», изобретенный в 1941.  А может даже переизобретенным. Ну да, чему нас могут научить эти пещерные люди ;-) ?

Набираем гипотезы

  • С точки зрения процессного инженера. Потому что это соответствует ГОСТ 3634.
  • С точки зрения прочниста. Позволяет избежать локальных очагов напряжения. За счет чего снизить вес при той же прочности.
  • Потому что так проще точить на токарном станке.
  • Круглая форма крышки позволяет уменьшить количество бракованной (по фактору качества опорных поверхностей крышки и люка) продукции.
  • В круглое отверстие проще пролезать человеку.
  • С точки зрения конструкционщика. На круглую бутылку проще делать круглую крышку.
  • С точки зрения бригадира. Так их можно катить, а не нести. И достаточно одного человека.
  • С точки зрения руководителя планово экономического отдела коммунальной службы. Чтоб не сперли.

Ну, и напоследок:
В 2000 году популярный автор передач и комментатор радиостанции NPR Андрей Кодреску выступал в корпорации Microsoft. Когда он отвечал на вопросы слушателей, один из них задал ему вопрос, почему крышки канализационных люков круглые. «Ну, это понятно, — ответил Кодреску, — в битве круглый щит удобнее, чем квадратный. Кроме того, круг — это символ бесконечности: именно поэтому у храмов круглые купола. Круглые крышки люков также напоминают пешеходам о том, что они живут в мире, созданном божественным провидением»

В креативности не откажешь ;-) .

Перейдем к рассмотрению гипотез. И здесь правило такое. Сначала делаем те проверки, которые можно сделать быстро. Это так называемый «Предварительный отбор».

Потому что это соответствует ГОСТ 3634.

Ответ кажется таким же как ответ на вопрос из старого анекдота:

Однажды Черчилль со своим водителем заблудились в предместьях Лондона. И мимо авто, стоящего на обочине шел пастух, гнавший отару овец… Шофер решил спросить у пастуха дорогу.

— Сэр, а где мы находимся?

Пастух постоял возле машины… и ответил

— В автомобиле..

Черчилль  затянулся сигарой..

— вот ответ, достойный палаты общин: краткий, хамский и не сообщающий спрашивающему ничего, кроме того что он знает.

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

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

Кстати. Первая железная дорога в России имела ширину 1829 мм, а не 1524/1520 как сейчас.

Гипотезу оставляем.
Позволяет избежать локальных очагов напряжения. За счет чего снизить вес при той же прочности.

Удивительно красивая гипотеза. Но что делать с ливневой канализацией?

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

Гипотезу оставляем, т.к. сначала нужно закончить простые проверки.

Потому что так проще точить на токарном станке.

Почти наверняка бред, т.к. чугунные изделия такой формы гораздо проще  и дешевле отливать. Гуглим. Точно, отливают по ГОСТ 26358.
Отбрасываем.

Позволяет уменьшить количество бракованной продукции.

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

Отбрасываем.

В круглое отверстие проще пролезать человеку.

Противоречит тому, что люки на чердак, в подвал и т.д. делают квадратными. Да и вообще странно выглядит.

Пока оставим, но маловероятно.

На круглую бутылку проще сделать круглую крышку.

Имеет право на существование. Форма шахт ливневой канализации чаще прямоугольная в сечении. Что служит косвенным подтверждением гипотезы.

Оставляем.

Так их можно катить, а не нести.

Типа того, что катить может один человек, а для переноски требуется двое, что позволяет сократить бригаду до одного человека.

У нас в РФ у крышек есть специальные опорные выступы, так что нормально катить их все равно не получится. И если мне не изменяет память минимально допустимая бригада на таких работах – три человека. И если кто-то выпустит бригаду из одного человека, то после первого же инцидента этот самый выпустивший вполне может познакомиться с УК за нарушений правил ТБ.

Отбрасываем.

Чтоб не сперли.

Мечта многих владельцев дач и частных домов – дорожки, выложенные чугунными квадратными (прямоугольными) плитами. А вот круглые плиты, треугольники Рёло или решетки ливневой канализации для этой цели совсем не так интересны.
Как ни странно, неожиданная гипотеза и при этом довольно вероятная.

Именно поэтому не стоит анализировать гипотезу до составления серьезного реестра гипотез.

В битве круглый щит удобнее, чем квадратный.

Явный бред. Отбрасываем.

Заключение.

А собственно и все. Чего тут еще скажешь?

Кстати, теперь я сам не знаю, почему они круглые.