I would like to comment on Assignment 3 in a little more detail now that the deadline has passed.
I think the key to question 6 of Assignment 3 was to take the description of function meaning_of_life as literally as possible: "Return True if f(I) returns True, False otherwise." It can supposedly analyze function f and determine whether f will return 42 without needing to execute f. If meaning of life works exactly as described, then it should return false on a function like this:
def procrastinate(I):
while True:
pass
return 42
If procrastinate could reach line 4, it would return 42, and meaning_of_life would return True. However, meaning_of_life can see that procrastinate will never reach line 4, and so meaning_of_life returns False. From here it is trivial to invent a working halting function using meaning_of_life, and since we know a halting function can't exist, we also know that meaning_of_life can't exist.
I'm glad to be finished writing these SLOGs every week. I have benefited from reading other people's posts but it's been a chore writing my own. I really wish the rubric had been posted at the beginning of the semester because I would have done things a bit differently if I actually knew what I was being graded on. I don't think it's fair to give vague instructions for most of the year and then go "Surprise! Here's what you should have been doing all along!"
Overall, this has been a good semester for me. Even though I've
complained a bit about the course, the concepts we learned are
interesting and taught clearly enough to understand. Here are links to the other SLOGs I've read and left comments on :
http://99bugsbutaglitchaintone.blogspot.ca/
http://andylslog165.blogspot.ca/
http://minhuihuangcsc165slogweek2.blogspot.ca/
http://fast10930.blogspot.ca/
http://patslogs.blogspot.ca/
No comments:
Post a Comment