Algoritm doimo olib boradigan xossa.Algoritmning asosiy xossalari. Ta'rif algoritmning qaysi xususiyatiga tegishli?

    Transport tarmog'ida maksimal oqimni topish masalasini hal qiladi. Algoritm Ford Fulkerson algoritmining alohida holati emas. Maxsus yaxshilanishlarsiz amalga oshirilgan algoritm o'z vaqtida ishlaydi. Yana bir qancha yaxshilanishlar... Vikipediya

    Lokal qidiruv algoritmlari - bu algoritmlar guruhi bo'lib, unda qidiruv faqat joriy holat asosida amalga oshiriladi va avval o'tgan holatlar hisobga olinmaydi va esda qolmaydi. Qidiruvning asosiy maqsadi... ... Vikipediyaga optimal yo'lni topish emas

    Bu atamaning boshqa maʼnolari ham bor, qarang: Mars (maʼnolari). MARS Yaratilgan: 1998 Nashr qilingan: 1998 Kalit hajmi ... Vikipediya

    Bu atamaning boshqa maʼnolari ham bor, qarang: Mars (maʼnolari). MARS yaratilgan: 1998 ... Vikipediya

    Bu atamaning boshqa maʼnolari ham bor, qarang: Algoritm (maʼnolari). Ushbu maqolani yaxshilash uchun, bu maqsadga muvofiqmi?: qoidalarga muvofiq dizayn qayta ishlash ... Vikipediya

    Ushbu maqola tegishli inglizcha Vikipediya maqolasining ushbu versiyasidagi materiallarni o'z ichiga oladi. Operatsion Transformatsiya (OT) ilg'or tizimlarda hamkorlikning bir qator funksiyalarini qo'llab-quvvatlash texnologiyasidir... ... Vikipediya

    Grafik qidiruv algoritmlari A* B* Bellman Ford algoritmi Ikki tomonlama qidiruv Dijkstra algoritmi Jonson algoritmi Kenglik-birinchi qidiruv Chuqurlik-birinchi qidiruv Chuqurlik-cheklangan qidiruv Birinchi eng yaxshi mos qidiruv Floyd Uorshall algoritmi Qidiruv... ... Wikipedia

    Bu ro'yxatdagi elementlarni tartiblash algoritmidir. Agar ro'yxat elementida bir nechta maydonlar mavjud bo'lsa, tartib mezoni bo'lib xizmat qiladigan maydon saralash tugmasi deb ataladi. Amalda, raqam ko'pincha kalit sifatida ishlatiladi va boshqa sohalarda ... ... Vikipediya

    BMW (ingliz. BMW Blue Midnight Wish) - kriptografik xesh-funksiya (hf) chiqishi n bit bo'lib, bu erda n=224,256, 384 yoki 512. Xesh-funksiyalar o'zboshimchalik bilan xabarlarning "barmoq izlari" yoki "hazm"larini yaratish uchun mo'ljallangan. bit uzunligi....... ... Vikipediya

    Ushbu maqola Wikified bo'lishi kerak. Iltimos, uni maqolani formatlash qoidalariga muvofiq formatlang. Bu atamaning boshqa maʼnolari ham bor, qarang: TEA (maʼnolari) ... Vikipediya

Kitoblar

  • Lukasievich mantiqiy va tub sonlar, A. S. Karpenko, Jahon adabiyotida birinchi marta monografik tadqiqot mantiq va tub sonlar o'rtasida to'g'ridan-to'g'ri aloqani o'rnatadi. Garchi Lukasievichning ko'p qimmatli mantiqlari rad etish natijasi bo'lsa ham... Kategoriya: Mantiq Nashriyot: Librocom,
  • Savol va javoblardagi mantiq. Darslik, Kobzar Vladimir Ivanovich, Darslik an'anaviy (umumiy, falsafiy) formal mantiq kursi dasturiga muvofiq yozilgan. Unda aqliy faoliyatning asosiy shakllari va usullari, ularning... Turkum:

Bizning dunyomizdagi deyarli hamma narsa qandaydir qonun va qoidalarga bo'ysunadi. Zamonaviy ilm-fan hali ham to'xtamaydi, buning natijasida insoniyat juda ko'p formulalar va algoritmlarni biladi, ularga amal qilib, tabiat tomonidan yaratilgan ko'plab harakatlar va tuzilmalarni hisoblash va qayta yaratish, inson tomonidan ixtiro qilingan g'oyalarni hayotga tatbiq etish mumkin.

