이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
로파스 Site Admin
가입: 2012년 9월 9일 올린 글: 280
|
올려짐: 2013년11월13일 14:34 주제: 5-2관련 질문 |
|
|
앞선 질문에서 \X. (E1E2) 로 들어온 인풋은 리듀스하지 않는다고 답해주셨는데요..
2번의 스펙이 변환된 값을 리듀스했을때 원래의 계산과 같은값을 가지도록 해야하므로
리듀스결과 정수를 인코딩한 그것이 되어야한다는 말이 됩니다.
번역은 성공적으로 끝났으나, 앞서 질문한 점에 의해 결과가 덜 리듀스된 상태로 출력이 되는데,
이경우에는 정답으로 인정이 안되는것인가요? 즉 번역할때 괄호를 열심히 친 효과가
나오도록 번역해야하는건가요..? (App이 엄청나게 쓰일거같네요...) |
|
위로 |
|
|
강동옥
가입: 2009년 9월 18일 올린 글: 602
|
올려짐: 2013년11월13일 16:00 주제: |
|
|
음.. 일단 번역했을때 덜 리듀스된 상태인 예제를 적어주시면 감사하겠습니다. |
|
위로 |
|
|
로파스 Site Admin
가입: 2012년 9월 9일 올린 글: 280
|
올려짐: 2013년11월13일 17:18 주제: |
|
|
1+3을 번역하면
(((\n1.((\n2.((\f.(((\x.((n1) (f)))) (((n2) (f)) (x))))))))) ((\f.((\x.((f) (x))))))) ((\f.((\x.((f) ((f) ((f) (x))))))))
가 나오고,
이를 리듀스하면
\3.(\7.(\9.\10.(9) (10)) (3)) (((\f.\x.(f) ((f) ((f) (x)))) (3)) (x))
가 나옵니다. 두번 더 리듀스해야 4가 나올텐데 생각대로 안되네요ㅠ
리듀스결과에서의 숫자는 string of int로써 스트링입니다 |
|
위로 |
|
|
강동옥
가입: 2009년 9월 18일 올린 글: 602
|
올려짐: 2013년11월13일 17:38 주제: |
|
|
음.. 제대로 번역했다면
1+3을 번역한 결과를 normal order reduction 수행하였을때 4를 번역한 결과가 나와야 합니다.
번역기를 제대로 짰는지와 더불어
reduce를 제대로 짰는지 좀더 살펴보는게 좋을것 같습니다 |
|
위로 |
|
|
강동옥
가입: 2009년 9월 18일 올린 글: 602
|
올려짐: 2013년11월13일 17:57 주제: |
|
|
보니 제가 손으로 reduce했을때도 결과는 비슷하게 나오는것 같군요.. 번역을 잘 하셔야 할듯 합니다 |
|
위로 |
|
|
로파스 Site Admin
가입: 2012년 9월 9일 올린 글: 280
|
올려짐: 2013년11월13일 18:09 주제: |
|
|
채점하실때 번역기로 나온 결과를 조교님 코드로 리듀스해서 비교하시는지
아니면 제가 제출한 리듀스함수를 이용해서 비교하시는지 알수있을까요? |
|
위로 |
|
|
강동옥
가입: 2009년 9월 18일 올린 글: 602
|
올려짐: 2013년11월13일 18:30 주제: |
|
|
이번숙제는 숙제 의도가 자신의 reduce로 돌리는것이기 때문에 각자의 reduce로 채점합니다. |
|
위로 |
|
|
최지헌
가입: 2012년 9월 6일 올린 글: 35
|
올려짐: 2013년11월13일 21:05 주제: |
|
|
강의자료에서 나온 덧셈 인코딩하는 방법에 따르면 번역 결과가
((\n1.\n2.\f.(\x.(n1) (f)) (((n2) (f)) (x))) (\f.\x.(f) (x))) (\f.\x.(f) ((f) ((f) (x))))이 아니라
((\n1.\n2.\f.\x.((n1) (f)) (((n2) (f)) (x))) (\f.\x.(f) (x))) (\f.\x.(f) ((f) ((f) (x))))
가 되어야할 것 같습니다
올려주신 인코딩은 제 reduce 함수로 돌려보니까 \f.\x'.(f) (x')이 나오네요.. |
|
위로 |
|
|
|