게시판 인덱스

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

[과제] Homework 1 이 나왔습니다.

 
글 쓰기   답변 달기     게시판 인덱스 -> 046.016 Computational Civilization (Spring 2016)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
조상우15



가입: 2015년 9월 7일
올린 글: 27

올리기올려짐: 2016년3월24일 14:20    주제: [과제] Homework 1 이 나왔습니다. 인용과 함께 답변

Update:2016-04-07 14:29
----------------------------------------------------------------------------------
과제 딜레이 패널티는 48시간마다 10%씩입니다.
----------------------------------------------------------------------------------



Update:2016-03-29 14:29
----------------------------------------------------------------------------------
1. 1-2 과제의 제출해야 하는 스크린샷은 `길이 10 이상의 임의의 목탄데생그림'을 복사한 결과이면 됩니다. 여기서 `임의의'라는 말은 그냥 아무거나 0,1,2,3으로 이뤄진 입력이면 충분합니다. 특정한 목탄데생그림을 입력값으로 주지 않은 이유는, 과제의 목표가 임의의 모든 목탄데생 그림을 복사하는 것이기 때문입니다.

2. 튜링기계 홈페이지와 관련하여 사용 방법에 대해 몇 가지 더 설명을 드리고자 합니다.
홈페이지의 튜링기계 코드를 적는 곳 오른쪽에 4가지 버튼이 있습니다.
Run: 작성한 튜링기계를 실행합니다
Pause: 작성한 튜링기계가 Run하고 있을 때 이 버튼을 누르면 잠시 멈춥니다.
Step: 튜링기계를 한 스텝씩 실행합니다.
Reset: 실행을 되돌리고 초기 상태와 초기 입력값으로 되돌립니다.

그리고 버튼 아래의 Initial Input과 Initial State 에는 본인이 작성한 튜링기계에 맞는 초기 입력과 초기 상태를 적으시면 됩니다.
예를 들어 내가 작성한 튜링기계의 초기상태가 s0라면 Initial State에도 s0 이 있어야 제대로 동작합니다.
입력의 경우 표시 문자로 x를 쓴다고 하면 Initial Input으로 x0123x 와 같은 목탄데생그림을 입력으로 넣을 수 있습니다. 여러가지 입력을 넣어서 본인이 작성한 튜링기계가 제대로 동작하는지 살펴보시면 됩니다. 스크린샷을 찍으실 경우 이 Initial Input 에 x01012331323x와 같이 x를 제외한 길이가 10 이상인 목탄데생그림을 넣고 튜링기계를 Run 한 결과를 찍으시면 됩니다.
----------------------------------------------------------------------------------



