Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Koncepti i një algoritmi. Vetitë e algoritmit

Pothuajse çdo gjë në botën tonë i bindet disa ligjeve dhe rregullave. Shkenca moderne nuk qëndron ende, falë së cilës njerëzimi njeh shumë formula dhe algoritme, pas të cilave, ju mund të llogaritni dhe rikrijoni shumë veprime dhe struktura të krijuara nga natyra dhe të vini në jetë idetë e shpikura nga njeriu.

Në këtë artikull, ne do të zbërthejmë konceptet bazë të algoritmit.

Historia e shfaqjes së algoritmeve

Algoritmi është një koncept që u shfaq në shekullin XII. Vetë fjala "algorithm" vjen nga interpretimi latin i emrit të matematikanit të famshëm të Lindjes së Mesme, Mohammad al Khorezmi, i cili shkroi librin "Për llogarinë indiane". Ky libër përshkruan se si të shkruani saktë numrat natyrorë duke përdorur numra arabë dhe ofron një përshkrim të algoritmit për veprimet në një kolonë mbi numra të tillë.

Në shekullin XII, libri "Për llogari indiane" u përkthye në latinisht, dhe më pas u shfaq ky përkufizim.

Ndërveprimi i algoritmit me njerëzit dhe makinat

Krijimi i një algoritmi kërkon një qasje krijuese, kështu që një listë e re veprimesh vijuese mund të krijohet vetëm nga një krijesë e gjallë. Por për ekzekutimin e udhëzimeve tashmë ekzistuese, nuk është e nevojshme të keni imagjinatë, madje edhe një teknikë e pashpirt mund ta përballojë këtë.

Një shembull i shkëlqyeshëm i ekzekutimit të saktë të një udhëzimi të dhënë është një furrë me mikrovalë e zbrazët që vazhdon të funksionojë pavarësisht se nuk ka ushqim brenda saj.

Një subjekt ose objekt që nuk ka nevojë të thellohet në thelbin e algoritmit quhet ekzekutues formal. Një person mund të bëhet gjithashtu një interpretues formal, por në rast të mospërfitueshmërisë së këtij apo atij veprimi, një interpretues që mendon mund të bëjë gjithçka në mënyrën e tij. Prandaj, interpretuesit kryesorë janë kompjuterët, furrat me mikrovalë, telefonat dhe pajisjet e tjera. Koncepti i një algoritmi në shkencën kompjuterike është më i rëndësishmi. Çdo algoritëm është përpiluar me pritshmërinë e një subjekti specifik, duke marrë parasysh veprimet e lejuara. Ato objekte për të cilat subjekti mund të zbatojë udhëzimet përbëjnë mjedisin e ekzekutuesit.

Pothuajse çdo gjë në botën tonë i bindet disa ligjeve dhe rregullave. Shkenca moderne nuk qëndron ende, falë së cilës njerëzimi njeh shumë formula dhe algoritme, pas të cilave, ju mund të llogaritni dhe rikrijoni shumë veprime dhe krijime të natyrës dhe të vini në jetë idetë e shpikura nga njeriu. Në këtë artikull, ne do të zbërthejmë konceptet bazë të algoritmit.

Çfarë është një Algoritëm?

Shumica e veprimeve që ne kryejmë gjatë jetës sonë kërkojnë respektimin e një sërë rregullash. Cilësia dhe rezultati i detyrave që i janë caktuar varet nga sa korrekte ka një person se çfarë, si dhe në çfarë sekuence duhet të bëjë. Që nga fëmijëria, prindërit janë përpjekur të zhvillojnë një algoritëm për veprimet themelore tek fëmija i tyre, për shembull: zgjohuni, rregulloni shtratin, lani dhe lani dhëmbët, bëni ushtrime, ha mëngjes, etj., lista që një person kryen të gjitha. jeta e tij në mëngjes mund të konsiderohet edhe një lloj algoritmi.

Algoritmi - përcaktimi i një grupi udhëzimesh që duhet të ndiqen nga një person për të zgjidhur një problem specifik.

Në përgjithësi, algoritmi ka shumë përkufizime, disa shkencëtarë e karakterizojnë atë në mënyra të ndryshme.

Nëse algoritmi i përdorur nga një person çdo ditë është i ndryshëm për të gjithë dhe mund të ndryshojë në varësi të moshës dhe situatave në të cilat ndodhet interpretuesi, atëherë grupi i veprimeve që duhet të kryhen për të zgjidhur një problem matematikor ose për të përdorur teknologjinë është e njëjtë për të gjithë dhe mbetet gjithmonë e pandryshuar.

Ekziston edhe një koncept tjetër, ato ndryshojnë - për shembull, për një person që ndjek një qëllim dhe për teknologjinë.

Në epokën tonë të teknologjisë së informacionit, njerëzit çdo ditë kryejnë një sërë udhëzimesh të krijuara para tyre nga njerëz të tjerë, sepse teknologjia kërkon që një sërë veprimesh të kryhen me saktësi. Prandaj, detyra kryesore e mësuesve në shkolla është t'i mësojnë fëmijët të përdorin algoritme, të kuptojnë dhe ndryshojnë shpejt rregullat ekzistuese në përputhje me situatën aktuale. Struktura e algoritmit është një nga ato koncepte që mësohen në klasën e matematikës dhe shkencave kompjuterike në çdo shkollë.

Vetitë themelore të algoritmit

1. Diskretiteti (sekuenca e veprimeve individuale) - çdo algoritëm duhet të përfaqësohet si një seri veprimesh të thjeshta, secila prej të cilave duhet të fillojë pas përfundimit të atij të mëparshëm.

2. Siguria - çdo veprim i algoritmit duhet të jetë aq i thjeshtë dhe i kuptueshëm sa që ekzekutuesi të mos ketë pyetje dhe të mos ketë asnjë liri veprimi.

3. Efektiviteti - përshkrimi i algoritmit duhet të jetë i qartë dhe i plotë në mënyrë që pasi të jenë përfunduar të gjitha udhëzimet, detyra të arrijë përfundimin e saj logjik.

4. Masiviteti - algoritmi duhet të jetë i zbatueshëm për një klasë të tërë problemesh, të cilat mund të zgjidhen vetëm duke ndryshuar numrat në algoritëm. Edhe pse ekziston një mendim se pika e fundit nuk vlen për algoritmet, por për të gjitha metodat matematikore në përgjithësi.

Shpesh në shkolla, për t'u dhënë fëmijëve një përshkrim më të qartë të algoritmeve, mësuesit përdorin shembullin e gatimit nga një libër gatimi, përgatitjen e një ilaçi me recetë ose procesin e prodhimit të sapunit bazuar në një klasë master. Sidoqoftë, duke marrë parasysh vetinë e dytë të algoritmit, e cila thotë se çdo pikë e algoritmit duhet të jetë aq e qartë sa absolutisht çdo person dhe madje edhe një makinë mund ta kryejë atë, mund të arrijmë në përfundimin se çdo proces që kërkon të paktën një lloj e imagjinatës nga algoritmi nuk mund të emërtohet. Dhe gatimi dhe puna me dorë kërkojnë aftësi të caktuara dhe një imagjinatë të zhvilluar mirë.

Ekzistojnë lloje të ndryshme algoritmesh, por janë tre kryesore.

Algoritmi ciklik

Në këtë lloj, disa pika përsëriten disa herë. Lista e veprimeve që duhet të përsëriten për të arritur qëllimin quhet trupi i algoritmit.

Përsëritja e lakut është ekzekutimi i të gjithë artikujve të përfshirë në trupin e ciklit.
Pjesët e një cikli që ekzekutojnë vazhdimisht një numër të caktuar herë quhen një cikli me përsëritje fikse.

Ato pjesë të ciklit, shkalla e përsëritjes së të cilave varet nga një numër kushtesh, quhen të papërcaktuara.

Lloji më i thjeshtë i lakut është i fiksuar.

Ekzistojnë dy lloje të algoritmeve looping:

    Lak me parakusht. Në këtë rast, trupi i lakut kontrollon gjendjen e tij përpara se të ekzekutohet.

    Lak me kusht postar. Gjendja kontrollohet pas përfundimit të ciklit.

Llojet lineare të algoritmeve

Udhëzimet e skemave të tilla ekzekutohen një herë në sekuencën në të cilën janë paraqitur. Për shembull, mund të merrni parasysh procesin e rregullimit të një shtrati ose larjes së dhëmbëve. Gjithashtu ky lloj përfshin shembuj matematikorë, ku ka vetëm veprime mbledhje dhe zbritje.

Algoritmi i forkimit

Në një lloj degëzimi, ka disa opsione për veprime, se cila do të zbatohet varet nga gjendja.

Shembull. Pyetje: "A po bie shi?" Opsionet e përgjigjes: "Po" ose "Jo". Nëse "po" - hapni ombrellën, nëse "jo" - vendosni ombrellën në çantë.

Algoritmi ndihmës

Algoritmi ndihmës mund të përdoret në algoritme të tjera duke specifikuar vetëm emrin e tij.

Termat e algoritmit

gjendjaështë midis fjalëve "nëse" dhe "atëherë".

Për shembull: nëse dini anglisht, atëherë shtypni një. Në këtë fjali, kushti është pjesë e frazës "ju dini anglisht".

Të dhënat- informacion që mbart një ngarkesë të caktuar semantike dhe paraqitet në atë formë që mund të transmetohet dhe përdoret për një algoritëm të caktuar.