Ushbu maqolada biz algoritmning asosiy tushunchalarini ko'rib chiqamiz.

Algoritmlarning paydo bo'lish tarixi

Algoritm 12-asrda paydo boʻlgan tushunchadir. "Algoritm" so'zining o'zi "Hind hisobi haqida" kitobini yozgan mashhur Yaqin Sharq matematigi Muhammad al-Xorazmiy nomining lotincha talqinidan kelib chiqqan. Ushbu kitobda arab raqamlari yordamida natural sonlarni qanday to‘g‘ri yozish yo‘l-yo‘riqlari ko‘rsatilgan va bunday sonlar ustidagi ustun bilan ishlash algoritmi tavsifi berilgan.

12-asrda "Hind hisobi to'g'risida" kitobi lotin tiliga tarjima qilingan va o'sha paytda bu ta'rif paydo bo'lgan.

Algoritmning odam va mashina bilan o'zaro ta'siri

Algoritm yaratish ijodkorlikni talab qiladi, shuning uchun faqat tirik mavjudot ketma-ket harakatlarning yangi ro'yxatini yaratishi mumkin. Ammo mavjud ko'rsatmalarni bajarish uchun siz tasavvurga ega bo'lishingiz shart emas, hatto ruhsiz texnologiya ham buni amalga oshirishi mumkin.

Ko'rsatmalarga to'liq rioya qilishning ajoyib namunasi bo'sh mikroto'lqinli pechdir, u ichida ovqat bo'lmasa ham ishlashda davom etadi.

Algoritmning mohiyatini tushunishga muhtoj bo'lmagan sub'ekt yoki ob'ekt rasmiy ijrochi deb ataladi. Shaxs rasmiy ijrochiga ham aylanishi mumkin, biroq ma'lum bir harakat foyda keltirmasa, fikrlovchi ijrochi hamma narsani o'ziga xos tarzda bajarishi mumkin. Shuning uchun asosiy ijrochilar kompyuterlar, mikroto'lqinli pechlar, telefonlar va boshqa uskunalardir. Informatika fanida algoritm tushunchasi eng muhim hisoblanadi. Har bir algoritm qabul qilinadigan harakatlarni hisobga olgan holda ma'lum bir mavzuni hisobga olgan holda tuzilgan. Subyekt ko'rsatmalarni qo'llashi mumkin bo'lgan ob'ektlar ijrochi muhitini tashkil qiladi.

Bizning dunyomizdagi deyarli hamma narsa qandaydir qonun va qoidalarga bo'ysunadi. Zamonaviy ilm-fan hali ham to'xtamaydi, buning natijasida insoniyat juda ko'p formulalar va algoritmlarni biladi, ularga amal qilib, tabiatning ko'plab harakatlari va ijodlarini hisoblash va qayta yaratish va inson tomonidan ixtiro qilingan g'oyalarni hayotga tatbiq etish mumkin. Ushbu maqolada biz algoritmning asosiy tushunchalarini ko'rib chiqamiz.

Algoritm nima?

Hayotimiz davomida bajaradigan ko'p harakatlarimiz bir qator qoidalarga rioya qilishni talab qiladi. O'ziga yuklangan vazifalarni bajarish sifati va natijasi odamning nima, qanday va qanday ketma-ketlikda qilish kerakligi haqida qanchalik to'g'ri tasavvurga ega ekanligiga bog'liq. Bolaligidan ota-onalar bolaning asosiy harakatlari uchun algoritmni ishlab chiqishga harakat qilmoqdalar, masalan: uyg'onish, to'shak qo'yish, tishlarini yuvish va yuvish, mashqlar qilish, nonushta qilish va hokazo. ertalabki hayotni ham o'ziga xos algoritm deb hisoblash mumkin.

Qaysi usuldan foydalanish bir nechta omillarga bog'liq: muammoning murakkabligi, muammoni hal qilish jarayoni qanchalik batafsil bo'lishi kerakligi va boshqalar.

Algoritmning grafik versiyasi

Grafik algoritm - bu ma'lum bir masalani hal qilish uchun bajarilishi kerak bo'lgan harakatlarning ma'lum geometrik shakllarga bo'linishini nazarda tutadigan tushuncha.

Ular tasodifiy tasvirlanmagan. Ularni har kim tushunishi uchun ko'pincha blok-sxema va Nussi-Shnayderman struktura diagrammasi qo'llaniladi.

