Metody dowodzenia poprawności cz I 3

Metody dowodzenia poprawności cz I 3



Pokażemy, że asercie sa niezmiennikami:

czyli, że sa prawdziwe ilekroć algorytm do nich dotrze.

Odcinki między punktami kontrolnymi (asercjami) przebywane przez algorytm:

(1)    — (2) jeden raz

(2)    — (2) wiele razy (2) — (3) jeden raz

Wykazanie niezmienności wymaga pokazania, że jeśli asercia na początku odcinka jest prawdziwa, to i na końcu odcinka też.

Jeśli pierwsza asercja jest poprawna, a z prawdziwości asercji na początku odcinka wynika prawdziwość asercji na jego końcu, to prawdziwość sie propaguje

(1) — (2)— (2) — (3)

dostarczając prawdziwości asercji ostatniej, która stwierdza, iż wynik jest poprawny.

TAK DOWODZIMY POPRAWNOŚCI ALGORYTMU

Sprawdzanie zachoyyania prawdziwości asercji na odcinkach kontrolnych:

Odcinek — (2)

Asercja (1) stwierdza, że Sjest napisem. Potem wykonywane są operacje X: = S Y: = 0

Ponieważ Y jest puste, a X zawiera S w wersji nieodwróconej, więc wersja 2 jest oczywiście spełniona: asercja 2:

S =    odwrócenie    (Y) | X

odwrócenie zbioru pustego    poprawny (nieodwrócony) napis

Odcinek (2)(3)

Jeśli spełniona jest asercja 2:S = odwrócenie (Y) | X i jeśli jest spełniony warunek X = 0 stanowiący bramkę na drodze do asercji 3, to oczywiście spełniona jest asercja 3:Y = odwrócenie (Ś)

Odcinek (2) — (2)

Ten odcinek nastręcza najwięcej problemów, bo dotyczy pętli. Mamy tu dwa założenia:

1.    prawdziwość asercji 2: S = odwrócenie (Y) | X na początku odcinka

2.    X # 0 warunek wejścia na drogę (2) — (2) czyli wykonywanie pętli Na tym odcinku wykonujemy:

(*)Y: = głowa (X) | Y; (odcinam "głowę"(pierwszy element) X, dołączam na początku Y)

X: = ogon (X); (reszta napisu staje się jego nową wartością)

Jeśli Y jest początkowo pusty, to asercja dwa jest oczywiście spełniona. Podobnie, gdy Y zawiera jeden znak a X resztę (odwrócenie znaku jest znakiem). Jeśli Y zawiera przynajmniej dwa znaki, to są to dwa pierwsze znaki napisu przedstawione w odwrotnej kolejności, zaś X mieści resztę napisu w oryginalnym porządku, zatem odwrócenie przywraca kolejność oryginalną, do tego jest dołączana reszta napisu w oryginalnym porządku, zatem asercja 2 jest spełniona.

Prawdziwość asercji 2 wymaga zatem, by spełniona była zależność: odwrócenie (Y) | X = odwrócenie (głowa (X) | Y) ogon (X), (wynika z podstawienia (*))

a tu warunkiem jest jedynie by X był niepusty, bo pusty zbiór nie ma głowy ani ogona, ale to gwarantuje nam założenie b) stanowiące przepustkę do wejścia na drogę (2) — (2).

To kończy dowód poprawności częściowej algorytmu.


Wyszukiwarka

Podobne podstrony:
Metody dowodzenia poprawności cz II 1 METODY DOWODZENIA POPRAWNOŚCI CZĘŚĆ IIDowód poprawności całkow
Metody dowodzenia poprawności cz II 2 Współczesne badania w dziedzinie poprawności algorytmów: Idą o
Metody dowodzenia poprawności cz I 1 METODY DOWODZENIA POPRAWNOŚCI CZĘŚĆ I 1.    Odtą
Metody dowodzenia poprawności cz I 2 Etapy działania algorytmu: Y    = n
102 102 scisły rozbiór, to się pokaże, ze idąc od architektury w górę do muzyki, każda z nich rozogó
32,33 (10) Dla większości dzieci rodzice są tymi, którzy pierwsi do nich mówią. Którzy uczą je pozna
54 55 (26) Atrakcyjne innym razem przeżycia, jak film, spotkanie towarzyskie, są nieprzyjazne, nasz&
SCAN0099 /Każde zwierzątko ma inny wzorek. Połącz zwierzątka ze wzorkami na piłkach, które do nich p
IMG201206076 m. r.ifirt ze ttwwtMr/tM odnoszących się do nerwu sromowego są poprawne ? N Mom&wy
AKSJOMATY Aksjomaty - twierdzenia, których prawdziwości nie dowodzimy, tylko zakładamy, że są prawdz
Problemy teoretyczne i metodyczne 11Wstęp Powszechnie przyjmuje się, że przedmiotem ekonomii1 są sto
AKSJOMATY Aksjomaty - twierdzenia, których prawdziwości nie dowodzimy, tylko zakładamy, że są prawdz
268 (47) METODY NUMERYCZNE... Z tego lematu wynika, że są spełnione założenia (10.134). Norma operat
AKSJOMATY Aksjomaty - twierdzenia, których prawdziwości nie dowodzimy, tylko zakładamy, że są prawdz

więcej podobnych podstron