Procesi algoritmik- zgjidhja e një problemi me algoritëm duke përdorur të dhëna të caktuara.

Struktura e algoritmit

Algoritmi mund të ketë një strukturë të ndryshme. Për të përshkruar një algoritëm, koncepti i të cilit varet gjithashtu nga struktura e tij, mund të përdorni një sërë metodash të ndryshme, për shembull: verbale, grafike, duke përdorur një gjuhë algoritmike të zhvilluar posaçërisht.

Cila nga metodat do të përdoret varet nga disa faktorë: nga kompleksiteti i problemit, nga sa duhet të detajoni procesin e zgjidhjes së problemit, etj.

Versioni grafik i ndërtimit të algoritmit

Një algoritëm grafik është një koncept që nënkupton zbërthimin e veprimeve që duhen kryer për të zgjidhur një detyrë specifike, sipas formave të caktuara gjeometrike.

Ato nuk janë paraqitur në mënyrë të rastësishme. Në mënyrë që çdo person t'i kuptojë ato, më së shpeshti përdoren bllok diagramet dhe diagramet strukturore të Nassi-Shneiderman.

Gjithashtu, diagramet e bllokut tregohen në përputhje me GOST-19701-90 dhe GOST-19.003-80.
Shifrat grafike të përdorura në algoritëm ndahen në:

    bazë. Imazhet bazë përdoren për të treguar operacionet e nevojshme për të përpunuar të dhënat kur zgjidhet një problem.

    Ndihmës. Imazhet ndihmëse janë të nevojshme për të treguar elementet individuale, jo më të rëndësishmet e zgjidhjes së një problemi.

Në algoritmin grafik, të dhënat e përdorura për të përfaqësuar të dhënat quhen blloqe.

Të gjitha blloqet janë në rend nga lart poshtë dhe nga e majta në të djathtë - ky është drejtimi i saktë i rrjedhës. Nëse sekuenca është e saktë, linjat që lidhin blloqet nuk tregojnë drejtimin. Përndryshe, drejtimi i vijave tregohet me shigjeta.

Skema e saktë e algoritmit nuk duhet të ketë më shumë se një dalje nga blloqet e përpunimit dhe më pak se dy dalje nga blloqet përgjegjëse dhe kontrollimin e përmbushjes së kushteve.

Si të ndërtoni një algoritëm në mënyrë korrekte?

Struktura e algoritmit, siç u përmend më lart, duhet të ndërtohet në përputhje me GOST, përndryshe nuk do të jetë e kuptueshme dhe e arritshme për të tjerët.

Metodologjia e përgjithshme e regjistrimit përfshin pikat e mëposhtme:

Emri me të cilin do të jetë e qartë se çfarë problemi mund të zgjidhet duke përdorur këtë skemë.

Çdo algoritëm duhet të ketë një fillim dhe fund të qartë.

Algoritmet duhet të përshkruajnë qartë dhe qartë të gjitha të dhënat, si në hyrje ashtu edhe në dalje.

Gjatë hartimit të algoritmit, duhet të theksohen veprimet që do të lejojnë kryerjen e veprimeve të nevojshme për zgjidhjen e problemit në të dhënat e zgjedhura. Një shembull i algoritmit:

  • Emri i skemës.
  • Të dhënat.
  • Filloni.
  • Ekipet.
  • fund.

Ndërtimi i saktë i qarkut do të lehtësojë shumë llogaritjen e algoritmeve.

Format gjeometrike përgjegjëse për veprime të ndryshme në algoritëm

Oval i vendosur horizontalisht - fillimi dhe fundi (shenja e fundit).

Drejtkëndësh i vendosur horizontalisht - llogaritje ose veprime të tjera (shenja e procesit).

Paralelogrami i vendosur horizontalisht - hyrje ose dalje (shenja e të dhënave).

Romb i vendosur horizontalisht - kontrolli i gjendjes (shenja e zgjidhjes).

Një gjashtëkëndësh i zgjatur, i vendosur horizontalisht është një modifikim (shenjë përgatitore).

Modelet e algoritmit janë paraqitur në figurën më poshtë.

Varianti formulë-fjalë i ndërtimit të algoritmit.

Algoritmet formula-fjalë shkruhen në formë arbitrare, në gjuhën profesionale të fushës së cilës i përket detyra. Përshkrimi i veprimeve në këtë mënyrë kryhet duke përdorur fjalë dhe formula.

Koncepti i një algoritmi në shkencën kompjuterike

Në fushën kompjuterike, gjithçka bazohet në algoritme. Pa udhëzime të qarta të futura në formën e një kodi të veçantë, asnjë teknikë apo program nuk do të funksionojë. Në mësimet e shkencave kompjuterike, studentët përpiqen të japin konceptet bazë të algoritmeve, t'i mësojnë se si t'i përdorin ato dhe t'i krijojnë ato vetë.

Krijimi dhe përdorimi i algoritmeve në shkencat kompjuterike është një proces më krijues sesa, për shembull, ndjekja e udhëzimeve për zgjidhjen e një problemi në matematikë.

Ekziston edhe një program i veçantë "Algorithm", i cili ndihmon njerëzit që nuk kanë njohuri në fushën e programimit, të krijojnë programet e tyre. Një burim i tillë mund të bëhet një asistent i domosdoshëm për ata që po hedhin hapat e tyre të parë në shkencën kompjuterike dhe duan të krijojnë lojërat e tyre ose ndonjë program tjetër.

Nga ana tjetër, çdo program është një algoritëm. Por nëse algoritmi mbart vetëm veprimet që duhen kryer duke futur të dhënat e tij, atëherë programi tashmë bart të dhënat e gatshme. Një ndryshim tjetër është se programi mund të jetë i patentuar dhe i pronarit, por algoritmi nuk mundet. Algoritmi është një koncept më i gjerë se një program.

konkluzioni

Në këtë artikull, ne shqyrtuam konceptin e një algoritmi dhe llojet e tij dhe mësuam se si të shkruajmë saktë skemat grafike.

Algoritmi

Shpesh një mekanizëm i caktuar (një kompjuter, një torno, një makinë qepëse) vepron si një ekzekutues, por koncepti i një algoritmi nuk i referohet domosdoshmërisht programeve kompjuterike, kështu që, për shembull, një recetë e përshkruar qartë për përgatitjen e një pjate është gjithashtu një algoritmi, në të cilin rast një person është ekzekutuesi.

Koncepti i një algoritmi i referohet koncepteve origjinale, themelore, themelore të matematikës. Proceset llogaritëse të natyrës algoritmike (veprimet aritmetike në numra të plotë, gjetja e pjesëtuesit më të madh të përbashkët të dy numrave, etj.) janë të njohura për njerëzimin që nga kohërat e lashta. Sidoqoftë, në një formë të qartë, koncepti i një algoritmi u formua vetëm në fillim të shekullit të 20-të.

Formalizimi i pjesshëm i konceptit të një algoritmi filloi me përpjekjet për të zgjidhur problemin e zgjidhjes (ajo. Entscheidungsproblem), e cila u formulua nga David Hilbert në 1928. Fazat e ardhshme të formalizimit ishin të nevojshme për të përcaktuar llogaritjen efikase ose "metodën efikase"; formalizime të tilla përfshijnë funksionet rekursive të Gödel-Hebrand-Kleene, dhe G., λ-calculus nga Alonzo Church, 1936 "Formulation 1" nga Emile Post dhe makinën Turing. Në metodologji, algoritmi është një koncept bazë dhe merr një koncept cilësisht të ri po aq sa optimale sa i afrohet absolutit të parashikuar. Në botën moderne, një algoritëm në terma të formalizuar formon bazën e edukimit me shembuj, me ngjashmëri. Bazuar në ngjashmërinë e algoritmeve në fusha të ndryshme të veprimtarisë, u formua koncepti (teoria) e sistemeve të ekspertëve.

Historia e termit

Përkufizimi formal modern i algoritmit u dha në vitet 30-50 të shekullit XX në veprat e Turing, Post, Church (teza e Church - Turing), N. Wiener, A. A. Markov.

Vetë fjala "algorithm" vjen nga emri i dijetarit të Khorezmit Abu Abdullah Muhamed ibn Musa el-Khorezmi (algoritmi - al-Khorezmi). Rreth vitit 825, ai shkroi një ese në të cilën përshkroi për herë të parë sistemin e numrave dhjetorë pozicional të shpikur në Indi. Fatkeqësisht, origjinali persian i librit nuk ka mbijetuar. Al-Khwarizmi formuloi rregullat e llogaritjeve në sistemin e ri dhe, ndoshta, për herë të parë përdori numrin 0 për të treguar një pozicion që mungon në një shënim numrash (emri i tij indian u përkthye nga arabët si as-sifr ose thjesht sifr, pra fjalë si "shifror" dhe "shifror"). Në të njëjtën kohë, studiues të tjerë arabë filluan të përdorin numrat indianë. Në gjysmën e parë të shekullit XII, libri i al-Khwarizmit në përkthim latinisht depërtoi në Evropë. Përkthyesi, emri i të cilit nuk na ka ardhur, i vuri një emër Algoritmi de numero Indorum("Algoritmet e llogaritjes në gjuhën indiane"). Në arabisht libri quhej Kitab el-xhebr uel-mukabela("Një libër mbi mbledhjen dhe zbritjen"). Nga titulli origjinal i librit vjen fjala Algjebër (algjebër - al-xhebr - përfundim).

