Разни

Как алгоритмите управляват света, в който живеем

Как алгоритмите управляват света, в който живеем

Това е първата статия от поредица от седем части за Алгоритми и изчисления, която изследва как използваме прости двоични числа, за да захранваме света си

Ако сте били достатъчно възрастни, за да изпитате първата вълна от персонални компютри през 80-те години, вие сте преживели вероятно най-значителната революция в човешката технология след изобретяването на колелото. Изчислителната мощност в най-евтиния масово произвеждан смартфон е експоненциално по-мощна от всичко, което е съществувало в ранните дни на изчисленията. Софтуерът, задвижващ мисията Apollo, която постави човек на Луната, беше почти толкова сложен, колкото е приложението на телефона ви днес. Всичко това, задвижвано от алгоритми, които използват невероятната мощ на съвременните процесори, за да постигнат привидно невъзможното.

Какви са проблемите?

Първо, какво имаме предвид, когато използваме термина проблем? В компютърните науки проблем е задача, която, когато бъде решена, дава желания резултат. Това е математическа реч, тъй като проблемът е бариерата между текущата ви позиция или състояние и позицията или състоянието, в което искате да бъдете. Бариерата между вас и вашата дестинация е проблемът. Това, от което се нуждаете сега, е врата, която превръща проблема в процес, който завършва с това, че сте в желаната позиция или състояние.

СВЪРЗАНИ: КЕЙТИ БУМЪН: БЛИСКАВИЯТ УМ, КОЙТО НИ ДОКЛАДИ ОБРАЗА НА ЧЕРНА ДУПА

Всички знаем, че по същество компютрите са калкулатори, които добавят, изваждат и манипулират по друг начин 1s и 0s да правите всичко, от обработка на текстови документи до поточно предаване Игра на тронове. Това е сложен балет между процесора, софтуера, хардуера на компютъра ви и различните устройства за въвеждане, които създават даване и вземане, което произвежда всичко това. В основата си обаче всичко, което компютрите правят, се върти около простата задача за решаване на проблем чрез изграждане на мостове между тяхното състояние и желаното от тях.

Какво е продукт на 6 и 13? Какво е сума от всички числа между 120 и 226? Какво е остатък произведени от разделение на 14738 на 19? Всичко това са проблеми и те са градивните елементи на нашите видео игри, нашия софтуер за производителност и на нашите стрийминг забавления. Отговорите на тези проблеми се комбинират с други подобни решения на други проблеми, които след това продължават да решават още по-големи и по-сложни след това.

Проблемът с изготвянето на графици за служители на даден бизнес всяка седмица с възможно най-ниски разходи за труд, намиране на най-краткия път до нашата дестинация от където и да се намираме във всеки един момент или друга задача, която компютрите изпълняват, която сега най-вече приемаме за даденост, са всички в крайна сметка съставени от тези по-малки подпроблеми, чиито решения се добавят към по-голямото решение на по-големия проблем, с който се сблъскваме.

Всичко това се задвижва от решаване на математически и логически задачи, а тези решения, вратите в математическите или логическите бариери, се произвеждат от нещо, наречено алгоритъм.

Какво е алгоритъм?

Срокът алгоритъм е диво злоупотребявана през последните години, така че е важно да се изясни какво означава това. An алгоритъм е поредица от стъпки, предприети за решаване на конкретен, дискретен проблем. Google Търсене се задвижва от алгоритъм, но само по начина, по който матрьошка е кукла. Google Търсене всъщност се задвижва от алгоритъм на върха на десетки алгоритми на върха на десетки други алгоритми, всички решават конкретна подпроблема на по-големия проблем и работят заедно в един процес или програма за връщане на резултатите от търсенето на заявка.

Newsfeed на Facebook, Instagram, YouTube, Call of Duty, всички те са изградени от алгоритми решаване на проблеми един за друг, за да създадем функционалността, която желаем.

