Monday, June 6, 2011

Log for June 6th, 2011

Today, I applied for New Mexico Non-Driver ID, and went to Motor Vehicle Division with Jim. The materials I brought were Passport, SSN card, latest Bank Statement, and Apartment Rental Agreement. The process was very successful and no exception happened.

Then about the book The History of Western Philosophy, I finished reading Plato's theory of ideas. This is the main part of Plato's book Republic, and here he tried to define the concept "philosophy", "knowledge", "reason", and "understand". Philosophy means the love of wisdom. In Plato's thought, wisdom is different from the things we can perceive. In the sense of metaphysic, say, there are many particular cats, and we call them all "cat". However, there should exist one perfect cat, which was created by God, to designate all attributes of a cat. Then what we can see in reality are all imperfect cats. Similarly, the beautiful things are quite vary, but the beauty behind them remains the same. A person who likes different beautiful music, books, flowers, etc. is just the one who love for beautiful things, but doesn't realize the beauty itself. In Plato's theory, all facts and knowledge are eternal, infallible, and immutable. And most of us humans, in a parable, are prisoners in the dark crime. We face the wall, and there is a fire behind us. What we are able to see are just shadows which has been made by the fire. But the philosophers are the group of persons who can break through the prison and are able to see the real things through the sunshine. And the guardians from this group are the persons who are brave to return to the prison, and make the rest people realize their situation and be accompany with them to break the prison and see the facts instead of the illusions.

For Meta-Math project, now I come across two bugs. One is for the following situation:

class SomeClass {
       private:
               int x;
       public:
              int getX(void);
};

int SomeClass::getX(void) {
         return x;
}

Doxygen cannot parse "int getX(void);" correctly. Actually, the bug is that when it deals with this case, then the current member object is NULL. But if working well, it should be the function's name "getX" or "SomeClass::getX".

The other bug is that Doxygen is not able to add the related MetaReference record for the member function invocations like:

a::c();
a.c();
a->c();
(*a)->c();
(*a).c();

This is what I should fix after the first bug.

Next, I shall test whether Doxygen works well for the nested class definiton case. Like,

Class Class1 {
         Class Class2 {
                   ...
         };
         ...
};

Thursday, April 14, 2011

Mission for April 14th

1. 詩經·檜風·匪風
2. Implemented Set, P_queue, Stack ADTs in C++

Meta-Math For Today:

1.  A way to defining customized command:

In the ``ALIASES" section of the configure file, create the command by ``name=value" format.

E.g.: If we want to create a command "@Unit" such that "@Unit{Meter}" can refer to "<unit>Meter</unit>" in the resulting XML file, we can define our customized command as follows:

ALIASES     +=     Unit{1}=<unit>\1</unit>

2. The "@param" and "@retval" commands in Doxygen can specify the name of the target variables.

Wednesday, April 13, 2011

Summary for April 13th

Achievement:

1. Implemented the moving rules for 8 puzzle problem in C++.
2. Solve one problem in HW3 CS 500.
3. Learn 詩經·檜風之素冠,隰有萇楚.
4. Practice Taiji and Kendo.

Improvement:

I should have finished C++ implementation for 8 puzzle and sliding tile problems. Besides, I should have spent hours on Meta-Math project. For most of this semester, I didn't pay enough attention on it, so there's no concrete progress on this project, which makes me upset and ashamed. Though Prof. Kniss said nothing about it, I still have to work more diligently on it.

It's near the final of the semester, and there are many works should be finished by then. I should work harder so as to finish them perfectly.

顽张ってね!

Sunday, March 6, 2011

Some thoughts about NP Problems

Due to the book "Nature of Computation", consider a problem A, if there exists a witness w such that (x, w) is a yes-instance of B, where B is a decision problem in P regarding pairs (x, w), and x is a yes-instance of A, and where |w| = poly(|x|), then this problem A can be classified as a member of the set NP.

So consider the Minimum Spanning Tree (aka. MST) problem, given a spanning tree T, and we are requested to check whether it is the solution for the graph G. Though T can be regarded as the witness w and |w| = poly(|V| + |E|). However, because we don't know the sum of weights of the MST of G in advance, then we have two methods to check this instance.

