computalk

                              Computalk

 (So it is said, so it is written)

Here it comes...

I was a bit surprised about your current situation when I received your answer. Haven't you continue your graduated education ? or your have finished it? I believe AI is the one of the most promising information technologies and we can benefit from it in the near future.

Things always seems worse than you can imagine. But I think it is only one of the bottoms of your career and I believe you can come out from it soon. Anyway, chasing technologies only let you get more tech, not money, but you are not going to give up going after exciting technologies, it is right ?

I suppose your make your application by C or C++ on windows platform, I think this kind of application will cost more time and energies to fulfill a series of enterprise computing. Why not try other platform ? If they have an architect to do the high level design?
In china, GPRS has been used for ages, but it is too slow comparing to the current internet environment. and it is said that 3G is now starting up. It will offer a wider bandwidth for mobile, wireless netsurfing. So I can't find out more chance in China before I have a deeper study on the pocketsufer website. Maybe it has its pecular use.

By the way, I want to know sth about the job market and the sallary level of Canada. Can you give me some information or websites ?
 

Here it goes...

You are absolutely right about AI! And I totally agree with you that it will bring utmost benefit to human and the world. Personally it is my highest lift goal since I decide to study in computer science and I haven't had any doubt until I really started with the introductory course of AI. It suddenly hit me that AI is such a huge topic that no any other subject in science and technology has such broad area because it infiltrates into all other area of science. Even AI itself is a subject of its study. For example, there is an extremely obscure definition of what is AI. Considering the famous "Turing Test" which says if you cannot differenciate a computer from a human when chatting with MSN, then you can say the computer has AI. Can you imagine this is one of classic scientific definition of a serious subject? My point is that, I just then realised that AI is everything and everywhere. It is rather an evolution than a revolution which means no single program or technology can bring "the Matrix" into our life. Maybe it will take centries for human to develop real AI program.
 
Anyway, life is not that bad, at least you shouldn't think in that way because it will only bring the worse thing to yourself. I think this job also has a quite lot of benefit because it gives me a natural arena for facing many difficult problems. You see, I was given quite some chances to do many things which other programmers may not have the opportunity because small companies need to do everything by themselves. The lead programmer is a "real" programmer who is also a working maniac and it is what I expect a real programmer to be. After all I shouldn't complain when people pay me to do programming when I am willing to do it for free.
 
You are absolutely right about programming this kind of application. Indeed, the initial purpose is purely for curiocity of exploring. Using C/c++ is because this is the only language I like to do. As for platform, indeed, it is not easy to migrate. However, I have a few arguments as following:
a) Programming in windows does have its advantages. Considering difficulty of HTML/XML parsing by different browser, using IE maybe a best solution because it will give all user universal result. This is what this company are doing. Just imagine "BlackBerry" or "palm" or "winCE" all parses webpage with some difference, you will have a lot of complaints when mobile users see different image.
b) Any popular archtechures are all targeting for some general purpose application programming. However, I am particular interested in large-binary-data, like multi-media file accessing. So, this might give me opportunity to fine-tune something. For example, I heard default PHP script for uploading file has a file limit size of 30M and this is really not necessary in my view. Of course it is really rare for user uploading such big files daily, but there are many application which does need this.
c) Learning something is not easy until you really get your hand dirty. I am happy that I do learn some basic thing about internet, http, html etc.  which I hate to touch for years. You see, it gives me motivation to read, to search, to think. Of course this is purely personal habits of learning which is really time-consuming.
d) 3G is like something which people have expected for years. And my personal opinion is that it is not really an end of current system. Considering most people simply need mobile for talking, you will know internet surfing is not something people are willing to pay too much. It is because of this, I think this company is doing something hopeful: using current GPRS system to supply people with cheap internet surfing. Say most people using internet with handheld is because they need to check news/email/stock/weather etc. So, this 256color compression is enough for them with 20--30$/month. Even 3G really comes to life, this GPRS is still compatible, I heard. So, it is a kind of good, considering 3G is still very slow comparing with current high-speed internet access at home on PC.
e) I was told other hand-held internet supplier cut off many pictures, like jpg/bmp/tiff to give users some "chopped-off" web page, and many limitations are made. So, that is why this company claims that it gives "real" internet access. This is one nice thing.
 
Here is a few website of jobs in Canada:
http://www.workpolis.ca/
http://www.jobboom.com/mod-bin/prod/preferences.cgi?back_url=%2Fmod-bin%2Fprod%2Findex.pl
http://www.monster.ca/
 
As for salary, Montreal is considered to be a bit low compared with other areas, at least this is what I was told. For junior programmer, the offer for very very simple java testing job is like 35k/y. For the big company like UBI which is a 3D game compnay, it is like 60k/y for entry. And the young guy in our lab got EIDOS for this amount. So, you know, when I think I only got 45k/y, I am a bit embarressed, not because of money. In America, I think the salary can be 30% higher for similar job. At least this what I heard.
 
It is a kind of pleasure to talk with you,

Have a nice day,

 

Here it comes...

Sorry for answering late. I am a little busy in last two weeks and can not think about this topic continuously.

1. One idea is from my view about relation between compression and knowledge. I always think there is some deep profound relation between them. My idea is that the REASON WE ESTABLISH SOME KNOWLEDGE FROM RAW DATA IS BECAUSE THEY CAN BE STORED, RECOVERED EASILY. In other words, the way we process raw data is to find a better way to store them efficiently (for example, like compression), and be easily retrieved. (i.e. structured data) Therefore in the sense of efficient storage, the way that knowledge is created must be very like the way data is compressed. Taking "encoding" for an example, you can imagine that almost all civilization started their writing from those characters so-called "logogram" (I learned this word from wiki just now.) instead of "phonogram" or something like alphabetics. And with the development of civilization, people realized that using alphabetics will be more efficient than using so many characters. (This is one of my argument that Chinese civilization stopped development in some stage since Han dynasty.) Anyway, my point is that searching the way of compression will reveal some of nature of how knowledge is developed.

1. I agree with your first opinion to some extent. You can use compressing technologies to help remembering information. But that is a certain kind of memory, not knowledge. Knowledge organization cares not only the space but also how to match and retrieve efficiently. I think we can get the answer in the course of knowledge engineer.

2. Exactly, human donesn't deliberately forget anything, I think it is befcause of the sense organs and the nerval system,   which can only sense a portion of the image. But for the abilities of grasping essential of pictures, I think it can be trained, in the life or in a training course.

3. I think pattern reuse is an important way for abstract and compression, do you agree? It is also suitable for knowledge.

4. I have little idea about this topic because I have not learned about pattern recognition. I think before you can recognite a person, maybe you need to see a large number of different persons so that you can get the different features between two of them, and then you can identify one from others.
For grapping image through google or baidu, I think if you can modify the program and make it act in a human's behavior? Such as you can pre-input many word for searching and then get images from the result?

I contact Li Xiangdong recently. I told him your idea about the GPRS the day after receviing your last mail and he asked me for your mail address and would answer your later.
And in my opinion, I think the computing abilities of the mobile phone are becoming more and more powerful than before. I believe it is one of the future computing platform,and now it is just like PC in its early era. and in Chinese, there have been many kinds of software running on mobile phone such as project manager, erp, etc. We can distribute computing between client and server and get the best performance of the application. But I prefer professional applcation to a common application because the latter needs more resources to achieve. And the most important thing is to find out a practical application. It is more than a techical topic.
 

 

Here it goes...

 