Kështu, ne shohim se emri i latinizuar i shkencëtarit të Azisë Qendrore ishte përfshirë në titullin e librit, dhe sot besohet se fjala "algorithm" hyri në gjuhët evropiane pikërisht për shkak të kësaj pune. Megjithatë, çështja e kuptimit të saj ka shkaktuar polemika të ashpra për një kohë të gjatë. Gjatë shekujve, origjinës së fjalës i është dhënë një sërë shpjegimesh.

Disa nxorrën jashtë algorizëm nga greqishtja algiros(i sëmurë) dhe arithmos(numri). Nga ky shpjegim, nuk është shumë e qartë pse numrat janë "të sëmurë". Apo gjuhëtarët panë njerëz të sëmurë nga fatkeqësia e të bërit llogaritë? Fjalori Enciklopedik Brockhaus dhe Efron gjithashtu ofroi shpjegimin e tij. Në të algoritmi(nga rruga, para revolucionit, u përdor drejtshkrimi algoritmi, përmes përshtatjes) është prodhuar "nga fjala arabe Al-Goretm, domethënë rrënja". Sigurisht, këto shpjegime vështirë se mund të konsiderohen bindëse.

Përkthimi i lartpërmendur i veprës së al-Khuarizmit u bë dallëndyshja e parë dhe gjatë disa shekujve të ardhshëm u shfaqën shumë vepra të tjera kushtuar të njëjtës çështje - duke mësuar artin e numërimit me ndihmën e numrave. Dhe të gjithë e kishin fjalën në titull algoritmi ose algorizmi.

Autorët e mëvonshëm nuk dinin asgjë për el-Kuarizmin, por që kur përkthimi i parë i librit fillon me fjalët: "Dixit algorizmi:..." ("Al-Khwarizmi tha:..."), ata ende e lidhën këtë fjalë me emrin. të një personi specifik. Versioni për origjinën greke të librit ishte shumë i përhapur. Në një dorëshkrim anglo-norman të shekullit të 13-të, të shkruar në vargje, lexojmë:

Algoritmi është arti i numërimit me numra, por në fillim fjala "numër" i referohej vetëm zeros. Trouveri i famshëm francez Gautier de Coincy (1177-1236) i përdori fjalët në një nga poezitë e tij. algorismus-shifror(që nënkuptonte numrin 0) si një metaforë për karakterizimin e një personi absolutisht të pavlerë. Natyrisht, kuptimi i një imazhi të tillë kërkonte trajnimin e duhur të audiencës, që do të thotë se sistemi i ri i numrave ishte tashmë i njohur për ta.

Për shumë shekuj, numëratori ishte në fakt i vetmi mjet për llogaritjet praktike; ai përdorej nga tregtarët, këmbyesit e parave dhe shkencëtarët. Përparësitë e llogaritjes në tabelën e numërimit u shpjeguan në shkrimet e tij nga një mendimtar i tillë i shquar si Herbert Avrilak (938-1003), i cili u bë Papë në 999 me emrin Silvester II. Gjëja e re u hap me shumë vështirësi dhe historia e matematikës hyri në konfrontimin kokëfortë midis kampeve të algoritmeve dhe abacistëve (ndonjëherë të quajtur herbekistë), të cilët mbronin përdorimin e numëratorit për llogaritje në vend të numrave arabë. Është interesante se matematikani i famshëm francez Nicolas Chuquet (1445-1488) është regjistruar në regjistrin e taksapaguesve të qytetit të Lionit si algorist. Por kaloi më shumë se një shekull para se të vendosej përfundimisht mënyra e re e numërimit, u desh kaq shumë kohë për të zhvilluar shënimin e pranuar përgjithësisht, për të përmirësuar dhe përshtatur metodat e llogaritjes për të shkruar në letër. Në Evropën Perëndimore, mësuesit e aritmetikës vazhduan të quheshin "mjeshtër të numëratores" deri në shekullin e 17-të, siç ishte matematikani Niccolò Tartaglia (1500-1557).

Pra, u quajtën ese mbi artin e numërimit Algoritmet... Nga shumë qindra, mund të dallohen të tilla të pazakonta si një traktat i shkruar në vargje Carmen de Algorismo(latin karmen dhe do të thotë poezi) nga Alexander de Villa Dei (v. 1240) ose teksti shkollor i astronomit dhe matematikanit vjenez Georg Peurbach (Georg Peurbach, 1423-1461) Opus algorismi jocundissimi("Eseja më qesharake mbi algoritmin").

Gradualisht, kuptimi i fjalës u zgjerua. Shkencëtarët filluan ta zbatojnë atë jo vetëm në thjesht llogaritje, por edhe në procedura të tjera matematikore. Për shembull, rreth vitit 1360, filozofi francez Nicholas Orem (Nicolaus Oresme, 1323 / 25-1382) shkroi një traktat matematikor Algorismus proporcional("Llogaritja e përmasave"), në të cilën ai përdori për herë të parë fuqitë me eksponentë thyesorë dhe në të vërtetë iu afrua idesë së logaritmeve. Kur i ashtuquajturi numërimi i linjës zëvendësoi numëratorin, filluan të thirren manuale të shumta mbi të Algorithm linealis, domethënë rregullat për numërimin në rreshta.

Vini re se forma origjinale algorizmi pas ca kohësh, ajo humbi shkronjën e fundit dhe fjala fitoi një formë më të përshtatshme për shqiptimin evropian algorizëm... Më vonë, ajo, nga ana tjetër, pësoi shtrembërim, me shumë gjasa të lidhur me fjalën aritmetike.

Makina Turing

Ideja bazë e makinës Turing është shumë e thjeshtë. Një makinë Turing është një makinë abstrakte (automat) që punon me një shirit qelizash individuale në të cilat shkruhen simbolet. Makina ka gjithashtu një kokë për të shkruar dhe lexuar karaktere nga qelizat, të cilat mund të zhvendosen përgjatë shiritit. Në çdo hap, makina lexon një karakter nga qeliza e drejtuar nga koka dhe, bazuar në karakterin e lexuar dhe gjendjen e brendshme, merr hapin tjetër. Në këtë rast, makina mund të ndryshojë gjendjen e saj, të shkruajë një karakter tjetër në qelizë ose të lëvizë kokën një qelizë djathtas ose majtas.

Bazuar në studimin e këtyre makinave, u parashtrua teza e Turing (hipoteza kryesore e algoritmeve):

Kjo tezë është një aksiomë, një postulat dhe nuk mund të vërtetohet me metoda matematikore, pasi një algoritëm nuk është një koncept i saktë matematikor.

Funksionet rekursive

Çdo algoritëm mund të shoqërohet me një funksion që ai vlerëson. Megjithatë, lind pyetja, a është e mundur të lidhet një makinë Turing me një funksion arbitrar, dhe nëse jo, për cilat funksione ekziston një algoritëm? Hetimet në këto çështje çuan në krijimin e teorisë së funksioneve rekursive në vitet 1930.

Klasa e funksioneve të llogaritshme u shkrua në një imazh që të kujton ndërtimin e disa teorive aksiomatike të bazuara në një sistem aksiomash. Së pari, u zgjodhën funksionet më të thjeshta, llogaritja e të cilave është e qartë. Më pas u formuluan rregullat (operatorët) për ndërtimin e funksioneve të reja në bazë të atyre ekzistuese. Klasa e kërkuar e funksioneve përbëhet nga të gjitha funksionet që mund të merren nga aplikimi më i thjeshtë i operatorëve.

Ngjashëm me tezën e Turingut në teorinë e funksioneve llogaritëse, u parashtrua një hipotezë, e cila quhet Teza e Kishës:

Vërtetimi se klasa e funksioneve të llogaritshme përkon me ato të llogaritura sipas Turingut bëhet në dy hapa: së pari, ato vërtetojnë llogaritjen e funksioneve më të thjeshta në makinën Turing dhe më pas - llogaritjen e funksioneve të marra si rezultat i përdorimit operatorët.

Kështu, joformalisht, një algoritëm mund të përkufizohet si një sistem i qartë udhëzimesh që përcaktojnë një proces diskret përcaktues që çon nga të dhënat fillestare (në hyrje) në rezultatin e dëshiruar (në dalje), nëse ai ekziston, në një numër të fundëm hapa; nëse rezultati i dëshiruar nuk ekziston, algoritmi ose nuk del kurrë ose ngec.

Algoritmi Normal Markov

Algoritmi normal Markov është një sistem i aplikimeve të njëpasnjëshme të zëvendësimeve që zbatojnë procedura të caktuara për marrjen e fjalëve të reja nga fjalët bazë të ndërtuara nga simbolet e një alfabeti të caktuar. Si një makinë Turing, algoritme normale llogaritjet nuk i kryejnë vetë: transformimin e fjalëve e kryejnë vetëm duke i zëvendësuar shkronjat sipas rregullave të dhëna.

Normalisht i llogaritshëm quhet një funksion që mund të zbatohet nga një algoritëm normal. Kjo është, një algoritëm që konverton çdo fjalë nga grupi i të dhënave të vlefshme të një funksioni në vlerat e tij origjinale..

Krijuesi i teorisë së algoritmeve normale A.A.Markov parashtroi një hipotezë të quajtur parimi i normalizimit të Markov:

