Ar kada nors susimąstėte, kaip paieškos sistemos, tokios kaip „Google”, sugeba vos per kelias sekundes pateikti jums aktualiausius rezultatus? Viskas priklauso nuo algoritmų. Šiame straipsnyje gilinsiuosi į algoritmų pasaulį ir paaiškinsiu, kas tai yra algoritmai ir kaip jie veikia.
Algoritmai yra šiuolaikinių technologijų pagrindas, bet kas jie yra? Paprasčiau tariant, algoritmai yra žingsnis po žingsnio instrukcijų arba taisyklių rinkinys, kurių kompiuteris laikosi, kad išspręstų problemą arba atliktų užduotį. Jie yra tarsi receptas, nurodantis kompiuteriui, kaip apdoroti duomenis ir priimti jais pagrįstus sprendimus.
Algoritmai gali atrodyti sudėtingi ir paslaptingi, tačiau jų esmė - tai tiesiog instrukcijų rinkiniai, nurodantys kompiuteriui, kaip išspręsti problemą ar atlikti užduotį.
Kas yra algoritmas? - David J. Malan
Kaip Algoritmai Veikia?
Aukšto lygio algoritmai priima įvestis, atlieka tam tikras operacijas ir sukuria išvestį. Šios operacijos gali būti tokios paprastos, kaip dviejų skaičių palyginimas, arba tokios sudėtingos, kaip didžiulių duomenų kiekių apdorojimas. Vienas iš būdų įsivaizduoti, kaip veikia algoritmai, - įsivaizduoti juos kaip receptą.
Kaip virėjas, norėdamas pagaminti skanų patiekalą, vadovaujasi receptu, taip kompiuteris, norėdamas atlikti užduotį, vadovaujasi algoritmu. Paimkime paprastą pavyzdį: didžiausio skaičiaus radimas sąraše.
Algoritmas prasidėtų nuo pirmųjų dviejų skaičių palyginimo ir nustatymo, kuris iš jų yra didesnis. Tada didesnis skaičius būtų lyginamas su kitu sąraše esančiu skaičiumi ir šis procesas būtų tęsiamas tol, kol būtų lyginami visi skaičiai.
Algoritmai gali būti įgyvendinami naudojant įvairias programavimo kalbas, atsižvelgiant į konkrečius užduoties reikalavimus ir apribojimus. Apibendrinant (apie algoritmų veikimą), algoritmai yra technologijų varomoji jėga, leidžianti kompiuteriams apdoroti duomenis, spręsti problemas ir atlikti užduotis.