Shuningdek, blok diagrammalar GOST-19701-90 va GOST-19.003-80 ga muvofiq tasvirlangan.
Algoritmda ishlatiladigan grafik raqamlar quyidagilarga bo'linadi:

    Asosiy. Asosiy tasvirlar muammoni hal qilishda ma'lumotlarni qayta ishlash uchun zarur bo'lgan operatsiyalarni ko'rsatish uchun ishlatiladi.

    Yordamchi. Yordamchi tasvirlar muammoni hal qilishning eng muhim emas, balki individual elementlarini ko'rsatish uchun kerak.

Grafik algoritmda ma'lumotlarni ifodalash uchun ishlatiladigan bloklar bloklar deb ataladi.

Barcha bloklar "yuqoridan pastga" va "chapdan o'ngga" ketma-ketlikda boradi - bu oqimning to'g'ri yo'nalishi. To'g'ri ketma-ketlik bilan bloklarni bog'laydigan chiziqlar yo'nalishni ko'rsatmaydi. Boshqa hollarda, chiziqlar yo'nalishi o'qlar yordamida ko'rsatiladi.

To'g'ri algoritm sxemasi shartlarning bajarilishini tekshirish uchun javobgar bo'lgan ishlov berish bloklaridan bittadan ko'p va bloklardan ikkitadan kam chiqishga ega bo'lmasligi kerak.

Algoritmni qanday qilib to'g'ri tuzish kerak?

Algoritmning tuzilishi, yuqorida aytib o'tilganidek, GOSTga muvofiq tuzilishi kerak, aks holda u tushunarli va boshqalar uchun ochiq bo'lmaydi.

Umumiy ro'yxatga olish metodologiyasi quyidagi fikrlarni o'z ichiga oladi:

Ushbu sxema yordamida qanday muammoni hal qilish mumkinligini aniq ko'rsatadigan nom.

Har bir algoritm aniq belgilangan boshlanishi va oxiriga ega bo'lishi kerak.

Algoritmlar kirish va chiqishda barcha ma'lumotlarni aniq va aniq tasvirlashi kerak.

Algoritmni tuzishda tanlangan ma'lumotlar bo'yicha muammoni hal qilish uchun zarur bo'lgan harakatlarni bajarishga imkon beradigan harakatlarni qayd etish kerak. Algoritmga misol:

  • Sxema nomi.
  • Ma'lumotlar.
  • Boshlash.
  • Jamoalar.
  • Oxiri.

Sxemani to'g'ri qurish algoritmlarni hisoblashni sezilarli darajada osonlashtiradi.

Algoritmdagi turli harakatlar uchun mas'ul bo'lgan geometrik shakllar

Gorizontal oval - boshi va oxiri (tugash belgisi).

Gorizontal to'rtburchak - bu hisoblash yoki boshqa harakat (jarayon belgisi).

