В света на концепцията за информационни технологииалгоритъм заема централно място. Самият термин дойде от името на Ал-Хорезми, узбекски средновековен математик, който през девет век беше в състояние ясно да опише правилата за извършване на прости аритметични операции, т.е. той състави първите алгоритми.
Алгоритъм - Определение
В съвременната компютърна наука и математиката този термин има такива дефиниции:
- последователност от действия, при които правилата за изпълнение са строго дефинирани;
- предписание, което определя последователността и съдържанието на операциите, при които оригиналните данни достигат до желания резултат;
- точно описание на всеки изчислителен процес или друга последователност от действия;
- най-пълния и точен ред на последователността на крайния брой действия, които са необходими за благоприятното решаване на всеки проблем от подобен тип.
Алгоритъмът може да се изпълни от човек илиавтоматично устройство - така нареченият формален изпълнител. Задачата на всеки изпълнител е най-точното въвеждане на съществуващия алгоритъм. Официално изпълнител не е длъжен да се ровя в същността на процеса, често, защото те не са в състояние да го разбере. Като пример за официален изпълнител можете да донесете пералня, която ще изпълнява определената програма за пране дори при липса на прах за пране или пране в резервоара.
Изпълнителят на алгоритъма може да изпълнява командисамо от строго определен списък, който е система от команди. За всеки отбор се уточняват условията за приложимост и се описват резултатите. За всеки разговор на екипа изпълнителят реагира с подходящо елементарно действие.
Универсалният изпълнител на алгоритъма в компютърните науки е компютърът.
Алгоритъм и неговите свойства
1) дискретност (или разделяне, прекъсване на процеса)означава, че алгоритъмът представлява процес на решаване на проблеми под формата на последователно изпълнение на предварително дефинирани прости стъпки. Всяко последващо действие може да се извърши само след края на предишната.
2) сигурност предполага, че всички правила на алгоритъма трябва да са ясни и недвусмислени. Тогава изпълнението на алгоритъма ще придобие необходимия механичен характер без допълнителни инструкции или информация.
3) ефикасност (или finiteness) на алгоритъма означава, че трябва да доведе до необходимия резултат за определен краен брой стъпки.
4) масов характер Универсалността на приложението на алгоритъма егрупа от подобни задачи, които се различават само в групата от първоначални данни. Първоначалните данни могат да бъдат избрани от така наречената област на приложимост на алгоритъма.
В зависимост от целите, началните условия, начините за решаване на проблема, определяне на действията на изпълнителя, следното видове алгоритми:
1) вероятност (или стохастичен) дават няколко начина за решаване на проблема, което води до вероятното постигане на резултата.
2) евристичен видовете алгоритми предполагат това постиганеКрайният резултат след изпълнението на програмата за действия не е уникално определен. По същия начин няма ясна последователност от действия на изпълнителя. Такива алгоритми могат да включват например регулации и инструкции. В своето писане се използват общи методи за вземане на решения и логически процедури, основани на аналогии, които възникват във връзка с миналия опит.
3) линеен видовете алгоритми означават изграждането на набор от команди или инструкции, изпълнявани в строга последователност един след друг.
4) разклонен алгоритмите съдържат поне едно условие, след което компютърът може да премине към няколко възможни стъпки.
5) цикличен видовете алгоритми предвиждат множествоповторение на едно действие или операция върху нови първоначални данни. Например, тези алгоритми включват повечето от методите за изчисляване и изброяване на опции. Така че има така наречения програмен цикъл - т.е. серия, последователност от команди (тялото на цикъла), което се изпълнява многократно, докато не бъде изпълнено някакво условие.