Седемте алгоритъма, които движат света
В гимназията често ми се е случваше да се питам „Кой, за бога, ги е измислил тия уравнения и тия алгоритми?“ Отговорът е Мохамед ал-Хорезми и години по-късно мога да кажа, че трябва да му благодарим. Още през 830 г. арабският математик написва „Кратка книга за смятането с приведение и двустранно отнемане“, а преводът на трактата му „За смятането с индийски цифри“ поставя и началото на термина „алгоритъм“ (от латинизираната форма на името ал-Хорезми).
Без началото, което ал-Хорезми поставя, и хилядите математици след него, допринесли за развитието на алгоритмите и употребата им, голяма част от технологиите, които ползваме, нямаше въобще да функционират. Днес ще ви запозная с част от най-важните алгоритми, които правят живота ни по-лесен:
Преобразуване на Фурие
Както всички преобразувания, преобразуването на Фурие превежда един вид функции в друг. Всеки, който е работил със звукообработка се е сблъсквал с FFT (Fast Fourier Transform) Filter, който на практика е по-прецизен equalizer, и работи, благодарение на този алгоритъм. Трансформацията на Фурие се използва често при звукозапис, но намира много различни приложения при работата с цифрови сигнали. По-любопитните могат да видят клипчето най-долу, посветено този алгоритъм.
Анализ на връзки (link analysis)
Анализът на връзки представлява техника за анализиране на информация, която оценява връзките между различни елементи в една база данни и позволява автоматична визуализация на тези връзки. Aнализът на връзки се използва за Facebook News feed-а ви, SEO и дори за разследване на криминални дейности.
Алгоритми за компресиране на данни
Музиката, която слушате, снимките, които пращате насам-натам и клипчетата, които гледате са смалени с помощта на този вид алгоритми. Те закодират информацията, използвайки по-малко битове от оригинала, за да може информацията да заема по-малко място и да използва по-малко енергия при трансфер и възпроизвеждане.
Алгоритъм на Дейкстра
Алгоритъмът, измислен от холандския информатик Дейкстра, служи за намирането на най-краткия път между две точки. Разбира се, използваме го често, когато се чудим как да стигнем най-бързо до някъде, но този алгоритъм намира широка употреба и при рутинг протоколи (network routing protocols).
RSA
Носещ първите букви от фамилиите на създателите си (Rivest, Shamir и Adelman), RSA е алгоритъм за шифриране на данни, който използва различни ключове за шифриране и дешифриране. RSA се използва в много продукти, платформи, операционни системи и е един от най-използваните алгоритми за криптиране в света.
PID (Proportional-integral-derivative) algorithm
Пропорционално-интегралния-диференциален алгоритъм се използва при устройства или механизми за управление, които използват обратна връзка. Приложение намира в най-различни индустриални процеси като управление на температура, обороти на двигател и дори cruise control функцията на автомобила ви.
Алгоритми за сортиране
Tози вид алгоритми са едни от най-фундаменталните аспекти в компютърните науки. Те изграят ключова роля при компресирането на данни, изкуствения интелект и изпитването на програмисти. Алгортимите за сортиране са наистина многобройни и всеки има своето приложение.
За да разберете как работят алгоритмите и как да ги прилагате в програмирането, се включете в предстоящия ни модул Algorithms with C#. Той е подходящ за всички, които могат да боравят свободно с променливи, условни конструкции, цикли и масиви и за всички, преминали през обучението по Структури от данни и желаещи да надградят знанията си. Първият курс от модула стартира на 19 ноември. Развийте алгоритмичното си мислене сега!