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...
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...
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 ...
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映射了,以前总也不成功。