алгоритъм - как да бъдеш човек в епохата на компютрите

Алгоритъм – Как да бъдеш човек в епохата на компютрите

АлгоритъмMоже би има смисъл да спрем за кратко и да се запитаме какво всъщност значи.

Това е понятие, което макар и да се употребява често, обикновено, но не успява да предаде много съществена информация. Отчасти е така, защото самото понятие е доста мъгляво. Официално, то се дефинира по следния начин:

 

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

 

Толкова. Алгоритъмът е просто поредица от логически инструкции, които показват стъпка по стъпка как да бъде изпълнена дадена задача. Според това всеобхватно определение една рецепта за сладкиш също може да се разглежда като алгоритъм. Както и наборът от упътвания, които давате на непознат, който се е изгубил. Ръководствата за сглобяване на ИКЕА, клиповете в ютуб, показващи как се отстраняват различни неизправности, та дори книгите за самопомощ – на теория, всеки завършен списък с инструкции за постигане на конкретна, ясна цел би могъл да се характеризира като алгоритъм. Но понятието не се употребява точно по този начин.

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

 

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

 

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

Приоритизиране:

 

създаване на подреден списък Търсачката на гугъл предвижда коя е търсената от вас страница, като класира един резултат пред друг. „Нетфликс“ предполага кой би бил следващия филм, който бихте искали да гледате. Вашият TomTom* подбира най-бързия маршрут. Всички те прилагат математически процес, за да подредят необятното количество възможни избори. „Дийп Блу“ по същността си също е бил приоритизиращ алгоритъм, който разглежда всички потенциални ходове на шахматната дъска и изчислява кой би осигурил най-добър шанс за победа.

 

Класифициране:

Избиране на категория Щом навлязох в края на двайсетте си години, бях бомбардирана от реклами на диамантени пръстени във фейсбук. Когато впоследствие се омъжих, навсякъде из мрежата започнаха да ме преследват реклами на тестове за бременност. За тези безобидни дразнители можех да благодаря на алгоритмите за класифициране. Тези обичани от рекламистите алгоритми непрекъснато работят на заден фон и на базата на ваши характеристики ви класифицират като потенциално интересуващ се от подобни работи човек. (Дори и да са прави, все пак е доста дразнещо, когато реклами на комплекти за стимулиране на фертилността изскачат на екрана на лаптопа ви насред служебна среща.) Съществуват алгоритми, които автоматично категоризират и премахват неуместно съдържание от ютуб, алгоритми, които именуват вместо вас снимките от ваканцията ви, а също и алгоритми, които могат да сканират вашия почерк и да класифицират всеки знак от страницата като буква от азбуката.

 

Асоцииране:

Откриване на връзки Целта на асоциирането е да открива и посочва връзки между нещата. Асоциирането е заложено в основата на алгоритмите за запознанства като ОКCupid например. Те търсят сходства между потребителите на мрежата и предлагат подходящи партньори на базата на намерените данни. Системата на „Амазон“ за генериране на препоръки ползва сходна идея, свързвайки вашите интереси с тези на някогашни клиенти. Този принцип на действие станал причина и за интригуващата оферта за покупка на свързан артикул, с която се сблъскал потребителят на Редит Kerbobotat, след като си купил бейзболна бухалка от Амазон: „Може би ще се заинтересувате и от тази маска за глава?“

 

 

 

нинджа съвет

 

 

Ние хората не сме машини, но притежаваме умения, които никой робот няма как да замени.

Не оставяйте психологическите си нужди на заден план, свържете се с нас и се запишете за индивидуална консултация!

 

 

 

Филтриране:

отсяване на важното Често алгоритмите трябва да премахнат част от информацията, за да се фокусират върху важното, да отделят зърното от плявата. Понякога правят това съвсем буквално: алгоритмите за гласово разпознаване като тези, които функционират в Сири, Алекса и Кортана*, трябва първо да изолират вашия глас от фоновия шум, преди да се заемат с разшифроването на думите ви. Понякога го правят метафорично: фейсбук и туитър филтрират историите, които имат отношение към споделените от вас интереси, за да моделират собствения ви, персонализиран информационен поток.

 

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

 

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

Та ето това могат да правят алгоритмите. Как обаче успяват да го направят? Възможностите отново са практически безкрайни, но има начин нещата да се опростят. Нека си представим, че подходите, които алгоритмите предприемат, най-общо спадат към две ключови парадигми. В книгата ще се запознаем и с двете.

 

Командно-базирани алгоритми

Първият тип е базиран на команди. Указанията им се конструират от човек и са директни и еднозначни. Можете да си представите тези алгоритми най-добре, ако направите аналогия с приготвянето на сладкиш по рецепта. Стъпка първа: направете това. Стъпка втора: ако…, то…. Горното няма за цел да внуши, че тези алгоритми са прости – в рамките на тази парадигма има голямо поле за изграждане на мощни програми.

 

Алгоритми за машинно обучение

Вторият тип са вдъхновени от начина, по който се учат живите същества. За съпоставка, помислете си как бихте могли да научите куче да ви подава лапа. Не е необходимо да изработите детайлен списък с указания и да ги сведете до съзнанието на кучето. Като дресьор всичко, от което имате нужда, е ясна цел в собствената ви глава, какво желаете да постигне кучето. И някакъв начин да го възнаградите, щом животното улучи правилното действие. Става дума единствено за поощряване на доброто поведение, игнориране на лошото и осигуряване на достатъчно практика, така че то само да разбере какво да прави. Алгоритмичният еквивалент е известен като алгоритъм за машинно обучение – част от по-обхватната, сложна материя на изкуствения интелект или ИИ. Подавате на машината данни, цел и обратна връзка, щом излезе на прав път, след което я оставяте да намери най-добрия начин за постигане на крайния резултат.

 

Двата типа имат своите предимства и недостатъци.

 

Командно-базираните алгоритми са лесни за схващане, тъй като следват указания, писани от хора. На теория всеки би могъл да ги отвори и да проследи логиката на онова, които се случва вътре в тях. Но в това се крият едновременно тяхната благословия и тяхното проклятие.

Командно-базираните алгоритми са в състояние да работят само по задачи, за които хората знаят как да напишат инструкции. За разлика от тях, в последно време алгоритмите за машинно обучение се оказват забележително добри в решаването на проблеми, при които писането на поредица от указания не е удачен вариант. Те умеят да разпознават обекти в снимки, да разбират думи, докато ги изговаряме, и да превеждат от един език на друг. Все неща, с които командно-базираните алгоритми винаги силно са се затормозявали.

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

 

Източник: В статията е използвана част от книгата „Здравей свят. Как да бъдеш човек в епохата на компютрите“ на издателство Изток-Запад

 

👁 Мислите ли, че някой ваш  близък или приятел ще намери тази статия за полезна? Изпратете му я! 🙂

Последвайте страницата на “Наука за хората” във Facebook и LinkedIn!

За още полезни статии->