Gorizontal parallelogramma - kirish yoki chiqish (ma'lumotlar belgisi).

Gorizontal joylashgan olmos - bu holatni tekshirish (yechim belgisi).

Cho'zilgan, gorizontal joylashgan olti burchakli modifikatsiya (tayyorlik belgisi).

Algoritm modellari quyidagi rasmda keltirilgan.

Algoritm tuzishning formula-og'zaki versiyasi.

Formula-og'zaki algoritmlar erkin shaklda, muammo tegishli sohaning professional tilida yoziladi. Shu tarzda harakatlarning tavsifi so'zlar va formulalar yordamida amalga oshiriladi.

Informatika fanida algoritm tushunchasi

Kompyuter sohasida hamma narsa algoritmlarga asoslanadi. Maxsus kod shaklida kiritilgan aniq ko'rsatmalarsiz biron bir texnika yoki dastur ishlamaydi. Informatika darslarida o‘quvchilarga algoritmlarning asosiy tushunchalari o‘rgatiladi, ulardan foydalanish va o‘zlari yaratish usullari o‘rgatiladi.

Informatika fanida algoritmlarni yaratish va ulardan foydalanish, masalan, matematikadan masalani yechish bo‘yicha ko‘rsatmalarga rioya qilishdan ko‘ra ijodiy jarayondir.

“Algoritm” deb nomlangan maxsus dastur ham mavjud bo'lib, u dasturlashni yaxshi bilmaydigan odamlarga o'z dasturlarini yaratishga yordam beradi. Bunday resurs kompyuter fanida birinchi qadamlarini qo'yayotgan va o'z o'yinlarini yoki boshqa dasturlarni yaratmoqchi bo'lganlar uchun ajralmas yordamchiga aylanishi mumkin.

Boshqa tomondan, har qanday dastur algoritmdir. Ammo agar algoritm faqat ma'lumotlaringizni kiritish orqali bajarilishi kerak bo'lgan amallarni o'z ichiga olsa, u holda dastur allaqachon tayyor ma'lumotlarni o'z ichiga oladi. Yana bir farq shundaki, dastur patentlangan bo'lishi mumkin va xususiydir, lekin algoritm mumkin emas. Algoritm dasturga qaraganda kengroq tushunchadir.

Xulosa

Ushbu maqolada biz algoritm tushunchasi va uning turlarini ko'rib chiqdik va grafik diagrammalarni qanday to'g'ri yozishni o'rgandik.

ALGORITMMA TUSHUNCHASI. ALGORITMNING XUSUSIYATLARI. ALGORITMLARNING TURLARI. ALGORITMLARNI TA'FRILASH USULLARI

Algoritm - bajaruvchiga berilgan masalani echishga qaratilgan harakatlar ketma-ketligini bajarish bo'yicha aniq va tushunarli ko'rsatma. "Algoritm" so'zi arifmetik amallarni bajarish qoidalarini ishlab chiqqan matematik Al Xorazmiy nomidan kelib chiqqan. Dastlab, algoritm faqat raqamlar ustida to'rtta arifmetik amalni bajarish qoidalarini anglatardi. Keyinchalik bu tushuncha umumiy holda har qanday topshiriqni hal qilishga olib keladigan harakatlar ketma-ketligini bildirish uchun ishlatila boshlandi. Hisoblash jarayonining algoritmi haqida gapirganda, algoritm qo'llanilgan ob'ektlar ma'lumotlar ekanligini tushunish kerak. Hisoblash muammosini hal qilish algoritmi - bu manba ma'lumotlarini natijalarga aylantirish qoidalari to'plami.

Asosiy xususiyatlari algoritmlar quyidagilardir:

  1. determinizm (aniqlik). U berilgan dastlabki ma'lumotlar bilan hisoblash jarayonining aniq natijasini olishni nazarda tutadi. Bu xususiyat tufayli algoritmni bajarish jarayoni mexanik xarakterga ega;
  2. samaradorlik. Bunday dastlabki ma'lumotlar mavjudligini ko'rsatadi, ular uchun berilgan algoritm bo'yicha amalga oshirilgan hisoblash jarayoni cheklangan miqdordagi qadamlardan so'ng to'xtashi va kerakli natijani berishi kerak;
  3. ommaviy xarakter. Bu xususiyat algoritm berilgan turdagi barcha masalalarni yechish uchun mos bo'lishi kerakligini anglatadi;
  4. diskretlik. Bu algoritm tomonidan aniqlangan hisoblash jarayonining ijrochi (kompyuter) tomonidan bajarilishi shubhasiz bo'lgan alohida bosqichlarga bo'linishini anglatadi.

Algoritm muayyan vizual vositalar yordamida ma'lum qoidalarga muvofiq rasmiylashtirilishi kerak. Bularga algoritmlarni yozishning quyidagi usullari kiradi: verbal, formula-verbal, grafik, operator sxema tili, algoritmik til.

Aniqligi tufayli eng keng tarqalgani algoritmlarni yozishning grafik (blok diagrammasi) usuli hisoblanadi.

Blok diagrammasi algoritmning mantiqiy tuzilishining grafik tasviri boʻlib, unda axborotni qayta ishlash jarayonining har bir bosqichi bajariladigan amallarning xususiyatiga qarab maʼlum konfiguratsiyaga ega boʻlgan geometrik belgilar (bloklar) koʻrinishida ifodalanadi. Belgilar ro'yxati, ularning nomlari, ular ko'rsatadigan funktsiyalari, shakli va o'lchamlari GOSTlar tomonidan belgilanadi.

Muammolarni hal qilish algoritmlarining xilma-xilligi bilan hisoblash jarayonlarining uchta asosiy turini ajratish mumkin:

  • chiziqli;
  • shoxlanish;
  • tsiklik.

Chiziqli masalani yechishning barcha bosqichlari ushbu bosqichlarni qayd etishning tabiiy tartibida bajariladigan hisoblash jarayonidir.

Tarmoqlanish axborotni qayta ishlash yo'nalishini tanlash dastlabki yoki oraliq ma'lumotlarga (har qanday mantiqiy shartning bajarilishini tekshirish natijalariga) bog'liq bo'lgan hisoblash jarayonidir.

Tsikl ko'p marta takrorlanadigan hisob-kitoblar bo'limidir. Bir yoki bir nechta tsikllarni o'z ichiga olgan hisoblash jarayoni deyiladi tsiklik . Amalga oshirish soniga ko'ra, tsikllar ma'lum (oldindan belgilangan) takroriy sonli tsikllarga va noma'lum miqdordagi takroriy tsikllarga bo'linadi. Ikkinchisini takrorlash soni tsiklni bajarish zarurligini ko'rsatadigan ba'zi shartlarni qondirishga bog'liq. Bunday holda, vaziyatni tsiklning boshida tekshirish mumkin - keyin biz oldingi shartga ega bo'lgan tsikl haqida gapiramiz yoki oxirida - keyin bu keyingi shartli tsikl.

Algoritmlarning xossalari

Yuqorida keltirilgan algoritmning ta'rifini qat'iy deb hisoblash mumkin emas - "aniq retsept" yoki "kerakli natijani ta'minlaydigan harakatlar ketma-ketligi" nima ekanligi to'liq aniq emas. Shuning uchun algoritmlarni boshqa ko'rsatmalardan farqlash uchun odatda algoritmlarning bir nechta umumiy xususiyatlari shakllantiriladi.

Bu xususiyatlar:

Diskretlik (uzluksizlik, alohidalik) - algoritm muammoni hal qilish jarayonini oddiy (yoki oldindan belgilangan) bosqichlarning ketma-ket bajarilishi sifatida ifodalashi kerak. Algoritm tomonidan taqdim etilgan har bir harakat avvalgisi bajarilgandan keyingina bajariladi.

Aniqlik - algoritmning har bir qoidasi aniq, aniq bo'lishi va o'zboshimchalik uchun joy qoldirmasligi kerak. Bu xususiyatga ko'ra, algoritmning bajarilishi mexanik xarakterga ega bo'lib, echilayotgan masala haqida hech qanday qo'shimcha ko'rsatmalar yoki ma'lumot talab qilmaydi.

Samaradorlik (cheklanganlik) - algoritm muammoni cheklangan miqdordagi bosqichlarda hal qilishga olib kelishi kerak.

Ommaviy masshtab - masalani yechish algoritmi umumiy shaklda ishlab chiqilgan, ya'ni u faqat dastlabki ma'lumotlarda farq qiluvchi ma'lum bir sinf muammolari uchun qo'llanilishi kerak. Bunday holda, dastlabki ma'lumotlar ma'lum bir hududdan tanlanishi mumkin, bu algoritmning qo'llanilishi sohasi deb ataladi.

Arifmetik amallar yoki geometrik konstruksiyalarni bajarish qoidalari algoritmlardir. Shu bilan birga, savol javobsiz qolmoqda: algoritm tushunchasi "usul", "usul", "qoida" kabi tushunchalardan nimasi bilan farq qiladi. Siz hatto "algoritm", "usul", "qoida" so'zlari bir xil narsani ifodalashi haqidagi bayonotni uchratishingiz mumkin (ya'ni ular sinonimdir), garchi bunday bayonot "algoritm xususiyatlari" ga aniq ziddir.