Don't worry about late reply. As I told with my other friends, this kind of free-style communication can last long
only if we allow each other to talk whatever they have in their minds. And no time or space limit is applied.
1. I agree with your second point that human are not deliberately intending to forget what they know. On the
contrary, they try to memorize everything they have. It is only the space and size problem of data that they cannot
hold. First of all, I always want to share one of my observation with others which is a fundamental in all sciences.
That is, for any system, as big a planetary system, ecological system etc, or as small as nuclear of elements, they
all follow a common rule. It is the energy rule in which the system becomes stable when the energy they consume
becomes a low point. Or in other words, a stable system with low energy potential.
Back to our question, a process of image recognition also involves some energy or efforts of our brain system. The
easiest way or the most efficient way is the way it consumes less energy and less time. This is exactly how
evolution works. The species with most efficient consumption of energy and most volatile to adapt changes of
surrounding environment survives. Just imagine that various ways of knowledge structure are tried by our ancester
without any preference at all. However, the most efficient way are kept because it takes less time and efforts to
memorize more and most important stuffs. This is the evolution of intelligence, if you consider intelligence as a
concrete object in our discussion.
So, that is why I feel the conpression and knowledge structure have some profound connection because they are all
purposed to save more with less space and time. The difference is only that we design algorithm with compression and
the nature pickup method by evolution.
As for your point that our sense organ may miss some parts of image, I don't quite agree. It is not the
responsibility for our sense organ to recognize. It is our brain's job to grasp and interpret whatever our sense
organ reports. Every day when we talk with each other that we don't see something, in fact it is because of our
brain which mis-interpret or omit some data. So, instead of training our neural system, we should train our brain.
2. I agree we both need more to learn about pattern recognition and what we are discussing are purely intuitions.
However, I believe intuition will lead us to explore further and everyone starts with intuition.
3. I have planned to combine my little "spider" program with my sql-tools together. And a process management program
needs to assign them with searching links from Baidu or google. When this "combine" starts, there will be huge
consumtion of space and network bandwidth. Also, I need to fully test with my little spider and tools because it
will be very hard to debug after it runs. Before that, still a couple of questions to be taken care.
a) Software: Baidu only gives target link as a parameter to its own jsp. The true url is "redirected" after the link
is opened. Exactly how this is done, I need to look into it because in my design I will have to avoid repeating
search on same url among multiple "spiders". For example, my center control program will try to retrieve the true
url and then assign this task to one of spiders.
b) Hardware: Definitely I need a new computer at least for that because it consumes all resources when more than 10
spiders are running.
c) Bandwidth: my home broadband has 30G limit/month and this month I have consumed double of that in first two
weeks. And I have to pay over charge for 30 dollars. This cannot work unless I change my plan for unlimited adsl.
e) And do I really allow any picture be uploaded to my database automatically? On one hand it is really good to test
mysql as capacity of storeage and get a meaningless showingoff for "millions pictures database". Is it worthwhile? I
have to repartition my hard drive because the disk consumption is like 40G for 250k pictures. Recently I have uplift
the minimum size of picture to at least 50k/picture and I expect the disk ratio will be even higher. So, maybe I
need to make a free NTSC partition for 100G---200G?
4. As for Li xiang dong, he is always a busy guy and I never expect he has time for this kind of free-style
discussion. After all, I know very little about the topic except that I know it is the trend of mobile phone.
Sometimes I feel I spend too much time to consider some questions which will only be considered as an CEO of big
company and this is really silly. For example, I often feel this company spent too much time and manpower on those
hardwares and the CEO doesn't foresee that the price of hardware they are devlopped on will become half priced.
Also, my idea is that instead of forcing user to buy their stupid useless PDA, just allow consumer to download a
"client software" in their windowCE platform to run their application. This is exactly what I want to discuss with
Li Xiang Dong because I WANT to know if it is possible in NEAR future or NOW. Probably this has very little to do
with his work, but it is possible chance for the incoming age of mobile computing. For example, I hear 3G/TDMA is
very close in practice in China and many other countries. The problem is NOT they cannot do it. The problem is that
they don't know if consumers would USE it because it is still too slow for many internet application. Therefore this
kind of internet "speedup" application is always welcome. Of course it is a complicated issue because this kind of
software are highly depended on ISP like ChinaTelecom because we are actually providing "internet access service" to
mobile phone. Anyway we can talk about it later if you are interested in that.
5. By the way, have you ever tried to compile my little spider or httpserver? I found something needs to be changed
when I re-install my system. You can download a new version if you are interested. Also I highly recommend you to
install "sp6" for vC++6. You can download this "sp6" in microsoft.com.
http://www.staroceans.net/httpServer-stable-2.0.zip
http://www.staroceans.net/mySQLTools-stable3.0.zip
 
 
 

Here it comes ...

I found the website when searching Lizhongshi's profile, a famous AI expert. He wrote several books about AI which are recommended as AI textbooks. I like this site very much. I have just begun to read these materials. There are more than 80 ppt in the website cover every aspects of AI, this is the imformative one I have never seen. and I think after reading them, we can get answers for many question we have discussed.

I agree with you on the importance of programming. It's the foundation of the computer science. Every research will be not use until it can exert influence on programs or implement by a program, otherwise it will still be a kind of philosophy. But I have not touch program for about 2 years,and I start to pick it up now.

I like practical thing more than pure theories. There is a famous proverb : Nothing is more relative to practice than theory. I forget where I got it, but it really impresses me.

Image recognition is a comprehensive problem, its difficulty rest on what you want to recognite, for example, you can write a alg to recognite if two pictures is about the same person, and give a value between 0 to 1 to tell how they are similar. But if you want to recognite who is a beauty, it is more difficult. Maybe you can use nerval network and train it for million times by millions of photos. But there are still many problems, that a beauty is beautiful is because of her face or her stature?

So I think a problem is difficult always because we still can not define it precisely. If we can separate them into several isolated subproblems, it is more easy to put through. Just like the beauty recognition. First you should cut the face from the photo and convert according to the same specification, then you can use them as training data.

I think I still have less idea about practical AI application because I think a good AI program is a combination of the AI tech and the applied domain tech. So what we can do is not only concerning about AI, but also applied domain. So we need double struggles.

One of my interet maybe is expert system, I wish someday my programs can marsheling things like an expert. So knowledge representation is very important for the program. I like AI algorithms too, though it is a bit more difficult for me to learn than I was young.

For collecting picture, goole and baidu.com is a not bad intermedia, because they can search pictures all over the world.



Here it goes...

Yes, it is quite a set of comprehensive slides for me to read and unfortunately I am a lazy reader who cannot concentrate his mind on something for too long except for programming and gaming. It is bad, isn't it?
 
Indeed the image recognition is something much beyond any of us to go any deeper. It is, just as you said, not very clearly defined. If we cannot even define our problems properly, how can we expect us to solve it? What is in my mind is something not very clear. However, I would like to speak it out so that I can understand more clearly what I am thinking. However, it may be meaningless or uninteresting for you and I need you to forgive me for that.
 
