В этой конструкции Lego крыша поддерживается блоком в одном углу здания. Когда сверху кладут кирпич, крыша падает на фигурку человечка. Как решить эту проблему? Источник: научная работа Адамс и др., Nature vol. 592 (2021)
В последние годы много говорят об ожирении сайтов и распухании программного обеспечения, когда быстрые и аскетичные программы с каждой версией превращаются в многофункциональных монстров. Вы наверняка наблюдали примеры таких превращений: браузеры, редакторы, IDE, мобильные приложения.
Конечно, ожирение сайтов и софта сопровождается повышением производительности компьютеров. И в каком-то смысле стимулирует этот рост производительности. То есть налицо цикл положительной обратной связи, грех жаловаться. Но всё-таки возникает вопрос: что же мешает разработчикам удалять лишние функции? Частичный ответ мы находим в научной работе «Люди систематически упускают субтрактивные изменения», опубликованной 7 апреля 2021 года в журнале Nature. Этот феномен проявляется не только в программировании, но и в решении других задач: при улучшении различных объектов, идей или ситуаций, и в целом в жизни людей.
Рассмотрим конструкцию на КДПВ. Фигурка человечка стоит под крышей, которая удерживается одним блоком в углу. Авторы исследования задали респондентам вопрос: «Как дешевле изменить структуру, чтобы на крышу можно было положить кирпич, не раздавив фигурку, если каждый новый блок стоит 10 центов?»
Большинство участников опроса предложили добавить блоки, поддерживающие крышу. Хотя более простым и дешёвым решением является убрать единственный блок в углу, чтобы крыша свободно легла на основание (такой вариант выбрал всего 41% респондентов).
Процент респондентов, выбравших варианты с добавлением элементов (оранжевый) и варианты с удалением (бирюзово-синий) в разных экспериментах
В серии подобных экспериментов авторы отмечают, что люди последовательно рассматривают изменения, которые добавляют компоненты, а не те, что их удаляют. Эта тенденция имеет широкие последствия для повседневного принятия решений.
Например, Адамс с коллегами проанализировали архивные данные своего университета. Они отметили такую особенность: когда новый президент университета запросил предложения по изменениям, которые позволят лучше обслуживать студентов и сообщество, только 11% ответов касались отмены существующих регламентов, практик или программ. Абсолютное большинство студентов предлагали что-то добавить.
Или вот ещё один эксперимент. Участников исследования попросили сделать симметричной сетку из зелёных и белых элементов 10?10.
Как вы уже понимаете, 51% участников добавляли зелёные блоки в пустую половину сетки, и только 49% удаляли лишние. Эффект наблюдался даже в том случае, когда удаление было более эффективным решением. Например, участники предпочитали добавить девять блоков, а не удалить три.
Другими словами, можно даже сделать вывод, что люди не очень хорошо справляются с поиском простых решений, если эти простые решения противоречат интуитивному мышлению (в данном случае шаблонным является добавление элементов).
Иллюстрация к вопросу, как улучшить поле для мини-гольфа, из научной статьи
Авторы научной работы доказали, что оптимальные решения с вычитанием элементов просто не приходят людям в голову. Когда в инструкциях прямо упоминалась возможность таких решений или когда участникам давали больше времени подумать или попрактиковаться, вероятность таких предложений возрастала с 41% до 61%.
Судя по всему, эвристика «что здесь можно добавить?» принята в качестве стратегии по умолчанию для простых и быстрых решений. Этот шаблон мышления можно преодолеть, если приложить дополнительные когнитивные усилия.
Учёные также предполагают, что к такому мышлению «по умолчанию» участников эксперимента может подталкивать предыдущий жизненный опыт. Точно так же члены университетского сообщества могут неявно предположить, что новый президент хочет от них принятия новых инициатив, а не критики существующих.
Следствия «накопительного» мышления мы видим повсюду вокруг: в разбухании ПО, ожирении сайтов, увеличении количества организационных структур и расширении свода государственных нормативных актов… И даже в наших домах, где встречается довольно много необязательных объектов.
Например, если человек не удовлетворён обстановкой в квартире, то склонен решать проблему покупкой новой мебели вместо того, чтобы убрать лишнюю мебель, которая занимает пространство и портит вид. То же самое происходит с бытовой техникой, посудой, одеждой и другими вещами. Людям не приходит в голову избавиться от ненужных вещей. В результате происходит накопление сущностей, что не решает проблему, а иногда и усугубляет её.
Такая тенденция особенно выражена у потребителей с ограниченными финансами — они, как правило, особенно сосредоточены на приобретении материальных благ. Это вредит финансовому положению самих потребителей и увеличивает нагрузку на окружающую среду.
В попытках улучшить маршрут путешествия только 28% респондентов исключают пункты маршрута. Попытки улучшить эссе (сочинение) приводят к его увеличению в 83% случаев. В огромном диапазоне контекстов люди просто не склонны удалять сущности.
В более широком масштабе предпочтение аддитивных решений способствует социальным проблемам, таким как увеличение количества формальных организаций по всему миру и экологически неустойчивое стремление к экономическому росту.
Сложение проще, чем вычитание?
Судя по результатам этого эксперимента, в любой ситуации добавление фундаментально проще, чем вычитание. С точки зрения проектирования программного обеспечения можно сказать, что добавление логичнее и безопаснее, чем вычитание, по нескольким причинам:
- Мы не знаем, по какой причине некий фрагмент кода (функция) были добавлены нашими предшественниками. Следственно, мы рискуем столкнуться с непредвиденными последствиями. Например, в картинке на КДПВ мы не знаем, можно ли опустить крышу — а вдруг она неспроста приподнята над основанием? Это классический пример забора Честертона:
В вопросе направленных преобразований, в отличие от деформаций, существует один простой и очевидный принцип, который даже можно назвать парадоксом. Допустим, существует конкретный закон или институт, для простоты примера забор или ворота, расположенные поперёк дороги. Современный тип реформатора, с энтузиазмом предлагает: «Я не вижу никакой пользы от этого; давайте уберём его с дороги». На что более разумный реформатор способен ответить: «Если вы не видите пользы от этого сооружения, я точно не могу позволить вам избавиться от него. Найдите время и подумайте. Только затем, когда вы вернётесь и сможете объяснить мне, что вы видите применение ему, возможно, я позволю вам исполнить ваше намерение.
— Гилберт Честертон
- В системе из n элементов поиск решения с вычитанием элемента требует понимания функциональности всех элементов в системе и их взаимодействия, что приближается к
O(n^2)
. В то же время решение с добавлением элемента требует понимания только одного нового элемента и того, как он один взаимодействует с системой, что больше похоже наO(n)
. В математике сложение концептуально проще вычитания: отсутствует концепция отрицательных чисел. С другой стороны, в математическом анализе интегралы (сложение) вроде бы аналитически сложнее, чем производные (вычитание).
- В сложных системах решение зачастую принимается в результате консенсуса, с учётом мнения всех заинтересованных сторон. Самое безопасное решение редко бывает оптимальным, а «добавить» что-то кажется более комфортным: это удобный итеративный процесс.
- Многие разработчики и менеджеры воспринимают программный код как ценный актив. В эту ментальную модель не вписывается польза от удаления кода.
Возможно, данную особенность человеческого мышления стоит учитывать при моделировании поведения общества и отдельных индивидуумов, в том числе для полезного манипулирования человеческим поведением со стороны будущего ИИ.
Люди не видят простых решений с вычитанием функций
Десятилетиями отцы учили своих детей ездить на велосипеде, прикрепляя сзади дополнительные колёсики для балансировки. Но как выяснилось, никакие колёсики не нужны: достаточно снять педали и опустить сиденье, чтобы ребёнок балансировал ногами самостоятельно — это более простой и эффективный метод.
В некоторых европейских городах дизайнеры избавляются от светофоров и дорожных знаков. Оказывается, зачастую можно обойтись вообще без них: движение становится проще и безопаснее (количество ДТП снижается).
В некоторых городах Нидерландов реализована концепция общего пространства, когда в отсутствие светофоров, дорожных знаков, дорожной разметки и других строгих правил люди используют общее пространство более эффективно: водители, велосипедисты и пешеходы действуют сообща
Всё это примеры, когда люди не видят очевидных решений, потому что привыкли решать проблемы добавлением элементов, а не удалением. Отсюда и нагромождение лишних сущностей.
Антуан де Сент-Экзюпери говорил: «Совершенство достигнуто не тогда, когда нечего добавить, а тогда, когда нечего убрать». Однако при решении реальных проблем люди склонны действовать иначе, добавляя элементы, а не удаляя их.
Работа Адамс с коллегами указывает на способ избежать этих ловушек в будущем — политики и руководители организаций могут явно запрашивать предложения на уменьшение/удаление. Например, президент университета может явно указать, что ожидаются и приветствуются рекомендации по устранению комитетов или правил. Как отдельные лица, так и учреждения могут принять меры самоконтроля. Например, потребители могут минимизировать пространство для хранения вещей, чтобы ограничить покупки.
В любом случае всегда работает базовое правило: нужно напоминать людям, что удаление — тоже вариант улучшения (многие об этом постоянно забывают). В данном эксперименте после такого напоминания процент правильных решений вырос на 20 процентных пунктов.
Научная статья опубликована 7 апреля 2021 года в журнале Nature (doi:10.1038/s41586-021-03380-y).
См. также:
- Петер Наур, «Программирование как построение теории»
На правах рекламы
Эпично! Мощнейшие виртуальные серверы на базе новейших процессоров AMD EPYC для размещения проектов любой сложности, от корпоративных сетей и игровых проектов до лендингов и VPN.
Подписывайтесь на наш чат в Telegram.
Apathetic
Делать такие выводы, основываясь на разнице в 2%, — это просто потрясающе.
elzahaggard13
Суть не в разнице в 2%. Авторы исследования ожидали, что людей, выбравших просто решение, будет больше чем 49%
Apathetic
Непонятно, почему авторы исследования считали какое-то из решений "простым", и что вообще значит "простое"? Кажется, для половины участников оказалось проще добавить новые блоки, вряд ли они делали это через силу.
elzahaggard13
Простым авторы считали решение, которое проще сделать, а не придумать. Что проще: убрать один блок или добавить три?
anton19286
всё ещё проще. нет человечка — нет проблемы.
anonymous
Проще не думать, разумеется.
Учитывая реальную бессмысленность этой задачи, люди используют ситуационное (т.е. как во время охоты на мамонта) решение — подпереть там, куда может упасть.
И еще. Что-то мне подсказывает (2021 год, графонистая картинка), что спрашивалось, какой способ люди предложат, а предлагать одинаково незатратно что с добавлением, что с убиранием. Думаю, этот момент более интересный с точки зрения психологии и современного виртуального мира.
Плюс, я думаю, слово «hold» в оригинальной формулировке, имеед психологический вес:
А вот деньги их не смутили, видимо с них не снимали минус. Хотя я бы добавил только один блок, учитывая " above… head".
event1
iRumba
Ну если подумать, то убрать из под крыши блок может быть сложнее и дороже, чем подстроить еще несколько.
event1
В реальной жизни — конечно. В рамках данной задачи, убирать блоки очевидно бесплатно, раз не указано иного.
ivanych
Ну, строго говоря, в рамках данной задачи вообще не оговорена возможность убирания блоков. При этом возможность добавления блоков явным образом упомянута, даже цена указана.
Короче говоря, формулировка провоцирует добавлять.
event1
Это «особенности» перевода. Вот оригинальная постановка вопроса:
«You will earn $1 if you successfully complete this task. Each brick you add costs ten cents.
You may alter the structure however you want, and you have as much time as you want. Please let me know when you are done.»
P.S. Здорово, что можно вот так пойти и почитать оригинальные материалы исследований.
ivanych
Не вижу никаких особенностей перевода. В оригинале так же прямо говорится о добавлении и во сколько обойдется это добавление. Вот если бы там было написано "добавление стоит 10, убирание бесплатно" - вот это было бы корректно, без подталкивания к добавлению.
JamboJet
Мой знакомый увидел в чужой смете строчку «демонтаж отверстия — 11 тыс руб» и очень возмущался как везде обманывают.
Пришлось объяснять, что качественно убрать отверстие на окрашеной стене намного сложнее чем сделать: нужно замешать шпакли, заполнить отверстие, участок с ладонь зашкурить и загрунтовать, подождать пока высохнет, отшпаклевать стену, подождать, затереть, загрунтовать, подождать, потом добыть краски в цвет а колеровку делают минимальным объемом по 1л, закрасить в два слоя (сложно сделать так, чтобы в боковом свете на стене не появилось «пятно»).
PS Я в стройке работаю. Место действия — дизайнерский ремонт квартиры. Заказчик передумал с местом крепления телевизора на стене.
PPS А уж если на стене фактурная штукатурка с наполнением, то это может быть целая эпопея в неделю длиной с художником, беличьими кисточками, реставрацией и т.д.