The first one is to use either Prim's or Kruskal's Algorithm to generate a MST of G and compare its sum of weights with that of T. If they are equal, then this instance is a yes-instance.

The second method may seem a little bit more complicated. We can take advantage of Lemma 3.1. Namely, during each iteration we choose one edge of T and add it in the set T' which is initially empty. Then we check the edges connecting T'.V and (G - T').V. If this edge is the lightest one among those across these two subsets, then we continue this iteration. If not, we just terminate the algorithm and say that T is not a yes-instance. If all the edges in T are checked and there's no termination, we can end the algorithm and say that T is a yes-instance of this problem.

Comparing the above two methods, I'll buy the first one. 

Thursday, January 6, 2011

Thoughts about Machine Learning

In the book "All of Statistics", the author believed that Machine Learning should be called Statistical Inference in order to reveal its core thoughts. However, I've found that Machine Learning should be much more than that. It contains many thoughts in Neural Science and Clustering, besides Bayesian Inference and Hypothesis Test.

Nowadays, Machine Learning is becoming more and more popular, -- not only among scientists of Computer Science and Statistics, but almost everyone in the fields of Natural and Social Science. I don't know whether scholars in Art, Humanities or History are interested in Machine Learning. But I hope not.

I don't whether it is a good news that it becomes so popular. More and more smart persons are working on it, but I see no theoretical breakthrough hitherto. And I don't want to join this revelry.

I know that statistics can be used as a concrete tool to resolve many real-world problems perfectly. I will learn it well. But I don't believe that it can be the Messiah for science, especially for Artificial Intelligence.

My purpose of studying science is to know deeply about western philosophy. I like the feeling that I can help promote the world, but I don't want to be an engineer. I want to be a teacher -- not a teacher in high school or primary school, but a teacher of both Oriental and Western cultures and philosophies.

Thus, I cannot be crazy about Machine Learning. I will step towards the kernel of Artificial Intelligence without any stop. For ML, I regard it as a concrete tool, but not a comprehensive theory which can help me reach the philosophy hiding behind it.

Saturday, December 25, 2010

More about GEB

GEB is really a fantastic book. And I believe that the movie "Inception" should have borrowed many concepts and inspirations from it.

For instance, in the movie, they just pushed themselves into recursively constructed dreams in order to do the inception. Then in the book, tortoise and Achilles went into recursively constructed drawings by Escher. In the movie, they used ticks to pop out of the deeper dreams. And in the book, they used tonic or popcorns to jump into the higher level.

But what's more, the book contains some interesting concepts that the movie didn't mention. One is the corrupt of the system. When a Genie asked Achilles to say his three wishes. Achilles just say one wish: "I wish my wish would not be granted!" How clever! It is a paradox, which resulted in the corrupt of the system. And after the system recovered, they were standing in another drawing, with lizards and their tonic remaining. So the author explained the concept of recovery of recursion in a fairly clever way!

Once started reading, can't I stop. What a brilliant book!

Friday, December 3, 2010

My Dreams

Prof. Luger asked me to think about my goal, which is what I really want to be after 20 years. Then I took time to seriously think of this question, and the following are my answers:

First of all, I love Computer Science. I believe that it's a powerful tool to promote the world and change people's way of living. Moreover, I know that mathematics is the foundation of western philosophy. If I want to step into this area, I should be familiar with mathematics. Then Computer Science is a wonderful way to achieving this. During my undergraduate life, I started to love mathematics because of Discrete Mathematics. I've changed my attitude towards mathematics due to Computer Science. So, I will continue this process along with Computer Science.

Then, I wish that someday in the future, I can be free to teach Confucianism in China. Hitherto, Chinese government does not allow citizens to hold any school. And after the damage over one century, Confucianism has become strange to most of Chinese people. Two years ago, I became a believer of Confucianism. Since then, besides my study, I started to read and recite ancient scripts of Confucianism. As I'm more familiar with Confucianism, I feel that more and more Chinese should know about it. It's the accumulation of the intelligence of ancient Chinese culture, and it does have the inspiration for China to restore its ideology and culture and become a modern and simultaneously exotic country.

Comparing these two dreams, since it's impractical  to do the latter one now, I will continue my first dream definitely. But besides, I will keep on learning Confucianism, so as to make myself prepared for the future teaching. I believe that this day will come soon or later.