"Algoritmning xususiyatlari" iborasi mutlaqo to'g'ri emas. Ob'ektiv ravishda mavjud bo'lgan haqiqatlar xususiyatlarga ega. Biz, masalan, moddaning xususiyatlari haqida gapirishimiz mumkin. Algoritm - bu biz maqsadlarimizga erishish uchun tuzadigan sun'iy tuzilma. Algoritm o'z maqsadini amalga oshirishi uchun uni ma'lum qoidalarga muvofiq qurish kerak. Shuning uchun biz algoritmning xossalari haqida emas, balki algoritmni qurish qoidalari yoki algoritmga qo'yiladigan talablar haqida gapirishimiz kerak.

Algoritmlarni qurish qoidalari

Birinchi qoida shundan iboratki, algoritmni qurishda, birinchi navbatda, algoritm ishlaydigan ob'ektlar to'plamini ko'rsatish kerak. Ushbu ob'ektlarning rasmiylashtirilgan (kodlangan) ko'rinishi ma'lumotlar deb ataladi. Algoritm ma'lum ma'lumotlar to'plami bilan ishlay boshlaydi, ular kiritish deb ataladi va uning ishlashi natijasida ma'lumotlar ishlab chiqariladi, bu esa chiqish deb ataladi. Shunday qilib, algoritm kiritilgan ma'lumotlarni chiqish ma'lumotlariga aylantiradi.

