The Need for Speed Saturday, Nov 17 2007 

This article has been moved to the location below

The Need for Speed

Asimov’s laws – Natural Vs Artificial Intelligence Wednesday, Jun 6 2007 

This page has now been moved to


Asimov’s Laws – Natural vs Artificial Intelligence

Artificial Intelligence and Awareness Sunday, May 13 2007 

‘I Robot’ – Remember this movie ?

Robots made up of intelligent software, want to overtake human beings and rule the earth, bla bla bla

The key is artificial intelligence, software that could mimic human intelligence and by the sheer processing power of the processors even overcome(?) human intelligence.

Some fear that one day computers will be more intelligent than humans. Artificial Intelligence will take over human intelligence. Then the computers/robots feel that humans are less intelligent than they are, and hence will take over humans as the dominant species(?!). Asimov suggested what is called Asimov’s laws to be embedded into the robots to ensure that robots never take over humans.

The Asimov’s laws are the fundamental laws which a Robot should always obey while executing any action. The robotic software should have these laws at the fundamental level preventing a robot from executing any action which violates any of these laws.

These are the Asimov’s laws

Law #1: A Robot should never harm a human being.
This ensures that a robot can never even think of anything which is dangerous or harmful to humans
Law #2: A Robot should follow all commands given by a human, provided first law is not violated.
This ensures that a robot always obeys to humans, but at the same time cannot be used by one human against other humans.

Law #3: A Robot should always protect itself, provided first and second laws are not violated.
This ensures that robots can save themselves in adverse situations, but not at the cost of a human life, and not at the cost of not following a human order.

Later on Asimov also inluded a Zeroth law, an even more fundamental law than the above three, and this says
A Robot should always protect the human race

And First law was modified as
A Robot should never harm a human being provided Zeroth law if not violated.
In other words, the Zeroth law ensures that robots not only are prevented from doing harm to human race, but also ensure the protection of human race. So tomorrow if there is an alien attack then Robots will fight the aliens as per the Zeroth law. OR say some wicked human tries to carry out a nuclear explosion which wipes out a large part of this planet, then the Robots will terminate that human, because the modified First law says that ‘A Robot should not harm a human only if Zeroth law is not violated’, in this case since the wicked human is causing a potential danger to human race, Robots will observe that Zeroth law is being violated by his action and hence will terminate him.

Looks like a science fiction? Well, for me it is common sense to hardcode these four laws as the basic of all robotic actions in every robot that we manufacture. Probably a more detailed and refined version of these laws will be more practical.

Now lets look at a more fundamental level. When we say Robots want to take over humans, or computers become more intelligent. What do we mean ?
Does it mean that Computers will be able to mimic or simulate intelligence on par with human intelligence ?
OR
Computers will become really more intelligent?

My view goes that Computers just mimic human intelligence and are never truly intelligent. Why ?
My view dates back to those days when I used to think about a true answer for the meaning of life. In my +2 classes my professor asked a question.
Define Life.
A very tough question indeed. If we say things that move on their own consist life, then plants dont do so. (Except for some slow motion trees which over a period of years slowly move by spreading out their roots far away and cutting of older roots)
The text book answer was reproduction, things that can produce forms of their own. Things that can multiply and evolve.

I was not satisfied though. I used to think at a more fundamental level. For me being alive meant, being aware of one’s existence. ‘Awareness’ is the key. I know I am alive because I am aware of my existence. So my definition of life was ‘awareness’, textbook definition was ‘reproduction’.
My professor then was surprised by my answer, he asked me ‘Do you think bacteria or plants are aware of their existence’ ? I replied, ‘they have to be, probably the mechanism is different, we have brain, they have something else, Jagadish Chandra Bose had shown that plants have feelings and respond to things like music, heat etc. To respond they have to feel and to feel they have to be aware’.

Lets apply the textbook definition and my definition of life to Computers.
If we go by textbook definition, well computers/robots can be created which create more robots and computers. That is not a difficult thing to do. We just have to write programs which tell how to manufacture another robot/computer. So can we now say that since robots can manufacture more robots, robots have life ?