Ashtu si tezat e Turingut dhe Church, parimi i normalizimit të Markovit nuk mund të vërtetohet matematikisht.

Algoritme stokastike

Sidoqoftë, përkufizimi zyrtar i mësipërm i algoritmit mund të jetë shumë i rreptë në disa raste. Ndonjëherë ekziston nevoja për të përdorur ndryshore të rastësishme. Një algoritëm, funksionimi i të cilit përcaktohet jo vetëm nga të dhënat fillestare, por edhe nga vlerat e marra nga gjeneruesi i numrave të rastësishëm, quhet stokastike(ose të rastësishme, nga anglishtja. algoritmi i rastësishëm). Formalisht, algoritme të tilla nuk mund të quhen algoritme, pasi ekziston një probabilitet (afër zeros) që ato të mos ndalen. Sidoqoftë, algoritmet stokastike janë shpesh më efikase se ato deterministe, dhe në disa raste - mënyra e vetme për të zgjidhur problemin.

Në praktikë, në vend të gjeneruesit të numrave të rastësishëm përdoret një gjenerator i numrave të rastësishëm pseudo.

Sidoqoftë, duhet bërë dallimi midis algoritmeve stokastike dhe metodave që japin rezultatin e saktë me një probabilitet të lartë. Në ndryshim nga metoda, algoritmi jep rezultate të sakta edhe pas punës së zgjatur.

Disa studiues pranojnë mundësinë që algoritmi stokastik të japë një rezultat të pasaktë me një probabilitet të njohur a priori. Atëherë algoritmet stokastike mund të ndahen në dy lloje:

  • algoritme si Las Vegas japin gjithmonë rezultatin e saktë, por koha e funksionimit të tyre nuk është e përcaktuar.
  • algoritme Lloji Monte Carlo, ndryshe nga ato të mëparshmet, mund të japin rezultate të pasakta me një probabilitet të njohur (ato shpesh quhen Metodat e Monte Carlo).

Formalizime të tjera

Për disa detyra, zyrtarizimet e mësipërme mund ta vështirësojnë gjetjen e zgjidhjeve dhe kryerjen e kërkimit. Për të kapërcyer pengesat, u zhvilluan të dy modifikimet e skemave "klasike" dhe u krijuan modele të reja të algoritmit. Në veçanti, mund të emërtoni:

  • makina Turing me shumë shirita dhe jo-përcaktues;
  • regjistri dhe makina PAM - një prototip i kompjuterëve dhe makinave virtuale moderne;

tjera.

Vetitë formale të algoritmeve

Përkufizime të ndryshme të një algoritmi, në mënyrë eksplicite ose të nënkuptuar, përmbajnë grupin e mëposhtëm të kërkesave të përgjithshme:

Llojet e algoritmeve

Një rol të veçantë luajnë algoritmet e aplikuara të krijuara për të zgjidhur probleme të caktuara të aplikuara. Një algoritëm konsiderohet i saktë nëse plotëson kërkesat e problemit (për shembull, jep një rezultat fizikisht të besueshëm). Një algoritëm (program) përmban gabime nëse për disa të dhëna fillestare jep rezultate të pasakta, dështime, refuzime ose nuk jep fare rezultat. Teza e fundit përdoret në olimpiadat e programimit algoritmik për të vlerësuar programet e përpiluara nga pjesëmarrësit.

Rasti kur rezultati i llogaritjes së një funksioni është një shprehje logjike "e vërtetë" ose "e gabuar" (ose një grup (0, 1)) quhet problem që mund të jetë i zgjidhshëm ose i pazgjidhshëm në varësi të llogaritshmërisë së funksionit.

Është e rëndësishme të tregohet me saktësi grupi i vlefshëm i të dhënave hyrëse, pasi problemi mund të jetë i zgjidhshëm për një grup dhe jo i zgjidhshëm për një tjetër.

Një nga problemet e para për të cilin u vërtetua pazgjidhshmëria është problemi i ndalimit. Është formuluar si më poshtë:

Prova e pavendosshmërisë së problemit të ndalimit është e rëndësishme sepse problemet e tjera mund të reduktohen në të. Për shembull, një problem i thjeshtë ndalimi mund të reduktohet në problemin e ndalimit në një vijë të zbrazët (kur është e nevojshme të përcaktohet për një makinë të caktuar Turing nëse do të ndalet, duke u nisur në një linjë boshe), duke vërtetuar kështu pavendosmërinë e kjo e fundit. ...

Analiza e algoritmeve

Së bashku me përhapjen e teknologjisë së informacionit, rreziku i dështimeve të softuerit është rritur. Një nga mënyrat për të shmangur gabimet në algoritme dhe zbatimin e tyre është vërtetimi i korrektësisë së sistemeve me mjete matematikore.

Përdorimi i një aparati matematikor për të analizuar algoritmet dhe zbatimin e tyre quhet metoda formale. Metodat formale përfshijnë përdorimin e specifikimeve formale dhe, zakonisht, një grup mjetesh për analizimin dhe vërtetimin e vetive të specifikimeve. Abstragimi nga detajet e zbatimit lejon që vetitë e një sistemi të vendosen pavarësisht nga zbatimi i tij. Për më tepër, saktësia dhe paqartësia e pohimeve matematikore shmang paqartësinë dhe pasaktësinë e gjuhëve natyrore.

Sipas hipotezës së Richard Mace, "të shmangësh gabimet është më mirë se të eliminosh gabimet". Sipas hipotezës së Hoare, "Prova e programeve zgjidh problemin e korrektësisë, dokumentacionit dhe përputhshmërisë". Dëshmia e korrektësisë së programeve ju lejon të zbuloni vetitë e tyre në lidhje me të gjithë gamën e të dhënave hyrëse. Për këtë, koncepti i korrektësisë u nda në dy lloje:

  • Korrektësi e pjesshme- programi jep rezultatin e duhur për ato raste kur del.
  • Korrektësi e plotë- programi del dhe kthen rezultatin e saktë për të gjithë elementët nga diapazoni i të dhënave hyrëse.

Gjatë vërtetimit të korrektësisë, teksti i programit krahasohet me specifikimin e raportit të dëshiruar të të dhënave hyrje-dalje. Për provat Hoare, ky specifikim merr formën e deklaratave të quajtura parakushte dhe paskushte. Së bashku me vetë programin, ato quhen edhe treshe Hoare. Këto deklarata shkruajnë

P{P} R

ku P- ky është një parakusht që duhet plotësuar para fillimit të programit P, a R- paskusht, i saktë pas përfundimit të programit.

Metodat formale janë aplikuar me sukses në një gamë të gjerë detyrash, në veçanti: zhvillimi i qarqeve elektronike, inteligjenca artificiale, sistemet automatike në hekurudhë, verifikimi i mikroprocesorit, specifikimi dhe specifikimi i standardeve dhe verifikimi i programit.

Orë pune

Një kriter i zakonshëm për vlerësimin e algoritmeve është koha e ekzekutimit dhe rendi i rritjes së kohës së ekzekutimit në varësi të sasisë së të dhënave hyrëse.

Për çdo detyrë specifike, përpilohet një numër i caktuar, i cili quhet madhësia e tij. Për shembull, madhësia e problemit të llogaritjes së produktit të matricave mund të jetë madhësia më e madhe e matricave të shumëzuesit; për problemet në grafikë, madhësia mund të jetë numri i skajeve në grafik.

Koha që kalon një algoritëm në funksion të madhësisë së problemit quhet kompleksiteti kohor i atij algoritmi. T(n). Sjellja asimptotike e këtij funksioni me rritjen e madhësisë së problemit quhet kompleksitet kohor asimptotik dhe përdoret një shënim i veçantë për ta treguar atë.

Është kompleksiteti asimptotik që përcakton madhësinë e detyrave që mund të trajtojë algoritmi. Për shembull, nëse algoritmi përpunon të dhënat hyrëse të madhësisë në kohë cn², ku cështë disa konstante, atëherë ata thonë se kompleksiteti kohor i një algoritmi të tillë O(n²).

Shpesh, gjatë zhvillimit të një algoritmi, bëhet një përpjekje për të reduktuar kompleksitetin kohor asimptotik për rastin më të keq. Në praktikë, ka raste kur mjafton një algoritëm që "zakonisht" funksionon shpejt.

Duke folur përafërsisht, analiza e kompleksitetit mesatar kohor asimptotik mund të ndahet në dy lloje: analitike dhe statistikore. Metoda analitike jep rezultate më të sakta, por është e vështirë të përdoret në praktikë. Nga ana tjetër, metoda statistikore mundëson analizë më të shpejtë të problemeve komplekse.

Tabela e mëposhtme përmbledh kompleksitetet e zakonshme asimptotike me komente.