Mašininio mokymosi schema
Algoritmai paieškos sistemose
Kai įvedate paieškos užklausą, paieškos sistemos algoritmai imasi darbo, skenuodami ir analizuodami daugybę tinklalapių, kad rastų tinkamiausius rezultatus. Jie atsižvelgia į daugybę veiksnių, pavyzdžiui, raktažodžių naudojimą, svetainės kokybę, naudotojų įsitraukimą ir daugelį kitų.
Vienas iš pagrindinių paieškos sistemos algoritmų tikslų - suprasti naudotojo paieškos užklausos tikslą. Pavyzdžiui, jei ieškote „geriausių restoranų Niujorke”, algoritmai siekia pateikti populiarių ir gerai įvertintų miesto maitinimo įstaigų sąrašą.
Norėdami tai pasiekti, algoritmai paieškos užklausą suskaido į sudedamąsias dalis, pvz., raktinius žodžius ir frazes. Tuomet jie šias sudedamąsias dalis palygina su dideliu tinklalapių indeksu, atsižvelgdami į įvairius veiksnius, pavyzdžiui, svarbą ir autoritetą.
Suprasti algoritmus svarbu ir naudotojams, ir svetainių savininkams. Vartotojams tai reiškia, kad jie gali pasitikėti, jog gaunami paieškos rezultatai yra patikimi ir tinkami. Algoritmai yra šiuolaikinių paieškos sistemų varomoji jėga, leidžianti joms apdoroti didžiulius duomenų kiekius ir pateikti labai tinkamus paieškos rezultatus.
Algoritmų Tipai
Egzistuoja daugybė algoritmų tipų, kuriuos galima taikyti įvairioms problemoms ir užduotims spręsti. Kiekvienas tipas tarnauja unikaliam tikslui ir turi savų privalumų bei apribojimų. Štai keletas pagrindinių tipų:
- Rūšiavimo algoritmai skirti tam tikra seka sutvarkyti elementų sąrašą. Šie algoritmai plačiai naudojami įvairiose taikomosiose programose, pavyzdžiui, duomenims tvarkyti arba šablonams rasti. Kai kurie populiarūs rūšiavimo algoritmai: Bubble Sort, Insertion Sort ir QuickSort.
- Paieškos algoritmai naudojami konkretiems elementams ar reikšmėms duomenų rinkinyje rasti. Jie plačiai naudojami duomenų bazėse, paieškos sistemose ir rekomendacijų sistemose. Linijinė paieška ir Dvejetainė paieška yra du dažniausiai naudojami paieškos algoritmai.
- Grafų algoritmai naudojami su grafais, kuriuos sudaro mazgai ir briaunos, susijusioms problemoms spręsti. Jie dažnai naudojami įvairiose srityse, pavyzdžiui, tinklo analizėje, socialinėje žiniasklaidoje ir transporto planavime. Pirmoji paieška pagal gylį (angl. Depth-First Search, DFS) ir pirmoji paieška pagal plotį (angl.
- Mašininio mokymosi algoritmai skirti tam, kad kompiuteriai galėtų mokytis iš duomenų ir priimti prognozes ar sprendimus be aiškaus programavimo. Šie algoritmai yra dirbtinio intelekto priešakyje ir naudojami įvairiose srityse - nuo vaizdų atpažinimo iki natūralios kalbos apdorojimo.
- Šifravimo algoritmai naudojami duomenims apsaugoti, paverčiant juos į tokią formą, kurios neįmanoma perskaityti be atitinkamo iššifravimo rakto. Šie algoritmai atlieka labai svarbų vaidmenį užtikrinant neskelbtinos informacijos konfidencialumą ir vientisumą.
Algoritmų reikšmė
Algoritmai yra ne tik paieškos sistemų, tokių kaip „Google”, pagrindas, bet jie taip pat labai svarbūs daugelyje technologijų sričių:
- Efektyvumas ir greitis: Algoritmai leidžia technologijoms veikti efektyviai ir greitai. Laikydamiesi instrukcijų rinkinio, algoritmai gali apdoroti didelius duomenų kiekius ir atlikti sudėtingus skaičiavimus per dalį laiko, kurio prireiktų žmogui.
- Personalizavimas: Algoritmai atlieka svarbų vaidmenį teikiant naudotojams asmeninę patirtį. Pavyzdžiui, socialinės žiniasklaidos platformos naudoja algoritmus, kad kuruotų naudotojų kanalus pagal jų interesus ir ankstesnį elgesį. Transliavimo paslaugos, pavyzdžiui, „Netflix”, naudoja algoritmus, kad rekomenduotų suasmenintą turinį pagal naudotojų žiūrėjimo istoriją ir pageidavimus.
- Saugumas: Algoritmai yra labai svarbūs užtikrinant mūsų skaitmeninės informacijos saugumą. Šifravimo algoritmai, pavyzdžiui, RSA arba AES, naudojami jautriems duomenims apsaugoti, paverčiant juos neįskaitomu formatu, kurį galima iššifruoti tik turint tinkamą raktą.
- Automatizavimas: Algoritmai automatizuoja pasikartojančias ir daug laiko reikalaujančias užduotis, atlaisvindami žmogiškuosius išteklius, kad jie galėtų sutelkti dėmesį į sudėtingesnius ir kūrybiškesnius darbus. Pavyzdžiui, e. prekyboje algoritmai naudojami atsargų valdymui, kainodaros strategijoms ir logistikai optimizuoti.
- Inovacijos ir atradimai: Algoritmai yra novatoriškų technologijų ir mokslinių tyrimų pagrindas.
Algoritmai yra labai svarbūs technologijų srityje, nes jie užtikrina efektyvumą, personalizavimą, saugumą, automatizavimą ir inovacijas.
Algoritmai socialiniuose tinkluose
Anot „Tele2 Inovacijų biuro“ eksperto Arnoldo Lukošiaus, visi algoritmai diktuoja, kokią vietą vartotojai užima socialinių naujienų sraute, tačiau kiekviena platforma taiko vis kitokią techniką. Socialiniuose tinkluose algoritmai padeda palaikyti tvarką ir reitinguoti paieškos rezultatus ar reklamas. Esant tokiai daugybei turinio, socialiniai tinklai remiasi įvairiais veiksniais ir teikia pirmenybę tam, kuris, jų manymu, vartotojui patiks.
Kiekvienas socialinės žiniasklaidos kanalas turi tam tikras formules, pagal kurias nustatoma, kokie įrašai rodomi naudotojo naujienų kanale. Konkretiems algoritmams sukurti naudojamas duomenų generavimo ir mašininio mokymosi derinys. Vartotojų įsitraukimas yra šios platformos algoritmo išdėstymo raktas - turinio kokybės įrodymu laikomi „like“ paspaudimai, komentarai ir pasidalinimai.
Pirmenybė turiniui teikiama atsižvelgiant į 3 pagrindinius veiksnius. Pirmasis, turinio šaltinis, kuris reiškia, kad jūsų siena užpildoma žmonių ir puslapių, kuriuos sekate ir su kuriais bendraujate, turiniu. Atsižvelgiama ir į turinio pobūdį - algoritmas pranešimus prioretizuoja pagal tai, su kokio tipo turiniu naudotojai sąveikauja dažniausiai.
Algoritmai skirtinguose socialiniuose tinkluose
- TikTok: Kalbant apie šio sparčiai populiarėjančio tinklo algoritmą, svarbu suprasti, kad kitaip nei konkurentai, jis rodo naują turinį, o ne tik tų žmonių, kuriuos jūs sekate. Būtina atkreipti dėmesį į „For You“ skiltį, kurioje rodomi individualiam vartotojui aktualūs įrašai. Šioje platformoje veikia keli paprasti turinio reitingavimo signalai, kaip naudotojo sąveika, antraštės ir grotažymės, įrenginio ir paskyros nustatymai (šalis ir kalba) bei tendencijos.
- Instagram: Platformos algoritmas atsižvelgia net į kelis pagrindinius veiksnius: susidomėjimą, ryšį su naudotoju, sesijos ir paskelbimo laiką. Tikėtina, kad šioje platformoje dažniau matysite turinį žmonių, kuriuos sekate, su kuriais susirašinėjate ar kitaip bendraujate. Matomam turiniui įtakos turi ir jo paskelbimo data, grotažymės, vietos žymos, paminėjimai ir įsitraukimo lygis - kiek mėgstate, komentuojate ar dalinatės kitų vartotojų įrašais. Platformos algoritmas atlieka pirminį rūšiavimą, taip įrašai skirstomi į 3 kategorijas: šlamštas, žemos kokybės arba aukštos kokybės turinys. Netinkamas turinys iš karto atmetamas, o per kitą valandą pranešimai pereina dar vieną vertinimo procesą.
Algoritmai teisėje
Algoritmai plačiai naudojami teisinėje praktikoje. Įmonių teisės srityje populiarėja teisinio patikrinimo (angl. due dilligence) įrankiai, leidžiantys automatizuoti daugybės įmonės dokumentų patikrą identifikuojant svarbias sąsajas ir specifines tekstų vietas. Viešosios teisės srityje daugėja bandymų pasitelkus rizikos vertinimo (angl.
Ypatingo dėmesio visuomenėje sulaukė JAV teisėsaugos institucijų naudojama COMPAS programa. Programai būtini duomenys renkami nusikalstama veika kaltinamiems asmenims ar juos apklausiantiems pareigūnams pildant klausimyną. Juo remiantis nustatoma informacija apie asmens praeitį, jo elgesį įvairiose situacijose, gyvenamąją aplinką.
Klausimynas apima tiek statinio (pvz., kiek kartų asmuo buvo patrauktas atsakomybėn), tiek dinaminio pobūdžio (pvz., kaip pastaruoju metu asmuo jaučiasi) informaciją. Suvedus duomenis algoritmo pagrindu nustatoma tikimybė, kiek konkretus asmuo linkęs pakartotinai daryti nusikalstamas veikas. Pasaulyje tęsiasi ginčai dėl COMPAS sistemos naudojimo teisėtumo ir atitikties žmogaus teisėms. Bene intensyviausiai keliamas klausimas dėl algoritmo taikymo prasmingumo.
Kai kurie ekspertai teigia, kad tuos pačius rezultatus pasiekti galima ir žmogui pritaikant vos kelių sudedamųjų elementų formulę, apimančią asmens amžių ir nusikalstamumo istoriją. COMPAS sistema yra vienas pirmųjų rizikos vertinimo įrankių, kurių teisėtumas ginčytas ir teismuose. Štai dar 2013 m. nusikalstamos veikos padarymu kaltintas Ericas Loomisas teigė, kad COMPAS panaudojimas jo baudžiamojoje byloje pažeidė teismo proceso nešališkumo principą.
Ir nors JAV Viskonsino valstijos Aukščiausiasis Teismas paliko nepakeistą žemesnės instancijos teismo sprendimą E. Bet koks institucijos, įskaitant teismą, sprendimas yra nulemtas daugybės veiksnių, apimančių individualią faktinę situaciją ir konkrečiu atveju taikytiną teisę. Šiandien teismai yra kompleksinį teisinį vertinimą teikianti institucija.
Algoritmų Etika
Žmogaus veiklos reguliavimo kontekste DI metodų taikymas sukuria situacijas, kurios kelia naujus etinius klausimus ir dar nėra reglamentuotos. Pavyzdžiui, kiek patys teismai gali naudoti algoritmus ir kiek toks naudojimas nepažeis žmogaus teisių, pirmiausia teisės į tinkamą teismo procesą?
Ekspertai pabrėžia, kad viena didžiausių pasitikėjimo algoritmais problemų yra klasikinė koreliacijos ir priežastingumo sutapties problema, kai koreliacija dar nereiškia priežastingumo. Dideli duomenų kiekiai gali padėti aptikti reikšmingų veiksnių grupes.
Kita vertus, teismų sprendimams tampant viešai prieinamiems, daugėja tyrėjų, įmonių, advokatų kontorų bandymų sukurti teismų sprendimus analizuojančius ir bylų baigtį prognozuojančius įrankius. Pavyzdžiui, Londono universiteto koledžo, Šefildo ir Pensilvanijos universitetų tyrėjų grupė sukūrė algoritmą, kuris leidžia 79 proc. tikslumu nuspėti bylos baigtį Europos Žmogaus Teisių Teisme.
Ekspertai atkreipia dėmesį, kad algoritmų naudojimas analizuojant teismų praktiką gali smarkiai kompromituoti atskirus teisėjus ir visą teismų sistemą. Juk žiniasklaida laukte laukia paviešintos aplinkybės, kad, pavyzdžiui, konkretus teisėjas savo bylose skiria vidutiniškai 2 metais trumpesnes laisvės atėmimo bausmes nei jo kolegos.
Šiuo metu plačiai aptariamos DI metodų teikiamos galimybės ir keliami pavojai teisės taikymo srityje. Etinius teisinio reguliavimo klausimus, susijusius su DI, nagrinėja ir 2019 m. Algoritmų taikymas daugelyje sričių tik iš dalies reglamentuotas teisės aktais. Kol kas tai daugiau minkštosios teisės (angl. soft law) reguliuojami klausimai.
Vienas svarbesnių dokumentų teisės taikymo srityje - 2018 m. gruodį Europos veiksmingo teisingumo komisijos susitikime priimta Europos etikos chartija dėl dirbtinio intelekto naudojimo teisminėse sistemose ir jų aplinkose. Pirmasis šios chartijos principas skelbia pagarbą pagrindinėms žmogaus teisėms. 2019 m. vasarį Europos Tarybos Ministrų Komitetas priėmė deklaraciją dėl manipuliatyvių galimybių algoritmų procesuose.
Europos Sąjungoje daug emocijų sukėlusio Bendrojo duomenų apsaugos reglamento 22 straipsnis aptaria tam tikras taisykles, taikytinas priimant automatizuotus sprendimus. Viena vertus, per didelis DI metodų reguliavimas gali apriboti inovacijų taikymą valstybėje ir ji dėl to praras konkurencinį pranašumą.
Tolimesnė teisės taikymo algoritmizavimo sėkmė priklausys nuo technologijų kūrėjų ir jų vartotojų bendradarbiavimo. Tokie principai kaip skaidrumas, pagarba žmogaus teisėms, atskaitingumas bus sėkmingai užtikrinti tik tuo atveju, jei pavyks rasti iš tiesų veiksmingus algoritmų tobulinimo ir taikymo būdus.
Algoritminė prekyba
Taigi algoritminė prekyba (angl. algorythmic trading, automated trading) - prekybos finansų rinkose metodas, kai tam tikras prekybinis algoritmas vykdomas naudojant programas. Programos įdiegiamos į prekybos terminalą arba prisijungia tiesiogiai prie biržos. Tai jau priklauso nuo to, kokios jūsų galimybės ir kokias finansų rinkas naudojate.
Prekybiniame algoritme turi būti įdiegtos pozicijos atidarymo taisyklės (prekybos signalas), pozicijos laikymas, pozicijos uždarymo taisyklės, kapitalo ir rizikos valdymas. Idealus prekybinis algoritmas yra tas, kuris reikalauja minimalaus žmogaus dalyvavimo ir yra suprogramuotas viską atlikti automatiškai.
Kalbant paprasta kalba: parašėte programą, įjungėte - ji pati prekiauja, o jūs tik retsykiais žvilgtelite, kaip auga jūsų sąskaita. Tikrovėje viskas nėra taip paprasta. Viena iš pagrindinių priežasčių - nuolat besikeičiančios tendencijos rinkose. Antra priežastis - netikėti neprognozuojami kainų šuoliai (naujienos, nenugalimos jėgos aplinkybės ir pan.).
Dėl to didumą algoritminės prekybos vis vien kontroliuoja prekiautojai. Aš pats algoritminę prekybą skirstau į du tipus: aukšto dažnio prekybą ir robotus padėjėjus.
Aukšto dažnio prekyba
Aukšto dažnio prekyba (angl. high frequency trading, HFT) - algoritminės prekybos tipas, kai sandoriai vykdomi per milisekundes. Paprastai tokie algoritmai jungiami tiesiogiai prie biržos ir atlieka operacijas kainų sraute. Yra trys pagrindinės aukšto dažnio prekybos strategijos: darbo su likvidumu strategija, statistinio arbitražo strategija ir likvidumo paieškos strategija.
Reikia suprasti: aukšto dažnio prekyba - labai brangus malonumas, ir ten viską lemia milisekundės. Tai reiškia, kad pagrindiniai dalyviai, naudojantys aukšto dažnio prekybą, yra stambūs bankai ir didžiausi investiciniai fondai, kurie dažnai savo įrangą montuoja netoli biržos arba net pačioje biržoje.
Robotai padėjėjai
Robotai padėjėjai - tai programos, kurios diegiamos į terminalą ir prekiauja iš esmės taip pat kaip žmogus. Kitaip sakant, jei asmuo prekiauja pagal strategiją su aiškiomis taisyklėmis ir gali šią strategiją aprašyti programavimo kalba, jis gali sukurti robotą, kuris prekiaus vietoj jo.
| Algoritmo tipas | Aprašymas | Pavyzdžiai |
|---|---|---|
| Rūšiavimo algoritmai | Sutvarko elementų sąrašą tam tikra seka. | Bubble Sort, Insertion Sort, QuickSort |
| Paieškos algoritmai | Ieško konkrečių elementų duomenų rinkinyje. | Linijinė paieška, Dvejetainė paieška |
| Grafų algoritmai | Sprendžia problemas, susijusias su grafais. | Pirmoji paieška pagal gylį (DFS), Pirmoji paieška pagal plotį (BFS) |
| Mašininio mokymosi algoritmai | Leidžia kompiuteriams mokytis iš duomenų ir priimti sprendimus. | - |
| Šifravimo algoritmai | Apsaugo duomenis, paverčiant juos neįskaitomu formatu. | RSA, AES |
tags: #as #noriu #buti #tikras #algoritmas