Sunday 30 November 2014

Week 11 and part of 12.

So after learning basically about more examples and scenarios using big o and big omega (With different functions and whatnot) we learned about non-computable functions as well as starting to learn how to count. By counting I mean making sure that say a set is one to one and onto. To start we were shown the halt function followed by naval_gaze function. I think the key part here that allowed me to understand this problem to a certain extent was the fact that if a function does not halt within say a period of five minutes, I can't know whether or not the function will not halt or that the function is taking an extremely long time to execute.

Anyway next up was the notion of what is 'countable'. While we were given a few examples regarding this, I learned about diagonalization and if something is countable, it should be able to be expressed as a list. And after looking at Cantor's example about that the infinite decimals in [0,1] is not countable it felt interesting enough I actually went online just to learn a bit more about this notion of infinity. I this video here that was on the top of the search list on youtube. Now I actually do remember watching it 2 years ago when it first came out but it did not make that much sense to me. But today I found it a lot more interesting. None of the content change but what I learned in class allowed me to actually understand and dissect what was being said. It was surprisingly similar to what we learned in class but expressed in a different way so in my opinion it was definitely good for review too!

Sunday 23 November 2014

Missed weeks and follow up.

So I completely forgot about this blog until last week. When it hit me I felt somewhat disappointed in myself and let it sit another week before I'm sitting here writing this again. It was completely my fault so as a result of my own negligence and there's no point sitting in the past so I'll try and make up by putting together smaller posts going over the past weeks.

So to get some inspiration I went onto the list of other students' SLOGS and literally opened one at random, scrolled down and opened another at random about 5 times. I first clicked on this one which I found incredibly visually appealing and the format of the blog was really quite nice. However I found that it was rather informal for my own liking. Another had only 2 posts on it, which I will admit did make me feel better about myself...And most of the other ones were in a rather standard format/layout like this SLOG. Most would be regurgitation of slides posted and whatnot. I do feel that the lack of creativity and thoughtfulness might be a result of lack of content, motivation or laziness. I'm not saying there is too much to write, one post per week is admittedly rather little but at the same time it feels like there isn't enough to write about consistently. I'm quite certain the previous sentence didn't make too much sense but I digress. Back on topic.

Week 7 and 8
It's funny. I reflect back on what I learned and it doesn't seem as complicated as before. I'm combining these because I feel like these two weeks were linked strongly enough (and also the fact that the complete set of slides per 'week' was not finished at the end of week 7 and continued to week 8).

So I learned about properly negating proofs and whatnot along with 'Allowed inference', the way I see it it's the rules of logical thinking in proofs written out with a bunch of fancy terminology. To formalize, to make sure everybody is on the same page. Good to basically review I suppose.

Next was what I feel a very important part. Sorts, counting their 'steps' and finding out the worst case, average case, and best case. Note: When counting steps always make sure to count 'loop guards' and make sure to clearly define all the variables you use to count. At first it was difficult for me to count every step but I learned that I should just take it one step at a time and use separate variables to count  the 'inner' loops and go outwards from there.

While we're only learning about the worst case it allowed us to be introduced to the Big O notation, where we learned the upper boundedness of some sorting algorithm and with functions in general. This wasn't really too complicated once we were given the definition, it was rather straight forward but the 'tricks' in doing each proof, such as knowing some summation formulas. Once you know them it isn't too bad but if you have never seen one before it'll probably be quite difficult to complete the proof.

Week 9
We learned more about Big O and we were also given more examples and such to be able to prove that say a function (A) is in Big O of another function (B). The jist of it was basically to over count the numbers that we were given in A so it is in a similar power of B then manipulate the result that you get to get to the consequent in the definition of Big O. Now most of this was rather straight forward in my opinion. I just had to make sure to review all the slides and my notes afterwards as well as re-doing the examples just to assure myself that I knew and understood each individual step and the reasoning behind it.

Test
On week 9 we also had a test for the course. Now it shouldn't have been too bad but I had gotten there late that day after doing some last minute reviewing and I accidentally wrote that p -> q is equivalent to p ∨ not q during the second proof which is obviously incorrect. I realized that right after the end of the test but I should just remind myself to check it over more thoroughly as I had only glanced over each proof afterwards.