Да приемем, че сте искали да намерите сумата на всички числа между числата м и н. Можете да създадете номер, наречен резултат, задайте го на 0и просто добавете м към него, тогава m + 1, тогава m + 2 и така докато добавите самото n, оставяйки сумата на всички числа в резултат. Тази поредица от стъпки е алгоритъм. Не много ефективно един, но ще го запазим за по-късна статия.

Алгоритми работете програмно, инструкция по инструкция, изграждайки вратата точно както самият компютър трябва да я изгради и ни позволява да преминем от нашата сегашно състояние на нашия желания. Те са отговор на въпроса: как да реша това конкретен проблем? и отговорите на този въпрос във всяка създадена някога компютърна програма са това, което засилва толкова голяма част от нашия съвременен свят.

Как алгоритмите работят заедно, за да постигнат нещата

Google започна като отговор на проблем: как трябва да класираме и изброим резултатите, върнати от съвпадение на даден термин от заявката с записи в нашия индекс на уебстраница? Индексът на уеб страниците на Google може да има милиони съвпадащи страници за даден термин на заявката, така че трябваше да се наложи някакъв ред. Неоцененият списък със страници беше първоначалното състояние на Google и те искаха списък със страници, класирани така, че най-авторитетните страници да се класират най-високо и така да се появяват на първо място в списъка, докато най-авторитетните се класираха най-ниско и така бяха избутани до самото дъно.

Тогава проблемът, който Google трябваше да реши, беше, как класирате уеб страница?

The алгоритъм че Лари Пейдж и Сергей Брин, разработени в средата на 90-те години, се наричат Ранк на страницатаи служи като двигател, който задвижва Google Search през ранните години на компанията. Скоро Google превъзхождаше всяка друга търсачка в интернет, включително няколко, които имаха няколко години старт в тях, като в крайна сметка доминираха в конкуренцията си и направиха Page и Brin невероятно богати, като същевременно помогнаха да превърнат Google в глагол.

Преди споменахме как търсачката на Google е алгоритъм, но е и много повече от това. Това е така, защото Google Търсене се разраства много по-усъвършенствано през годините, а не просто разчита Ранк на страницата; Ранк на страницатасега получава много повече помощ, отколкото в началото на 2000-те от десетки, дори стотици, на допълнителни алгоритми за генериране на възможно най-добри резултати.

Технически бихте могли да проектирате един алгоритъм, който да управлява всичко това, което Google Search се превърна в цялата му сложност, но това би било тромава, неефективна бъркотия. Вместо това, Google Search е колекция от алгоритми, всички решаващи различни проблеми и предаващи решенията на тези проблеми на други алгоритми, които се нуждаят от тях. Преди писахме a основен алгоритъм за сумата на всички числа между м и н. Всичко това е добре, но можете да използвате този алгоритъм, за да ви помогне да изчислите средно както и, просто вземете резултат от този алгоритъм и разделете резултат от разликата на m - n (след проверка на това m - n не е нула, разбира се).

По този начин алгоритмите се превръщат в изчислителни градивни елементи, които могат да решават все по-големи проблеми, като работят заедно. Той позволява на SpaceX автоматично да скачи капсулата Dragon Crew с Международната космическа станция и е помогнал за решаването на проблема как да съберете петабайтите данни и да намерите, изолирате и възстановите първото по рода си изображение на хоризонта на събитията на свръхмасивна черна дупка.

Работейки заедно, дори прости алгоритми могат да постигнат удивителни неща, но някои алгоритми са специални и заслужават признание сами по себе си като наистина новаторски, като помагат за задвижването на цял набор от нови технологии в продължение на десетилетия след първото им публикуване.

Втората част от нашата поредица за алгоритми и изчисления, 7 основни алгоритми, които управляват света, можете да намерите тук.


Гледай видеото: Може ли науката да ни научи на всичко? Епистемология. Философия. Кан Академия (Октомври 2021).