Машина голдберга что это такое
Машины Голдберга
История ненаучного поиска
Goldberg. Was ist das?
Некоторые считают, что тяга изобретать у человека всегда на первом месте. Они утверждают, что именно этим Homo Sapiens отличается от своих меньших братьев и сестер. Что, мол, древнему человеку было наплевать на древних женщин и жаркое из мамонта, а хотелось только изобретать, изобретать и еще раз изобретать!
Так вот, дорогие представители вышеуказанного вида. Мы спешим вас разочаровать, самое главное качество человека разумного — лень. Благодаря этому замечательному свойству у нас появилось колесо, радио, телефоны, компьютеры и даже игровые журналы.
Но среди миллиардов жителей Земли время от времени появляются абсолютно ненормальные индивиды. Они настолько неленивы, что изобретают не что-то, что сэкономит нам время, но наоборот — рады придумывать абсолютно бесполезные механизмы. Сегодня мы поговорим о человеке, который превратил создание абсурдных агрегатов в настоящее искусство, расскажем о его последователях и о том, во что все это превратилось в мире компьютерных игр.
Автора, автора!
Рубен-Гаррет-Люциус Голдберг родился в Сан-Франциско в 1883 году прямо в День независимости. Отец очень хотел, чтобы он стал инженером. Мальчик выучился и полгода проработал на благо родного города, а точнее — на благо городской канализации, но его отношения с трубами и коллекторами не сложились, и позже он стал художником в местной газете.
Когда ему исполнилось двадцать четыре, Голдберг уехал покорять Нью-Йорк, где в 1915 году его работами заинтересовались газетные синдикаты. До недавнего времени в США не было всеамериканских газет, но в каждом штате, а иногда и в городе выходили свои газеты. Издатели покупали фотографии, карикатуры и статьи именно у газетных синдикатов.
Работы Голдберга можно разделить на несколько циклов, и самым известным остается цикл изобретений безумного профессора Люцифера Горгонзолы. Автоматическая салфетка, уникальная точилка для карандашей размером с комнату, первая подушка безопасности, состоящая из таксы и черепахи, — это только некоторые примеры.
Соперники или соратники?
Но, конечно, Рубен Голдберг был не единственным, кому приходили подобные идеи.
Чудаки рождаются везде, и если в США творил Голдберг, то в Англии подобные агрегаты придумывал художник Вильям Робинсон. Интересно, что в Англии машины Голдберга называют не иначе как изобретения Робинсона-Голдберга, или машины Робинсона. А пару лет назад даже вышел мультик «В гости к Робинсонам», главный герой которого путешествует во времени при помощи чудаковатых изобретений.
Если у Голдберга было диплом инженера, то Робинсон черпал вдохновение в историях из жизни профессора Брейнстома — эксцентричного, слегка забывчивого и веселого персонажа Нормана Хантера. Имя Робинсона достаточно часто мелькает в документальных фильмах на BBC, тоже служа своего рода именем нарицательным. Камера, дающая устойчивое изображение при езде на велосипеде, — типичный пример «робинсонизмов».
Барабанщик Pink Floyd Ник Менсон, рассказал в интервью, что их сценические эксперименты были тоже «робинсонизмами».
В это же самое время в Дании жил Роберт Сторм Петерсен. Поэтому в Копенгагене подобные механизмы называли Storm P. Machines. А в бывшем СССР наиболее известным создателем машин Голдберга был Александр Семенов, долгие годы рисовавший их для журнала «Мурзилка».
Вначале было слово. Или игра?
Поклонников у безумных изобретений было множество. Неудивительно, что в 60-х годах прошлого века появилась настольная игра с особыми правилами — «Мышеловка», в которой игроки с помощью различных ухищрений должны загнать мышей соперника в мышеловку. Игра стала крайне популярной, несмотря на то, что она была лишь вариацией «змей и лестниц».
В 2006 году игра изменилась. Появились новые правила, два новых вида мышеловок, и, самое главное, — все это стало трехмерным.
Киномания
Голдберг жил в замечательное время, стал свидетелем создания кинематографа и компьютера и даже был сценаристом одного из фильмов, в котором можно было увидеть одно из его творений. И в дальнейшем машины Голдберга не раз попадали на экран.
В 1985 году Роберт Земекис снял первую часть «Назад в будущее», создав типичную машину Голдберга, единственное назначение которой — накормить Эйнштейна (пса профессора).
В мультипликационном фильме «Роботы» мы видим яркий пример цепной реакции — минимальное воздействие на один из элементов приводит к колоссальным изменениям и даже разрушению всей системы. В «Роботах» это показано на классическом примере косточек домино.
В триллере «Не оставляющий следа» убийца строил смертоносные машины Голдберга, которые вводили лекарства или разбивали склянки с кислотой в зависимости от числа просмотров видео с сайта kill-with-me.com. Надо отдать ему должное — маньяк ни разу не повторился в своих изобретениях.
А как там в рекламном отделе?
В 2003 году в рамках рекламной кампании новой «Хонды-Аккорд» на экране была показана машина Голдберга-Робинсона, составленная из запчастей автомобиля. И все было бы хорошо, если бы не один момент. На четырнадцатой секунде ролика колесо, получившее мизерный начальный импульс, едет вверх по склону. Как это может быть? Fake Goldberg?
Не остались в долгу и наши режиссеры: в 1983 году Анатолий Резников в мультике «Лето кота Леопольда» показал зрителям не что иное, как двунаправленную машину Голдберга.
Лето, дача и мышата, которые старательно пытаются напакостить коту. Один из вариантов — сбросить ему на голову арбуз, но для этого недостаточно просто скинуть его с крыши, ведь кот коварен и предусмотрителен. Нет, мы повесим бутылку с молоком, которая опрокинет чайник, вода наполнит чашку и перевесит рычажные весы, затем шарик скатится по желобу и толкнет шарик для бильярда. Шарик освободит тетиву лука, и стрела, попав в цель, запустит механическую фигурку, к которой прикреплена пила. Пила перережет веревку, на которой висит арбуз, который и нужен для того, чтобы отомстить ненавистному коту. Не тут-то было! Кот попался неправильный: угораздило же его сорвать арбуз, в результате чего вся стройная конструкция сработала в противоположном направлении, разбудив диких пчел.
«Эдвард руки-ножницы» (1990 год) — фильм Тима Бертона. В одном из воспоминаний главного героя мы видим замок его создателя и необычную машину для кормления. Ну-ка, приглядимся к ней. Хм, во время съемок Бертону явно приснился Голдберг!
Вообще, машины «быстрого» питания — очень популярная тема для режиссеров. Ведь были еще и «Семейный парень», «Большое приключение Пи Ви», «Дорогая, я уменьшил детей», «Балбесы», «Уоллес и Громит. Проклятие кролика-оборотня» и многие-многие другие.
Телемания
Говорят, что человек проводит у телевизора три-четыре часа в день. Смотрят люди не только сериалы, но и научные передачи. А там где исследования и наука, неизбежно появляются и изобретения в стиле Голдберга-Робинсона.
Кроме программы на BBC, о которой мы уже упоминали, в Японии уже несколько лет идет передача «Выключатель Питы», которая знакомит школьников с азами физики, математики и логики. И заставка этой программы — не что иное, как очередная машина Голдберга, которая служит только одной цели — показать название передачи.
А на телеканале «Дискавери» выходят «Разрушители мифов». В сети можно найти выпуск, где эти чудаки строили рождественскую машину Голдберга.
Игры, в которые играют.
К сожалению, Рубен Голдберг не дожил до того момента, когда его изобретения попали в персональные компьютеры. Вначале ползком и на ощупь, а потом уже более уверенно, сегодня же бегом и в семимильных сапогах машины Голдберга проникли в компьютерные игры.
The Incredible Machines
В далеком 1992 году Кевин Райан создал легендарную The Incredible Machine. А Джеф Таннел выпустил ее под эгидой собственной компании Dynamix (подразделение Sierra Entertainment). Целью игры было создание машины Голдберга-Робиннсона, которая позволяла выполнить простейшее задание: например, забрасывала мяч в корзину, используя для этого фиксированный набор предметов: дирижабли, свечки, кнопки, вентиляторы, веревки и рычаги, батуты.
Первая часть игры пришлась всем по вкусу, поэтому издатели дали добро на продолжение серии — дополнение The Even More Incredible Machine вышло уже через год. К сожалению, авторы сделали упор на расширение набора головоломок, практически не изменив набор предметов.
В 1994 году авторы, изрядно поработав над интерфейсом, новыми уровнями и наконец-то новыми предметами, выпустили вторую часть TIM. По количеству нововведений она превосходит все следующие сиквелы, был даже добавлен режим hot-seat. Но больше всего изменился редактор — с 1994 года можно было не только выбирать предметы, но и определять условия решения.
Венцом творения команды под началом Джефа Таннела стал выпуск третьей части безумных машин. Игра обрела оконный интерфейс — все-таки на дворе уже было время Windows. Разработчики добавили возможность прокрутки игрового поля и использования пользовательских фонов.
Параллельно с проектом TIM Крис Коул выпускает две игры с похожим сюжетом и графикой — Incredible Toons и Sid and Al’s Incredible Toons. В данном случае больший упор делался на мультяшность героев. Сид Е. Мыш (Sid E. Mouse) и Эл Е. Кот (Al E. Cat) настойчиво пытаются вывести друг друга из себя, прибегая к самым разнообразным уловкам. Да, сравнение с Томом и Джерри напрашивается.
Прошло почти пять лет, прежде чем разработчики вернулись к теме машин Голдберга. Но, увлекшись внешней мишурой, создатели позабыли добавить новых предметов. «Возвращение безумных изобретений» (Return of the Incredible Machine: Contraptions) и «Даже больше, чем просто изобретения» (The Incredible Machine: Even More Contraptions) — две попытки реанимации яркого проекта 90-х. «Возвращение» — просто клон TIM 2 (1994) с переработанным пользовательским интерфейсом и тем же набором головоломок. Этого было мало, чтобы стать хитом.
Один раз наступив на грабли, создатели не придали этому внимания. «Даже больше» тоже не отличалась новизной. Не помогла даже сетевая «фишка» WonSwap, с помощью которой пользователи могли обмениваться головоломками.
Как завести машину
Аккумуляторы садятся, машины глохнут. Несложное приспособление позволит забыть об этой проблеме навсегда. Чтобы завести машину, всего-то и нужно, чтобы дождик (А), наполнил ведро (В) водой, ведро съехало по проводам и выпустило на волю воздушные шарики (С). Шарики, наполненные гелием, устремятся вверх и раскачают груз (D), который заставит ножницы перерезать веревку (Е). Шар для боулинга (F), до этого крепившийся на веревке, падает в желоб (G). Скатившись по желобу, шар для боулинга освобождает мяч, удерживаемый плоскогубцами (Н). Мячик скатывается по доске и приводит в движение маятник Ньютона (J), ударив по молотку для крокета (I). Маятник толкает руку (К) на палке, которая включает зарядник для аккумулятора (L),— et voila, машина (М) оживает!
Crazy Machines 1-2
Хотя внешне первая часть Crazy Machines (2005 год) напоминает третью часть TIM, это совсем другая игра. Тут есть чокнутый профессор, который то и дело вставляет свои ехидные комментарии. Он, правда, может надоесть, но поначалу смешно и полезно. Тут есть множество предметов: моторы, паровые двигатели, молотки, дирижабли, магниты, солнечные батареи — все описывать слишком долго. А чем больше предметов у нас есть, тем более навороченные машины мы можем построить.
Окрыленные успехом, немцы выпустили целых три дополнения, в которых менялся только набор головоломок и их сложность — от самых простых до заковыристых. Общее число головоломок превысило четыре сотни. И, естественно, был еще удобный редактор, где фантазия игроков может разгуляться в полную силу.
Во второй части (2007 год) игроки смогли увидеть собственное творение в 3D (движок NVidia PhysX оказался очень в тему). И опять же огромное число разнообразных узлов, начиная от самых простых — мячиков, полочек, кегель, заканчивая сложными составными механизмами — например, собственными роботами.
Я думаю, что Crazy Machines, особенно вторая часть, — одна из лучших компьютерных реализаций идей Голдберга.
Fantastic Contraption
С развитием всемирной паутины последователи Голдберга проникли и туда. В онлайновой игре Fantastic Contraption («Фантастическая штуковина») нам нужно решить головоломку: доставить колесо из пункта А в пункт Б с помощью других колес, вращающихся по часовой стрелке или против нее, ременных передач и жестких сцепок.
Поначалу было всего около сотни таких задачек, а сегодня их уже десятки тысяч, а игроков больше сотни тысяч. Заплатив денежку, мы получаем возможность создавать свои уровни, решать головоломки других пользователей и всячески участвовать в общественной жизни сайта (комментарии к дизайну и рейтинг уровней). Бесплатно можно решить только двадцать головоломок. Да, чуть не забыли, адрес сайта www.fantasticcontraption.com.
Больше, чем Голдберг
Кроме игр, которые можно смело назвать детьми голдберговских фантазий, существует несколько двоюродных племянников и внучатых племянниц. В этих играх нам тоже нужно строить машины, и пусть внешне они не похожи на то, о чем мечтал Люцифер Горгонзолла, но присмотритесь повнимательнее — это же так близко!
Armadillo Run
2006 год. Питер Сток выпускает Armadillo Run («Путь броненосца»). Задача стандартна — провести броненосец (который больше похож на желтый мячик) из точки А в точку Б и заставить его удержаться в этом месте на пять секунд, используя фиксированный набор средств: веревки, ткань, металлические трубки, металлические листы и ракеты. Учтите, что у каждого материала свои свойства, свой вес, упругость, прочность, — и все это влияет!
Игра состоит из двух фаз: строительство и тестовый запуск. После создания пути игрок запускает броненосец, и тот пробует преодолеть дистанцию; в это время мы никак не может повлиять на события.
В игре действует реальная физика, материалы натягиваются, отталкивают броненосец, а при сильном воздействии даже рвутся. Через полые элементы (резинки, веревки, трубки) броненосец может проскакивать. Игровые элементы можно также убирать по таймеру — например, поставили вы железную балку, а через десять секунд она испарилась. Само собой, все упало в тартарары, но наш главный герой уже проскочил. Ракеты в Armadillo Run можно использовать не только для придания ускорения, с их помощью можно уничтожать лишние детали или переносить их из одного места в другое.
Особый шарм придает необходимость экономить деньги (все элементы имеют цену, и очень обидно, когда на прохождение уровня не хватает каких-то несчастных пяти долларов). Поэтому тут мало быть умным, нужно быть еще и экономным.
В итоге мы получаем колоссальную свободу маневра. В игре можно строить не только примитивные конструкции, но и создавать качели, блоки, лифты с реактивной тягой, ременные передачи, системы шестеренок, катапульты и многое-многое другое.
World of Goo
2008 год. Кайл Габлер и Рон Карнел ушли на вольные хлеба. Через год стараний они создали «Липкий мир» — игру, которой могла бы гордиться Electronic Arts, если бы они все еще там работали. Действие происходит на планете, населенной странными разноцветными шариками, среди которых появились любопытствующие — они хотят разобраться, что же произошло с их миром, из которого внезапно ушла красота.
Мы уже писали об этой игре, но в данном случае и повториться не грех. В течение пяти глав нам нужно производить доставку шариков Гу в точку сбора (которая до боли напоминает водосточную трубу) с помощью разного рода ухищрений. Во-первых, шарики можно соединять друг с другом, создавая башни, мосты и прочие чудеса липкой мысли. Во-вторых, есть здесь и воздушные шарики, которые могут приподымать созданные конструкции. В-третьих, тут есть еще очень много всяких разных шариков — шарики-липучки, шарики-вирусы, шарики-антивирусы, шарики-черепки, шарики-рассыпалки. Есть и опасные препятствия, которые надо преодолеть на пути к заветному сливу, — болота, пилы, шипы, огонь. Кроме того, сэкономленные шарики пойдут не куда-нибудь, а на постройку проекта века — Великой Башни Гу.
World of Goo — призер Фестиваля независимых игр (IGF-2008), победитель в двух номинациях: за инновационный дизайн и техническое исполнение. К сожалению, создатели заявили, что не собираются выпускать продолжение, но поклонники игры уже разработали редакторы новых уровней и приступили к созданию модов.
Crayon Physics Deluxe
Второй пример удивительного использования законов физики в компьютерной игре представил Петри Пурхо. Это была нарисованная мелками физика, о которой мы не только писали, но и выкладывали на диск полное прохождение.
За кажущейся простотой поставленной задачи — передвинуть мячик к звезде — скрывается потрясающее поле для фантазии игроков. Любой фрагмент, нарисованный на экране, тут же вступает во взаимодействие с другими элементами на экране, заставляя задуматься даже самых опытных игроков.
Эту игру можно спокойно назвать популярным учебником физики — симуляция гравитации, массы, кинетической энергии и прочего в игре просто великолепна.
В игру встроен редактор головоломок, а также описан двусторонний протокол обмена, который позволяет загружать и скачивать уровни через специальный сервис.
Каждый из игроков старается найти собственное решение для любой, даже самой простой головоломки. В самой игре создано более ста уровней, а творчество пользователей — вообще отдельный разговор. Там тысячи и тысячи задачек.
А напоследок я скажу.
Тот, кто однажды увидел машину Голдберга, влюбляется в нее сразу же. Тот, кто хотя бы один раз собрал машину Голдберга, становится одержимым. В интернете уже более пяти лет работают специализированные магазины, в которых можно приобрести необходимое оборудование для создания машин Голдберга.
В 1949 году в университете Пардю прошел первый турнир по созданию машин Голдберга. Вначале это было соревнование между научными братствами Тетта Тау и Триадой, и проводились такие турниры вплоть до 1956 года. С 1988 года голдбергомания снова овладела умами студентов и преподавателей. Обострение этой болезни происходит в марте. Ведь именно в этом месяце проводится финальная часть всеамериканского конкурса по созданию машин Голдберга.
На сегодняшний день турнир превратился в командное соревнование и проводится ежегодно. В 1995 году были также пересмотрены правила финальной части турнира — теперь действие надо выполнить не менее чем за двадцать шагов (вместо десяти, которые требовались до 1995 года).
Команды состоят не только из энтузиастов, но и из профессиональных ученых.
Задания могут показаться забавными: так, в 2007 году нужно было набрать апельсинового сока в стакан, в 2008-м году жарили гамбургеры, в 2009-м заботились об энергосбережении (заменяли старую лампочку «экономкой»). С 2005 года неофициальным программным обеспечением конкурса стал Gary’s Mod.
Garry’s Mod, GMod или GMOD — модификация движка, специально ориентированная на моделирование физических процессов. Для того чтобы использовать GMod, пользователю потребуется одна из игр, которая включает в себя Software Development Kit (Half Life 2 или Team Fortress 2 вполне подойдет). Дальше же все зависит от вашей фантазии.
Disclaimer: если эта статья разбудит вашего внутреннего Голдберга и как-нибудь за завтраком, вместо того чтобы просто налить себе чаю, вы соорудите огромную пирамиду из чашек, штопоров, ореходавилок и термоса, напугав маму, сестру и кота Мурзика, знайте — редакция журнала ЛКИ не несет за это ни малейшей ответственности!
Машина Голдберга в реальной жизни. Сложный ли алгоритм действия для сложного механизма?
Внимание! Данная статья относится к механической/электрической машине Голдберга и алгоритмам её работы.
Я начал писать эту статью в виде заметок чтобы как-то упорядочить процесс продолжительного, но прерывистого, “мозгового штурма” и потому статья будет в некотором роде последовательным изложением идей и улучшений, которые были придуманы по ходу выстраивания алгоритма. К тому же, это лишь первая, можно сказать “теоретическая”, часть общего цикла разработки самой машины Голдберга (устройства, которое выполняет простое действие нетривиальным способом), а потому будет продолжена последующими статьями.
Надеюсь, статья окажется интересной и, возможно, полезной для каждого. Начнём.
Вступление
Начать я хотел бы коротким описанием того, как появилась сама идея и зачем вообще нужна именно машина Голдберга, а, собственно, и алгоритм её действия. Это лишь лирическое отступление, а потому может быть пропущено с последующим переходом сразу к разделу “Начало разработки”.
Зимним ноябрьским днём на физическом факультете КНУ им. Тараса Шевченко мы с другом решили “почему бы нам не сделать что-то полезное самим? Мы же физики, для нас не проблема придумать что-то невероятно крутое и сделать это. Всего два дня и готово”. Остаток той пары теории групп был потрачен на попытку придумать, что же мы будем делать.
“Цитируя великих”, можно сказать: “Отсюда, очевидно, следует…”, что не так всё просто даже с определением, чего же мы хотим сделать. В конце концов ответ был найден. Мы хотим включить свет. Но не просто включить его, а включить лишь когда станет темнеть. Вроде простая задача – тут и думать не надо. Достаточно загуглить двухстраничный 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. Усложнённый алгоритм выполнения механического задания
Можно заметить, что усложнить алгоритм в данном случае для таких себе “мышц” робота не получится. Мы лишь можем увеличить количество шагов.
Нужно ли нам разветвление в алгоритме? Будет ли это полезно для реализации машины Голдберга? Если бы я сам только знал. Однако, механическая реализация существенно ограничивает количество возможных разветвлений алгоритмов, одновременно внося такую эффектность в выполнение сего алгоритма.
Вывод
Очевидно, что для реализации механической машины Голдберга нет необходимости в сложном алгоритме. Тем не менее это никак не влияет на само исполнение. Таким образом, машина Голдберга – идеальный представитель линейной, а соответственно и простейшей алгоритмической логики.