1. One idea is from my view about relation between compression and knowledge. I always think there is some deep profound relation between them. My idea is that the REASON WE ESTABLISH SOME KNOWLEDGE FROM RAW DATA IS BECAUSE THEY CAN BE STORED, RECOVERED EASILY. In other words, the way we process raw data is to find a better way to store them efficiently (for example, like compression), and be easily retrieved. (i.e. structured data) Therefore in the sense of efficient storage, the way that knowledge is created must be very like the way data is compressed. Taking "encoding" for an example, you can imagine that almost all civilization started their writing from those characters so-called "logogram" (I learned this word from wiki just now.) instead of "phonogram" or something like alphabetics. And with the development of civilization, people realized that using alphabetics will be more efficient than using so many characters. (This is one of my argument that Chinese civilization stopped development in some stage since Han dynasty.) Anyway, my point is that searching the way of compression will reveal some of nature of how knowledge is developed.
2. I always think human doesn't really understand logical instead they just use some common rule for deduction. And the source of those common rules is from picture because whatever we understand is from our eyes. We have discussed about the importance of source of information which is from image. And the establishment of knowledge should also be from eyes, images etc. Recall my theory about people's ability to forget details, it is really like another kind of compression. And I think people do not deliberately forget details. It is simply that the size of data is so huge that they cannot remember all of them. So, by bombard our agent with thousands of pictures, we might be able to mimic the process of allowing computer forget some details. By doing this, we might be able to "grasp" the essential of picture. In other words, abstraction of what is beauty might be found.
3. Considering jpeg compression, it is a very good way to give us some nature what kind of data is easily compressed, what kind of data is not so easily compressed. So, I have a intuitive idea to explore. Suppose I analysis the jpeg compression data of picture and find out the "maximum" compression of "area of picture" and the "minimum" compression of "area of picture". Then I might have a better understanding how human brain memorizes picture because our brain must also have a "compression engine" to compress the image it receives. Maybe we can find something useful by exploring it.
4. Your function which returns something between 0 and 1 is a typical "fuzzy logic" approach. This have been a common way for many programs. What is going in my mind is to design a matrix to represent all possible properties of jpeg compression and assign them with different weight. The combination of these properties multiplying with their weight will gives a range number. By comparing this magic number we can train our agent to see how the weight should be adjusted. For example, we can let agent to compare two photo of same person by assigning a set of weight for each property. Depending on the two return number, we ask agent to start an "evolving algorithm" by playing with those weights until the resulting number are close enough. Then we can use next pair of photo to train our agent. And also pictures with different person will also be trained with the agent.
 
Baidu, google are indeed good source for picture downloading. However, those professional picture-base websites have various techinique to prevent my amature searching program from grapping image link. It seems I need to have a better strategy for this task. Otherwise one million picture is impossible for me within half year.
 
BTW, do you contact with L. X. D. recently? I read internet news that Lenova has given up all its mobile phone business. How is he now? I am thinking about the possible internet service via GPRS. You know, the company I am working is using special device to speed up internet surfing by GPRS. But it would be more attractive that people just download a software for them to surf internet faster in their own phone because nowadays mobile phone are all so powerful like PDA. And we can setup a web server to supply this kind of speedup internet access survice with some charge. Do you think it is possible in China? Maybe L X D's opinion is more professional one. What do you think?
 

Here it goes...

1. Thanks a lot for the link and I just read the first chapter during working. It seems there are some different emphasis between what I learned here. Anyway I guess this is common since the topic is big and everyone just wants to express his view. And more importantly I didn't have much knowledge on these topics.
 
2. Knowledge representation is one big subject and I personally don't feel very enthusiastic about it because it seems to me to be an advanced stage in the AI. You see, let's use the growth of human as a measuring tool for the development of AI. Say, the baby only develops his knowledge structure until he is 5 years old and after. And the year before that is always mysterious to me. For example, how does child develop the first sense about world? How does he start his learning procedure? etc. These are more primitive than knowledge structure, knowledge representation, but they are more fundamental and vital to AI. I think this area is more related to machine-learning, automated-theory-proof (ATP is one of my favourite.). If these first stepping stones can be settled, we can then ask machine to develop all others, even knowledge structure itself.  Many researchers are rushing to this advanced topics like knowledge representation etc, because these are more human and more related to practical questions in other area, or simply they are more like application of AI which can give immediate benefit in real world. But to me, it seems not the essential of AI. Anyway this is only my personal view.
 
3. I like your comment about knowledge like a web. Indeed, when I trace my simple html parser I can really feel links are weaved as a net. Knowledge is stored in a network and should also be processed in a network. Maybe this is why "neural-network" and internet are all hot topic in last 90's. However, distributed computing and parallel computing don't bring the immediate solution to AI, at least not as much as Japanese researchers were expected. Remember during the booming of Japanese economics in 90's, they are so ambitious about neural-network and AI. And almost everyone believe next century will be the century of Japan since they are so close to the holy grail, the science for all science, the technique for all technique----the AI. However, look at today's researching situation of AI. Knowledge base, expert system, neural-network, evolution algorithm etc. all those promising approaches are not so hot. Maybe people realize that this is a century-work instead of one or two algorithms work. (blah, blah... you probably feel boring about my comment. haha)
 
4. The example of "bat" is intriguing. It reminds me the English text we learned in high school when bat is wandering between birds and animal while they are fighting each other. My point is that image data contains more information than sound because they are basically 2D data vs 1D data. Maybe we can consider bat is using ear as its image-sense-organ instead of its eyes. And still my point holds since this image is so important to bat that its ear is simply degenerated. Anyway I admit my view is a bit intuitive and not being proved by any way. And your point about quantity of data the sense organ received is exactly what I want to express. I think I cannot express more clear than what you said.
 
5. Interesting! Maybe I can try to use another ancient Chinese saying to rephrase your point. 吾尝终日而思矣,不如须臾之所学也。吾尝跂而望矣,不如登高之博见也。In many cases, the feedback is so important as the training to AI. Without interaction from surrounding environment we are like living in darkness. This is why I personally place programming on such a high-level in studying of computer science. Basically computer can be treated as a tool, a tool to implement your idea and prove your idea. Without this practice, what you learned, what you think are all without foundation. All professors who I considered as good ones are those who can do serious programming. Of course they might do as pseudo-code. But my point is that people can only test their mind by programming and one's mind will become more and more advance with all these practising/feedback. One of my supervisor is an idiot and this is one big reason I feel depressed for my research. It is not that he doesn't have some theoretic knowledge, it is that he doesn't really understand what is written in paper and he can never develop any useful things from it. Quoting one of his formal student's comment on him, he is talking almost everything meaningful, but in fact nothing useful. This student is one guy whom I considered a serious programmer and student who finally quit his thesis to finish his master by course. (Maybe I am trying to find some excuse for my studying, please ignore these comments.)
 
6. The learning is continuous/continuing procedure. There is some subtle difference in English between continuous and continuing. One of them is with intermittence or something. My point is that it is very common here for people work and then go back to school or work and study because many programmers realize that they need more academic guiding for their practising. However, many students get bored about hollow theoretic, endless research. So, your case should be very common here. By the way, remembering that you said we should concentrate on some concrete problems instead of phylosophic theory? Why don't we exchange our idea about some idea about what really practical problems or approaches in our mind are. And these simple problems should be practical and workable and also of our interest? For example, what is in my mind is about the image recognition. Please don't misunderstand that I am so ambitious to tackle this huge work which microsoft and google cannot solve. What I want to do is very simple. You see, I have collected nearly 100 thousand pictures in my database and most of them are pretty Asian women. Then I can write a simple program to try to find their common features no matter whatever they are. There might have multiple algorithms, strategies etc. No need to be very accurate, but it might give me some clue about patterns etc. For example, one of my friend told me about the strategy that some software are using to detect pornography. It is very simple. Just try to measure the area percentage of color of "flesh" in picture and if it exceeds some threshold then it has very good chances that it is porn. haha...Very simple, but effective. Of course you might argue that color of skin will have a big problem etc. However, the point is that this is a simplest "pattern-recognition". The pattern of porn picture must have a large percentage of image of skin, isn't it? haha
 
By the way, I collect about thousands of new picture for my database and my goal is to reach one million within half year. Is there many picture database website with quantity of millions in China? I just want to have some idea about this area.

Here it comes...

I find a website about ai:http://www.intsci.ac.cn/shizz/ai.html, maybe you like it. There are some PPT about AI courses, and the first one mentions sth about what the AI is and classify it into four kind of definition in page 9, AI-1.ppt.
 
