Как выглядят алгоритмы и такие ли они сложные?

Мы знаем, что у Facebook, Google и Amazon есть алгоритмы, которые предоставляют нам обновления, результаты поиска и рекомендации по продуктам, но что это на самом деле означает? Что считается алгоритмом? Вы можете написать такое? Как бы вы выглядели, если бы вы это сделали? Поскольку они управляют очень многими частями нашей повседневной жизни, важно иметь общее представление о том, что именно происходит под капотом - что на самом деле не так страшно, как это часто кажется.

Как выглядят алгоритмы и такие ли они сложные? - Статьи

Неформальное определение: алгоритмы - это просто рецепты

В простейшем случае алгоритм - это просто набор четко определенных шагов, которым вы можете следовать, обычно принимая несколько входных данных и производя другой набор выходных данных. Рецепт кекса может быть алгоритмом. То же самое можно сказать о том, как проехать к дому друга, сыграть отрывок или найти слово в словаре. Раймонд Киану напечатал книгу из десяти сонетов со строками, которые можно было легко смешать и сопоставить, чтобы создать 10000000000 миллиардов оригинальных стихов. Способы реализации этих алгоритмов сильно различаются, но вам не нужно знать какие-либо языки программирования, чтобы понять лежащую в их основе логику. Например, ниже представлен алгоритм указания пешеходных маршрутов в простой форме.

Как выглядят алгоритмы и такие ли они сложные? - Статьи
  1. Выйдя из двери, поверните направо.
  2. Идите по дороге, пока не дойдете до Маркет-стрит.
  3. Дойдя до Маркет-стрит, поверните направо.
  4. Идите прямо, пока не увидите кирпичное здание.
  5. Идите к входной двери.

Это очень простой алгоритм, который использует много входных данных, которые легко могут обработать люди; Мы уже знаем о прогулках, улицах, материалах, входе и всем остальном. Если мы собираемся создать векторный алгоритм для роботов, он должен быть более длинным и конкретным, и именно поэтому многие алгоритмы могут сбивать с толку людей.

Более формально: алгоритмы - это четкие и недвусмысленные формулы.

Как выглядят алгоритмы и такие ли они сложные? - Статьи

Один алгоритм, который вы, вероятно, используете каждый день, - это алгоритм Google PageRank, который рассматривает сотни факторов для веб-страницы, обрабатывает их формулу и присваивает ей оценку. Результаты поиска, которые вы видите в ответ на ваш поисковый запрос, являются прямым результатом этого результата. Он работает хорошо, потому что следует четко определенному набору правил, которые говорят ему, что искать, что игнорировать и что делать с найденной информацией.

Чтобы визуализировать очень простой поиск, вот алгоритм линейного поиска, который ищет число 3 в списке чисел.

список = [1, 3, 5]

  • Проверьте каждый элемент в списке.
  • Как только один из элементов равен трем, верните его позицию.
  • Если трех нет в списке, верните «Трех нет в списке!»

Выполнив эти шаги, компьютер будет смотреть на первое число, которое является номером один. Поскольку он не равен трем, он перемещается и проверяет следующее число. Поскольку это номер три, он показывает что-то вроде «Третье число - второй элемент в списке».

В коде Python алгоритм линейной сортировки будет выглядеть следующим образом.

Как выглядят алгоритмы и такие ли они сложные? - Статьи
Как выглядят алгоритмы и такие ли они сложные? - Статьи

Все, что делает этот код, - это берет список чисел, просматривает каждый элемент в списке и проверяет, соответствует ли он поисковому запросу. Если его нет, он просто возвращает «Ложь». Это очень простой алгоритм, неважно, одна это строка кода или миллион, каждый существующий алгоритм работает по одному и тому же основному принципу: берет информацию, обрабатывает ее в соответствии с некоторой предустановленной логикой и получает результаты.

Ежедневные алгоритмы

Большинство алгоритмов, которые работают в нашей повседневной жизни, не имеют открытого исходного кода. Мы не знаем точно, как Google определяет, какие результаты поиска отображаются или как Facebook объединяет вашу ленту новостей, но мы все равно можем видеть результаты для этих учетных записей. Однако они важны, и у нас есть довольно хорошее представление об их основной логике.

Как выглядят алгоритмы и такие ли они сложные? - Статьи
  • Работает Google PageRank Глядя на количество и качество ссылок на веб-страницу и с нее, даже несмотря на то, что существует большое количество конфиденциальных стандартов, которые постоянно обновляются, чтобы улучшить результаты и предотвратить запугивание системы.
  • Лента новостей измерения Facebook Прочность ваших отношений с людьми и группами на основе вашей активности, затем вы используете эти и некоторые другие факторы для создания своей ленты новостей.
  • использовал Amazon و Netflix Алгоритмы рекомендаций, которые смотрят на пользовательские данные, знают то, что может захотеть каждый пользователь, и показывают пользователю эти вещи.
  • Система ORION .'s UPS Это огромный алгоритм (более 1000 страниц!), Но он может рассчитать наиболее эффективный путь для любой доставки, учитывая при этом все виды данных в реальном времени и рабочие параметры, такие как заказанные окна доставки.
  • Приложения Искусственный интеллект Подобно беспилотным автомобилям, распознавание лиц, обработка естественного языка, прогнозная аналитика и многие другие полагаются на алгоритмы, которые могут принимать визуальные, звуковые и цифровые данные, выяснять, что происходит, и возвращать соответствующие результаты.
  • алгоритмы Объявления Где угодно. Хотя рекламу, которую вы видите, видят люди, это алгоритм, который в конечном итоге решает, подходящая ли вам аудитория.

Все есть алгоритм

Как только вы узнаете, как выглядит алгоритм, вы не сможете перестать его замечать. Дело не только в наших технологиях, это в нашем мозгу. Все, что мы делаем, является результатом получения входных данных, их обработки и получения выходных данных. Большинство этих процессов хранятся в черном ящике, который постоянно реорганизуется, но они существуют за кулисами, помогая нам ориентироваться, понимать язык и принимать решения о вещах. Люди настроены понимать алгоритмы на инстинктивном уровне, поэтому, даже если компьютерные алгоритмы написаны на языке неизменной математики и символов, все они могут быть переведены в понятные нам термины.

Источник
Перейти к верхней кнопке