2008-09-29

Intermission 1 (lambda calculus)

I have a Japanese version of this page. There was a good question on my last article. ``What happen if the vending machine (a function) is broken?''

First of all, we need to define what broken means. Some of you would say, ``Broken is broken, what else?'' But, this answer does not make any sense for mathematicians. Are there no common sense in the head of mathematician? Maybe, yes. But, there is a reason.

I am a Sunday mathematician/programmer. Mainly I program a code to solve some of my problems. To tell my computer to solve my problem, I need to interpret my problem to a code which my computer can execute/understand. Many of mathematics formulation is really formulated, which means you do not need to understand what it is, they are just a procedure. Then my computer can execute to solve my problem. I formulate some problem since after that is done, I do not need to think about that. Rest of the problem is solved automatically. This is fun for me. ``Computer, search some information. Computer, find the shortest path from my home to the station. Computer, find the cheapest ticket under this condition...'' All these things must be translated to a code which my computer can understand. ``Broken is broken'' is not enough for the computer. Since computers are so stupid so far.

For example, Broken could mean 1. when you input something, but nothing comes out, 2. when you input anything, the output is always the same, or 3. when you input something, the output seems totally random. Which is the broken means for you? None of them? Current usual computer can not guess, we need to tell that.

Also, ``broken'' has subjective meaning. There are chips which have build-in self destruction mechanism. For example, some kind of decryption chips. These chips contain a secret encryption key, so some malicious people want to read it. When the chip detects such activity, it breaks itself. Some of the credit card chips and DVD copy detection chips have this function.

When you can not read the information, usually it means ``broken.'' But the designer of these chips designed to do that. If someone can still read the secret information, it is broken for the designer. Therefore, ``broken'' is subjective meaning. When someone's credit card is stolen, the owner usually does not want to his/her card available anymore. If the chip does not self destructed by the malicious one's attack, then the owner may sue the designer, ``The chip was not broken, because it was broken. If it is not broken, it should have broken itself.'' A human can understand this means, but, it is difficult for current machines.

Lambda calculus thinks about all kind of functions. Therefore, such ``broken'' function (whatever it means) must be described. If lambda calculus can not describe some of the functions, that is the limit of this calculus. But, a person must define what is the broken means if he/she want to describe it in lambda calculus. Mathematician is a such a lazy people, but they are also perfectionist. The art of mathematics is how to reach the ``perfect laziness.'' Therfore, all kinds of functions are of course considered. In the a few thousand years of mathematics history, one era is ended when the people found out the perfectness of mathematics system or limit of mathematics system. But this story is too large here and I would like to concentrate only at the some aspect of the lambda calculus. Although, I would like to mention about that if I could.

realtime raytracing als 4k demo

Japanese version

My colleague told me this realtime raytracing demo with photon mapping (caustics). My machine has not enough power to run the demo. But it is quite impressive that just 4k bytes demo program can do this in realtime. Unfortunately, the code is not published.

The rendering time in a movie sometimes took 8 hours to render a frame. Which means it takes more than 8 days for one second movie. But these people usually has a render farm that contains 1000 or more computers. So, after they start render images, 1000 frames will be ready. For this demo we can take video directory. When you visit to YouTube, there are higher quality movie.

http://www.youtube.com/watch?v=LWx2HjvFzHw
http://www.pouet.net/prod.php?which=51443

2008-09-23

lambda calculus and function

(Japanese version )

The word lambda calculus itself has ``calculus,'' so it can also calculate numbers. But, when I started to learn the lambda calculus, I want to know that what is ``calculate'' means. Then I also think about ``what is the number?'' If I want to teach ``what is the number'' to small children, I do not know how to teach it. Also I did not recall how to learn that. But, I think I know what numbers are.