Ushbu qoida algoritmlarni "usullar" va "usullar" dan darhol ajratish imkonini beradi. Kirish ma'lumotlarini rasmiylashtirmagunimizcha, biz algoritm tuza olmaymiz.

Ikkinchi qoida shundaki, algoritm ishlashi uchun xotira talab qilinadi. Xotirada algoritm ishlay boshlagan kirish ma'lumotlari, oraliq ma'lumotlar va algoritm natijasi bo'lgan chiqish ma'lumotlari saqlanadi. Xotira diskret, ya'ni. alohida hujayralardan iborat. Nomlangan xotira joylashuvi o'zgaruvchi deb ataladi. Algoritmlar nazariyasida xotira o'lchamlari cheklanmagan, ya'ni biz algoritmni ishlash uchun zarur bo'lgan istalgan hajmdagi xotira bilan ta'minlay olamiz, deb ishoniladi.

"Algoritmlar nazariyasi" maktabida bu ikki qoida hisobga olinmaydi. Shu bilan birga, algoritmlar (dasturlash) bilan amaliy ish bu qoidalarni amalga oshirishdan boshlanadi. Dasturlash tillarida xotirani taqsimlash deklarativ operatorlar (o'zgaruvchilarni e'lon qilish operatorlari) tomonidan amalga oshiriladi.

Uchinchi qoida - diskretlik. Algoritm alohida bosqichlardan (amallar, amallar, buyruqlar) qurilgan. Albatta, algoritmni tashkil etadigan ko'plab qadamlar mavjud.

To'rtinchi qoida - determinizm. Har bir qadamdan keyin qaysi qadam keyingi bajarilishini ko'rsatishingiz yoki to'xtatish buyrug'ini berishingiz kerak.

Beshinchi qoida - konvergentsiya (samaradorlik). Algoritm cheklangan miqdordagi qadamlardan so'ng tugashi kerak. Bunday holda, algoritmning natijasi deb hisoblangan narsani ko'rsatish kerak.

Demak, algoritm algoritmlar nazariyasida aniqlanmagan tushunchadir. Algoritm kirish ma'lumotlarining har bir aniq to'plamini ma'lum bir chiqish ma'lumotlar to'plami bilan bog'laydi, ya'ni funktsiyani hisoblaydi (amalga oshiradi). Algoritmlar nazariyasining aniq masalalarini ko'rib chiqishda biz doimo algoritmning qandaydir o'ziga xos modelini yodda tutamiz.

So'zning ma'nosi algoritm so'zlarning ma'nosiga juda o'xshash retsept,ko'rsatmalar. Biroq, har qanday algoritm retsept yoki usuldan farqli o'laroq, quyidagi xususiyatlarga ega bo'lishi kerak.

1. Algoritmning bajarilishi bajarilgan amal-qadamlar ketma-ketligiga bo'linadi. Bir amalni (buyruqni) bajargandan keyingina keyingisini bajarishni boshlashingiz mumkin. Algoritmning bu xossasi deyiladi diskretlik. Ijrochiga har bir alohida harakatni algoritm yozuvida (buyruqda) maxsus ko'rsatma bo'yicha bajarish topshiriladi.

2. Tushunuvchanlik- algoritmda ko'rsatmalar bo'lmasligi kerak, ularning ma'nosi ijrochi tomonidan noaniq idrok etilishi mumkin, ya'ni. algoritmni yozib olish shunchalik aniq va to'liq bo'lishi kerakki, ijrochi hech qanday mustaqil qaror qabul qilishga hojat qolmaydi. Algoritm har doim "o'ylamaydigan" ijrochi tomonidan bajarilishi uchun mo'ljallangan. Algoritm SKIga kiritilgan buyruqlardan iborat.