Knowledge structure are more complicated than Network layer, because knowledges are produced by random, the network protocals are designed in purpose to simplify the protocal construction. So knowledge structure is a network, not a layered structure. It is why I am interested in it, I like complicated things. A knowledge network is complicated.
 
About knowledge representation, I have nothing more to describe, I think I need more learning before I can think about it.
 
I agree that eyes is the most important organ among all sense organ, except a little exception like bat. For a bat, ears is the important organ, and for a rat, maybe is its beard. I believe the ultrasonic for a bat has the same effect as light for a man to some extent. They all one kind of wave, sound and light, except the frequence.And they all can help to locate an object in the 3-dim space because a bat has two ears just as a man has 2 eyes. Further more, we can't experience how important and useful other sense organs are until we are blind and deaf. So my conclusion is : if it can give us enough imformation about the object to be sensed, it is a good sense organ, the difference between two sense organ which has influence on intelligenc development is the quantity of the imformation the organ can sense. So we can say , more practice create more intelligence. Practice can get more feedback information related to previous actions.
 
I suddenly think out a triple sentences:
When you can't produce anything, begin to learn.
when you can't learn more, begin to think.
when you can't think more, begin to practise.
 
In the passed two year, I gradually losed my interest in my works, Fortunately , I still have the enthusiasm to learn sth about ai, I think you have too, let's begin.
 

Here it goes...

I have to appologize first because when I wrote previous reply I just arrived from my two-day bicycle journey which is really
exhausting for me. So, you can imagine that under that situation my mind is not easy to concentrate on one subject, especially
AI is such a huge topic for any people to discuss within a couple of email. Your reply is much organized than my wild thinking
and I am happy that we share a lot of points in common.
1. Slightly disagree with your opinion because I think technology DoES push the wheel of society and every major revolution of
technique does have deep effect on human's life. Anyway, we can stop this arguement here since it is much a moral question than
a computer science question.
2. I like your point to differenciate intelligence and artificial intelligence. Indeed, we don't want to mimic a natural
evolution and we don't want another natural intelligence. AI is purely computed intelligence. Only that we still don't know how
exactly to define it. (At least I think human are still probing in darkness to find out what exactly "computed intelligence"
means. ) I think in western there are many discussion about this question and you can even find clues in science fiction movies.
In my personal view, in future there might be two approach for this kind "artifitial intelligence". One is by biological
techinque, like clone, transplant organs etc. so that "Frankenstein's creature" can be created with intelligence. However, this
is not what computer scientist likes. Therefore I believe we only care about the computed intelligence which is implemented by
computer to achieve "similar effect" of intelligence. That is why we have "Turing Test" and can you only talk about intelligence
without considering where it comes from?
3. I can't agree with you any more.
4. Agreed. DNA can be considered as some firmware or bios of computer and the brain is actually the OS which can adapt itself.
Windows has its "hot-fix" from time to time. And this OS should "hot-fix" itself from time to time. Indeed language is the way
information can be conveyed and it is the summation of programming language and communication protocol.
5. I really like your comment of Entropy and it makes me regret that I don't have a chance to study information theory. Indeed
information, knowledge, understanding, wisdom are all data with non-zeor entropy. We might want to view them at different level
of information such as "information is data of data", "knowledge is the information of information", "understanding is knowledge
of knowledge", "widsom is understanding of understanding" etc. What I want to say is that the knowledge represetation is nested
and layed, just like OSI communication protocol in which higher layer protocol works on foundation of lower layer protocol.
Just as you said, in natural form of data, it all comes to "signal of sense organ" of animal. And the proper interpretation of
signals captured by sense organ gives data, and proper interpretation of data gives information, proper interpretation
information gives knowledge... on and on.
Sometimes I ask myself why eyes are so important among all sense organ for all animals? The obvious answer is that 90% total
data among all sense organs is from image. My view is that sound signal is a "one-dimension" signal based "time axis". See those
sine and cosine curves in monitor, and you see they are just changing in one dimenion---the time. However, image is a 2D signal
which means that they need two dimention vector space to represent, apart from they might changing with time, just like sound.
Therefore image gives much much more data in size than sound. When the size of data is huge, the information it contains of
course becomes so big. With large amount of training data, eyes are more sophisticated and advanced than ears. Also they become
the major organ of sense.
I totally agree that many animals probably don't get much information through their eyes like human. Even children don't know
how to use their eyes properly at early stage of life. Everything falls back the concept of "interpretation" which is so
abstract that we cannot give it a clear definition here.
Bill Gates once said everything is about computation.(Maybe not very accurate, I just have this impression in mind.) The point
is that there is no fondemental difference between computing a number and recognizing an image because all operations are just
some binary logic and arithmetic operations. Of course, I agree computer when invented nearly a century ago are to be used for
computing not for recognition. But just considering recognition is such a "high-level" computation that even computer science
today still doesn't understand it properly. Rome was not built in one day. So, let's just wait for computer to be more smart for
image-recognition, voice-recognition, pattern-recognition and till recognize its own mistake and adapts.
6. About this question, I tend to believe Marx and Engels's theory. That is to say, knowledge comes from practice. In more
scientific notion, I should say knowledge comes from positive feedback when agent interferes with environment and observes the
effects of its interference. Considering an agent with zero knowledge about its surrounding environment, how does it acquire
information about environment? The most important three organs of it are action organ like hands, observation organs like eyes,
computing organs like brain. The first step, it must be able to observe and recognize changes of its surrounding environment so
that whenever its action organs interferes with environment, it migth capture the possible changes by its observation organ.
Based on some feedback algorithm, its brain should be able to push its action towards direction such that the change is most
favourable to maximize its interests. The interests here for most organism is how to survive.
Social environment is just a good envrironment for speedup this process. Considering experience is exchanged between agents so
that repetition of such kind of experiments will be avoided by previous results of other agents. On this sense, I agree that
intelligence only comes from social animals. However, the efficiency of communication is the essential for such speedup process.
Therefore I think some social animals might not be able to develop intelligence if their communication is slow and full of
mistakes. Anyway, this is the exact same question about language which is media of social communication. We have seen many
civialization dies out because of its improper development of language.
7. Haha... When I began to write the pseudo code, I thought I could convey some meaning. Then I realized that I didn't have too
much to express. (It is very common nowadays for me, maybe this is the procedure of aging. haha)
8. Interesting point! I may need to go back my OS textbook to see what exactly you mean. However, my feeling is that when I say
"forget" something what I really mean is the kind of "fuzzy logic". Usually we expect computer to do the exact precise work
without any mistake and this is one reason why we invent computer to replace man doing the tedious repeating work. However,
without any mistake or error may not be the best in some "high-level" computation. Taking image recognition as an example, human
can easily recognize their parents because they don't remember many details of faces of their parents. Therefore the comparison
procedure will have less errors of mis-matching. However, if you ask computer to do the image comparison pixel by pixel, it will
come out with tons of mis-matching errors. In one sense, we can say that human grasp the essential of characteristics of face.
On the other hand, I would like to say human simply forget many details and therefore the remainder of memory maybe the most
important characteristics. Just imagine that the most siginificent signal will leave the deepest impression and becomes the last
remaining memory in mind for us to make comparison. This behavior is so natural for human, but not that simple for a computer.
9. You are absolutely right about one's job and hobby. If one doesn't try to develop some new challenging from his work, sooner
or later, his work will become no more than a paycheck. That is one reason I don't feel so keen about pure theoretical research
because there is very little feedback to guide me. After a while, I may feel it is meaningless to develop some theory which no
one cares about it at all. I try to develop more interest in internet application by writing those picture browsing server and
it even brings more areas for me explore. This may change some boring work into one's hobby, I hope.
10. I have the similar feeling as you said. There are many idea here and there which we don't really see the whole picture. I
still remembered that Li Xiang Dong and I had a lot of discussion on knowledge and AI etc like this in the summer of 2005 when I
took vacation in Xiamen. It is quite some memory, but if we don't write down, sooner or later it just disappears as time goes
on. That is why I like this kind of free-style discussion through email because we can always re-think after some time, some
years to see what you still hold.
Regarding my zip files sent to you last time, I just find out that the "winsock" dll should not be used if you are going to run
in win2k or windows server because they are not compatible with XP. So, you can still compile with those ".lib", but remove
those "w_sock.dll" and let your program use the system default dll in windows. If you have any problems of compiling, running,
please don't hesitate to let me know.
When I studied here in undergraduate, the textbook shipped with a student version of VC6. And in lab all software are installed.
Now, this company also has VC6. Software is not very big problem here because as long as you don't use it commercially, there
are pretty many sources for trial version, free ones. Considering Microsoft gives free downloading of VC2007 or something.
However, I never use anything other than VC6. hahaha... surprise? I simply feel VC6 can do almost everything I need now. .Net is
really heavy for my home PC and hate to learn the new IDE. haha...
11. The courses in master here depends on your research area and are up to your supervisor's agreement sometimes. Basically
thesis option only requires four courses. What I took is "distributed system design", "combinatorial algorithms", "advanced
rendering and computer graphics"(not sure the exact name of course), "computational geometry".
If you are interested in them, you can find link in their course website, or let me know by email.
http://www.cs.concordia.ca/current_students.shtml
12. BTW, I spent a whole day to figure out that the problem with mysql is due to 4g file limits in FAT32. haha... such a stupid
question, but I am really happy cause now the picture in server is like 30k pictures and it increases daily by thousands of
more. haha...
have a nice day,
 