Kompleksiteti Një koment Shembuj të
O(1) Koha e qëndrueshme e ekzekutimit nuk varet nga madhësia e detyrës Koha e parashikuar e një kërkimi të tabelës hash
O(regjistri i regjistrit n) Rritje shumë e ngadaltë e kohës së kërkuar Koha e përllogaritur e ekzekutimit të kërkimit interpolues n elementet
O(log n) Rritja logaritmike - dyfishimi i madhësisë së detyrës rrit kohën e ekzekutimit me një sasi konstante Llogaritja x n; Kërkimi binar në një grup nga n elementet
O(n) Rritja lineare - dyfishimi i madhësisë së detyrës do të dyfishojë kohën e kërkuar Shtimi/zbritja e numrave nga n numrat; Kërkimi linear në një grup prej n elementet
O(n log n) Rritja lineare aritmike - dyfishimi i madhësisë së detyrës do të dyfishojë pak më shumë se kohën e kërkuar Merge ose Rendit grupi n elementet; kufiri i poshtëm i llojit n elementet
O(n²) Rritja kuadratike - dyfishimi i madhësisë së detyrës katërfishon kohën e kërkuar Algoritmet elementare të renditjes
O(n³) Rritja kubike - dyfishimi i madhësisë së detyrës rrit kohën e kërkuar me tetë herë Shumëzimi i rregullt i matricës
O(c n) Rritja eksponenciale - rritja e madhësisë së detyrës me 1 çon në c-rritja e dyfishtë e kohës së kërkuar; dyfishimi i madhësisë së detyrës rrit kohën e kërkuar me katror Disa probleme të shitësve udhëtues, algoritme kërkimi me forcë brutale

Disponueshmëria e të dhënave fillestare dhe disa rezultate

Një algoritëm është një udhëzim i përcaktuar saktësisht, i cili mund të zbatohet në mënyrë të njëpasnjëshme në të dhënat fillestare për të marrë një zgjidhje për problemin. Për çdo algoritëm, ka një numër objektesh që janë të vlefshme si të dhëna hyrëse. Për shembull, në algoritmin për pjesëtimin e numrave realë, dividenti mund të jetë çdo gjë, dhe pjesëtuesi nuk mund të jetë zero.

Algoritmi shërben, si rregull, për të zgjidhur jo një problem specifik, por një klasë të caktuar problemesh. Pra, algoritmi i mbledhjes është i zbatueshëm për çdo çift numrash natyrorë. Kjo shpreh vetinë e tij të karakterit masiv, domethënë aftësinë për të aplikuar të njëjtin algoritëm shumë herë për çdo problem të së njëjtës klasë.

Për zhvillimin e algoritmeve dhe programeve përdoret algoritmizim- procesi i përpilimit sistematik të algoritmeve për zgjidhjen e problemeve të aplikuara të caktuara. Algorithmizimi konsiderohet një fazë e detyrueshme në procesin e zhvillimit të programeve dhe zgjidhjes së problemeve në një kompjuter. Është për algoritmet dhe programet e aplikuara që determinizmi, efikasiteti dhe karakteri i masës, si dhe korrektësia e rezultateve të zgjidhjes së detyrave të caktuara, janë thelbësisht të rëndësishme.

Një algoritëm është një recetë e qartë dhe e saktë për të kryer një sekuencë veprimesh në mënyrë ekzekutive, që synon arritjen e një qëllimi.

Paraqitja e algoritmit

Format e regjistrimit të algoritmit:

  • verbale ose verbale (gjuhësore, formula-verbale);
  • pseudokod (gjuhë algoritmike formale);
  • skematike:
    • strukturalograme (skemat Nassi-Schneiderman);
    • grafik (blloqe diagrame).

Zakonisht, në fillim (në nivelin e një ideje) algoritmi përshkruhet me fjalë, por ndërsa i afrohet zbatimit, ai fiton gjithnjë e më shumë skica dhe formulime formale në një gjuhë të kuptueshme për ekzekutuesin (për shembull, kodi i makinës).

Efikasiteti i algoritmit

Megjithëse përkufizimi i një algoritmi kërkon vetëm fundshmërinë e numrit të hapave të kërkuar për të arritur një rezultat, në praktikë, ekzekutimi i të paktën një miliard hapash është shumë i ngadalshëm. Gjithashtu, zakonisht ka kufizime të tjera (për madhësinë e programit, për veprimet e lejuara). Në këtë drejtim, futen koncepte të tilla si kompleksiteti i algoritmit (koha, madhësia e programit, llogaritja, etj.).

Për çdo detyrë, mund të ketë shumë algoritme që çojnë drejt qëllimit. Rritja e efikasitetit të algoritmeve është një nga detyrat e informatikës moderne. Në vitet 50. Në shekullin e 20-të, u shfaq edhe një zonë e veçantë e saj - algoritme të shpejta. Në veçanti, në problemin e shumëzimit të numrave dhjetorë, të njohur për të gjithë që nga fëmijëria, u zbuluan një numër algoritmesh që bëjnë të mundur përshpejtimin e ndjeshëm (në kuptimin asimptotik) të gjetjes së produktit. Shihni shumëzimin e shpejtë

Algoritmi i Euklidit është një metodë efikase për llogaritjen e pjesëtuesit më të madh të përbashkët (GCD). I quajtur sipas matematikanit grek Euklid; një nga algoritmet më të vjetra ende në përdorim.

Përshkruar në "Elementet" e Euklidit (rreth 300 para Krishtit), përkatësisht në librat VII dhe X. Libri i shtatë përshkruan algoritmin për numrat e plotë, dhe i dhjeti - për gjatësitë e segmenteve.

Ekzistojnë disa variante të algoritmit, më poshtë varianti rekurziv i shkruar në pseudokod:

funksionin nyja (a, b) nëse b = 0 kthimi a ndryshe kthimi nyja (b, a mod b)

GCD e numrave 1599 dhe 650:

Hapi 1 1599 = 650*2 + 299
Hapi 2 650 = 299*2 + 52
Hapi 3 299 = 52*5 + 39
Hapi 4 52 = 39*1 + 13
Hapi 5 39 = 13*3 + 0


Shiko gjithashtu

