Питер Макоуэн - Вычислительное мышление: Метод решения сложных задач
- Название:Вычислительное мышление: Метод решения сложных задач
- Автор:
- Жанр:
- Издательство:Альпина Паблишер
- Год:2017
- Город:Москва
- ISBN:978-5-9614-5020-0
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Питер Макоуэн - Вычислительное мышление: Метод решения сложных задач краткое содержание
Если вы хотите узнать больше о вычислительном мышлении, ищете новые способы стать эффективнее и любите математические игры и головоломки, эта книга для вас. В то же время вы научитесь навыкам, необходимым для программирования и создания новых технологий. Даже если вы не планируете писать программы и изобретать, вы сможете применять навыки вычислительного мышления, чтобы справиться с любыми жизненными проблемами.
Вычислительное мышление: Метод решения сложных задач - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Если посмотреть, как мы, люди, планируем задачи, то окажется, что и здесь мы применяем вычислительное мышление. Например, абстрагирование:мы часто игнорируем детали, чтобы упростить то, чем занимаемся, — разбираясь со сложной ситуацией, мы каждый раз выделяем элементы, которые кажутся нам важными. Представьте, что вы описываете любимый сериал близкому другу. Вероятно, вы опишете не те вещи, на которых сделали бы акцент, если бы надо было написать сочинение на эту тему.
Мы используем декомпозицию, устанавливая цели и подцели, когда составляем план. Например, наша цель — сходить в магазин, чтобы купить еду на неделю. В этом случае у нас будут примерно такие подцели: не забыть взять сумку, заехать в магазин, взять все необходимое, заплатить — и так далее. Цель «взять все необходимое» снова разбивается на подцели. Приехав в магазин, мы, как правило, не задумываемся, где находятся нужные нам товары. И когда мы ищем яйца, нас не интересует, где стоят хлопья для завтрака. Мы делим проблему на отдельные части.
То есть мы применяем вычислительное мышление не только потому, что нас ему научили. Мыслить таким образом для нас довольно естественно, по крайней мере в определенной степени. В то же время информатика учит делать это тщательно и в контексте точных алгоритмических решений.
Как мы уже отмечали, сейчас пишется все больше программ, которые позволяют компьютерам не просто заниматься вычислениями, но и мыслить вычислительно. В компьютерных программах тоже используется декомпозиция. Чтобы их было легче писать, разработчики раскладывают инструкции на отдельные шаги или процедуры, так же, как мы разделяем цели на подцели. Это значит, что, продвигаясь к желаемому результату в процессе выполнения инструкций, программа проходит через различные этапы плана, примерно так же, как это делаем мы. Они используют сопоставление с образцомприменительно к порождающим правилам, и системы машинного обучения позволяют им увидеть даже более сложные шаблоны. В программах для зрительного распознавания используются фильтры,которые прячут лишние детали, прибегают к своего рода абстракции.Чем больше мы стремимся усовершенствовать искусственный интеллект,тем больше копируем навыки нашего мозга. Как мы видели, знание сводится к вычислению, по крайней мере на уровне нейронов. Так думаем ли мы как компьютеры?
Разница между нашим мозгом и компьютерами может проявиться, если тщательнее рассмотреть, как мы выполняем планы. Вычислительное мышление для нас естественно, однако это не значит, что мы вычисляем так же, как компьютер. Дана ли нам от природы способность выполнять план так же точно, как компьютер? Нет.
Предлагаем вам попробовать вариацию на тему старой головоломки. Она покажет, как люди задумывают и выполняют свои неформальные планы.
Фермерша отправляется в ближнюю деревню с овчаркой по имени Дымка, которую всегда берет с собой. Чтобы попасть в деревню, нужно переплыть реку с быстрым течением. На другом берегу живет изобретательница, которая сделала приспособление, позволяющее быстро перебраться через поток. Оно состоит из веревки, блоков и сиденья для одного человека. Местные жители условились всегда оставлять сиденье со стороны деревни, где живет изобретательница, чтобы она могла каждый вечер убирать его. В конце концов, она ничего не берет за переправу. Добравшись до реки, фермерша перетягивает сиденье с другой стороны. Она садится, прижимает к себе Дымку, перебирается через реку и продолжает путь в деревню.
В один прекрасный день она покупает курицу и мешок зерна. Возвращаясь домой, она приходит на берег и быстро понимает, что у нее проблема. Она может перевезти с собой только что-то одно. Придется переправляться несколько раз. Но если она оставит курицу и зерно на любом берегу, курица склюет зерно. Точно так же, если она оставит вместе Дымку и курицу, собака напугает птицу и та перестанет нести яйца. Но Дымка не ест зерно, значит, его можно спокойно оставить с ней.
Запишите последовательность шагов (конечно, это будет алгоритм!), которую нужно пройти фермерше, чтобы переправить всех и вся в целости и сохранности и продолжить путь. Помните, что собака и курица, а также курица и зерно не должны оставаться без присмотра.
Сначала решите головоломку, а потом читайте дальше.
Мы, люди, делим выполняемые задания на подцели, но, как выяснилось, в отличие от компьютеров, мы обычно забываем о подцелях и не заботимся о последствиях. Это происходит потому, что объем нашей краткосрочной памятиограничен. Если в настоящий момент нам надо запомнить слишком много, то неизбежно что-то упустим из внимания, так как концентрируемся на более важном. Что ваш мозг считает самым важным? Приоритет получают цели, которых вы хотите достичь, в отличие, например, от необходимости навести порядок. Вряд ли вы забудете включить свет — без этого будет не видно, что вы делаете. Однако легко забыть его выключить перед уходом. Почему? Потому что вы достигли своей цели в комнате и ваш мозг переключился на новую важную цель — ту, ради которой вы уходите из комнаты.
Как это применимо к нашей головоломке? Дело в том, что многие находят ответ и у них получается переправить фермершу, собаку и зерно через реку. Однако они упускают последний шаг — не возвращают сиденье на другой берег. Правильное решение представлено на рис. 74.

Если этот последний шаг не включен в ваш план, значит, вы допустили в своем алгоритме то, что называют ошибкой после выполнения. Вы сосредоточены на цели, но забыли, что после выполнения подцели нужно кое-что доделать, то есть вы сделали ошибку на стадии планирования. Еще проще забыть что-то вроде этого, занимаясь повседневными делами. Мы не совершаем подобных ошибок каждый раз, когда для этого создаются условия. Все зависит от того, как много еще надо удержать в голове. Если краткосрочная память заполнена другим, вероятнее всего, вы забудете о подобных завершающих задачах. Краткосрочная оперативная память индивидуальна,поэтому некоторые делают такие ошибки чаще. Но если в голове нужно держать достаточно много, рано или поздно их делают все.
Так что, по крайней мере в этом отношении, мы не похожи на компьютеры. Они четко следуют плану. Нашему мозгу трудно это сделать без помощи.
Итак, мы делаем ошибки, но машины могут помочь их избежать. Банкоматы на улице — хороший пример того, как программирование позволяет повысить или снизить вероятность такого рода ошибок. Когда они только появились, вы получали деньги, а потом карту (в некоторых странах это до сих пор делается так). Выяснилось, что многие люди уходили с деньгами, но без карты. Почему? Потому что у них была цель — взять деньги. Как только главная цель была достигнута (пришли и получили деньги), они уходили, мысленно уже обращаясь к следующей цели. Предыдущая подцель — вставить карту — выполнена и забыта... а вместе с этим забыта и появившаяся новая подцель — забрать карту.
Читать дальшеИнтервал:
Закладка: