Wednesday, November 26. 2008
India
My thoughts and prayers go out to the people of India and the friends and family members abroad who were affected by the brutal atrocities that took place this day. Just as I can find no words that would be a strong enough condemnation against those who would commit such acts, I can find no words that might ease the pain and loss you all have suffered. You have my deepest condolences.
Friday, November 14. 2008
Carnegie Mellon (or "Why I want to attend CMU")
I had made up my mind a long time ago that if I were to ever pursue an advanced degree in technology my first choice would be Carnegie Mellon University. Of course I have alternate choices and would choose a different school if I was looking at something like an MBA, but for technology CMU is the Holy Grail for me.
I am currently in the application process to attend the H. John Heinz III College at Carnegie Mellon University in the Master of Science in Information Technology (MSIT) program. Invariably when I talk to people about pursuing my Master Degree they ask about my school choices, which is immediately followed by the question "Why there?" My response has always been "Because it’s Carnegie Mellon," and usually includes what I am certain is a dumb-founded look on my face.
I believe it is the dumb-founded look that stops people from asking further along that line of questioning, so they ask about my second choice for schools, which is the Harvard University Extension School. Now it is my turn to receive a dumb-founded look.
Yes, Harvard University is my second choice, but I have continuously had a difficult time expressing the reason CMU is my number one school. For those people who are familiar with CMU's Computer Science program it generally makes sense without explanation, but what I have taken for granted as something "Universally Known" appears to be pretty unknown to most people. It is the universally known aspect that has really been the reason I haven't verbalized concretely why CMU is my school of choice. With today being the eve of my first visit to Carnegie Mellon for their fall open house it seems like the appropriate time to put into words what I know deep down inside.
The name and reputation of CMU in most of the Information Technology industry is generally reason enough to attend the school, but there is far more to it than that for me. Obviously with the name and reputation comes a given level of quality of the professors and the curriculum. Perhaps not a complete "given" for such an assumption, but in this case it is definitely true. Still, that alone is not enough of a reason for me.
Enter the quality of the students. This is a big reason for my wishing to attend. CMU accepts the best and the brightest, and rejects students that could find a home on almost any other campus without problem. In an academic lifetime where I have found very little challenge, this caliber of student raises the bar; thus requiring more challenging courses, which in turn raises the bar higher.
That is what I want. A bar set so high, brought about because of the incredibly high quality of students who continuously strive to hurdle that bar and set a new standard. That challenge. That level of knowledge and interaction. A school full of students and professors who will accept nothing less than the very best from everyone around them, because anything less than a persons best will leave them looking on from a distance as the class races ahead. That is why I want to attend Carnegie Mellon University.
I am currently in the application process to attend the H. John Heinz III College at Carnegie Mellon University in the Master of Science in Information Technology (MSIT) program. Invariably when I talk to people about pursuing my Master Degree they ask about my school choices, which is immediately followed by the question "Why there?" My response has always been "Because it’s Carnegie Mellon," and usually includes what I am certain is a dumb-founded look on my face.
I believe it is the dumb-founded look that stops people from asking further along that line of questioning, so they ask about my second choice for schools, which is the Harvard University Extension School. Now it is my turn to receive a dumb-founded look.
Yes, Harvard University is my second choice, but I have continuously had a difficult time expressing the reason CMU is my number one school. For those people who are familiar with CMU's Computer Science program it generally makes sense without explanation, but what I have taken for granted as something "Universally Known" appears to be pretty unknown to most people. It is the universally known aspect that has really been the reason I haven't verbalized concretely why CMU is my school of choice. With today being the eve of my first visit to Carnegie Mellon for their fall open house it seems like the appropriate time to put into words what I know deep down inside.
The name and reputation of CMU in most of the Information Technology industry is generally reason enough to attend the school, but there is far more to it than that for me. Obviously with the name and reputation comes a given level of quality of the professors and the curriculum. Perhaps not a complete "given" for such an assumption, but in this case it is definitely true. Still, that alone is not enough of a reason for me.
Enter the quality of the students. This is a big reason for my wishing to attend. CMU accepts the best and the brightest, and rejects students that could find a home on almost any other campus without problem. In an academic lifetime where I have found very little challenge, this caliber of student raises the bar; thus requiring more challenging courses, which in turn raises the bar higher.
That is what I want. A bar set so high, brought about because of the incredibly high quality of students who continuously strive to hurdle that bar and set a new standard. That challenge. That level of knowledge and interaction. A school full of students and professors who will accept nothing less than the very best from everyone around them, because anything less than a persons best will leave them looking on from a distance as the class races ahead. That is why I want to attend Carnegie Mellon University.
Monday, November 3. 2008
Thinking Evolution
Evolution is a complicated and demanding Mistress. Mostly misunderstood and largely unknown. She spawns misinformation, debates, arguments and even a religion (Pastafarianism). Given the shroud of mystery surrounding evolution, it only makes sense to, well, make sense of evolution prior to any attempt at evolving robotics.
One could spend a lifetime studying all the nuances that go into making up evolution and barely scratch the surface; from biology to genetics to molecular chemistry to astrophysics, and everything in-between. Not wishing to use up the years I have left in this lifetime without ever building another robot, I believe a quick overview and some ground "rules" (understandings) will suffice quite nicely. Of course, like the robot, my understanding of what should come next will also evolve along this process.
Given the subject of evolution as it relates to robotics, a *MUST* read for anyone and everyone is Crabs Take Over the Island by Anatoly Dnieprov published as part of Russian Science Fiction 1969. The premise used in the story is one that would be the best method of evolving a robot, i.e. Natural Selection. For our purposes, natural selection is a process that takes a bit too long to work out. Instead, we will ignore science for this part of the evolutionary process and opt for a more spiritual view by using Intelligent Design. For those less willing to read the above linked wiki articles, I'll be nice enough to provide a brief overview of what I mean.
Natural Selection is the fundamental basis of evolution where members of a species with "good" (desirable) genetic traits are more inclined to survive and produce offspring, versus those that contain "defective" (less desirable) traits. Natural Selection is combined with genetic mutation (the theory that there is no such thing as a perfect copy) to produce evolution. In order for genetic mutation to occur, generations of duplicates must be produced before a visible mutation is generally present (although not always). The Natural Selection part either kills off the duplicates that lack the good mutations or they don't get the chance to breed (Blue-Footed Booby is a good example of how that works).
Intelligent Design is a spiritual idea that, from a scientific perspective, revolves around the belief that there is no way in hell that all this happened by chance. The odds are just too astronomical, and therefore a divine helping hand must have shaped the creatures of this Earth. Of course it is still a spiritual thing and not really science (hence why I am a Pastafarian), but for the purposes of evolving robotics it will work nicely.
Ideally, a combination of the two theories (I use the word as both a scientific term and a more literal term) would work best, whereby several "models" for each stage of the robotics evolution could be created with testing to see which worked best. Lacking that level of time and funding, I will work under the assumption that the model I create is the best of that generation possible (it really won't be, but this is my blog and I can assume anything I want, so there). That will be our first rule: I am the robotic creator and I know best.
Our second rule involves the learning process, or rather the doing process. Why creatures do the things they do. My thought on this, and yours may differ but it is likely wrong, is there are three things that make a creature (humans included) do anything. The first of these is genetic hard coding. The simplest of organisms up to the most complex (i.e. US) have genetic hard coding built in. Breathing is a good example for the human side and the way a spider makes its web is one for the animal side. This principle is the most basic and easiest to duplicate in robotics, it just involves hardwiring in responses.
The second level that makes a creature do something is to teach it. Not all creatures are capable of this feat, but most are, even a goldfish (as proved by Mythbusters). This is everything from Pavlov's Dog to momma bird showing baby bird how to fly. For robotics, this equates to response algorithms programmed into the robot all the way up to the latest in robotic learning of teaching a robot human movement (among other things) by duplication. The algorithms range from the simple to the complex; and it is where robotics is currently stalled out at the moment.
The third, and final, level for creatures doing something is self teaching. The "because I can" principle. This is learning responses where an animal figures out not only the best way of doing something, but the why it should do something in the first place. It is this last part that is the distinction from the second level, the creature learning that it first needs to do something in response to its own conditions or the environment, and then learning what that thing is it needs to do. Surprisingly, many animals are capable of this, but not all. Watch dragonflies around a mirrored building and you will see that they don't quite learn not to fly into the windows, no matter how many times they do it.
The final rule for my grand adventure is progression, and to recognize its necessity. Just because something can be done at a higher level, does not mean it should. As an example, going back to breathing, just because we can control our breathing does not mean we should strip away the hardwired coding. Sleep would be rather disastrous. Likewise, everything that can begin as a hardcoded function should begin at that level. Start simple, and keep simple available.
These are my rules, or understandings, that will be used for guiding me towards evolving a robot through the generations. Every step I take will be broken down to the simplest forms possible, and every solution I come up with will be the best I can present. They might not be the best possible, but sometimes it is not the best that survive evolution. In the end I hope to stir up my own mind into new ways of thinking about robotics, and hopefully not go broke in the process.
One could spend a lifetime studying all the nuances that go into making up evolution and barely scratch the surface; from biology to genetics to molecular chemistry to astrophysics, and everything in-between. Not wishing to use up the years I have left in this lifetime without ever building another robot, I believe a quick overview and some ground "rules" (understandings) will suffice quite nicely. Of course, like the robot, my understanding of what should come next will also evolve along this process.
Given the subject of evolution as it relates to robotics, a *MUST* read for anyone and everyone is Crabs Take Over the Island by Anatoly Dnieprov published as part of Russian Science Fiction 1969. The premise used in the story is one that would be the best method of evolving a robot, i.e. Natural Selection. For our purposes, natural selection is a process that takes a bit too long to work out. Instead, we will ignore science for this part of the evolutionary process and opt for a more spiritual view by using Intelligent Design. For those less willing to read the above linked wiki articles, I'll be nice enough to provide a brief overview of what I mean.
Natural Selection is the fundamental basis of evolution where members of a species with "good" (desirable) genetic traits are more inclined to survive and produce offspring, versus those that contain "defective" (less desirable) traits. Natural Selection is combined with genetic mutation (the theory that there is no such thing as a perfect copy) to produce evolution. In order for genetic mutation to occur, generations of duplicates must be produced before a visible mutation is generally present (although not always). The Natural Selection part either kills off the duplicates that lack the good mutations or they don't get the chance to breed (Blue-Footed Booby is a good example of how that works).
Intelligent Design is a spiritual idea that, from a scientific perspective, revolves around the belief that there is no way in hell that all this happened by chance. The odds are just too astronomical, and therefore a divine helping hand must have shaped the creatures of this Earth. Of course it is still a spiritual thing and not really science (hence why I am a Pastafarian), but for the purposes of evolving robotics it will work nicely.
Ideally, a combination of the two theories (I use the word as both a scientific term and a more literal term) would work best, whereby several "models" for each stage of the robotics evolution could be created with testing to see which worked best. Lacking that level of time and funding, I will work under the assumption that the model I create is the best of that generation possible (it really won't be, but this is my blog and I can assume anything I want, so there). That will be our first rule: I am the robotic creator and I know best.
Our second rule involves the learning process, or rather the doing process. Why creatures do the things they do. My thought on this, and yours may differ but it is likely wrong, is there are three things that make a creature (humans included) do anything. The first of these is genetic hard coding. The simplest of organisms up to the most complex (i.e. US) have genetic hard coding built in. Breathing is a good example for the human side and the way a spider makes its web is one for the animal side. This principle is the most basic and easiest to duplicate in robotics, it just involves hardwiring in responses.
The second level that makes a creature do something is to teach it. Not all creatures are capable of this feat, but most are, even a goldfish (as proved by Mythbusters). This is everything from Pavlov's Dog to momma bird showing baby bird how to fly. For robotics, this equates to response algorithms programmed into the robot all the way up to the latest in robotic learning of teaching a robot human movement (among other things) by duplication. The algorithms range from the simple to the complex; and it is where robotics is currently stalled out at the moment.
The third, and final, level for creatures doing something is self teaching. The "because I can" principle. This is learning responses where an animal figures out not only the best way of doing something, but the why it should do something in the first place. It is this last part that is the distinction from the second level, the creature learning that it first needs to do something in response to its own conditions or the environment, and then learning what that thing is it needs to do. Surprisingly, many animals are capable of this, but not all. Watch dragonflies around a mirrored building and you will see that they don't quite learn not to fly into the windows, no matter how many times they do it.
The final rule for my grand adventure is progression, and to recognize its necessity. Just because something can be done at a higher level, does not mean it should. As an example, going back to breathing, just because we can control our breathing does not mean we should strip away the hardwired coding. Sleep would be rather disastrous. Likewise, everything that can begin as a hardcoded function should begin at that level. Start simple, and keep simple available.
These are my rules, or understandings, that will be used for guiding me towards evolving a robot through the generations. Every step I take will be broken down to the simplest forms possible, and every solution I come up with will be the best I can present. They might not be the best possible, but sometimes it is not the best that survive evolution. In the end I hope to stir up my own mind into new ways of thinking about robotics, and hopefully not go broke in the process.
(Page 1 of 1, totaling 3 entries)


Stumble This