Shënime (redakto)

  1. Kleene 1943 në Davis 1965: 274
  2. Rosser 1939 në Davis 1965: 225
  3. (Igoshin, f. 317)
  4. Bazat: Makina Turing (me një përkthyes!. Matematikë e mirë, matematikë e keqe(9 shkurt 2007). Arkivuar nga origjinali më 2 shkurt 2012.
  5. (Igoshin, seksioni 33)
  6. Encyclopedia of Cybernetics, vëll. 2 , c. 90-91.
  7. (Igoshin, seksioni 34)
  8. “Algoritmet probabiliste nuk duhet të ngatërrohen me metodat (të cilat unë refuzoj t'i quaj algoritme), të cilat prodhojnë një rezultat që ka një probabilitet të lartë për të qenë të saktë. Është thelbësore që një algoritëm të prodhojë rezultate të sakta (duke zbritur gabimet njerëzore ose kompjuterike), edhe nëse kjo ndodh pas një kohe shumë të gjatë. Henri Cohen Një kurs në teorinë llogaritëse algjebrike të numrave. - Springer-Verlag, 1996. - P. 2. - ISBN 3-540-55640-0
  9. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rives "t, Clifford Stein... - ISBN 0-262-03293-7

Sipas autorit, ngjashmëria e zbuluar midis koncepteve të "algoritmit" dhe "teknologjisë së procesit" ka një karakter themelor dhe pasoja të gjera. Fatkeqësisht, kjo ngjashmëri nuk ka tërhequr ende vëmendjen e shkencëtarëve ndaj vetes, gjë që çoi në rezultate negative dhe në një masë të madhe kontribuoi në ndarjen e shkencës në "qeliza të izoluara", duke krijuar pengesa të pajustifikuara për kontaktet ndërsektoriale dhe ndërdisiplinore. Sot programuesit dhe teknologët (në kuptimin e gjerë të fjalës, duke përfshirë agronomët, mjekët, mësuesit, menaxherët, etj.) janë "kasta" të ndryshme që marrin arsimim të ndryshëm dhe flasin gjuhë të ndryshme profesionale. Këto barriera e bëjnë të vështirë për specialistët të kuptojnë njëri-tjetrin kur zgjidhin problemet e automatizimit dhe punojnë në projekte ndërdisiplinore.

Në këtë mënyrë, gjuhë teknoështë një gjuhë e një lloji të ri që kombinon ashpërsinë matematikore të një gjuhe algoritmike me komoditetin e gjuhëve të komunikimit ndër-industri dhe ndërdisiplinor, e përshtatshme për një përshkrim vizual të teknologjive dhe mirëkuptim të ndërsjellë midis specialistëve.

Për qëllimet tona, do të ishte e përshtatshme për të përcaktuar teknologjisë si një aktivitet (sekuencë veprimesh) që çon në një qëllim të caktuar. Duke rënë dakord me këtë qasje, ne kemi mundësinë të konsiderojmë algoritmin dhe procesin teknik si raste të veçanta të teknologjisë, e cila merr statusin e një koncepti gjenerik.

Dihet se termi "algoritëm" përdoret gjithashtu në një kuptim më të gjerë për të përfaqësuar veprimtarinë njerëzore në formën e një sekuence të rreptë të veprimeve ose procedurave elementare individuale, dhe procesi teknologjik mund të përkufizohet si "një sekuencë veprimesh (operacionet teknologjike ) që synon krijimin e një objekti të caktuar, secila prej të cilave bazohet në çdo proces natyror (fizik, kimik, biologjik, etj.) dhe në veprimtarinë njerëzore ". Një analizë e kujdesshme e këtyre dhe shumë përkufizimeve të tjera tregon se konceptet në studim përkojnë në një shkallë të konsiderueshme dhe dallimet ekzistuese janë në një farë kuptimi të parëndësishme. Me fjalë të tjera, procesi teknologjik dhe algoritmi janë koncepte binjake, ose të paktën “të afërm të ngushtë”. Për ta bërë këtë ide më bindëse, do të përpiqemi të largohemi nga këndvështrimi tradicional dhe të propozojmë përkufizime të reja.

E meta e përmendur (vështirësitë e të kuptuarit të ndërsjellë) mund të dobësohet ose eliminohet duke krijuar një gjuhë të vetme që është po aq e përshtatshme për teknologët, programuesit dhe specialistët e tjerë. Termi është propozuar për të treguar këtë gjuhë gjuha teknologjike(gjuhë tekno). Kandidati i parë për rolin e një gjuhe teknologjike është DRAGON.

Duhet theksuar se qëllimet e përdorimit të një gjuhe teknologjike në zhvillimin e programeve kompjuterike dhe proceseve teknike janë të ndryshme. Në rastin e parë (krijimi i programeve), gjuha lejon përkthimin në kodet e makinës. Në rastin e dytë (përshkrimi i teknologjive), dy situata janë të mundshme. Nëse ekziston një sistem i automatizuar kontrolli dhe përshkrimi i teknologjisë është menduar për një kompjuter që kontrollon procesin teknik, përshkrimi kthehet automatikisht në një program kompjuterik dhe çështja reduktohet në rastin e mëparshëm. Nëse një sistem i automatizuar kontrolli dhe një kompjuter kontrolli mungojnë ose nuk kërkohet, dhe për këtë arsye përkthimi nuk nevojitet, gjuha përdoret si një mjet për zgjidhjen e paqartë të problemeve dhe sigurimin e mirëkuptimit të ndërsjellë midis njerëzve, që në vetvete është një pronë jashtëzakonisht e vlefshme e gjuhe.

Dallimi midis algoritmit dhe programit

Programi(kompjuter, para së gjithash) - regjistrimi i një sekuence udhëzimesh të ekzekutuara nga një kompjuter.

Algoritmi- një udhëzim që përfshin një rend të caktuar të qartë të veprimeve të ndërmarra për të përfunduar detyrën. Numri i veprimeve është gjithmonë i kufizuar.

Kuptimi i programeve nga përdoruesi mesatar është shumë i kufizuar dhe bazohet në përvojën e lëshimit dhe punës në aplikacione. Ne e dimë se ka programues që shkruajnë programe dhe puna jonë është të përfitojmë nga rezultatet e punës së tyre. Njerëzit që kanë mbaruar shkollën disa kohë më parë kujtojnë algoritmet në kontekstin e teorisë së algjebrës, duke imagjinuar në mënyrë të paqartë se kjo njohuri me siguri nuk do të jetë e dobishme. Dhe nëse duhet të përballemi me kryqëzimin e këtyre koncepteve, shumica prej nesh janë të humbur, duke mos gjetur lidhje midis algoritmeve dhe programeve dhe, për rrjedhojë, duke mos kuptuar detyrën në fjalë. Ndonjëherë këto koncepte kombinohen, duke pasur parasysh se "algoritmi" është një përcaktim më profesional dhe i saktë i "programit". Për të plotësuar boshllëqet në pikëpamje, le të shohim se çfarë fshihet pas terminologjisë.

Një tjetër ndryshim midis një programi dhe një algoritmi është funksionimi i të dhënave specifike gjatë ekzekutimit. Nëse algoritmi është vetëm një përshkrim i veprimeve të nevojshme për të arritur qëllimin, atëherë programi përmban edhe një përshkrim të të dhënave. Një algoritëm mund të jetë masiv, domethënë mund të projektohet për të zgjidhur jo një problem, por një klasë problemesh. Në të njëjtën kohë, diskretiteti dhe siguria i referohen edhe vetive të tij. Algoritmi nënkupton kryerjen e veprimeve elementare mbi objektet elementare, megjithatë, elementariteti do të jetë i ndryshëm për interpretues të ndryshëm.

Cili është ndryshimi midis një algoritmi dhe një programi është e qartë tashmë nga terminologjia. Duket se në të dyja rastet shohim veprime të rregullta që çojnë në rezultatin përfundimtar. Siç është e qartë nga përkufizimet, një program mund të përbëhet nga disa algoritme, por hierarkia "e përgjithshme - e veçantë" nuk gjurmohet këtu. Një algoritëm është përgjithësisht çdo udhëzim që rendit qartë veprimet. Për shembull, për të mbledhur një kabinet. Sigurisht, nuk do të jetë një program. Algoritmi mund të ekzistojë në çdo formë: ai mund të memorizohet, të shkruhet në një fletore, të skicohet në formën e një diagrami, të diktohet, pasi bazohet në një komponent logjik, jo në një formal. Programi është një koncept formal. Është pikërisht një rekord i një grupi algoritmesh dhe një rekord në një nga gjuhët e programimit të kuptueshëm nga një kompjuter. Mund të jetë jo vetëm kompjuteri ynë i zakonshëm, por edhe njësia e kontrollit të çdo pajisjeje. Kështu, një algoritëm mund të përkufizohet si një metodë ose skemë për zbatimin e një ideje, një program si zbatimi i tij me mjete specifike.

Koncepti i një algoritmi është shumë më i gjerë se ai i një programi: koncepti bazë i matematikës. Një program kompjuterik i nënshtrohet të drejtave të pronësisë intelektuale, ndërsa algoritmi nuk zbatohet për të.

Dallimet kryesore midis mbrojtjes së punës dhe sigurisë së punës

  • vlerësoni rrezikun e një situate të rrezikshme në procesin e punës, zhvilloni hapa për ta parandaluar atë;
  • hartoni udhëzime sigurie;
  • të mësojë metoda dhe teknika të sigurta të punës;
  • zhvilloni informime për punonjësit.

Pyetja se si mbrojtja e punës e personelit ndryshon nga siguria e punës ishte me interes për shumë njerëz që udhëzohen për herë të parë në një vend të ri pune. Të dyja përdoren shpesh së bashku, por ato kanë kuptime të ndryshme. Për të kuptuar se cilat janë ngjashmëritë dhe ndryshimet e tyre, është e nevojshme të zbulohen detyrat e mbrojtjes së punës dhe masave të sigurisë, për të përcaktuar metodat e zgjidhjes së tyre.

  • standardet e sigurisë në vendin e punës;
  • rregulloret e ndërtimit;
  • normat dhe rregullat sanitare;
  • standardet e projektimit teknologjik;
  • rregulla dhe rregullore të tjera të hartuara nga autoritetet mbikëqyrëse.

Mbrojtja e punës ka për qëllim ruajtjen e burimeve më të rëndësishme shtetërore - njerëzore. Konsiderohet si një nga elementët e mbrojtjes sociale që u mundëson qytetarëve të ushtrojnë të drejtat e tyre. Në të njëjtën kohë, respektimi i garancive të vendosura nga shteti është i detyrueshëm.

Detyra e sigurisë në punë është mbrojtja nga ndikimet e dëmshme fizike në vendin e punës.

  1. E drejta për të punuar në kushte që plotësojnë standardet e përcaktuara. Rregullimi i këtyre kërkesave në marrëveshjen e punës.
  2. Pezullimi i punës për periudhën e eliminimit të shkeljeve të mbrojtjes së punës që lindën për fajin e ndërmarrjes. Në këtë kohë, punonjësit duhet t'i paguhet paga, të mbajë vendin e punës.
  3. Në rast të faktorëve të rrezikshëm për shëndetin, sigurimi i një qytetari me një vend tjetër pune ose pagesa për kohën e pushimit.
  4. Ndalimi i rekrutimit në punë pa siguruar pajisje mbrojtëse.
  5. Kompensimi i dëmit shëndetësor të shkaktuar në punë për fajin e punëdhënësit.

Futsal dhe futsal janë dy lojëra sportive të ngjashme, por në të njëjtën kohë, të ndryshme. Para se të kuptoni se cilat janë ato, është jashtëzakonisht e rëndësishme t'i kushtoni vëmendje nuancave të shumta.

Kreu i lojës është një nga atributet më të rëndësishme në sport. Për futsallin, supozohen parametrat e mëposhtëm të topit të përdorur:

Futsal-i luhet nga dy ekipe me nga katër lojtarë. Pjesëmarrësi shtesë është portieri. Ekipet duhet të luajnë 2 pjesë, dhe kohëzgjatja, si në futsal, është 20 minuta.

Si ndryshojnë parafjalët nga parashtesat (dallimet kryesore)

Shembuj fjalësh me parashtesën nën-: boletus, boletus, mbajtëse filxhani, mjekër, nëntokë, nëntokë, prag dritareje, pezullim, pjellë, qëndrim, përshtatje, mbështetje, verandë, afrim, dorëzim, nënprerje, nënprerje, pezullim etj.

  • Parashtesa është një pjesë e një fjale që qëndron përpara rrënjës dhe shërben për të formuar një fjalë të re.
  • Një parafjalë është një pjesë zyrtare e të folurit që lidh fjalët me njëra-tjetrën.

5) Kthejini frazat me parafjalë në fjalë me parashtesë:

  • Të nesërmen të gjithë erdhën në kohë(erdhi në kohë kur?) - kuptimi i një ndajfoljeje.
  • Takimi është caktuar për nesër(caktuar për çfarë kohe?) - kuptimi i emrit.
  • gjini. fq - përballoi (pa çfarë?) pa gabime;
  • verërat. fq - paguar (për çfarë?) për energji elektrike;
  • datat. etj - shkoi (për çfarë?) për bukë;
  • tv fq - u takua (me kë?) me një shok;
  • etj - duke menduar (për çfarë?) për rastin.

Duke qenë njësi krejtësisht të ndryshme të gjuhës, parashtesat dhe parafjalët përcaktohen si më poshtë:

Si ndryshon futsali nga futsali

  1. Gjatësia e fushës duhet të jetë midis njëzet e tetë dhe dyzet metra.
  2. Gjerësia mund të jetë nga gjashtëmbëdhjetë në njëzet metra.
  3. Zona e penalltisë është një zonë gjysmërrethore. Duhet mbajtur mend se në këtë territor nuk mund të hyhet, pasi në të kundërt shkelen rregullat e lojës së futsallit.
  4. Nga vija e golit duhet të zgjatet gjashtë metra.
  5. Të gjitha skajet e zonës së penalltisë kanë rrumbullakim të veçantë.
  6. Dimensionet e portës mund të jenë si më poshtë: lartësia - 2 metra, gjatësia - 3 metra.

Në secilin rast, futsali merr një strategji të caktuar të lojës. Vetëm nëse merren parasysh të gjitha rregullat, mund të prisni të arrini rezultatet më të mira.

Supozohet se mund të përdoret një top më i vogël. Për më tepër, karakteristikat e pajisjeve sportive mund të jenë shumë më pak, si rezultat i të cilave rikthimi bëhet më i dobët.

Fusha e vogël dikton menjëherë një ritëm të caktuar të lojës. Nuk ka kohë për asnjë reflektim. Loja duhet të jetë e shpejtë dhe teknike. Supozohet një nivel i ulët kontakti, si rezultat i të cilit futsal mund t'i afrohet sporteve të brendshme. Distanca nga futbolli klasik është kryesisht për shkak të nevojës për lojë në një fushë të vogël, lëvizjes së vazhdueshme të të gjithë lojtarëve. Supozohet se lojtari duhet të ndihet i sigurt në sulmin dhe mbrojtjen e territorit personal. Për këtë arsye, përfaqësuesit e futbollit klasik, i cili zhvillohet gjithmonë në një zonë të madhe, vërejnë një shqetësim të theksuar në sallë.

  • Perimetri nuk duhet të kalojë 58-60 centimetra.
  • Masa mund të jetë 430 - 460 gram. Nëse gratë ose fëmijët marrin pjesë në futsal, pesha mund të reduktohet në 380 gram.
  • Presioni duhet të jetë ndërmjet 0,6 - 0,7 atmosfera, në mënyrë që kërcimi i parë i topit në përdorim të kontribuojë në lojën e duhur.

Futsal është një lojë ekipore që e bën lojën menjëherë të varur. Numri i pjesëmarrësve nga secila anë arrin në 5. Çdo lojtar duhet të përmbushë vetëm detyrat e tij specifike.

Teknika e injektimit të insulinës: algoritmi dhe llogaritja, përzgjedhja e dozës në terapinë me insulinë

Është vërtetuar se, në përgjithësi, nevoja në ditë për pacientët me diabet mellitus nuk kalon një njësi të hormonit për kilogram të peshës së tij trupore. Nëse ky prag tejkalohet, atëherë gjasat për komplikime rriten.

Por meqenëse funksionaliteti i tij është i dëmtuar, organi i brendshëm nuk mund të funksionojë më në të njëjtën mënyrë të plotë, prodhimi i hormonit është i ngadaltë, ndërsa prodhohet në një sasi të parëndësishme. Gjendja e një personi përkeqësohet dhe me kalimin e kohës, përmbajtja e insulinës së tij i afrohet zeros.

Sot teknologjitë kompjuterike janë bërë pjesë e jetës sonë. Ata futën shumë terma në fjalorin e një personi të zakonshëm, kuptimet e të cilave nuk janë gjithmonë të qarta për të. Por të gjithë i përdorin ato. Për shembull, çfarë është një algoritëm? Një përdorues i zakonshëm nuk do të jetë në gjendje t'ju japë një përgjigje të qartë, por ju duhet ta dini këtë, pasi ne përballemi çdo ditë me këtë.

Historia e origjinës së termit

Koncepti i algoritmit u formua fillimisht falë një matematikani të quajtur Muhamed Al-Khwarizmi. Ai jetoi në Lindje në shekujt 8-9 dhe shkroi dy vepra të mëdha. E para prej tyre lindi fjalën "algjebër", dhe e dyta - konceptin e "algoritmit". Ai qëndronte për veprimet aritmetike, të cilat ne i njohim si mbledhje, zbritje, shumëzim dhe pjesëtim. Në vitin 1957, në një nga botimet e fjalorit anglez, autorët konsideruan se algoritmi është një koncept i vjetëruar. Përsëri, ai hyri në përdorim në mënyrë aktive vetëm me ardhjen e kompjuterëve. Ato u përcaktuan veprime që ishin pjesë e një procesi të caktuar. Por nuk duhet të jetë vetëm matematikore. Kjo nënkupton një algoritëm veprimesh të çdo natyre, për shembull, gatimin e një pjate. Që nga ajo kohë, ky koncept nuk është larguar nga buzët e pothuajse të gjithë njerëzve.

Përpjekjet për të përcaktuar termin

Për një kohë të gjatë, ky term u konsiderua ekskluzivisht si një algoritëm për numrat dhe veprimet me ta. Në fund të fundit, vetë matematika ishte në pjesën më të madhe një shkencë e aplikuar. Formulat që përdoren për llogaritjet konsideroheshin algoritme në atë kohë. Hapat që u kryen në zgjidhje ishin elementare, dhe vetë llogaritjet ishin shumë të rënda dhe kërkonin shumë kohë dhe përpjekje. Matematikanët as që menduan t'i jepnin një përkufizim këtij koncepti. Por me kalimin e kohës, shkenca u zhvillua gjithnjë e më shumë dhe u shfaqën objekte që nuk ishin hasur më parë (matrica, vektorë, grupe, etj.). Të gjithë ata duhej të operoheshin. Kjo i dha shtysë të kuptuarit se algoritmi nuk është një koncept i lehtë dhe duhet të përcaktohet saktësisht për përdorim të mëtejshëm. Shkencëtarët janë të ndarë për këtë çështje. Disa besonin se algoritmi ishte i zbatueshëm për gjithçka, ndërsa të tjerë dyshonin se çdo problem mund të zgjidhej me të. Këndvështrimi i fundit doli të ishte i saktë, por ai mund të vërtetohej vetëm duke dhënë një përkufizim të saktë të konceptit të "algoritmit".

Çfarë do të thotë termi "algoritëm"?

Çdo ditë një person duhet të zgjidhë probleme të kompleksitetit të ndryshëm. Jemi mësuar aq shumë me të thjeshtat saqë kryejmë veprime për t'i zgjidhur ato automatikisht. Për kompleksin, duhet të mendoni shumë. Kur lind një problem, ne e zgjidhim atë në faza, duke ndërmarrë hapa. Pra, në matematikë, për shembull, për të gjetur të panjohurën në ekuacion, duhet të veproni hap pas hapi. Këto operacione, të cilat gradualisht çojnë në zgjidhjen e problemit, quhen algoritëm. Një algoritëm është një sekuencë veprimesh që, individualisht, janë hapat e tij. Ata kanë një vend të caktuar dhe duhet të ndjekin rreptësisht njëri-tjetrin. Ka klasa algoritmesh, ato quhen klasa kompleksiteti. Secila prej tyre përfshin një grup të caktuar detyrash që kanë afërsisht të njëjtin kompleksitet zgjidhjesh.

Vetitë e përbashkëta për të gjithë algoritmet

Përveç algoritmeve, ka shumë udhëzime të tjera në botën tonë. Por falë disa vetive, ne mund ta dallojmë atë nga të tjerët. Kjo perfshin:

  • Diskretiteti - skema e algoritmit parashikon zgjidhjen e detyrës përmes veprimeve të njëpasnjëshme që kryhen në mënyrë strikte.
  • Siguria - të gjitha kushtet e deklaruara janë të qarta dhe nuk kanë asnjë paqartësi. Algoritmi i veprimeve, pra, nuk jep hapësirë ​​për ndonjë improvizim. Kjo ju lejon të bëni gjithçka në mënyrë mekanike pa pasur nevojë për kërkesa shtesë.
  • Efektiviteti - për një numër të caktuar hapash, algoritmi gjithmonë i jep zgjidhjen e duhur problemit.
  • Masiviteti - një algoritëm është një zgjidhje për një problem që ka një formë të përgjithshme. Kjo do të thotë, është i zbatueshëm për të gjitha problemet e një klase të caktuar, pavarësisht nga të dhënat fillestare. Ato zgjidhen nga një fushë e caktuar e quajtur "sfera e algoritmit".

Llojet e algoritmeve

Në varësi të kushteve të ndryshme, si qëllimi, rruga e zgjidhjes, të dhënat fillestare, algoritmet ndahen në:

  • Mekanike - një sekuencë e ngurtë, e vetme e saktë për të arritur rezultatin e kërkuar (sigurimi i funksionimit të motorit, etj.).
  • Fleksibil: 1) probabilist - ata kanë disa mënyra për të arritur vendimin e duhur; 2) heuristik - një skemë algoritmi që nuk ka një program të qartë veprimi (udhëzime, etj.), Sepse bazohet në cilësitë personale të një personi, përvojën e tij.
  • Ndihmës - i zhvilluar më parë dhe i projektuar plotësisht për të zgjidhur një problem specifik.

