Wednesday, March 31, 2010
Final Post
Anyways! Would you look at that? It's the end of the school year already! It all goes by so fast...
As this will most likely be my final post, I just wanted to say how much I've enjoyed this course. It was challenging at times, but nothing that couldn't be overcome. This was fun, and I wish all whom are reading this good luck in your exams, and have a great summer!
Signing off. ;)
Saturday, March 27, 2010
Folding Exercise
These were the results we got for up to five folds:
u = vertex up
d = vertex down
1st Fold: d ---> 1 crease
2nd Fold: u, d, d ---> 3 creases
3rd Fold: u, u, d, d, u, d, d ---> 7 creases
4th Fold: u, u, d, u, u, d, d, d, u, u, d, d, u, d, d ---> 15 creases
5th Fold: u, u, d, u, u, d, d, u, u, u, d, d, u, d, d, d, u, u, d, u, u, d, d, d, u, u, d, d, u, d, d ---> 31 creases
By this time we noticed a pattern of a "middle d", as shown above in green.
We observed that everything to the right of this "middle d" was identical to the entire previous fold. Everything to the left of the "middle d" was the reverse of the right side, mirrored by the "middle d".
Further observation showed that from the first crease up to and including the "middle d", there was a pattern:
1st Fold: 1 crease ---> 2^(1-1) = 2^0 = 1 crease + prev creases
2nd Fold: 2 creases ---> 2^(2-1) = 2^1 = 2 creases + prev creases
3rd Fold: 4 creases ---> 2^(3-1) = 2^2 = 4 creases + prev creases
4th Fold: 8 creases ---> 2^(4-1) = 2^3 = 8 creases + prev creases
5th Fold: 16 creases ---> 2^(5-1) = 2^4 = 16 creases + prev creases
Therefore can conclude that on any given fold, the formula for finding the number of creases produced is 2^(fold # - 1) + the number of creases from the previous fold.
However, the number of creases from the previous fold is always 1 fold less than the number of creases up to and including the "middle d". Therefore a more exact formula would be:
2[2^(fold # -1)] - 1
This formula is guaranteed to give you the number of creases in the paper if given the fold number you are on.
Ex: Fold # 5 ----> 2[2^(5-1)] -1
= 2[2^4] -1
= 2[16] - 1
= 32 -1
= 31
There are 31 creases on the 5th fold, as confirmed in the observations above.
Note: I'm aware this formula is a side step away from the actual question of "can you predict the sequence of ups and downs on a specific fold?" To be honest, I'm not sure how to predict the ups and downs other than what was observed above. An idea of a recursion method comes to mind, but I'm not sure how to implement it if that's correct. So I'm satisfied with finding the number of creases for any given fold instead.
Sunday, March 21, 2010
Side Note
Proofing on the Side
While completing exercise 3 earlier this week, I ran into some stylistic proofing problems. Some parts to a proof are straightforward to follow while others need a little more explanation to be logical / believable. The following is an sample of a proof taken directly from my answers in exercise 3:
Note: srt = square root
Step 1: 2n + 3 # Def of f(n)
Step 2: = 2srt(n)srt(n) + 3 #Algebraic Equivalence
Step 3: > 2srt(n)srt(n) #Subtract 3
Step 4: > 10csrt(n) # Refer to (***) below
As you can see, Steps 1 through 3 are very simple to understand. Step 4 however appears to be quite a stretch. This is where my stylistic problem occurred. I was able to prove this statement, but not in the same method as the previous steps. Now whenever I have this problem, I will do the following: Refer to look at the proof somewhere else on the page, indicated by my "Refer to (***) below" reference. Next, label this proof (***) and go about proving it. Sounds simple no?
So now at the bottom of that question I have the following:
(***): n > 25c^2 # n = (ceiling of 25c^2 + B + 1) > 25c^2
iff n > (5c)^2 # Algebraic Equivalence
iff srt(n) > 5c # Srt both sides
iff srt(n)srt(n) > 5c(srt(n) # Multiply both sides by srt(n)
iff 2srt(n)srt(n) > 10csrt(n) #Multiply both sides by 2
Thus Step 4 above is proven!
With this side proof, as well as the proof above, the statement for the assignment was proven and everything was legible for the marker. I like this "proof on the side" method. It's very useful and easy to understand. I'll be sure to use it in future assignments, and I encourage all who may be reading this to do the same. Good luck to all. 'Night :)
Friday, March 12, 2010
Sorting is so Much Neater
I like how by fixing up some code, you can make sorting time in applications faster. This could be very usuful in large projects.
Note: An algorithm will never take 0 or less seconds. If it does, get that thing patented!
Note to self: Learn L'Hopital's Rle - I will come in handy when trying to find limits.
Saturday, March 6, 2010
Implication Continues....
The next lesson is more implication. We already know how to solve P(n) implies Q(n). What about when Q(n) implies something else, and so does that, and so on, etc. Example: P(0) implies P(1) AND P(1) implies P(2) AND ... AND P(12) implies P(13). ........then P(0) implies P(13).
Note: "The starting point doesn't have to be zero, since the key idea is passing a property of some natural number to its successors." (Quote taken from lecture notes.)
To solve these problems though is very similar to previously learned induction; First establish the starting point property is true, then check that the property "spreads from each natural number to its successor," using "universally quantified implication."
This doesn't appear to be that difficult, but I'm sure future problems will soon prove me wrong.
Practice, practice, practice. Good luck.
Saturday, February 27, 2010
Are you Ready for the Test?!
I, personally, will be spending this weekend studying for it. It supposedly will contain everything we've learned up until now, but I think it will be dominantly about proofs. As in proving whether or not a statement is True in the taught format / style.
I've realised that as long as you do roughly the following, you will be fine.... structure wise.
Assume your variables.
Assume your antecedent.
Pick a variable if required.
Work out all that middle juicy stuff to your proof.
End up with your consequent.
Restate the original statement. # Assumed antecedent, got consequent.
Conclude the original statement this time containing any "for all"s and "there exists".
Note: Be sure to add comments for every line explaining yourself.
Done.
The same applies for proving the statement false, just be sure you're proving the original statement's negation instead. # The negation is True, therefore the original statement is False.
Careful with epsilon and delta proofs though. These are proven in a slightly different manner I've noticed which can be rather confusing. I think these one's require the most practice....
Anyways, hope this little blog was helpful in some way. Happy studying and good luck to all! See you Monday. ;)
Friday, February 19, 2010
Assignment 2
So basically, unless I fully understand these questions, I can't be expected to start solving them.
I have read "Chapter 4 - Proofs" though, which has proved quite helpful. There are so many ways to go about proofs that I wasn't aware of. I especially like how to disprove something. It's basically the same as proving the negation. I originally thought it would be harder than that.
Anyways, now that I have a better understanding, I'm going to go reattempt the problems. Wish me luck as I do the same for you. ;)
Friday, February 12, 2010
Proofs!
So this week has dominantly been about proofs. The method / style being taught on how to set up these proofs is odd in my personal opinion, but easy to get used to. I like the structure of creating the assumptions and conclusions first, then working out the middle to connect the two ends. I find it trivial however to comment on every single line of the proof. I understand that it makes the code more understandable for others, as well as myself for when I come back to it later on, but still. Some steps are just obvious, but I guess it provides good practice for the more important steps.
Exercise 2: This exercise consisted of just proofs. I found the proofs in question 1 to be fun. It's easy to convert symbolic statements with the material given in chapter 3. You just need to mess with / convert the given statement until it looks like the given solution. Question 2 was also somewhat easy, however I'm not as fond of the steps to proving these types of statements. Having to state your assumptions, conclusions, and given information along with the middle portion is a little tedious to me, however important it is to mention.
Overall, proofs don't seem to be that hard to work with. I'm sure they'll get harder soon, but for now they're okay. That's all for now. 'night.
Saturday, February 6, 2010
Tutorial 3
The Power of Negation
such as "not(P if and only if Q)" can be rewritten as "not(P implies Q) or not(Q implies P)". Although resulting in a much longer statement, the two are still equivalent. As for quantifier negation, I found this one interesting as it lets you shift between "for all" and "there exists" statements. I had some trouble with understanding this one at first, but I soon got the hang of it.
Side joke about double negation: (I just wanted to add this in for fun....)
Teacher: "A negative and a positive make a negative. Two negatives or two positives will always make a positive."
Student: "Yeah right."
(For those of you who didn't catch that, "Yeah" and "Right" are both positive, but together imply something negative. Thus counterexample. Haha.)
Saturday, January 30, 2010
It Begins
CSC 165 is different from what I first expected. There are no computers, and we seem to be doing math without all those lovely calculations. The course material doesn't seem hard to understand, but making other's understand one's reasoning and sentence structure seems to be difficult. Even the tiniest word misplacement can result in a completely different interpretation of a statement. Little words such as "if" or "then" can alter an implication just from where they appear in a sentence. Although slightly frustrating, it's one of those things you can slowly get used to and fix.
I think CSC 165 will be an important course not only for future computer science courses, but for general logic understanding as well. It helps you be aware of what you say so that other's can better understand what you're trying to get across. I'll admit I'm intrigued.
Tuesday, January 26, 2010
Test...
'night all. :)
