Машина голдберга что это
Машина Голдберга в реальной жизни. Сложный ли алгоритм действия для сложного механизма?
Внимание! Данная статья относится к механической/электрической машине Голдберга и алгоритмам её работы.
Я начал писать эту статью в виде заметок чтобы как-то упорядочить процесс продолжительного, но прерывистого, “мозгового штурма” и потому статья будет в некотором роде последовательным изложением идей и улучшений, которые были придуманы по ходу выстраивания алгоритма. К тому же, это лишь первая, можно сказать “теоретическая”, часть общего цикла разработки самой машины Голдберга (устройства, которое выполняет простое действие нетривиальным способом), а потому будет продолжена последующими статьями.
Надеюсь, статья окажется интересной и, возможно, полезной для каждого. Начнём.
Вступление
Начать я хотел бы коротким описанием того, как появилась сама идея и зачем вообще нужна именно машина Голдберга, а, собственно, и алгоритм её действия. Это лишь лирическое отступление, а потому может быть пропущено с последующим переходом сразу к разделу “Начало разработки”.
Зимним ноябрьским днём на физическом факультете КНУ им. Тараса Шевченко мы с другом решили “почему бы нам не сделать что-то полезное самим? Мы же физики, для нас не проблема придумать что-то невероятно крутое и сделать это. Всего два дня и готово”. Остаток той пары теории групп был потрачен на попытку придумать, что же мы будем делать.
“Цитируя великих”, можно сказать: “Отсюда, очевидно, следует…”, что не так всё просто даже с определением, чего же мы хотим сделать. В конце концов ответ был найден. Мы хотим включить свет. Но не просто включить его, а включить лишь когда станет темнеть. Вроде простая задача – тут и думать не надо. Достаточно загуглить двухстраничный How To и готово. Но ведь это не интересно нам. Мы хотим включать свет механически. То бишь, нам нужна рука для МКС, как у Говарда Воловица.
Постепенно задача расширялась и изменялась, неспешно переходя в “314 способов включить свет”. Варианты, которые мы рассматривали были постепенно откинуты в связи со сложностью выполнения и просто с невозможность договорённости между собой.
Неожиданно вспомнив своё детство, проведённое за различными играми-вариациями “The Incredible Machine”, я решил, что будет здорово сделать именно так. Сделать эффектный механизм, а не только полезный и сложный. Посему, добро пожаловать в мир машин Голдберга!
P.S.: Далее по тексту я буду называть наше творение роботом, а не машиной Голдберга для экономии ресурса клавиши Shift.
Машина Голдберга и возможности реализации
Машина Голдберга – устройство, которое сложным и совершенно нетривиальным методом выполняет простое действие. Подробнее про такие механизмы можно прочитать в Википедии, а потому я не буду останавливать внимание на исторической справке.
Такие машины можно условно поделить на два основных класса: одноразовые и постоянные. В первом случае, как следует из названия действие возможно выполнить лишь один раз, а дальнейшая работа механизма требует вмешательства извне. Во втором же случае возможен лишь механический износ, что влияет на выполнение действия несущественно и только в перспективе. Последний вариант, очевидно, существенно полезнее в жизни, особенно при достаточно регулярном выполнении цикла работы, а поскольку темнеет за окном и в комнате каждый день, то было бы совсем неплохо не “заводить” выключатель так часто.
Задача про освещённость
Предположим, источник освещает замкнутое пространство формы параллелепипеда размером с небольшую лабораторию через отверстие в одной из граней, замаскированное под окно. Определите зависимость средней освещённости от времени, если учесть, что время циклично освещённость.
Для решения подобной задачи построим некоторый алгоритм А.
Рис. 1. Простой алгоритм определения освещённости
Таким образом нам необходимо всего 2 шага для перехода к дальнейшим действиям:
1. Получить информацию
2. Проверить её
Но, если всё так просто, зачем вообще морочить себе голову? Потому алгоритм легко можно усложнить. Для начала воспользуемся исключительно полезным усложнением. К примеру, увеличением точности (алгоритм Б).
Рис. 2. Усложнённый алгоритм определения освещённости
1. Получение информации
2. Проверка
3. Запрос дополнительных данных, если 2 выполнен
4. Получение дополнительных данных
5. Проверка дополнительных данных
6. Продолжение работы
Благодаря усложнению алгоритма и получению дополнительных данных мы можем увеличить точность. К примеру, раз мы включаем свет, то освещённость увеличится, значит свет надо выключить? Боюсь, мы так зациклимся, а прохожие будут в недоумении, что за азбука Морзе доносится из окна.
Теперь осталось лишь придумать, каким образом механически всё усложнить. Что первое приходит в голову, когда мы задумываемся о свете? Не о белом свете, а о том полезном компоненте нашей жизни, который делает жизнь немного приятнее.
Не знаю, как у вас, но у меня в голове сразу же возникает сложнейшая схема из зеркал, линз, фильтров и поляризаторов, соответственно она нам и нужна. Но нет, мы не будем ничего прожигать. Или будем? Этот вопрос пока находится на рассмотрении, т.к. наш робот должен быть достаточно автономным.
Тем не менее, начать нужно с простого, иначе сложное у вас никогда не получится таким, как хочется и будет жить своей жизнью. Итак, 3 примера реализации простого алгоритма определения освещённости.
Рис. 3. Схемы разных реализаций простого алгоритма
I. Электричество и фотоэлемент
Одна из простейших реализаций. Берём, к примеру, фоторезистор (диод, транзистор и т.д.) у которого меняются электрические характеристики в зависимости от освещённости и подключаем к электрической цепи. В результате изменения освещённости изменится падение напряжения на таком резисторе.
II. Весы, давление, линза и вода (невыполнимый алгоритм)
Уже менее тривиальная реализация, к тому же требующая большой точности. Небольшое количество воды наливается в ёмкость на точных весах. Собирающая линза ставится так, чтобы поверхность воды была в фокусе. При достаточном световом потоке, вода станет испарятся чуть быстрее, чем в отсутствии оного что и должны измерить весы. К сожалению, это всё хорошо в теории, но на практике не выполнимо. Кроме того, запасы воды нужно будет регулярно пополнять с помощью дополнительного механизма либо вручную.
III. Линза, нитка, груз и таймер (трудно повторяемый)
Схема существенно результативнее предыдущей. При увеличении светового потока, нитка, находящаяся в фокусе линзы будет пережигаться быстрее, что и будет зафиксировано таймером. К сожалению, данный алгоритм требует дополнительный механизм, который выполнял бы полезную работу – поднимал груз и натягивал новую нитку (много и ещё больше раз в день).
Понятное дело, что подобных алгоритмов можно придумать уйму, однако точность каждого следующего вряд ли будет увеличиваться, что нам совершенно не нужно. Наша задача теперь усложнить самый точный из алгоритмов с системой проверки так, чтобы механизм стал немного ближе к “идеально сложному” роботу. Для себя я лично выбрал алгоритм I. Тем не менее, я не утверждаю, что он лучший из всех возможных. Перейдём к модификациям.
Наш усложнённый алгоритм подразумевает использование проверки полученного результата. А поскольку мы разрабатываем машину Голдберга, проверять идентичным способом, которым выполняется обычный сбор информации – не логично и не интересно. Попробуем несколько механических модификаций.
I.1. Рельсы и перемещение датчика
Ремарка. Для упрощения схемы перемещения будем считать, что в одну сторону перемещения всегда происходят под действием гравитации, а в обратную с помощью внешней силы (поезда, кто же в детстве не мечтал о железной дороге?).
После каждой успешной проверки будем перемещать датчик в другую точку и проверять освещённость там. Естественно, после выполнения, датчик необходимо возвращать в исходное положение.
I.2. Рельсы и стеклянный шар
Второй вариант использования рельс. После первой проверки в сторону датчика скатывается стеклянный шарик, изменяя этим освещённость датчика благодаря рассеиванию либо фокусировке света (в зависимости от взаимного положения датчика и шарика)
I.3. Поляризационный или частотный фильтр (цветной светофильтр)
Закрывая датчик фильтром можно определить источник света (солнечный рассеянный или свет от уже включённой лампы). Требует должного знания спектральных или поляризационных характеристик источника освещения (лампы). Закрывать датчик фильтром можно разными методами. К примеру, поворотом фильтра вокруг некоторой оси, перпендикулярной ему, либо опусканием фильтра ближе к сенсору.
“Где же здесь сложный механизм?” – спросите вы. На этом вопрос я могу легко ответить. Наш алгоритм не ограничивает схему физически или философски, то есть никак не ограничивает. Соответственно, что мешает нам учесть, что каждый элемент на блок-схеме – это целая отдельная схема?
Потому перейдём к следующей задаче.
Задача про механическую кнопку, которая убегает
Предположим, дана кнопка, которая постоянно перемещается в одномерном пространстве (перемещается вдоль произвольной, в общем случае, заданной линии). Как на неё нажать?
Зачем нам это нужно? Что бы было эффектнее. Что если кнопка включения света не стоит на месте? К примеру, она может перемещаться по круговой траектории. Рассмотрим схему с использованием специального рычага для нажимания на кнопку.
Рис. 4. Схема работы рычага
Рис. 5. Схема с перемещением кнопки вокруг рычага
Или же мы можем использовать не одну, а несколько кнопок. Тогда нам надо нажать на нужную. Вариант от обратного – рычаг перемещается, и мы должны успеть нажать на нужную кнопку в нужный момент.
Рис. 6. Схемы с перемещающимися кнопками и с перемещающимся рычагом
Однако, последние варианты можно использовать и для простой реализации разных функций механизма.
Алгоритм, выполняемый в простом случае, идентичный простому алгоритму для определения освещённости. В усложнённом же случае:
Рис. 7. Усложнённый алгоритм выполнения механического задания
Можно заметить, что усложнить алгоритм в данном случае для таких себе “мышц” робота не получится. Мы лишь можем увеличить количество шагов.
Нужно ли нам разветвление в алгоритме? Будет ли это полезно для реализации машины Голдберга? Если бы я сам только знал. Однако, механическая реализация существенно ограничивает количество возможных разветвлений алгоритмов, одновременно внося такую эффектность в выполнение сего алгоритма.
Вывод
Очевидно, что для реализации механической машины Голдберга нет необходимости в сложном алгоритме. Тем не менее это никак не влияет на само исполнение. Таким образом, машина Голдберга – идеальный представитель линейной, а соответственно и простейшей алгоритмической логики.
Что такое машина Голдберга?
Машина Голдберга — некий механизм, с помощью цепочки разнообразных действий (построенных по принципу домино) выполняющий простую задачу предельно сложным, вычурным и длинным путём. Концепция такого устройства появилась в начале XX века. Так как британские учёные в те времена занимались полезными делами, эту идею миру представили художники-карикатуристы.
Одним из первых, кто додумался рисовать подобные механизмы, был Руб Голдберг (1883–1970) — американский художник-карикатурист, получивший образование инженера. В 1907 году он переехал в Нью-Йорк, и устроился работать в газету New York Evening Mail. Благодаря таланту и хорошему тиражу издания рисунки Голберга быстро стали популярными, а сам художник — богатым и преуспевающим. Среди его стрипов и комиксов читателям особо запомнился цикл об изобретениях безумного профессора Люцифера Горгонзолы Баттса.
Изобретения Горгонзолы сложны, абсурды, а главное — практически нереализуемы в реальной жизни, так как среди звеньев механизма часто оказываются такие ненадёжные элементы, как живые существа. Но в этом-то и всё очарование. К тому же Голдберг не просто рисовал машину, а снабжал её подробной инструкцией. К примеру, самый известный механизм под названием «Самодействующая салфетка» работал так. Подняв ложку (A), профессор натягивает шнур (B), который дёргает вторую ложку (C), подбрасывающую печенье (D). Печенье в воздухе ловит попугай (E), чем заставляет вращаться жёрдочку (F), при этом семена (G) высыпаются в ведёрко (H). Потяжелевшее ведёрко опускается и тянет трос (I) вниз, тем самым поджигая зажигалку (J). Огонь воспламеняет фитиль ракеты (K); та, взлетая, серпом (L) перерезает верёвку (M), фиксирующую маятник, который, качаясь, и вытирает подбородок профессора салфеткой. Ну и что, что это сработает с сотой попытки и один раз? Зато очень смешно!
Хотя в 1930-х в Америке имя Руда Голдберга прочно ассоциировалось с запутанными механизмами (причём иногда и в переносном смысле — например, так можно было описать бюрократическую систему), он был не единственным, кто придумывал такие машины. Ещё во времена Первой мировой войны прославился английский художник Уильям Хит Робинсон, на иллюстрациях которого простые вещи (например, колка орехов) делались неочевидным и довольно сложным образом (стрельбой из пушки с двух сторон).
В Дании местного Голдберга звали Роберт Сторм Петересен (1882–1949). Он тоже был художником, автором комиксов и рассказов. В своих рисунках он нередко изображал механизмы, схожие по принципу с работами Голдберга и Робинсона.
Во многих других странах тоже есть свои аналоги «машины Голдберга». В Испании подобные карикатуры публиковал журнал комиксов TBO. В Турции их рисовал художник-комиксист Ирфан Саяр, в Норвегии — карикатурист Челль Аукруст, в СССР — Александр Семёнов. А вот индусы соригинальничали. У них место Голдберга занял дядя — персонаж стихотворения детского писателя Сукумара Рая.
Разумеется, идею машины Голдберга не могли обойти стороной создатели мультфильмов и кино. Что интересно, чаще всего цель машины, показанной на экране, — накормить кого-либо. Так, например, работает устройство, показанное в начале фильма «Назад в будущее», — оно готовит завтрак Доку Брауну и накладывает собачьи консервы его псу Эйнштейну. В третьей части Док, застрявший на Диком Западе, использует похожее устройство для производства льда. Аналогичная машина кормит Эдварда Руки-ножницы в одноимённом фильме Тима Бёртона. Ещё такие устройства есть в мультфильмах «Гриффины», «Уоллес и Громит», фильмах «Большое приключение Пи-Ви» (кстати, дебютная режиссёрская работа всё того же Бёртона), «Дорогая, я уменьшил детей» и многих других.
Также персонажи мультиков очень любят строить машину Голдберга для причинения увечий друг другу. Правда, как правило, в яму попадает тот, кто сам её и вырыл. Например, так случилось в эпизоде Designs on Jerry мультсериала «Тома и Джерри» (1955) и в советском мультфильме «Лето кота Леопольда».
Один из ярких примеров машины Голдберга показан в 30-минутном авангардном фильме «Ход вещей» (1987 года) швейцарцев Петера Фишли и Давида Вайса. В нём показана работа конструкции, собранной из различных объектов: шин, бутылок, колёс, сосудов с жидким азотом, горючими жидкостями и пенистыми материалами. Фильм получил ряд премий и часто демонстрируется в учебных заведениях и музеях.
Машина Голдберга довольно часто появляется на телевидении. Многие детские образовательные шоу, появившиеся в США ещё в 1960-х, посвящали свои выпуски строительству машин Голдберга, чтобы продемонстрировать в действии простые физические законы. А в заставке японской передачи «Переключатель Пифагора» машина Голдберга выстраивала название шоу. Причём заставку несколько раз обновляли, показывая новую машину.
Не могли пройти мимо такой темы и легендарные «разрушители легенд» — Джейми Хайнеман и Адам Сэвидж. В рождественском спецвыпуске они за неделю построили машину Голдберга из газировки, «Ментоса», шара для боулинга, жареной индейки и разного хлама, найденного в мастерской. В итоге устройство из 60 звеньев смогло с десятой попытки скинуть со стула Бастера (несчастный манекен, над которым проводят большинство экспериментов).
Машина Голдберга также появляется в опенинге телесериала «Элементарно» — вариации на тему Шерлока Холмса.
На основе идеи цепной реакции создано несколько ярких рекламных роликов. Один из самых известных — двухминутная реклама автомобилей Honda, снятая в 2003 году. В ней показана машина Голдберга, сделанная из автомобильных запчастей. Пружины, дворники и акустика в итоге заводят другую, собранную машину, чтобы она элегантно съехала с возвышения. Бюджет ролика составил около 1 миллиона фунтов стерлингов, а на съёмку потребовалось 606 дублей.
Другой яркий пример — рекламный ролик Power of Optics, снятый для японской компании auHikari, занимающейся оптоволоконной связью. В нём продемонстрирована машина Голдберга, которая запускается от света. Хотя в ней не обошлось без металлических шариков, основную роль играют сфокусированные и отражённые световые лучи, которые поджигают тросики и лопают воздушные шары, приводя механизм в действие.
Машина Голдберга показана в клипе на песню This Too Shall Pass группы OK Go (те самые, которые сняли в 2016 году клип в невесомости на самолёте Ил-76). Устройство из 700 частей в течение четырёх минут, пока длится песня, выполняет цепную реакцию длинной более полукилометра. В финале цепочка приводит к тому, что в музыкантов группы стреляют пушки с краской.
Также машина Голберга показана в клипе An Honest Mistake американской рок-группы The Bravery.
Не остались в стороне и игры. Ещё в 1963 году в продажу поступила настольная игра Mouse Trap (Мышеловка), основанная на принципе машины Голдберга. Задачей игрока было построить из пластиковых компонентов механизм, который при запуске совершал нужную последовательность действий и в конце концов ловил в мышеловку фигурку мыши, принадлежащую другому игроку.
Существует также немало видеоигр, в которых нужно строить машины Голдберга. Одной из первых была The Incredible Machine, созданная Кевином Райаном в 1992 году. Игра представляла собой типичную головоломку с физикой — из заданных частей нужно построить машину, которая выполнит простую задачу. У The Incredible Machine вышло несколько продолжений, мало отличающихся от оригинала. Её духовный наследник — серия Crazy Machines, вышедшая уже в середине нулевых.
С появлением смартфонов и планшентов, оснащённых гироскопами, идея игр на основе машин Голдберга обрела второе дыхание. На iOS были портированы Crazy Machines, The Incredible Machine, а также вышла официальная игра Rube Works, вдохновлённая комиксами Руба Голдберга.
Purdue University photo/Andrew Hancock
В 1949 году между научными братствами «Тетта Тау» и «Триада» университета Пёрдью (Индиана, США) состоялось первое соревнование по созданию машин Голдберга. Турниры продолжались ежегодно до 1956 года. В 1988-м всё те же братства решили возродить соревнования по голдбергостроению, но уже в рамках национального чемпионата.
Purdue University photo/Andrew Hancock
Как и любой вид спорта, чемпионат по созданию машин Голдберга регулируют строгие правила. В соревнованиях принимают участие несколько категорий спортсменов, в том числе и команды детей 11–14 лет. Машина должна не менее чем за 20 шагов совершить некое действие — каждый год новое. Действие может быть как довольно простым — например, «полить растение» или «забить гвоздь», — так и более сложным: «приготовить гамбургер из мяса, двух овощей и двух приправ» или «выжать апельсиновый сок в кувшин и налить сок из кувшина в чашку». Темой 2016 года стало «открыть зонтик». Результаты соревнований не раз попадали в книгу рекордов Гиннесса. На соревнованиях 2012 года машина, построенная командой университета Пёрдью, смогла надуть и лопнуть воздушный шарик за 300 шагов (предыдущий рекорд, принадлежащей той же команде, составлял 244 шага). Несмотря на это, они получили только второе место, уступив команде из колледжа Святого Олафа.
Машина Голдберга
Машина Голдберга, машина Руба Голдберга, машина Робинсона-Голдберга, Машина Робинсона или заумная машина — это устройство, которое выполняет очень простое действие чрезвычайно сложным образом — как правило, посредством длинной последовательности взаимодействий по «принципу домино».
Содержание
История
В течение всего XX века в различных странах карикатуристы использовали образ очень сложных машин, выполняющих неожиданно простые действия для создания комического эффекта. Как правило, такие механизмы получают в этих странах названия, связанные с изображающим эти механизмы художником.
В Индии юморист и детский писатель Сукумар Рай в своём стихотворении «Странное и случайное» показывает персонажа Дядю, который создаёт абсурдно сложный механизм. В разговорном бенгальском «Дядино изобретение» стало обозначать сложный и бесполезный предмет.
В Испании механизмы, похожие на машины Голдберга, называют «Изобретение TBO» (исп. Inventos del TBO ) или сокращённое «tebeo», названные так из-за журнала комиксов «TBO», где показывались «великие изобретения профессора Франца из Копенгагена».
В Норвегии карикатурист Челль Аукруст создал мультипликационного персонажа Реодора Фелгена, постоянно создающего из различных подручных средств сложную технику, которая невероятным образом работает.
В Турции такие устройства известны как Zihni Sınır Proceleri, от имени их изобретателя, вымышленного профессора Zihni Sınır (Раздражительный ум), созданного Ирфаном Саяром в 1977 году для журнала комиксов Gırgır. Карикатурист позже открыл студию, продающую работающие реализации таких механизмов.
В Японии есть близкое понятие — тиндогу, но оно включает все малополезные изобретения, вне зависимости от сложности.
Профессиональные художники
Американский скульптор Тим Хоукинсон создал несколько инсталляций, использующих принцип домино.
Фишли и Вайс — дуэт швейцарских художников, известных прежде всего короткометражным фильмом «Ход вещей», в котором показана сложная машина, состоящая из повседневных вещей.
Конкурсы
Существует несколько регулярных конкурсов по постройке машин Голдберга.
На телевидении
В короткометражном телефильме «Крюк и Лестница» (1932) из серии «Пострелята» показано несколько подобных механизмов.
Один из эпизодов научно-фантастического телесериала «Секретные материалы» («Вариант Голдберга») повествует о человеке, необыкновенное везение которого складывается из замысловатых последовательностей событий.
В кино
В короткометражном мультфильме «Designs on Jerry» из серии «Том и Джерри» кот Том создаёт проект сложного механизма для поимки мышонка Джерри, но тот меняет одну цифру в чертеже, в результате чего после запуска построенной машины достаётся коту.