Algoritmet në shkencat kompjuterike

Për shkencën kompjuterike, algoritmet janë të një rëndësie të veçantë. Në këtë shkencë, ato ndahen në llojet e mëposhtme:

  1. Linear - të gjitha veprimet kryhen në mënyrë sekuenciale, njëra pas tjetrës.
  2. Një algoritëm degëzimi është ai në të cilin përmbushja e një kushti të caktuar çon në zgjedhjen e një prej dy opsioneve të mundshme për veprime të mëtejshme.
  3. Ciklike - të njëjtat veprime përsëriten mbi të dhëna të ndryshme fillestare, kështu që zgjidhen ato më të përshtatshmet.

Struktura e algoritmit

Algoritmet kanë strukturën e tyre, e cila zakonisht shfaqet në një diagram. Skema e algoritmit quhet paraqitje grafike e saj në formën e blloqeve të lidhura me njëri-tjetrin. Secili prej tyre përfaqëson një nga hapat e algoritmit. Një përshkrim i një veprimi specifik gjendet brenda çdo blloku. Diagrame të tilla zakonisht vizatohen për të lehtësuar programimin, pasi ato janë vizuale dhe ofrojnë një mundësi për të perceptuar vizualisht sasinë e punës që duhet bërë. Një person mund ta kuptojë procesin, ta korrigjojë atë edhe para se të ndodhin gabime.

