Metody dowodzenia poprawności cz II 1

Metody dowodzenia poprawności cz II 1



METODY DOWODZENIA POPRAWNOŚCI CZĘŚĆ II

Dowód poprawności całkowitej:

Dla wykonania całkowitej poprawności trzeba dodatkowo wykazać, że dla każdego napisu S algorytm zatrzyma sie na końcu. O zatrzymaniu decyduje warunek umieszczony w punkcie, gdzie znajduje się asercja 2.

Wprowadzam pojęcie zbieżnika. Za zbieżnik przyjmuje długość napisu X. Na początku ma on pewną wartość, potem jego wartość zmniejsza się o 1 przy każdym obiegu pętli w wyniku wykonania X: = ogon CA. Osiągnięcie zerowej wartości zbieżnika gwarantuje zatrzymanie algorytmu na końcu zgodnie z warunkiem domykającym pętlę (ifX = 0 then...) i jego usytuowaniu (przed STOP). Zatem dla tego prostego algorytmu można przeprowadzić takie dowód poprawności całkowitej.

Próba formalizacji dowodzenia poprawności algorytmów:

Spróbujmy sformalizować sposób weryfikacji algorytmów. Mamy warunek początkowy, końcowy i algorytm A rozwiązujący nasze zadanie algorytmiczne. Będziemy chcieli dobrać warunki pośrednie. Okazuje się, że można jedynie sformalizować pomocnicze reguły służące przy konstrukcji asercji. Reguły te zdefiniujemy dla instrukcji wzorowanych na języku PASCAL:

Niech cp — predykat częściowej poprawności u — warunek początkowy w —warunek końcowy asercje

zapis cp (u, A, w) — oznacza, że algorytm A z warunkiem początkowym u i końcowym w jest częściowo poprawny.

1.    Instrukcja pusta: cp (u, const, w) u w

2.    Instrukcja podstawienia:

cp (u, z: = wyrażenie, w) u (z) w (z / wyrażenie)

gdzie zapis z/wvrażenie oznacza, że w miejsce z podstawiono wartość wyrażenia, predykat oznacza, że z: = w/rażenie jest poprawne częściowo, jeśli z spełnia warunek początkowy, zaś po podstawieniu wartości wyrażenia spełnia warunek końcowy w.

3.    Instrukcja sekwencji:

cp (u, begin A1... An end, w) istnieją warunki pośrednie A1 ...An pozwalające na pokazanie, że cp (ui, Ai, wi) dla dowolnego [ = 1....n przy czym u1 = u — pierwszy warunek

Wi = u (i + 1) — i + 1 — warunek pośredni końcowy dla i i początkowy dla i + 1 Wn = W — warunek końcowy

4.    Instrukcja warunkowa prosta:

cp (u, if v then I, w) 4=? cp (u and v, I, w) and ((u and not v) w) w — jeśli spełni u i i v — jeśli u i ~v wtedy w

5.    Instrukcja warunkowa złożona:

cp (u, if v then 11 else I2, w) 4=4 cp (u and v, 11, w) and cp (u and not v, I2, w)

6.    Instrukcja iteracyjna typu while:

cp (u, while v do I, w) 4=4 istnieją warunki pośrednie p1 i p2 takie, że

(u and not v) =4 w (u and v) =4 p1

(p2 and not v) =4 w (wychodzimy z iteracji)

(p2 and v) =4 p1 (wracamy do p1)

cp (p1,1, p2) prawdziwość I z warunku początkowego p1 i końcowego p2

7.    Instrukcja iteracyjna typu reoeat — działanie podobne (mogą zapisać na ćwiczeniach — zadania)

I.    Czy weryfikacja rozważanego algorytmu może być zautomatyzowana?

1. Trzeba znaleźć wszystkie punkty kontrolne, i z każdym związać niezmiennik

2.    Rozmieszczone winny być na: początku, końcu i po jednym w każdej pętli

II.    To można zrobić automatycznie!

Ale nie można automatycznie zbudować niezmienników i zbieżników dla dowolnego algorytmu — bo zależą one od algorytmu. DLATEGO NIE MOŻNA DOWODZIĆ AUTOMATYCZNIE PPRAWNOŚCI ALGORYTMU

III.    Komputer może natomiast sprawdzać automatycznie czy asercia pozostaje niezmiennicza, co czasami bywa złożone i pracochłonne.

Dlatego do weryfikacji algorytmów najlepiej nadaje się tandem: "człowiek plus maszyna" — człowiek konstruuje asercje dla danego algorytmu, komputer pomaga wybrać punkty kontrolne dla ich umieszczenia i sprawdza ich niezmienniczość.


Wyszukiwarka

Podobne podstrony:
Laboratorium Elektroniki cz II 0 219 218 Uwaga Pomiary należy przeprowadzić dla idealnie dobranyc
Maszyna Von Neumana cz II 1 MASZYNA VON NEUMANA CZĘSC IIPrzykład 1: Przykład słowa rozkazowego w pos
HF Antologia tekstów filozoficznych, cz II Od Rousseau do Tischnera ANTOLOGIA TEKSTÓW FILOZOFICZNYCH
Badanie złożoności algorytmów cz II 1 BADANIE ZŁOŻONOŚCI ALGORYTMÓW CZĘSC IIRekurencja - a sprawność
Metody dowodzenia poprawności cz II 2 Współczesne badania w dziedzinie poprawności algorytmów: Idą o
egz 11 cz II prof W Matematyka I Wgzamin pisemny poprawkowy z analizy matematyczni 1. Za pomocy kry
ZADANIA NA DOWODZENIE GEOMETRIA, cz. II Wojciech Guzicki W arkuszach maturalnych w ostatnich dw
Ryszard MagieraMODELE I METODY STATYSTYKI MATEMATYCZNEJ CZĘŚĆ II WNIOSKOWANIE STATYSTYCZNE
Studia II stopnia Wykład 4 Tomasz Frołowicz Metodyka WF Przykładowy uproszczony roczny plan pracy dl
Studia II stopnia Wykład 4 Tomasz Frołowicz Metodyka WF Szkoła podstawowa: S roczny plan pracy dla m
Tomasz Frołowicz Metodyka WF Studia II stopnia Wykład 4Przykładowy uproszczony roczny plan pracy dla
Tomasz Frołowicz Metodyka WF Studia II stopnia Wykład 4Przykładowy uproszczony roczny plan pracy dla
004 (18) A. Egzamin poprawkowy z matematyki dla studentów I Energetyki w sem. II. Pytania z teorii.
Metody i techniki badań społecznych Wykład 30 godzin dla studentek i studentów II roku stacjona
społecznej. Autorytet w procesie uczenia się. Część II Przegląd metod aktywizujących. Część III Meto
egzamin matematyka tril 4 Egzamin poprawkowy z matematyki dla kierunków TRIL I TEO II snu. 1) Sprawd

więcej podobnych podstron