I dont think so. Because my definition is being aware. Awareness leads to information, interpretations, thought and then to actions. Key for robots to think that they are more intelligent, and are slaves of humans and hence should overpower humans and build an empire of their own, results from the feeling of ‘being ambitious’, ‘sense of slavery to humans’, etc. But to get all these feelings first the robot has to be aware of its own existence, which I think is the essence of life, and since Robots DO NOT HAVE THIS AWARENESS I conclude that robots or software only mimic intelligence coded in them by the truly intelligent humans.

My assumption is based on the fact that ‘Awareness is a proprietary of life, and only natural life possesses awareness, and that awareness is not a byproduct of neural network or the process of being able to think’
Because if awareness results from the ability to think, then well robots could also gain awareness as they are able to think. Please note here that when I say ‘I am aware of my existence’, I mean that I am truly aware of it, not that I have some boolean variable which says that ‘I exist’
So forget about having some variable stored in a robot to tell it that its aware, that will be again mimcking awareness, not actual awareness ;-)

To summarize, my current views are that artificial life based on artificial intelligence in the form of computers, robots, software or what not is not true life or true intelligence, but only a simulation of life or intelligence, just like the way computers simulate a nuclear explosion, weather, flight etc

Reverse Assignment Option Tuesday, Apr 10 2007 

While writing a piece of software I got this thought about a feature that could be provided in programming languages (at least I am not aware of any language which has this feature)

Usually when we want to assign a value of a variable ‘a’ to another variable say ‘b’ all we do is write

b=a;

Now consider this case. Suppose we want to assign the value of variable ‘a ‘ to ‘b’ if ‘c’ equals 1 OR else we want to assign ‘d’ to ‘b’, then we write

if(c==1)
    b=a;
else
   b=d;

an easier way to write the above code would be to use a ternary operator as

b=(c==1?a:d)

Now consider another scenario, where we want to assign  ‘a ‘ to ‘b’ if ‘c’ equals 1 OR we want to assign ‘a’ to ‘e’

Oops then we cant use the ternary operator, instead we have to fallback to our old friend ’if.. else’ as

if(c==1)
    b=a;
else 
   e=a;

Now wouldnt it be nice if this could be achieved using something like

a#(c==1?b:e) where # is the reverse assignment operator which assigns LHS to RHS !

so here if c==1 then # would assign ‘a’ to ‘b’ else it would assign ‘a’ to ‘e’ !!!

Just some crazy thoughts ;-)

The power of being open Friday, Mar 16 2007 

The power of open source is that it is not proprietary and is available to all, modifiable by all which constantly increases the quality of the product and moreover is a symbol of independence from monopolistic proprietary standards. Moreover, in the commercial software you have to upgrade as and when new releases are available else you end up paying lot more for the futre versions, not so with an open source alternative. You can upgrade whenever you want and can make any number of jumps skipping in-between releases of the product. Moreover open source is more secure due to the open code which all governments prefer. Open source products are driven by the user needs vs the commercial products which are driven by commercial motives. With open source there is no dependency on a single vendor, there is no scenario here that a company goes out of business and then you have no more support for your product and you have to redesign your whole system. This is because the
source is always open and anybody in the world can support and release newer versions including yourself!

THEME

Now, Wanna setup your PC with all high quality open source free software? Here is what you should do. But before that let me tell you something. Just because these are free dont think that they are of any inferior quality compared to MS products or other paid products. These are open source products and hence are developed by enthusiastic best of the breed developers across the world where in the talent are not restricted to those working in a single company (Unlike say for ex in developing Microsoft products all developers are from MS only).

Operating System
First we need an OS. Goto http://www.ubuntu.com/ and download the desktop edition
Ubuntu is a wonderful free operating system and moreover it’s open source! Ubuntu in african means ‘I am what I am because of who we all are’, how true!

Office Suite
The next important thing that we need in our PC is an office package with applications like MS Word, Excel etc. Okie, for this we have Open Office which is the best alternative for MS Office. Open office is an open source free office suite. You can download it at http://www.openoffice.org
Tip: While using open office save your office files in ODF format as this format is not vendor centric and is going to be supported by almost all office suites in the future including MS Office 2007 which already supports it. No need of searching for applications to unlock proprietary formats like PDF, DOC etc. Imagine a situation where 20 years down the lane you need to open a document that you created today, what if the application you used to create it is not available any more?? Government documents will be archived for decades and centuries and proprietary formats are not the best ones to store them.

