Wednesday, February 24, 2010

Understand

People use different perspective to understand how things work! I find it out because today I was reading another student's code. And I find that I am the kind of person who tend to understand the complex aspect of it, is it good or bad? I realize the complexity of my code is way much than his.

Saturday, February 20, 2010

Learn from the Prof. Stump

1. People need encouragement,especially for new researcher like me,a little positive comments on my new idea will really help me to overcome the difficulties in this endless research.

2. Maybe most people ask you for help, they're actually ask you for encouragement, you may not actually help them sometimes, but your encouragement is the best help for them.

3. Maybe I am the kind of picky person, or I never try to think for other people, maybe I will never be a good teacher, although I do have the passion to share my understanding of something to someone. But maybe it's because the communication skills problems.

Sunday, February 14, 2010

Correctness of Programming

When we try to write everything as function, or in another word, for imperative programming language, we write everything composably from the basic function. The basic function is something correctness is definitely guaranteed. And we use Dikjstra 's great method-"structure programming", try to compose program from 'atom' to bigger one, increasingly--but I want to push it to extreme, everything in the big program is composed by a strictly smaller one, then the final function is the outer layer, and the basic element is from the 'atom'. In this style(which I will call it well-founded structure programming), I intuitionisticly feel that this kind of program, we can always check whether is correct or not. I have this intuition feeling because, I write program ill form most of the time, or in fact, I write the whole program as an 'atom', then it's really hard to guarantee the correctness. But once I figure out each part of the program actually can be written as a smaller function, then the checking of whether my whole program is well behaved can be done much easily.

Evaluation Function

Why is so hard to find a perfect evaluation function? Maybe because the standard is so blur that based on our blur standard, our evaluation function is also not perfect. Evaluation function map a situation to a partial order set, but we can see that not every situation can be "mapped" to an element of the partial order set, or this is impossible. So why not discard the mapping idea completely, so that our optimistic technique based on other theory like probability or some comparable theory other than partial order set.

Sunday, February 7, 2010

Reserch opinions

When we try to accept any kind of 'facts' or 'theories' or 'opinions' in our research field, it's really dangerous if we accept them blindly, I mean, really really dangerous. Because it's research, not something casual in our daily life. So when it comes to research, it's business, it's not personal. No matter who tells you somethings that they believe it's 'facts' for them, you always has the responsibility to double check it yourself if you want to accept it. Even if you don't care or these 'facts' does not directly related to your research, it's always better to believe it's
'Not True' at all, because a false believe may eventually give you some wrong opinions about that thing, which can be really harmful and restrict your future extension.

Tuesday, February 2, 2010

Fear

I am always fear this situation: What I think I have understood, but actually is not the case. Because we have no way(or hard to ) check the correctness and preciseness of what we think we have understood. To approach checking, we really need to share our opinions with others, with at least a hope or a chance to let other point out my misunderstanding or errors.

Thoughts on How human Understanding the world

How we as human understand the world? I am here giving my own answer. We understand it through interpretation. When we encounter a new object, we tend to find a way to translate it to another object(s) that we have already understood(or at least we think we understand). This style of understanding correspondent to model theory in the sense of logic.

But we can also understand this new object in this way, we observe it's behaviors and get familiar with it's behavior, and we learn its behaviors so well that we may predict it or simulate it in another different context, then in this way, we also can say now we understand this object. This pattern of understanding is what we call proof theory in the sense of logic.

And off course, most of the time, we mix these ways together to understand, then that blur the essence of human understanding a little bit. At last, I also want to ask, are the two styles I mentioned above are the most basic ways to understand a new object? Or There may exist another way that I cannot even describe?

Monday, February 1, 2010

New observation about Proof by Induction

Here is a special case of how we use proof by induction:
We want to prove P->Q by induction on n.
base case: n=0, P always false. Then P->Q is a tautology.
step case: show that (P->Q)(n-1) => (P->Q)(n)

Then is it still a constructive proof?
If we consider to prove (P->Q)(0) => (P->Q)(1), which we actually need to prove
(P->Q)(1) without any helps because (P->Q)(0)tell us nothing. Then it may has two situation, one is P(0) is also false, that makes (P->Q)(1) a tautology. So Now let's consider n=j, where P(j) is true, and P(j-1) is false. Then if we want to prove
(P->Q)(j),without any help from (P->Q)(j-1). Once we successfully prove (P->Q)(j), we can prove (P->Q)(n), where n>j, with the help of induction hypothesis,that is if P(n-1) is true, we can get Q(n-1), with the help of Q(n-1), we try to prove (P->Q)(n).

The thing is,if the j above doesn't exist(and we know that), then of course it's easy to explain. If j does exist, we still need to show (P->Q)(j) is true, then we can go on to use induction hypothesis. But Am I right?