Update:2016-03-25 02:13
----------------------------------------------------------------------------------
1. 튜링기계 코드는 파일 명 및 코드 내용 모두 한글이 깨질 수 있기 때문에 영어로만 작성해주세요. 스크린샷 이름 역시 마찬가지 입니다.
본인 학번으로 제출페이지에 가입하셨으면 제출한 파일에 학번이 signature로 새겨지기 때문에 걱정하실 필요 없습니다.
2. 과제 제출 페이지 1-2의 이미지 업로드가 안되는 문제가 있었습니다. 지금은 수정하였습니다. 불편을 끼쳐드려 죄송합니다.
3. 스크린샷의 `길이 10 이상의 목탄데생그림'에서 길이는 표시 문자(e.g. x)를 제외한 순수 0,1,2,3으로만 이뤄진 길이를 뜻합니다.
----------------------------------------------------------------------------------


안녕하세요.
컴퓨터과학이 여는 세계 [Homework 1]이 나왔습니다.

내용 : http://ropas.snu.ac.kr/~kwang/046.016/16/hw1.pdf
제출 : http://ropas.snu.ac.kr/~ta/046.016/16/submit/index.pl
기한 : 4/5(화) 11:00

첫 번째 과제인 에세이는 제출기한까지 인쇄하여 수업 시간에 교수님께 유인물로 제출하시면 됩니다.

두 번째 과제인 튜링기계는 "반드시 제출 페이지에 학번으로 가입"을 하신 뒤 작성한 "튜링기계 코드""스크린샷"을 업로드하여 제출하시면 됩니다.
제출 페이지의 첫 번째 파일에는 튜링기계 코드를 올려주시고,
제출 페이지의 두 번째 파일에는 스크린샷을 올려주시면 됩니다.
튜링기계 코드의 파일 형식은 *.txt 파일로 제출해주세요. 파일이 깨질 수 있으니 내용에 한글은 쓰지 말아주세요. 튜링기계 작성표는 물론, 코멘트 역시 영어로만 작성해주셔야 합니다.
스크린샷은 "길이 10 이상의 목탄데생그림"을 본인이 작성한 튜링기계로 복사한 내용이 보이도록 찍어서 업로드 하시면 됩니다.


<주의사항>

1. 에세이 쓰기
----------------------------------------------------------------------------------

교수님께서 수업 시간에도 많이 강조하신 부분인 만큼, 반드시 주어진 형식을 지켜주시기 바랍니다.
내용 구성, 양 (반드시 "양면 출력"을 해주시고, 절대 "A4 2장"을 넘어서는 안됩니다), 형식은 당연히 지켜야 합니다.
특히 강조하신 "두괄식""요약"을 꼭 지켜주세요.
이런 형식을 지키지 않아 감점 당하는 경우 어떻게 할 도리가 없습니다.
과제는 반드시 출력하여 유인물을 4/5 수업 시간 시작 전까지 제출해주세요.



2. 목탄데생 복사-튜링기계
----------------------------------------------------------------------------------

http://morphett.info/turing/?d5732115f84c326a9675
위 링크에서 여러분이 작성한 튜링기계를 실험해 볼 수 있습니다.
우선은 제가 0과 1을 반복해서 테이프에 쓰는 튜링기계를 작성해두었습니다. 1을 쓴 뒤 breakpoint를 잡아 두었으니 어떻게 작동하는지 더 잘 보일 것입니다.

링크 하단에도 문법이 나와있지만, 대략적인 문법을 소개해드립니다. 기본은 수업 시간에 배운 튜링기계 문법과 같습니다.

[튜링기계의 문법]
- 기본 형식 : <현재 상태> <읽을 심볼> <쓸 심볼> <방향> <다음 상태>
( 예를 들어 튜링기계에 s0 a b r s1 이라고 쓴다면, 이 뜻은 '현재 상태가 s0이고 테이프에 읽을 심볼이 a 라면, 현재 심볼에 b를 쓰고 테이프를 오른쪽(r)으로 이동시키면서 상태를 s1로 바꾼다' 는 뜻이 됩니다. )
- <상태>: 단어와 숫자의 조합이 가능합니다.
- <심볼>: 하나의 글자나 숫자만 가능합니다. _ 는 빈칸(space)를 뜻합니다.
(상태와 심볼은 모두 대소문자 구분을 합니다)
- <방향>: 왼쪽(l), 오른쪽(r), 가만히 있기(*)가 가능합니다.
- ; 이후에 오는 문단은 코멘트로 인식하여 튜링기계의 작동에 아무런 영향을 주지 않습니다. 영어로 작성해주세요.

그 외에 위 사이트에서 유용한 팁을 드리자면,
- 상태변수는 단어가 가능합니다. a, b와 같은 1글자도 가능하지만 state0 과 같이 뜻을 가진 단어로 풀어 쓰는 것이 가능하므로, 튜링기계 작성 시에 최대한 의미를 풀어 써서 상태 변수를 작성하는 것이 도움이 됩니다(e.g. copying1 은 `1을 복사 중인 상태'로 사용)
- <현재 상태>와 <읽을 심볼>에서 * 를 사용하여 <모든 상태>와 <모든 심볼>을 나타낼 수 있습니다.
- <다음 상태>와 <쓸 심볼>에서 * 를 사용하여 아무런 변화도 주지 않을 수 있습니다.
즉, <현재 상태를 그대로 유지>하거나 / <심볼을 쓰지 않고 넘어감>을 할 수 있습니다.
- 각 줄 마지막에 ! 를 써서 해당 라인을 실행한 뒤 잠시 멈추게 할 수 있습니다. 이것을 잘 활용하면 내가 작성한 튜링기계가 왜 틀렸는지 쉽게 찾을 수 있을 것입니다.



[숙제에 대한 코멘트]

- 예시로 나온 튜링기계는 *0113210* 을 입력으로 받아 *0113210*0113210* 을 출력하도록 되어 있습니다.
그런데 링크의 튜링기계로 설계를 하려면, '*'라는 심볼이 wildcard로 쓰이기 때문에 맞지 않습니다. 따라서 적당히 다른 심볼(e.g. x)로 바꿔서 작성하시면 됩니다. 이와 관련해서 코멘트에 어떤 심볼을 표시로 사용하였는지 작성해주시면 감사하겠습니다.

- 수업 시간에도 언급되었던 내용인데, 직관적으로 '복사'라는 작업을 하기만 하면 됩니다.
예를 들어 표시로 x를 이용하는 경우, x0123x 를 받아 복사한 결과가 x0123x0123x , x0123x0123 , xxxxx0123x, xaaaax0123x , ... 등, `입력을 복사했다'는 것을 직관적으로 알 수만 있으면 제대로 작성한 것으로 판단하겠습니다.

- 길이 10 이상의 목탄데생그림을 복사한 결과를 스크린샷으로 찍어서 함께 제출해주셔야 합니다.

- 수업시간에도 질문 받았던 내용인데, 이번 과제가 요구하는 사항은 "모든 임의의 목탄데생 그림을 복사"하는 튜링기계여야 합니다. 과제 문서에 예시로 나온 0113210 의 경우에만 복사되는 것은 과제 스펙에 맞지 않습니다. 이 점 유의하시길 바랍니다.

- 듀를 최대한 지켜주세요. 딜레이되는 경우는 제출 페이지 외의 다른 방법으로 받겠습니다.




그 외 이해가 되지 않거나 궁금한 점이 있으면 게시판에 질문을 올려주세요.

감사합니다.

TA 조상우
e-mail: swjoh@ropas.snu.ac.kr
phone: 010-9152-0008
office : bldg 302, 312-2
위로
사용자 정보 보기 비밀 메시지 보내기 이메일 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 046.016 Computational Civilization (Spring 2016) 시간대: GMT + 9 시간(한국)
페이지 11

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


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