I can tell that there are some properties about numbers. First, it does not matter how to read it. In the hitchhiker's guide, there was a planet called Earth. The people on the planet have a lot of languages. For example, English, German, Latin, Japanese, and so forth. Interestingly enough, every language seems to have a concept about numbers. There are many representations for numbers, for example, (1, 2, 3, ...), (one, two, three, ...), (ein, zwei, drei, ...), (ichi, ni, san, ...), and so on. But no matter how you read them, there should be a common concept underneath. In the guide, maybe (herring, sandwiches, herring sandwiches, ...) or something like that. I know the definition by negation (it does not matter how to read them) is not a good idea here, but this at least tells you one aspect of numbers. There is a concept ``numbers'' which is independent from how to read them. Then, what is the substance of numbers? You can not say, it is one, two, three, ... Inside the guide, there must be ``something,'' and they are presented in some representation according to readers. The representation is always chosen as the reader can understand. I called it ``native'' in one section before. This is the substance of guide, someone could call it as information. But, it does not matter which language is employed to store such information inside of the guide. We could investigate further the substance of the guide and also substance of numbers.

I think lambda calculus is a mathematics that talks about function. Function is a useful idea in mathematics. It's like a vending machine that if you put something in (for example, money), then something comes out (for example, a drink). Many of the cases, people imagine a box which converts from something to another thing. For instance, a converter box which tells you that one Altair dollar is how much Sirius yen. The guide must also have such a box inside.

The function is not necessary to be a box. However, I learn in such way at my school. Moreover, the character of ``function'' in my language means ``a number box.'' So, I usually write a box and put a name like f or g. I think this was a standard on earth. Anyway, both teachers and students did not think about this deeply. Especially, if the usual people know what is function, then computer scientists have a problem that they do not know what it is. Nowadays function is a popular idea, so, computer scientists needs to invent something fancy.

Most of the computer scientists use the words ``lambda calculus'' as to deceive the people. It is easy to find such people, if you ask them ``What's lambda calculus?'' then they will answer, ``fixed-point...,'' ``Combinator blah,'' ``computability...'' to deceive you.

Lambda calculus might be a deep idea and might be useful to think about function. Although I am just a Sunday wannabe mathematician, I could enjoy some superficial results. I could even finish this with ``Church-Rosser blah blah'' to deceive you. However, as you know I am now writing this article. Such a person usually wants to brag that ``I know it! I know it!'' So, I will continue this story at least until Marvin will show up. By the way, Marvin is THE genus robot in the Hitchhiker's guide. He/(or She/It?) has the most depressed mind with the best brain ever made in the universe by Sirius cybernetics corporation. This company first made a brain which has equal ability to a few hundreds bionic brains. But the result shows that a genus is crazy. So be Marvin.

Finally, this section is ended here since I could write about my favorite Marvin.

2008-09-18

lambda calculus and Hitchhiker's guide (1)

lambda calculus and Hitchhiker's guide

One day, I hit on to want to know about lambda calculus, and looked up Wikipedia. There are nice entry about that, but I could not understand some examples of calculation. It took a week to figure out. Maybe this is trivial, but I would like to brag myself about that. There is a common saying, ``they brag most who can do least.''

I am not familiar with lambda calculus. If I encounter something not familiar, I usually lookup some kind of guide book. I went to some city, I usually have a book called ``Chikyu no aruki kata (How to walk on the earth (in Japanese)),'' or Hitchhiker's guide to the Galaxy. This article could be a tiny version of a Hitchhiker's guide to lambda calculus.

According to the Hitchhiker's guide to the Galaxy, the Hitchhiker's guide to the Galaxy is the most successful book in the universe. However, it seems no one knows the book is written in which language. If that is the most successful book, it seems all the people living in the universe can read. Or, also according to the guide, there is no population in the universe, maybe no one read the book. But then what does the most successful mean...

The guide could have an artificial intelligence, and all the people might read the guide using a babel fish. (In case you do not know the guide, the babel fish is a translation fish between any kind of species in universe using some kind of telepathy. But the translation quality is sometimes not so good. There is a translation engine on the web after this fish.)

But the main character of the guide, Arthur, can read the guide before he implanted a babel fish, cannot he? Then, the guide should have some kind of a translator. There could be a tiny possibility that there is a earth language (Queen's English) version of the guide, but I am sceptical of that. Because the company that sells guide tried to sell one version of guide to all the parallel universe including the past and the future.

Even there is a translator included, there must be a ``native'' or ``internal'' language of the guide. I can not imagine what kind of language is used for the guide, but some part related logic or mathematics could be understandable. I am pretty sure some entries about mathematics or logic in the guide. It is interesting for me that what kind of logical expression in the guide. It seems it is infinite improbable, but, it may be lambda calculus.