Here it comes...

It seems a bit complicated that I need more time to think about it , though sth in it I had been thinking them before. I still can not organize them very well. So I decide to express them in some separated ideas, as follows:
1. I think we are just talking about pure technologies. I don't think social problems can be solved by technical means. They were created by mankind and can not be solved by technologies.

2. Intelligence and artifical intelligence are different. I think we can talk about intelligence , not AI. Human get many faults in the long term of evolution. So the purpose of AI research is not simply simulate human intelligence, but also bypass it. In other words, we only want intelligenc , but not articial. In some course, teachers name it Computing Intelligence. (CI)

3. Now we come to an agreement that AI is the result of DNA & training data. DNA give the ability to be intelligent, it is the brain. and training data makes the brain intelligent.

4. DNAs represent the ability to inherit abilities from ancestors and need not to develop these abilities from the origin. By this way, an creature can get living abilities more quickly and can survive in the competitions, and then "good" abilities can be accumulated till now.
On another hand, language was developed so that knowledge can be accumulated and passed through generations till now, and make human the leader on the earth.
A child has more powerful intelligent than a computer, this is accepted generally. A brain is much more complicated than a large computer.

5. Then comes the data, information, knowledge, understanding and wisdom which I have some diferent opinions.
In computer words, information is data which has nonzero entropy (entropy was defined by Shannon). And the left such as  knowledge, understanding and wisdom , I believe they are all knowledge ,they can be expressed by knowledge representation method and be reused by other technologies to reproduce new knowledge.
The difference between data and information only exists in computer science. In nature, there are only senses which can be sensed by sense organs. The abstract abilities and the abilities to recognize patterns are simply results of evolution and natural selection. imaging, how does a bee to get detail? Does a human really get all details? Not, they only get a little portions of them which are enough for them to survive from the environment.
How to organize knowledge is another kind of knowledge, so is the same as above.

It is not so easy for a computer to recognize patterns because they are devised for computing first, not for recognition, though it can do it well now.

6. How did the knowledges first emerge and how did they get so prosperous? I think when brain has more and more free time to think more than how to get food and how to reproduce, knowledge was born. And communication between brains cause a nonlinal effective and make the knowledges develop enormously. So I believe only social animals can develop knowledge.

7. I agree with your pseduo-code, but it seems can do little.
 
8. I think it is easy for computer to forget something. The cache strategy is an example.

9. In my opinion, everything which is interesting as a hobby, will become boring when it become a work item, what we only can do is to do it in a interesting way, and the motivity lies in applications.  So don't hesitate , and don't think about those hollow philosophic questions, just move ahead.
I think I am still interested in intelligent algorithm, knowledge representation and exploration, searching, etc, though I have not started to study.

These ideas are a bit disorder, but I think you still can get it.

I have download the two zip file and data structure page, unfortunately, my VC disc was damaged and have just borrow it from a friend. I wonder how you got VC disc in Canada?
Which courses have you taken in your graduated terms? I'd like to compare the courses in the two education system.
 

Here it comes...

My god, last mail lost. I have to repeat it. Maybe because of the
> javascript, not virus.
> I agree with your first point.
> The others:
> 2.Considering these issues in 1), I would like to know how it is working
> at your end. The reason I am asking is because I am not faimilar with
> these issues in practice as I am just using "mysql" C-API interface which
> doesn't have these features.
> a) How does your application connect to mysql? By what language?
> b) Can you be able to configure running threads from that? Or can you
> configure connection pool?
> I use java, and connect to mysql through jdbc. But we seldom directly use
> it, we always use a project called "hibernate", it go too feather.
> These are the link for open source connection pool implemented for java
> "http://www.open-open.com/20.htm", maybe you need them.
> We always use tomcat as our application server. and the tomcat has an
> configure file for users to set the thread number on their demond, and the
> number of connections in connection pool also can be reset through
> modifying the configure file.
> I think it is easier to use java to do a web program than C++
>
 

 

Here it goes...

Yeah, it seems the last mail is lost by some reason.
1. I only uses Tomcat once for my fault-tolerance project and didn't know
how to config it right till now. (I copy my code to my classmate's
environment. haha)
2. It seems all setting is done by configure file which is good.
3. I totally agree that java is much easier to handle web stuff than c++
because your program is running a kind of "fixed" environment, I mean the
JVM.
4. Here comes to my question because I will be glad if you can give me some
rough picture about this kind of web server in perspective of performance.
Please forgive me if there is anything you feel difficult or inconvenient to
answer cause I am just curious.
a) Roughly speaking, what is the maximum simultaneous access to your web
server? 10? 20? 40? ...
b) What is the roughly average data per each access? 10k? 100k? 1M? ...
c) What is the rough period that you must stop and restart web server for
maintainence? I heard that my windows-based server has this kind of problem
and need to reboot. (By the way, I forget to ask what OS are you using?
windows or linux?)
d) Roughly speaking how big is the data in database? Either in data file
size or number of records?
e) If your application is web service, do you have many "update" operations?
For example, you allow user to update their data instead of just browsing
data? Do you have many complicated transaction operations? Like the user
must submit more than once to finish an update operation, a tipycal example
is a web application form which requires user to input more than page to
finish procedure.
f) Does your application require any kind of fault-tolerance feature or do
your application already have such thing? For example, you have some kind of
backup server running at same time or your server has some kind of check
point mechinism so that when power off or some exeption happen the
processing transaction can be recovered? Or in other question, do you think
in China this kind of feature has any demand in small or middle business?
How much do you estimate they would like to pay for this?
 
Probably I am asking too much and I really understand it if you think some
issues are difficult to answer or not convenient to answer. As I mentioned
above, I am just curious about situation in China and want to have some
picture. And you are always welcome to let me know more about up-to-date
information about real world.
 

Here it comes...

Sorry, It seems too late to answer your questions.

a) Roughly speaking, what is the maximum simultaneous access to your web
server? 10? 20? 40? ...
A: The maximum access can reach 300.

b) What is the roughly average data per each access? 10k? 100k? 1M? ...
A: I haven't measure the data size, the estimate value should be above 100K.

