총 정확성과 부분 정확성의 차이점은 무엇입니까?


대답 1:

전체 정확성 사양도 부분적인 정확성 사양입니다. 결론에 도달하기 위해 'S 종료'의 추가 도움이 필요하기 때문에 부분적 정확성은 약합니다. R은 최종 상태를 유지합니다.

부분 정확성 사양 {Q} S {R}의 경우 다음 정보를 얻을 수 있습니다. Q를 만족하는 시작 상태가 주어지면 S가 종료 될 수 있습니다. S가 종료되면 S가 실행 된 후 R을 만족하는 최종 상태에 도달합니다. 그렇지 않은 경우 R은 최종 상태가 없으므로 쓸모가 없습니다.

예를 들면 다음과 같습니다.

{x == 10}
(y! = 0) 동안 :
    y = y-1
x = 0
{x == 0}

부분적 정확성 사양입니다. y가 0보다 크거나 같은 숫자로 초기화되면 S는 종료되고 x는 0이됩니다. y가 음수로 시작하면 S는 영원히 반복되며 종료되지 않으므로 상태 '에 도달하지 않습니다. S의 실행 후 '.

실제로, S가 데드 루프이면 R은 무엇이든 될 수 있습니다. 예를 들어, Q 및 R의 경우 :

{큐}
동안 (참) :
    y = y-1
{아르 자형}

항상 부분 정확성 사양입니다.

Q가 충분히 강하지 않으면 S의 실행 후 상태에 대한 이유는 물론 S의 종료를 보장 할 수 없습니다. 이 경우 수동으로 조건을 추가 할 수 있습니다. S가 종료됩니다. Q와 그것으로 추론을 계속할 수 있습니다.

전체 정확성 사양 {Q} S {R}의 경우 Q는 S의 종료를 보장 할만큼 강력하므로 S가 종료되고 최종 상태가 R을 충족한다고 결론을 내릴 수 있습니다.

예를 들면 다음과 같습니다.

{x == 10}
(x! = 0) 동안 :
    x = x-1
{x == 0}

총 정확성 사양입니다.

BTW : 질문에 정치 정확성 태그가 붙어 있기 때문에 답이 맞는지 잘 모르겠습니다. 질문의 정의는 컴퓨터 과학과 정확히 동일합니다.