2014年11月28日星期五

Thirteen Week

                                   24th ~ 28th

  •   Countability
  •   Induction
  Countability is really a difficult concept to understand. Although I've thought about it with referring to Dr Heap's and Dr Larry's slides. I still have some trouble to loo deep inside it.
  My understanding is that if you can find some ways or methods to creates a responsibility of two sets one as input and the other one as output. With the dint of one-to-one and onto, we can compare every functions with nature numbers' set which is acting like a criteria for determining other sets' countability.
  Besides, Induction is familiar to me as it is a very powerful method in matehmatics. We can use it to prove some very weird and interesting mathematical properties not only in math but also in CS.
  To my mind, CSC165 really inspired me a lot about CS and lead me to explorer many interesting aspects of it. Thanks for Dr Heap and Dr Larry and all TAs, they really do an excellent job.

2014年11月21日星期五

Twelfth Week

                                 17th ~ 21th Nov
  • Introduction to computability
  • Reduction
  • Finite Sets and Infinite Sets
  • Countable ---- |N|
  'computers cannot solve the halting problem'.
  It is really confusing when first see this. But computer just know using the algorithm to compute again and again. There is no ending to a finite loop but we could not deny that there may be a end with time moving.
  Hence,Halt(f,n) is non-computable. Hence, to us, if we want to prove a function is computable or non-computable, we need the help of another already known computable or non-computable, which is called 'reduction'.

  The concept of finite and infinite is also interesting. For example, natural number and natural even number has infinite elements but do they share the same size? Actually, I am not really sure about there relationships. I think as to two sets P and Q. If we could say every element in P is one to one to Q, and P -> Q is onto if for all elements y in Q, there is at least one element x in P that f(x)==y.

2014年11月7日星期五

Tenth Week

                               3rd Nov ~ 7th Nov

  • O(n²) 
  • Ω(n²)
  • ϴ(n²)
  "when finding upper-bound, it is OK to over-estimate the number of steps"
"when finding lower-bound, it is OK to under-estimate the number of steps".This two sentences are very useful in dealing with such kind of finding O problem, which should always be kept in our mind.

This problem and solution really make me learn a lot. If we want to make aconnection between two steps we could overestimate one and underestimate the other and choose a c that could reveal their relationship explicitly with <= or >=.

2014年10月31日星期五

Ninth Week

                         27th Oct ~ 1st Nov  

  •    BIG O
  •    O(n²)   
  •    Ω(n²)                     

  This week,we learn more about Big O. How to find a expression about the worst case's steps of a function is the most important step, which needs us to analyse the function like a computer. We can first come with some simple cases to grasp a general idea of how this function works.
  Besides, we learn about what's is Ω,O. O is the upper bound of the worst case's steps and Ω is the lower bound of the worst case's steps. With the help of algebra, I can easily find the corresponding constants of Ω(f(n)), O(f(n)). In general, the total process is to find  the upper and lower asymptotes of a function in math.

2014年10月24日星期五

Eighth Week

                                 20th~24th Oct
  • Inferences
  • Introduction of Sorting strategies
  This week, we still work on the proof of statement with mathematical expression.
 Besides, we are given many allowed inference. Conjunction elimination, existential instantiation , disjunction elimination...There is so many and their names is a little bit of hard to memory.But I understand their meanings and working conditions. So, I just need to take some time to remember their name.
  With the help of 'euchre'(It seems to be a card game, though I never play before), Heap wants to induce us to think about the concept of sort.
   What sort method can you think of?
   What's their difference?
   Which is more efficient?
  I know three searching method - bubble sort, selecting sort, merge sort. I think they are similar to the ones listed on the slides - insertion sort , selection sort.What we are required to emphasize on is the 'steps' that every sort method need. By myself, it is similar to say the efficiency of every sort method. The steps we now looking on is the total steps when using a sort method to solve the worst condition. And we can denoted as O()(We call it 'BIG O'). And to a computer scientists, all quadratic functions are the 'same' - they are in O(n^2)
     

2014年10月17日星期五

Sixth Week

                                13th~17th Oct
  • Mathematical expression
  This week, we follow Mr Heap finishing many different examples of proving statement with mathematical expression.
  By using many tricks, such as changing to prove the contrapositive, making a header and conclusion first, etc.
  The most important is that we must pay much attention to prove with rigorous logic order, which means we have to state every domain one by one including their own quantifiers. To the domain with universal quantifier, we need to note that the variable is generic. Besides the domain with existential quantifier, we need to note that we pick it and it equals to something or has some special features.
  When it comes to the most key part of proof---assuming the antecedent and proving it can imply the consequent. Sometimes, the process does not go very smoothly. At this case, Heap tells us not to be hurried and panic, write down every small steps you could think of, keep it in your mind taht what conditions you have not used and think about it how to use it in your proof.
  Last but not the least, the indent is also very important. Every time you assume something at the header of the proof. You need to indent and continue the next proof. When finishing proof of the following part is right under the condition of the assumption, you need to echo the assumption at the end of the proof. 

2014年10月10日星期五

Fifth Week

6th~10th Oct
  •  Structure of systematic proof
  This mid-term test worried me a lot before. But I really put a lot of efforts in this course. So, the answer won't makeme disappointed.
  This week,Heap teaches us to use systematic and rigorous proof structure to proof some statements. As to me, the most important part is prove with step by step. To every step, we need to clarify the reasons. It is really interesting like we are simulating the execution of computer. I believe the requirement of writing reasons is also teaching us to write annotations when we program.