c) What is the rough period that you must stop and restart web server for
maintainence? I heard that my windows-based server has this kind of problem
and need to reboot. (By the way, I forget to ask what OS are you using?
windows or linux?)
A:If jvm resources are exhausted and can not be recovered automatically, that means there is something improper with the archicture, always concerned with parameter settings. We use windows2000,xp,2003, and on linux, I believe it is the same.

d) Roughly speaking how big is the data in database? Either in data file size or number of records?
number of records alway between ...
A:I have never measured data size, but I think it is really important to precisely control the performance.
We always control the request data size, keep it small and avoid long time request.

e) If your application is web service, do you have many "update" operations?
For example, you allow user to update their data instead of just browsing data? Do you have many complicated transaction operations? Like the user must submit more than once to finish an update operation, a tipycal example is a web application form which requires user to input more than page to finish procedure.
A: Updates are always conventional operations, and transactions are also needed. But we don't include more than one page into a transaction. It will lead to a long and out-of-control transaction. The better solution is caching the data of these pages in pages or in database and submit them in a request.

f) Does your application require any kind of fault-tolerance feature or do
your application already have such thing? For example, you have some kind of
backup server running at same time or your server has some kind of check
point mechinism so that when power off or some exeption happen the
processing transaction can be recovered? Or in other question, do you think
in China this kind of feature has any demand in small or middle business?
How much do you estimate they would like to pay for this?
Request for fault-tolerance features as you described always are needed in bank systems. We need not this kind of feature.

g)How much they would like to pay for is due to application itself.
Sorry, I have no idea about it. I think the price can be between a wide range, according to the importance of the system and the buesiness type involved in.
These are only my views about applicaition connected with my works, not the whole things in China now. I believe fault-tolerance, high performance can be reached if the customs really need them and they can pay enough money.
You can get more information from Chinese website, though there are always full of rubbish info.
 
If you have any questions, please do not hesitate to let me know. I'll be very glad to discuss them with you, and I am also curious about your major work.

Next time, I will answer more quickly.
 

 

Here it goes ...

Thanks a lot for your answer and I am a bit surprised to see you have patience to finish them. They are purely personal interest and have little to do with my current work.
 
Currently I am working in a small software company and everything about this garbage company seems to be as worse as you can image except that the work is quite bit challenging for me. This is an extremely small company with surprisingly ambition to provide mobile internet surfing service through GPRS network in Europe. When I say the work is challenging to me, I mean I am dealing full of server-side programming, like service, ATL, events, windows messaging, asynchrous I/O, socket/pipe communication, remote terminal service, image-compression, possibly in future device driver etc. I think this position indeed requires 8-10 years working experience as it was said in their advertisement. However, the salary is less than half of that and I am really feeling very bad when the little young guy in our lab get a job in game company with salary 50% higher than me. You know, I almost lecture him for computer science every day.
 
C'est la vie:这就是生活 and I have to survive.
 
However, I suddenly realized there might be some promising applicaton through GPRS(2.5G) for internet service through mobile phone even though I haven't been using mobile phone for years. Do you think if there is any chance for this kind of service in China? I bet china mobile has start it long before. However, this little company claims their "compression technology" allows the fastest web surfing among hand held device among the world. I am quite sure and here is the link. http://www.pocketsurfer.co.uk/html/Fast_and_free.htm
 
Anyway, this really goes too far in our DB discussion.
 
have a nice day,
 

Here it goes...

1. First of all, many of your views about AI is almost exactly same as I view AI and I am really happy that we can discuss about this topic. You know, I believe AI is the ultimate solution to all our human problems, like efficient government, fair competition in business, clever management of social resources etc, you name it. If only one day we can develop real AI and we trust them to do everything for us, there will be no poverty, no war, no conflicting etc. And it seems this is the key to our total success of civilization.
 
2. However, the key question is how to realize AI? Several years ago, I have the same strong feeling that the key is inside how human develop his intelligence through evolution. And more or less I was kind of accepting that DNA may play a key role in human intelligence inheritance. However, some observation counter-prove this idea. For example, almost all human kids have almost zero intelligence when they are born and no matter what kind of DNA they might carry they will become idiot without training. Those kids who were taken and brought by wolf are good examples. So, the after-birth training plays critical role in developing intelligence. My point is that DNA or whatever inheritance a kid get from their parents are all like hardware of computer which means they have the ability to learn, but the key of intelligence is how they are taught, or trained. That is why training data is so crucial in intelligent system. So, all in all, I think biology is important to understand how human has the ability of acquiring intelligence, but cannot answer how human actually acquiring intelligence.
 
3. The key must be the way how kid learn our world during his first several years. Just imagine that they start with zero knowledge of our world and just within several years they have even more intelligence than all computer software in this world. Why is that? For the past a few years, I kind develop some intuitive view by myself and want to discuss about it.
a) There is very good saying in English which reveals the order of intelligence development. It is like this:
Data is not information. Information is not knowledge. Knowledge is not understanding. Understanding is not wisdom.
What is data? In my point of view, it is the rawest form of information such that any intelligent system can "recognize" when scanned the second time. So, they are basically the raw memory of human without any processing. I think the very, very important thing about data processing is how to "recognize patterns". The simplest pattern is repetition. When repetition of signal varies with some detail removed, we develop "abstraction" because we human have this unique ability than machine is due to our bad memory. It is because we forget some detail, we are able to "abstract" things by ignoring some thing.
Information is a high-level data with all these kind of variation which basically conveys "meaningful data" such that we can "decode" raw data.
Knowledge is even a high-level information because information can come in huge amount and searching in oceans of information can never be solved with hardware improvement. Information must be properly "organized" for fast searching/adapting. Otherwise neither can we learn new information, nor can we find useful one from our memory or storage.
I think our modern AI is just some place in above because "understanding" is really some fundamental different from above which is the really mystery of AI. How to define understanding because all above are very easy to understand in our terms of computer? Is understanding purely some algorithm? Definitely not. In my view, understanding has much to do with "machine learning". It should be an advanced form of knowledge which can help intelligent system to analysis the "way" how it "organize" information. Considering the way how intelligent system "organize" information, the system must be able to adapt its current algorithm dynamically. This can ONLY be achieved such that your algorithm is stored in data, instead of in CODE" because a system dynamically updating its programming code is much complex than updating its own data. So, that is why I often quote the beginning sentence from 《道德经》:“道可道,非常道,名可名,非常名。”( In case these chinese character cannot be displayed properly, here is what I am saying: "DaoDeJing": If an algorithm is a written algorithm, it cannot become the algorithm that can even adapt ITSELF. If we use some variable to designate an object, when we want to update the variable itself, we may run out of variables.)
As for wisdom, it is really difficult to discuss now because it is such a high order of understanding, we human cannot answer it without understand what is understanding.
 
b) Almost all AI developing processing can be described in following super-simplified pseudo-code:
 
while (system is alive)
{
        Evaluating Feedback of last algorithm;
        Developing new algorithm based on evaluation.
        Applying new algorithm to environment;
}
 
"Evaluating feedback" can be considered as the purpose of program, like the purpose of life. In terms of animals, plants, it is as simple as how to survive, or how to reproduce itself. Similarly, in terms of software, it can be translated how system get more resources like more memory, more running time, more instances etc. It is really like "virus" which is in pursuing to spread itself to more computer.
"Developing new algorithm" is really the key part of AI research. Your idea of mimic biological evolution is done through "evolution algorithm". People try to combine random factors to generating new algorithm and the feedback information is added to this process such that new generation of algorithm will reflect the positive feedback. The idea is really good. However, the problem is how well this can be done. As far as I know, the random chance of evolution is far smaller than we can imagine. Scientists have tried to mimic the simplest organism in the beginning of birth of earth and it seems the probability of doing this in lab cannot explain how first generation of biological stuff is generated. My point is that I really doubt if they approach can get any positive result within foreseeable future.
 
