Wednesday, 3 December 2014

Closing Thoughts

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/