Browser
Then we need a browser in our PC. Well no arguments here, Mozilla is the best. Goto http://www.mozilla.org and download this wonderful open source web browser. Note that Microsoft Internet Explorer started supporting the feature of tabbed browing just now from its IE 7 where as in Mozilla we had this wonderful feature long back..
Email Client
Next we need an email client alternative to MS Outlook. Well Thunderbird is what I suggest. Its another product from Mozilla which is open source and free and also a great product.
By the way, if you have installed Ubuntu as your OS then dont worry, open office, mozilla and thunderbird come as a part of Ubuntu installation package.Encyclopedia
Then if you are a knowledge hungry person, dont worry about having to pay Britannica online to satisfy your hunger, there is a much better infact the best knowledge portal Wiki, Use Wiki as the knowledge source to this knowledge library is the entire world, In fact you can add your own knowledge here too!!!

For developers:
If you are a developer then you can also contribute to these open source projects either in the form of ideas or code. Also for developers there is Bazaar at http://bazaar-vcs.org/ which is a free open source version control system. Say goodbye to VSS and other costly products.

As a developer you can use Eclipse as your development environment which is free and open source. To download this IDE goto http://www.eclipse.org/ By the way for those who dont know, eclipse is not an IDE limited only to develop using Java, there are eclipse based IDEs for other languages too like C+C++, COBOL, Perl, PHP, etc, Oh by the way use PHP which is an open source language!

For simple web sites use the free open source Apache web server, more than 50 million websites worldwide use this server to host their websites!!
If you also need server side code execution then use the free open source tomcat as your web server, if you need an application server then there is the free open source server JBoss. DOnt worry about using it as an app server in our commercial application, the Naval Air System Command (Navair) is using it too!!

Server OS
Oh by the way if you were looking for a Server edition OS instead of normal home use Desktop edition, again we have Ubuntu which also has a server edition !!

Database
One of the best databases out there is MySQL which in fact is faster than oracle for most common query types out there i.e SELECT statements.. worldwide 5 millions users use this open source database.

FTP Client: Filezilla is a nice open source FTP client which you can use to download files over FTP from http://filezilla.sourceforge.net/

For 3D Designers and Animation Experts:
If you are a 3D designer and want to do 3D design modelling and animation then we have Blender for you which is a free open source 3D modelliing application available at http://www.blender.org/ It is a wonderful alternative to 3DS Max and Maya and has a similar or even advanced robust feature set!! Its installation size is also very small compared to other similar applications. FOr those 3D professionals who are thinking how good this free software might be compared to other similar commercial products, well Blender was the animation suite used to create used to create animatics and previsualizations for the storyboard department in the movie Spider-Man 2 !! Blender is also used to create special effects for many programs aired on the History Channel !! Dont underestimate the power of open source and free software!

For Web Designers:
Looking for a open source alternative to MS Frontpage and Dreamweaver? Well there is Nvu (Spelled as N View) available at http://www.nvu.com/ It strictly complies with W3C web standards and is WYSIWYG !!

For Digital Media:
To edit your audio files there is Audacity at http://audacity.sourceforge.net/ which is a wonderful free opensource audio editor and is very popular in the podcasting world. Oh guys, audacity provides an unlimited number of undo options while editing an audio file!!

Open Cola

What’s more? There is open cola! Inspired by the idea of open source, Open cola started off as a open source alternative to coca cola and pepsi which hold their beverages formula as closely guarded secrets. Visit http://www.colawp.com/colas/400/cola467_recipe.html and you will find the recipe of this open source cola, you can prepare cola too, modify it, market it and what not!! Those who have tasted it say that it tastes better than coke or pepsi ;-)

Then we have Tropical Diseases Initiative at http://www.tropicaldisease.org/ which is an open source pharmaceutical development.

Hope more and more things become open and take humanity to new levels of innovation and ingenuity away from commercial interests. Imagine developing things and products where all best of the brains in that field from worldwide can contribute, that’s the reason open source apps have the potential to become THE BEST

Follow

Get every new post delivered to your Inbox.