게시판 인덱스

 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

Davinci의 Don't Know 에 대해 질문이 있습니다.

 
글 쓰기   답변 달기     게시판 인덱스 -> 4541.664A Program Analysis (Spring 2016)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
강동현



가입: 2011년 9월 26일
올린 글: 19

올리기올려짐: 2016년6월11일 16:19    주제: Davinci의 Don't Know 에 대해 질문이 있습니다. 인용과 함께 답변

안녕하세요. Davinci구현 및 테스트 중 don't know에 대해 의문점이 들어 질문하게 되었는데요,

제가 생각한 don't know는 "프로그램 실행 상태에 따라, davinci code를 만족할수도 있고, 아닐수도 있음" 이라고 생각했는데요,

이때 프로그램의 실행 상태를 변화시킬 수 있는 요인에는 주어진 semantics를 보면 "readint" expression을 쓰는 부분밖에는 없다고 생각이 됩니다. (그 외에는 프로그램 실행 형태가 하나로 정해지게 되겠죠?)

그래서 readint 값에 따라서 이 코드가 davinci 코드가 될 수 있으면 don't know를 출력하였는데, 예제를 보니 이런 경우에는 no를 출력하게 되어 있더라고요.

그렇다면 (readint에 의해 no/yes가 둘 다 가능하면 no가 될 경우) 사실상 don't know는 의미가(필요가) 없는 것이 아닌가요?
위로
사용자 정보 보기 비밀 메시지 보내기
강동현



가입: 2011년 9월 26일
올린 글: 19

올리기올려짐: 2016년6월12일 0:57    주제: 몇가지 까다로울 것 같은 예제 달아봅니다. 인용과 함께 답변

(eo)
x := readInt ;
y := x + x

(davinci)

x := readInt ;
y := x + (-x) + 415
위로
사용자 정보 보기 비밀 메시지 보내기
최재승



가입: 2012년 9월 10일
올린 글: 211

올리기올려짐: 2016년6월12일 14:56    주제: 인용과 함께 답변

안녕하세요,

인용:
제가 생각한 don't know는 "프로그램 실행 상태에 따라, davinci code를 만족할수도 있고, 아닐수도 있음" 이라고 생각했는데요,

다빈치 코드인지 여부는 프로그램이 주어지면 예/아니오 중 하나로 결정됩니다. 다시 말해, 하나의 프로그램이 실행 상태에 따라 다빈치코드인지 여부가 변하는 것이 아닙니다.

어떤 프로그램이 "어떤 변수가 있어서, 실행중에 그 변수가 가지는 정수값은 항상 1867으로 나누어 나머지가 415이다" 를 만족한다면 이것은 다빈치 코드입니다.
만약 프로그램 실행 상태에 따라 어떤 변수도 저 조건을 만족하지 않게 된다면, 그 프로그램은 다빈치 코드가 아닙니다.

"don't know" 가 필요한 것은, 임의의 프로그램에 대해서 정적 분석이 정확하게 다빈치 코드인지 여부를 답해주는 것이 불가능하기 때문입니다. (수업자료 6.pdf 참조)
주어진 프로그램의 다빈치 코드 여부를 여러분의 분석기가 정확히 판단하지 못하겠는 경우 "don't know"를 리턴하시면 됩니다

조교 드림.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4541.664A Program Analysis (Spring 2016) 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
Translated by kss & drssay