c) I agree "Turing Test" has more philosophic meaning than scientific value. However, just consider that many people in this planet still regard human are unique intelligent system in this universe and this definition more or less gives a scientific definition of AI in this sense.
 
d) As for your idea to add more flavour of AI in your program, I think currently it is all about how to handle "information", the way how they are organized so that they can be extracted fast and compared smartly. The idea of faster computer, better algorithm can bring AI to life is also my belief some years ago. Then I realized that this is a common misunderstanding of how complex computation problems can become. Imagine today most our computer software are simply handling problems with time complexity as low as O(N^C), say N^2, N^3 ... However, in this world we have endless NP-complete problems which cannot be solved simply by adding more hardware. Another argument is that we don't have the infinite storage capacity. Even we have, we don't have a searching capability for this infinite storage capacity. So, "forget" is not only necessary, but is crucial for computer software to develop. Till now how do we define this kind of "fuzzy logic" in computer science? By statistic? By probability? Sometimes these approach are contradictive to many goals of computation when people expect machine are not making same mistake as human being. Just image we "clone" an intelligent system such that they are exactly like human and what is GOOD of that? Don't we have too many human being here in this planet? So, that is why I feel AI cannot come when people are able to produce more super-computer. In other words, "super-super..." "deep blue" cannot produce real AI. However, they can solve many practical problems.
 
4. I haven't decided to give up my research yet. You know, it is only that I feel a bit tired about that field after some time of exploration. Parallel computing is considered one of the most important approach in computing because it may solve many problems which traditional algorithm can never achieve. Real time rendering is also the challenging subject, considering countless game company are investing huge resources to make it faster, faster. To work in combination of these two area is tough and I didn't realize that until I explored them for more than one year. Then I begin to ask myself what I am expected to reach in this kind of endless procedure of research?  To graduate from a university like Concordia is never something really hard. But the question I have to ask myself is what I am doing so that I am worth of graduating. And when I get tired of something, it is hard for me to force myself to keep doing it. That is why I would rather start writing a simple "internet spider" to grasp pictures automatically than debug the complex MPI program. (My supervisor has questioned my will for continuing this research and I promised to keep on. However, till now I haven't even started it at all.) I think I am really hopeless in forcing myself for doing something I lost interest. I have told myself that it is simply a degree and nobody expects you to discover something new here. However, I find all kinds of excuse to delay it.....
 
5. Regarding "ZhengHang", I think many people have similar view like you. Indeed as a software company how to make profit is the top priority above all. Is it really to develop everything by yourself? It is a hard question to answer, I think. Taking an example of the small company I work now. They are developing their own device to suit for their "internet surfing program" and there are countless hardware problems in manufacturing in China. Similarly in software parts, there are also many problems. However, in market competition, sometimes technology decides what kind of position a company might be. So, my opinion is that it is not a question whether you should do everything by yourself. It is rather a question if it is possible for you to do everything within your budget of time and money. And the balancing point is really hard to find out.
 
6. I develop my http server in VC++6 and probably the reason it doesn't work is due to "path" and library. Can you tell me what kind of problem it is?  compiling or linking or running?
a) I am using "precompiled header files" which "includes" all header files in "stdafx.h". You can see this in project settings/"C/C++"/precompiled header files. The advantage of doing so is that all "cpp" files are clean to include ONLY "stdafx.h". And all the conflicts, dependency are within "stdafx.h".
 
b) Here is a link for you to download all possible ".h", ".lib" ".dll" files. The "httpapi" are from "platformSDK" and this makes original VC6 a bit different. So, that is why I now give you all these files so  that you do NOT have to download "platformSDK". Please let me know if it can work.
 
c) To run it, you need to give two command arguments: the local ip the server are listening and the ip of mysql database(it is better for server to run at same machine of mysql server.) i.e. httpserver.exe http://127.0.0.1:80/   127.0.0.1
 
d) all picture in database must be preprocessed and that is why I also develop a simple "mysqlTools" which does this job. As for database of mysql, you also need to create before populate picture data into it. http://www.staroceans.net/mysqltools_full.zip
Mysql table structure.
 

Here it comes ...

I agree that AI is a huge topic. Every subject in universities can a huge topic if you want it to be. I am only interested in its core methods, such as how to explore and express knowledges, deduction, search and controlling, model recognition, etc. These will be able to let my programs have a bit intelligence, and can give user more helps. Sometimes I feel how the human being had been developping their intelligence in their long term evolution is a key question because if we can simulate the process and the calculating can be fast enough, maybe we can develop sth which have the same intelligence like human. And genes recorded some of the important information and pass through millions of generation and still can decide the behavior and the function of an individual, it is so curious. So I believe AI in a way is a biologic topic, at lease biology-relevant topic. I have never been interested in biology until I realised this. I also decide to learn more things related to AI which I heard about in my master courses before, I think they will benefit my programs. But the topic such as turing test, in some ways, seems like a philosophic problem, which we can only chat about it, or think into it, and only after we have been very successful in this domain maybe we can make some comment about it. How about your courses now?  Do you decide to give up?
Come to your arguments, I feel I have little experiences in mobile internet access, so my opinions on it maybe a nonsense. I always think that people will seldom surf internet on their mobile phone. I agree it is possible for some specific application to run on a mobile phone, but for getting information from  web pages made for common browsers, I think the WAP may works more well.
I have been concentrating on business system for years, and have form a opinion that we can't do all of the programs in one system by ourselves, except business logic. According to this opinion, we can concentrate on the important portions which seriously influence on the performance and precision. I know in Zhenghang, the Taiwan company you had been in, they always constructed everything themselves. Maybe it is a personal habit.
I accessed the source code link on your index page yestoday and I found it can't work. and Which ide do you use? MSVC++?

 

Here it comes ...

本来为了制作一个定时关机的小程序竟然折腾了一个晚上,确实win32api实在是有点烦人,一大队的函数的名字很难让人想到。不过转念一想,这实在是不得已,因为WINDOWS的东西要比LINUX复杂的多,有一个东西费了我很长时间没有想明白,就是我传入参数用HANDLE*竟然不行,一定要用&HANDLE,这实在是有些想不到。
 
OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &handle)
 
The reason why you must pass &handle is because this function wants to initialize this handle variable. Your declaration is like this:
 
HANDLE handle=NULL;
 
After OpenProcessToken returns, the handle must contain some useful information. OpenProcessToken could initialize it in this way:
OpenProcessToken(..., Handle* pHandle){
...
*pHandle = 123456;//this is a pointer to the storage of handle variable
}
 
But if you declare something like this:
 
HANDEL *pHandle;
 
In this way, pHandle points an invalid memory address. So when OpenProcessToken dereferences it, it would cause access violation. In short, the pHandle must point to a valid memory address. It should be working in tis way:
Handle handle;
Handle *pHandle = &handle;// this time pHandle is pointing a valid address, which is the address of variable handle.

Here It Goes...

Subject: Re: “经典”的“图灵测试”。

