Изчисляване на несъответствията
изчисляване на остатъка
За изчисляване на остатъка ще използва функция с два аргумента. при което - израз (формула), - желаната стойност. По-долу са израз на остатъчните функции за различни оператори. С помощта на тези функции може да се изчисли рекурсивно остатъчен произволен израз с помощта на тези оператори.
За да се различава от формулата на изчислените стойности, ще бъде означен с изчислената стойност на експресията за дадени стойности на променливите, включени в. И все пак изисква определянето - е броят на променливи в изразяването.
Проблемът е формулиран като система от ограничения върху променливи. Ограничение - булев израз, чиято стойност трябва да е вярно. (Ние използваме експресията 1 за вярно и 0 за фалшиво). По този начин, рекурсивно изчисляване започва с. където - това ограничение. Ако операторът е посочено израз на изчисление. това означава, че тя е глобална граница, което означава, че операторът не може да се вгражда в други изявления или да участва в изразяването на стихията си. Тези оператори са субекти оптимизация и функционални оператори.
Ако изчислената и желаната стойност са еднакви, нито от гледна точка на не променливи, остатъкът е нула:
Ако булева експресия се използва директно в аритметична изразяване и желаната стойност е различна от нула и единица, тогава изчислението е както следва:
Като оценка остатъчна използване на колко минимум трябва да промените стойността на противоречиви ограничения ще стане истина. Често, за да "тежат" на остатъците от няколко променливи, използвани във формулата е един-единствен израз:
За да се ограничи използването на такъв линеен претегляне дава несъответствието като "средна стойност, на която искате да промените една от променливите, които ограничават би било вярно."
Остатъка е проектиран така, че да бъде като инвариант за формиране на запис, докато останалите лесно да се изчисли, за произволни изрази.
ПРИМЕР 1 линеен израз.
Да предположим, че за изразяване на остатъчната стойност на 0,933 има. Ако обичате класическа невискозен за равенство. се свежда до изразяване на несъответствието е 9.33, което е 10 пъти по-голяма, въпреки че имаме израз на идентичност и остатъкът трябва да бъде един и същ. В настоящото изпълнение, изчислителни остатъци в двата случая са еднакви.
Пример 2. Размерът на условия.
Понякога условия не могат да бъдат директно в основата на ограничение и се вложени в изрази. Така че, на уравнението
еквивалентно на определеното ограничение. Класическият формата на остатъчен изчисление винаги ще бъде 0 или 1. В настоящото изпълнение, изчисляване на стойността на остатъка за двата случая са еднакви.
За някои изрази не съществува несъответствие. Например, когато се използва реална променлива да изразя теоретично невъзможно да се изчисли точно несъответствието. Така че, когато остатъчната броя е "безкрайно близо" до 2, но по-голямо от 2. В такива случаи, ние използваме малко на брой. отразяващ използва за ограничаване точност. В този случай, разликата ще бъде равен. Ако ние се справят с целочислени изрази, че има смисъл да ги сложи.