Информатика жана алгоритм
Информатика жана алгоритм — Алгоритм (арап тилинде эмгектер жазган борбордук азиялык окумуштуу ал-Хорезминин ысымынан) – тийешелүү математикалык жана башка тапшырмаларды толук чечүү үчүн тапшырма аткаруучунун аракеттеринин тартибин (ыраатын жана жолун) сыпаттаган эрежелердин (көрсөтмөлөрдүн) так жыйындысы.
Мурда “алгоритмдин” маанисин ачууда “тартип” сөзүнүн ордуна “ыраат” деген сөз көбүрөөк колдонулчу, бирок компютерлерде параллел аткарылчу иш-аракеттер арбыган сайын иш-аракеттеги ыраат эле эмес, параллелдүүлүк да чагылдырылышы үчүн “тартип” сөзү көбүрөөк колдонулуп калды.
”Алгоритм” сөзүнүн теги Орус жана кирилл жазмасындагы адабиятта “алгоритм” сөзү эски убакта “алгорифм” деген түрдө колдонулган (th тыбышы т эмес, ф түрүндө берилген). Кийинчерээк ал “алгоритм” болуп өзгөргөн. «Алгоритм» термининин аныктамасы тууралуу 20-кылымдын 30-50-жылдары Түринг, Пост, Чөрч, Н.Винер, А.А.Марков жана башка аалымдар өз жоромолдорун жазышкан. Жогоруда айтылгандай, «алгоритм» сөзү арапча «ал-» артикли менен «Хорезмдик» (Хорезми, б.а. خوارزمی) сөзүнүн жалгашуусунун натыйжасында пайда болгон «ал-Хорезми» ныспасынын орто кылымдардагы латынча берилишинен улам келип чыккан. Борбордук азиялык чыгаан математик окумуштуу Абу Абдулла Мухаммед ибн Муса ал-Хорезми тээ 825-жылы «Китаб ал-жабр ва-л-мукабала» («Кошуу жана алуу тууралуу китеп») деген илимий эмгегин жазган. Анда алгебрага таандык эрежэелер камтылгандыктан, бул китептин аталышынан («ал-жабр») кийинчерээк бүтүндөй бир математикалык илимий тармак «алгебра» деп аталып калган. Бул окумуштуу байыркы индиялыктар ачкан «нөл» деген санды мусулман цивилизациясына тааныштыртган, мусулмандардан «нөл» түшүнүгү европалыктарга өткөн. Ал-Хорезми «нөлдү» арапча «ас-сыфр», б.а. «жок», «эчтеке» деп атаган, бул сөздөн улам европалыктарда «цифра» сөзү келип чыккан. Бул окумуштуунун өзүнүн ныспасынан улам «алгоритм» сөзү келип чыкканын илимде кийинчерэээк гана аныкташты.
Ал-Хорезминин «Китаб ал-жабр ва-л-мукабала» чыгармасы 12-кылымдын биринчи жарымында латынчага которулуп, Algoritmi de numero Indorum («Индиялык эсеп тууралуу алгоритмдер») деген наам менен белгилүү болгон. Демек, эмгектин так аталышы «Ал-Хорезми индиялык ондук эсептөө системасы тууралуу» делип аңдалышы керек болчу.
Ал-Хорезминин бул математикалык чыгармасы жалпы «мусулман кайра жаралуусунун» таасириндеги ири мейкиндикте кеңири таркалган.
Дискреттүүлүк алгоритм маселенин чечүү процессин кадамдарга бөлүп көрсөтөт, ар бир кадамды аткаруу үчүн белгилүү бир убакыт талап кылынат, жана жыйынтыкка жетүү үзгүлтүксүз эмес, бөлүнгөн убакытта ишке ашат.
Детерминирленгендик (тактык) ар бир кадамдын аткарылышы системанын учурдагы абалы менен так аныкталат. Бул деген алгоритм бир эле баштапкы маалыматтар менен дайыма бирдей натыйжа берет. Кээ бир алгоритмдер, мисалы, ыктымалдык алгоритмдер, кийинки кадамды системанын абалы жана кокустук сандар аркылуу аныктайт. Бирок кокустук сандар генерациясын баштапкы маалыматтардын тизмесине кошсо, ыктымалдык алгоритм дагы кадимки алгоритмге айланат.
Түшүнүктүүлүк алгоритм аткаруучуга түшүнүктүү болушу керек жана аткаруучунун буйруктар системасына кирген көрсөтмөлөрдөн турат.
Жыйынтыктуулук туура берилген баштапкы маалыматтар менен алгоритм белгилүү бир кадамдардан кийин жыйынтыкка жетиши керек. Дональд Кнут алгоритмдин бардык талаптарына жооп берген, бирок мүмкүн аяктап калышы мүмкүн эмес болгон процедураны "эсептөө методу" деп атаган. Ыктымалдык алгоритмдерде жыйынтыктуулук – баштапкы маалыматтар менен натыйжага жетүүнүн ыктымалдыгы 1 болушу шарт.
Массавыктуулук (универсалдуулук) — алгоритм ар кандай баштапкы маалыматтар топтому менен иштей алышы керек.
Натыйжалуулук алгоритмдин иштөөсү белгилүү бир натыйжаларга алып келиши керек.
Алгоритмдердин түрлөрү
Механикалык (детерминирленген) алгоритмдер – белгилүү жана так белгиленген кадамдарды аткарып, бирдей натыйжаны камсыздайт. Мисалы, станоктордун же кыймылдаткычтардын иштөө алгоритмдери.
Стохастикалык (ыктымалдык) алгоритмдер – көйгөйдү ар кандай жолдор менен чечүүнү сунуштап, болжолдуу жыйынтыкка жетүүнү максат кылат.
Эвристикалык алгоритмдер так математикалык негизге таянбай, акылга сыярлык ой жүгүртүүлөр менен чечим чыгарат. Линейный алгоритм – кадамдар так тартипте биринин артынан бири аткарылат.
Тармактуу алгоритм шарттарга жараша бир нече жолго бөлүнүп кетет, кайсы шарт аткарылса, ошол жолго өтөт.
Циклдик алгоритм кайсы бир операциялар кайра-кайра аткарылат. Көпчүлүк эсептөө методдору жана варианттарды текшерүү цикликалык алгоритмдерге негизделет.
Жардамчы (подчинённый) алгоритмдер – башка алгоритмдердин ичинде колдонулат, мисалы, бир нече ирет колдонулуучу командалар топтому түрүндө.
Алгоритмдердин графикалык көрсөтмөсү (структуралык блок-схема): Алгоритмдерди графикалык түрдө көрсөтүү – бул алардын ар бир кадамын атайын блоктордо сүрөттөп, аларды сызыктар менен бириктирүү. Мындай схемалар программалоо алдында колдонулат, себеби алар маалыматты иштетүүнүн процесстерин түшүнүүгө жардам берет.