Мы знаем, что Facebook, Google и Amazon имеют алгоритмы, которые предоставляют нам обновления, результаты поиска и рекомендации по продуктам, но что это на самом деле означает? Что можно назвать алгоритмом? Можете ли вы записать один? Как бы это выглядело, если бы вы это сделали? Поскольку они управляют многими аспектами нашей повседневной жизни, важно иметь общее представление о том, что именно происходит под капотом – и на самом деле это не так устрашающе, как часто кажется.
Читайте также: Болезнь сердца можно определить с помощью алгоритма Google
Неформальное определение: алгоритмы — это всего лишь рецепты
По сути, алгоритм — это просто набор четко определенных шагов, которым вы можете следовать, обычно принимая одни входные данные и производя другой набор выходных данных. Рецепт кекса может быть алгоритмом. То же самое можно сказать и о том, как добраться до дома друга, прослушать ноты или найти слово в словаре. Раймон Кено даже напечатал книгу из десяти сонетов, строки которых можно легко смешивать и
Contents
Неформальное определение: алгоритмы — это всего лишь рецепты
Способы реализации этих алгоритмов сильно различаются, но вам не нужно знать какой-либо язык программирования, чтобы понять основную логику, лежащую в их основе. Например, ниже приведен алгоритм определения простых маршрутов ходьбы.- Выйдя из двери, поверните направо.
- Идите по дороге, пока не дойдете до Маркет-стрит.
- Добравшись до Маркет-стрит, поверните направо.
- Идите прямо, пока не увидите кирпичное здание.
- Войдите в парадную дверь.
Это очень простой алгоритм, использующий множество входных данных, которые люди могут легко обработать; мы уже знаем о ходьбе, улицах, материалах, входе и всем остальным вещах. Если бы мы создавали алгоритм направления для робота, он должен был бы быть намного длиннее и конкретнее, поэтому многие алгоритмы кажутся людям такими запутанными.
Более формально: алгоритмы — это четкие, однозначные формулы
Один из алгоритмов, который вы, вероятно, используете каждый день, — это алгоритм Google PageRank, который учитывает сотни факторов, касающихся веб-страницы, анализирует их по формуле и присваивает ей оценку. Результаты поиска, которые вы видите в ответ на ваш поисковый запрос, являются прямым результатом этого рейтинга. Он работает так хорошо, потому что следует четко определенному набору правил, которые говорят ему, что искать, что игнорировать и что делать с найденной информацией.
Чтобы визуализировать очень простой процесс поиска, вот алгоритм линейного поиска, который ищет число 3 в списке чисел.
список = [1, 3, 5]
- Проверьте каждый элемент в списке.
- Как только один из элементов станет равен трем, верните его позицию.
- Если троих нет в списке, верните «Тройки нет в списке!»
После этих действий компьютер проверит первое число — единицу. Поскольку оно не равно трем, он переходит дальше и проверяет следующее число. Поскольку это число равно трем, оно возвращает что-то вроде: «Число три — второй элемент в списке».
В коде Python алгоритм линейной сортировки будет выглядеть следующим образом.
Все, что делает этот
Более формально: алгоритмы — это четкие, однозначные формулы
и проверяет, соответствует ли он поисковому запросу. Если ничего не происходит, он просто возвращает «False». Это чрезвычайно простой алгоритм, но независимо от того, одна ли это строка кода или миллион, каждый существующий алгоритм работает по одному и тому же основному принципу: возьмите информацию, обработайте ее в соответствии с заданной логикой и получите результаты.Алгоритмы на каждый день
Большинство алгоритмов, которые управляют нашей повседневной жизнью, не имеют открытого исходного кода. Мы не знаем точно, как Google определяет, какие результаты поиска показывать или как Facebook объединяет вашу ленту новостей, но мы все равно можем видеть результаты этих вычислений. Тем не менее, они важны, и мы довольно хорошо понимаем их основную логику.
- Google PageRank оценивает количество и качество ссылок, ведущих на веб-страницу и с нее, хотя существует большое количество секретных критериев, которые постоянно обновляются для улучшения результатов и не позволяйте никому обмануть систему.
- Лента новостей Facebook измеряет силу ваших отношений с людьми и группами на основе вашей активности, а затем использует эти и некоторые другие факторы для создания ленты новостей.
- Amazon и Netflix используют алгоритмы рекомендаций, которые анализируют пользовательские данные, определяют, чего может желать каждый пользователь, и показывают это пользователю.
- Система ORION компании UPS представляет собой огромный(более 1000 страниц!) алгоритм, но он может рассчитать наиболее эффективный маршрут для любой доставки, принимая во внимание все виды данные в реальном времени и операционные параметры, например запрошенные окна доставки.
- Приложения искусственного интеллекта, такие как беспилотные автомобили, распознавание лиц, обработка естественного языка, прогнозная аналитика и многие другие, основаны на алгоритмах, которые могут обрабатывать визуальные, аудио или цифровые данные и определять, что происходит. происходит и возвращает соответствующие результаты.
- Рекламные алгоритмы повсюду. Рекламу, которую вы видите, создают люди, но в конечном итоге именно алгоритм решает, являетесь ли вы подходящей аудиторией.
Все есть алгоритм
Как только вы узнаете, как выглядит алгоритм, вы не сможете перестать его замечать. Они присутствуют не только в наших технологиях, они, в конце концов, в нашем мозгу. Все, что мы делаем, является результатом получения входных данных, их обработки и получения результатов. Большинство этих процессов хранятся внутри постоянно перестраиваемого черного ящика, но они там, за кулисами, помогая нам ходить, понимать язык и принимать решения по поводу вещей. Люди способны понимать алгоритмы на инстинктивном уровне, поэтому, даже если компьютерные алгоритмы написаны с помощью неразборчивой математики и кода, все они могут быть переведены в понятные нам термины.
Автор изображения: Изображение набора Мандельброта , Алгоритмы на каждый деньайты взаимосвязаны для иллюстрации PageRank">Веб-сайты взаимосвязаны для иллюстрации PageRank , CTP TheoryOfComputation Линейный поиск , Цветные полосы алгоритма сортировки оболочки р>