Keling, "kundalik" algoritmining taniqli misolini ko'rib chiqaylik - ko'chani kesib o'tish algoritmi: "Chapga qarang. Agar mashinalar bo'lmasa, ko'chaning o'rtasiga piyoda boring. Agar bor bo'lsa, ular o'tib ketguncha kutib turing va hokazo." Vaziyatni tasavvur qiling: chap tomonda mashina bor, lekin u harakat qilmaydi - uning shinalari almashtirilmoqda. Agar siz algoritm ijrochisi kutishi kerak deb hisoblasangiz, bu algoritmni tushunasiz. Kutilmagan (sizning fikringizcha!) holatlar tufayli tuzatilgan algoritmni hisobga olib, ko‘chani kesib o‘tish mumkin, deb qaror qilsangiz, demak, siz algoritm tushunchasini o‘zlashtirmagansiz.

3. Determinizm (ishonch va ishonch). Algoritmning har bir buyrug'i bajaruvchining bir ma'noli harakatini aniqlaydi va keyingi qaysi buyruq bajarilishini aniq belgilash kerak. Ya'ni, agar algoritm bir xil manba ma'lumotlar to'plamiga qayta-qayta qo'llanilsa, u qabul qiladigan natija har safar bir xil natijaga ega bo'ladi.

4. Samaradorlik- algoritmning bajarilishi chekli qadamlar bilan yakunlanishi va masalani yechish natijasi olinishi kerak. Mumkin bo'lgan natijalardan biri muammoning echimi yo'qligini aniqlash bo'lishi mumkin.

Samaradorlik xususiyati mulkni o'z ichiga oladi oyoq-qo'llar- algoritmni cheklangan miqdordagi bosqichlarda bajarish.

5. Ommaviy xarakter- algoritm ma'lum bir sinfdagi muammolardan har qanday muammoni hal qilish uchun mos keladi, ya'ni. algoritm dastlabki ma'lumotlarning ma'lum bir to'plamida to'g'ri ishlaydi, bu algoritmning qo'llanilishi sohasi deb ataladi.

Ommaviy xarakter xususiyati algoritmning majburiy xususiyatlardan biri (diskretlik, tushunarlilik va h.k.) boʻlishdan koʻra sifatini belgilaydi. Qo'llash doirasi kirish ma'lumotlarining yagona to'plami yoki hatto ularning yo'qligi bilan cheklangan algoritmlar mavjud (masalan, p sonining to'g'ri raqamlarini olish). Algoritm o'zining ta'rif sohasi va so'zdagi har qanday ma'lumotlarga nisbatan qo'llanilishi kerak, deyish to'g'riroq. ommaviy xarakter bunday mulkni tavsiflash uchun har doim ham mos kelmaydi.

Algoritm tushunchasi

Yuqoridagilarni umumlashtirib, biz quyidagilarni shakllantiramiz tushuncha algoritm.

Algoritm - ijrochi uchun dastlabki ma'lumotlardan kerakli natijaga olib keladigan yakuniy harakatlar ketma-ketligini bajarish bo'yicha aniq va aniq ko'rsatma.

Yuqoridagi ta'rif so'zning matematik ma'nosida ta'rif emas, ya'ni. bu rasmiy ta'rif emas (algoritmning rasmiy ta'rifi uchun "maqolaga qarang" Algoritmlar nazariyasi”).

E'tibor bering, har biri uchun ijrochi ruxsat etilgan harakatlar to'plami (SAC) har doim cheklangan - har qanday harakat joiz bo'lgan ijrochi bo'lishi mumkin emas. I. Kantning mulohazali mulohazasi shakllantirilgan fikrni quyidagicha asoslaydi: “Agar shunday ijrochi mavjud boʻlganida, uning joiz harakatlari qatorida u koʻtarolmaydigan tosh yaratish ham boʻlar edi. Ammo bu "Har qanday toshni ko'taring" harakatining joizligiga zid keladi.

Qizig'i shundaki, odam, umuman olganda, uni hal qilish algoritmini bilmasdan hal qila oladigan muammolar mavjud. Misol uchun, odamning oldida mushuk va itlarning fotosuratlari bor. Vazifa ma'lum bir fotosuratning mushuk yoki it ekanligini aniqlashdir. Biror kishi bu muammoni hal qiladi, ammo bu muammoni hal qilish uchun algoritm yozish hali ham juda qiyin.

Boshqa tomondan, hal qilish tartibini qurish umuman mumkin bo'lmagan muammolar mavjud. Bundan tashqari, bu haqiqatni qat'iy isbotlash mumkin. Siz bu haqda maqolada o'qishingiz mumkin " Algoritmik yechilmaydigan masalalar” 2.