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