Rregullat e projektimit të algoritmit

  • Rregulli i parë është që ju duhet të përcaktoni një numër të madh objektesh që mund t'i nënshtrohen algoritmit të ndërtuar. Programuesi përdor kodimin për t'i përkthyer ato në të dhëna. Janë të hapura dhe në fundjavë. Të parat përdoren për të filluar punën, të dytat janë rezultati. Ky quhet transformim i të dhënave.
  • Rregulli i dytë thotë se puna me algoritmin kërkon memorie të lirë. Në fund të fundit, pa të, nuk do të jetë e mundur të vendosni të dhënat hyrëse, të punoni me to dhe të merrni daljen. Kujtesa përbëhet nga qeliza. Nëse i jepni njërit prej tyre një emër, ai bëhet një ndryshore.
  • Rregulli i tretë tashmë është përshkruar më lart si një nga karakteristikat e algoritmit, përkatësisht diskrete. Kjo do të thotë, algoritmi përbëhet nga operacione individuale ose hapa.
  • Rregulli i katërt kujton determinizmin e algoritmit. Kjo do të thotë, pas çdo veprimi, duhet të tregoni se cili do të jetë i radhës, ose të ndaloni procesin.
  • Rregulli i fundit thotë se pas një numri të caktuar hapash, algoritmi përfundon punën e tij, duke pasur një ose një rezultat tjetër. Dhe cilën e tregon vetë programuesi.

Kështu, një algoritëm është një koncept kompleks që, para ardhjes së kompjuterëve, përdorej vetëm në matematikë dhe konsiderohej i vjetëruar. Sot përdoret në të gjitha sferat e jetës, një nga më të rëndësishmet është shkenca kompjuterike.

Sot do t'i përgjigjemi pyetjes se çfarë është një algoritëm.

Shpesh është zakon të quajmë një algoritëm një grup udhëzimesh që përshkruajnë veprimet e nevojshme (si dhe rendin e ekzekutimit të tyre) për të zgjidhur problemin. Në ditët e sotme, algoritmet përdoren jo vetëm në inxhinieri dhe shkencë, por edhe në fusha të tjera të jetës.

Çfarë quhet algoritëm

Koncepti i një algoritmi është mjaft i lashtë dhe i përket një prej koncepteve kryesore, si dhe themelore në matematikë. Termi vjen nga drejtshkrimi latin i emrit të matematikanit të famshëm oriental të viteve 787-850, Muhamed al-Khwarizmi - Algorithmi. Ky shkencëtar ishte i pari që formuloi rregulla të sakta për regjistrimin e numrave natyrorë, si dhe rregulla për përmbledhjen e numërimit në një kolonë. Një fakt mjaft interesant është se, pavarësisht nga rrënjët e tij të lashta, vetë koncepti u formulua saktësisht vetëm në fillim të shekullit të njëzetë. Në ditët e sotme, algoritmi është komponenti kryesor i biznesit modern, çdo procesi arsimor apo kërkimor. Kjo është arsyeja pse çdo person modern thjesht duhet të dijë saktësisht se çfarë do të thotë algoritmi.

Algoritmi - shpesh udhëzime të formuluara të sakta, rendi i veprimeve të caktuara që duhet të sigurojnë arritjen e qëllimit.

Cilat janë vetitë e algoritmeve

Por ia vlen të kujtojmë se jo çdo sekuencë veprimesh mund të quhet algoritëm. Një sekuencë është një algoritëm vetëm nëse ka veti të caktuara. Le t'i rendisim ato:

  1. Diskretiteti është një nga vetitë më të rëndësishme. Do ta shqyrtojmë pak më poshtë.
  2. Siguria është po aq e rëndësishme. Sipas kësaj vetie, çdo komandë duhet të jetë e paqartë dhe ta drejtojë interpretuesin në një veprim specifik.
  3. Vlen të kujtohet qartësia e algoritmit. Algoritmi duhet të përdorë vetëm komandat e nevojshme që janë të rëndësishme për detyrën në fjalë.
  4. Një veti e rëndësishme është efikasiteti (i quajtur edhe fundi) i algoritmit. Vetia "efektiviteti" tregon që algoritmi ka një numër hapash të caktuar, të specifikuar më parë, ekzekutimi i të cilave do të çojë në zbatimin e detyrës.
  5. Gjithashtu, çdo algoritëm duhet domosdoshmërisht të ketë një veti të tillë si karakteri i masës. Nëse një algoritëm siguron ekzekutimin e të gjitha detyrave të një lloji të caktuar, atëherë ai ka vetinë e karakterit masiv.

Çfarë është një algoritëm në shkencën kompjuterike

Të gjithë shkencëtarët pajtohen me pohimin se koncepti i një algoritmi është themelor në shkencën moderne kompjuterike. Kur krijoni softuer, hapi i parë është gjithmonë krijimi i një algoritmi.

Një algoritëm i shkruar në një gjuhë zyrtare zakonisht quhet program. Shumë shpesh koncepti i një algoritmi është i lidhur ngushtë me procesin e shkrimit të tij në një program. Kjo është arsyeja pse termi algoritëm dhe programe shpesh konsiderohen sinonime.

Si të krijoni një algoritëm

Për të krijuar një algoritëm efektiv dhe me cilësi të lartë, duhet të ndiqen disa rregulla:

  1. Algoritmi duhet të shkruhet në një gjuhë zyrtare dhe të qartë. Paqartësia ose paqartësia e udhëzimeve është e papranueshme.
  2. Gjatë përpilimit të një algoritmi, është e domosdoshme të merret parasysh personi për të cilin po përpilohet. Kontraktori duhet të kuptojë të gjitha pikat e algoritmit dhe të jetë në gjendje t'i zbatojë ato.
  3. Është e dëshirueshme që algoritmi të mbahet i shkurtër, i saktë dhe i qartë.

Çfarë është Algoritmi Linear

Ndër të gjitha algoritmet, bëhet një dallim midis linear dhe jolinear. Një algoritëm konsiderohet linear nëse ruan një rend të qëndrueshëm veprimesh gjatë gjithë procesit të ekzekutimit.

Në shkencat kompjuterike, gjuha e programimit me të cilën përshkruhet një algoritëm zakonisht quhet operator. Ka operatorë të thjeshtë dhe të strukturuar. Operatorët e thjeshtë përshkruajnë vetëm një veprim.

Janë operatorët e thjeshtë ata që përdoren më shpesh në algoritmet lineare.

Vetia e diskretitetit të algoritmit dhe kuptimi i tij

Ne përmendëm më herët se çdo algoritëm ka një veti të tillë si diskrete. Tani le të shohim më në detaje konceptin e diskretitetit.

Diskretiteti shpesh zëvendësohet me terma të tillë si mosvazhdimësia dhe ndashmëria e një algoritmi. Në fakt, të tre termat nënkuptojnë të njëjtën gjë, domethënë ekzekutimin sekuencial (sekuencial) të të gjitha komandave të algoritmit. Në varësi të diskretit, çdo veprim kryhet vetëm pas përfundimit të atij të mëparshmi, dhe përmbushja e të gjitha pikave të përcaktuara çon në rezultatin përfundimtar të specifikuar më parë (në zgjidhjen e plotë të problemit).

Tani kemi mbuluar termat dhe konceptet bazë që lidhen me temën tonë sot. Sigurisht që nuk është më problem për ju t'i përgjigjeni pyetjes se cili është algoritmi. Njohuritë e marra do të jenë të dobishme më shumë se një herë si në fushën tuaj profesionale ashtu edhe në jetën e përditshme. Ju mund, si gjithmonë, të sqaroni detajet ose të gjeni përgjigjen e pyetjes suaj duke përdorur sistemin e përshtatshëm të komenteve më poshtë.

Artikujt kryesorë të lidhur