这邮件差点淹没在垃圾邮件中。
〉〉〉〉〉〉哈哈,中国的163现在才是公认的垃圾邮件生产基地呢。
-------------------------------------------------------------------------------------------------------------------------------
我最近很少去想这个问题了,我一直认为图灵测试是个哲学问题,或者说一个综合的问题,它的正确性和技术的水平有关,或许有一天机器人比人还象人。我一直认为机器和人的杂合体将是未来的一种可能。另外,人和人之间存在的沟通的不便利性是一种障碍,将导致机器人将会远比人进化得快得多,因为机器人继承另一机器人的知识是不需要太多时间的,人却做不到;机器人之间的沟通和协同也是非常迅速的,这点人也不如,如果不解决这两个问题,机器人迟早会超过人。
〉〉〉〉〉〉〉I couldn't agree more with you!的确,你的见解很合我的想法,所谓“英雄所见略同”,哈哈,大家都互相恭维一下。我也始终认为未来的地球统治者肯定不会是人类,至少不会是现在这种依靠自然繁殖的“纯”人类,就如你所说的,知识技能的积累每次都随着的个体的消失而几乎完全推倒重来,我们对于牛顿爱因斯坦等等的大师级人物的思想理解多少?所以,必定是那种由技艺思想移植功能的新物种,或者春机械电子的有机体,或者是半生物半电子的cyberorg。
 
-------------------------------------------------------------------------------------------------------------------------------
死记硬背看怎么理解了,古人云,书读百遍其义自现,很多东西是必须先记忆,然后经过大脑的加工才变成所谓的知识,就象中学学物理定律一样,要做过很多题(即案例)才真正明白定律里包含的意义。但教育的时间太短了,没有时间思考,连老师都没什么时间思考,学生就更不用说了,再说思考其实是和交流有关的,有交流,就会接触到新想法,就会触动你去思考,中国从古至今都以沉默为美德,上下左右都缺乏沟通,这个实在极不利于思考,死记硬背也就成为必然了。中国人多啊,忙啊,都没什么时间思考了。发展中国家,没办法,就象吃快餐时你能去品尝东西的美味么?我想需要时间吧,啥时中国能有连续几百年的太平盛世,那时应该会改进不少吧。
 
〉〉〉〉〉〉〉〉我同意技能需要一定的知识积累量,我只是想从另一个角度来更加抽象地阐述我的想法。首先,这是一个经典的计算问题,就是在时间换空间还是空间换时间的选择中达到平衡,所谓的知识就是经过加工过的“编码”,从搜索的角度看,就是这样一个超级简单化的公式:
 
原始数据的搜索时间=搜索经过压缩编码(知识)的索引数据的时间+解压缩还原原始数据的时间
 
假如压缩率不大的话这个冗余的编码根本不值得去做,也许就不成为所谓的“知识”(比如很多人根本就记不住的那些东西,工程师手册的东西,对数积分公式等等),所谓“知识”,或者说“印象”大都是那些有很高的“压缩比率”的东西,(当然不排除数据库建立之初的那些初级索引,比如人类童年时代的记忆,空白数据库是最高查询速度的体系)。我所要说的就是所有的一切都可以归结为“能量最省”“效率最高”“速度最快”这些在生物生存竞争中的自然法则,就如同今天世界各国的劳动生产率的竞争一样,不适应就不会生存,生存就是适应的结果。(存在论?)
-------------------------------------------------------------------------------------------------------------------------------

不久前也是在新浪网上看到一则中国机器人展览的新闻,里面展出了N多款机器人,但从新闻中我实在看不出那机器人到底有多少智能。据说再过10到20年机器人将象汽车一样普及,真是这样么?照这么看技术应该已相当成熟才是,但实际上我并不这么觉得。如果不成熟的话,那东西将是个炸弹。
你最近有什么变化?美国经济危机对加拿大有影响么?

〉〉〉〉〉〉〉〉我没看过你所说的展览,不过我完全可以想象得出来,大概就是简单的大学本科自动控制term project!haha,我曾经帮助我这里一个学机电的同学做过一个他们的所谓自控project,其实对于纯学机械的学生不简单:1。软件使用一个深入到windows内核的即时控制的库,这个我看绝对不简单,除非和微软有一定协议不那么容易,当然他们的老师就是下载来给学生编译使用。2。需要使用一个webcam的驱动程序捕捉视屏然后作分析,首先做离线基础分析,比如图像种颜色“干特图”找出背景噪音以便在实施运行中提出噪音,其次,要设定对象的捕捉信号特征码,比如他们使用一个小小的玩具汽车上面有一个特征标志。3。自动控制部分需要自己采购制作“步进电机”使用老师给的一个从“即时控制库”产生的控制频率调试步进电机(控制和动力混合的屏谱,这一块我不懂是纯电机机械部分的。),这里需要自己使用并口之作控制电缆。4。即时控制部分要编程把webcam的视屏专委灰度图进行障碍分析设计行走路线,这里当然做不了太多地ai了,就是最最简单的寻路设计了,同时要实验反馈机制调试控制反馈的参数,这个部分没有很多试验你根本不能让小车子准确把货物送到目的地,因为轮子都是自己装得没办法很直很正的,电机是四个动力也都不一定平衡。总而言之,单单这些软件部分几个哭得编译链接就不是非计算机专业学生容易的事情了,更不要提算法的设计了,我都觉得这个对于本科生来说非常得非常的不容易。反过来看你所说的国内的那些展览,我狂妄一点说可能不过比这个project做的高级一些罢了,原理上没有多少差别。(当然了,目前最先进的机器人绝对不是这个水平,也不是这个领域,不过每年一度的机器人足球大赛和这个project大同小异,在国外大都是本科生研究生的project,只不过一代一代的后来的学生不用再从头做起,你可以专注于某个领域提高创新罢了。)
总之,我觉得ai这方面最前沿的部分我们都不知道,肯定比我们想象的要强,但是一定比大多数人期待的扼要差。
最近,我觉得冬天来了,北美应该是要进入冬天了,天天看cnn感觉世界在有大的变化,大的危机现在不过是暂时控制,或迟或早要爆发,现在爆发世界各国还能控制,如果现在不爆发,以后在爆发就没人能控制了,所谓肿瘤是否要出去?要开刀就要瘫痪,不开到迟早要死的。
这个破公司差不多已经把能裁掉的人都裁光了,我现在被抓来抓去干所有的事情,有时候市驱动部分,有时候是安装程序,有时候是测试程序,现在又让我处理数据库,当然我时候高兴,让我写程序我就很高兴而且还给钱,虽然不多,所以我才不怕他把裁掉,巴不得,因为可以向政府令保险在家休息然后去找一个工资高点的公司,环境好一点的,电脑好一点的,空气好一点的,我现在想不出来会有什么不好的,(唯一的就是我讨厌使用java,.net之类的,我只会使用vc6,我们家的电脑没有vc7之类的。)
 
国内怎么样?我看新闻好像冬天也要来了,这个世界联系台紧密了想要独善其身不那么容易吧?加币跌得一塌糊涂,这真是没理由的,加拿大现在是G7里面最好的,还有财政盈余的唯一的国家,天知道世界经济是怎么回事?
 
我现在有一个mysql的难题,我的小数据库现在达到了磁盘的极限,我的那个美女土库现在有一百二三十万的记录那个表由210多个g,我的营盘满了,虽然我还有几块硬盘,但是我想有一个长久的可以扩充办法,就尝试mysql5.1之后的一个工能叫做partition,据说是把一个表放在多个分区,当然就是多个硬盘,可是我尝试了一天才发现windows版本不支持,我想确认这一点,或者说你是否有什么好的建议对于这种超大数据存储与应用?
 
今天早上来的路上我在向另一个方案,就是类似于mysql-proxy(我简单看了那个地说明,感觉只能用于load-balance,合我的情况不太一样)的办法,就是建立多台主机的联合数据库,由webserver广播查询给所有的server,有任何一个成功就算成功,但是失败需要所有的返回失败才行。比如A包含0到一百万的纪录,B包含一百万到两百万的记录。我觉得这个办法对于我的情况编码工作最小,改动也最小。不过我又要去尝试router的nat映射了,以前总也不成功。
 
 
 

 

 

                                                         back.gif (341 bytes)       up.gif (335 bytes)         next.gif (337 bytes)