Авиационно инженерство Административно право Административно право Беларус Алгебра Архитектура Безопасност на живота Въведение в професията „психолог” Въведение в икономиката на културата Висша математика Геология Геоморфология Хидрология и хидрометрия Хидросистеми и хидравлични машини Културология Медицина Психология икономика дескриптивна геометрия Основи на икономически т Oria професионална безопасност Пожарна тактика процеси и структури на мисълта, Професионална психология Психология Психология на управлението на съвременната фундаментални и приложни изследвания в апаратура социалната психология социални и философски проблеми Социология Статистика теоретичните основи на компютъра автоматично управление теория на вероятностите транспорт Закон Turoperator Наказателно право Наказателно-процесуалния управление модерна производствена Физика Физични феномени Философски хладилни инсталации и екология Икономика История на икономиката Основи на икономиката Икономика на предприятията Икономическа история Икономическа теория Икономически анализ Развитие на икономиката на ЕС Спешни ситуации ВКонтакте Однокласници Моят свят Facebook LiveJournal Instagram
border=0

Изпълнител на алгоритъм

При конструирането на алгоритмична теория понятието изпълнител на алгоритъм не е изрично въведено. Механизмът за изпълнение е предложен само в моделите на Тюринг и Пост, тъй като същността на модела е свързана с нея. В останалите модели се обсъждат само елементарни стъпки на алгоритъма и правила за конструиране на комплексни действия от елементарни. Извън дискусията остава въпросът: от кого (или как) ще бъде изпълнен този алгоритъм. По-точно, по подразбиране се приема, че за да се изпълни алгоритъм в даден модел, трябва да сте в състояние да разберете приетата форма на записа и да предприемете необходимите действия.

Представяме концепцията за формален художник:

Формалният изпълнител е субект или устройство, способен да възприема и анализира инструкциите на алгоритъм, да променя състоянието му в съответствие с него, както и да има механизъм на изпълнение, способен да извършва поетапна обработка на информацията.

Изпълнителят на алгоритъма се счита даден, ако е зададен за него:

· Система от команди (елементарни действия на алгоритъма, който изпълнителят може да изпълнява);

· Форми на представяне на входна и изходна информация;

· Система от допустими вътрешни състояния;

· Езиково представяне на алгоритъма.

Така, при решаването на проблемите на практиката, първичните не са характеристиките на алгоритъма, а възможностите на изпълнителя. По-специално, елементарният характер на стъпките не се определя от кой модел се използва за представяне на алгоритъма, а от системата от команди на конкретен изпълнител. Формата на представяне на изходните (входни) данни за всеки алгоритъм също трябва да бъде фокусирана върху конкретен изпълнител. И накрая, никаква логическа структура на алгоритъма не трябва да превежда изпълнителя в забранено състояние (т.е. да се премине отвъд границите на допустимите състояния).

Освен прякото изпълнение на действия, определен изпълнител упражнява контрол върху коректността на разработването на алгоритъма. Причините за неуспеха на алгоритъма с определен набор от изходни данни (т.е. не постига успешно завършване на работата му) могат да бъдат:

· Синтактични грешки, т.е. нарушаване на формални правила за писане на алгоритъма;

· Изхода на първоначалните данни извън допустимия набор;

· Алгоритъмът не отговаря на възможностите на изпълнителя.

Ако изпълнителят е компютърът и алгоритъмът е представен като програма, синтактичният контрол се извършва на етапа на компилиране, т.е. преди стартирането на програмата. В случай, че грешките имат семантичен (семантичен) характер; за тяхната локализация и корекции те прибягват до тестване на програмата. Тестването се състои в проверка на оперативността на алгоритъма (програмата) с такива стойности на първоначалните данни, които да обхващат всички възможни начини за обработка на информацията. На практика обаче е много трудно да се извърши такава проверка за сложни алгоритми - твърде много се оказва възможно. Обикновено се прави опит за обработка на лимитирани (големи и малки) входни стойности, обработка на невалидни стойности (въвеждането им не трябва да води до неуспешно спиране на изпълнителя; по-точно, резултатът трябва да бъде съобщение на изпълнителя за невъзможността за извършване на действия или просто липсата на действие). Тъй като често е невъзможно да се сортират всички комбинации от входни данни, трябва да се знае, че тестването може да открие грешка, но не доказва пълното им отсъствие.

От горното разсъждение може да се създаде впечатлението, че на практика формулировката и методът на представяне на алгоритъма винаги зависят от възможностите на изпълнителя и следователно трябва да се фокусират върху отчитането на тези възможности. Това е вярно, ако разглеждаме конкретен алгоритъм. Въпреки това, ако има някакъв набор от алгоритми, тогава тяхното единно представяне става задължително само когато изпълнителят е уникален - точно това е положението на началните етапи на развитието на изчислителната технология - решението на всеки проблем изисква представянето на алгоритъма като програма на входящия език на компютъра. Ситуацията се промени с развитието на технологиите и специализирания софтуер; Понастоящем можем да приемем, че компютър чрез своя софтуер предоставя на потребителя множество изпълнители, от които е необходимо да се избере оптималният, т.е. най-подходяща за задачата и алгоритъма.





Вижте също:

Тестови въпроси и задачи

Обща идея за моделиране

Графична форма на запис

Кодиране на числа в компютър и действия върху тях

Връщане към съдържанието: Теоретични основи на компютърните науки

2019 @ ailback.ru