Genetic algorithms are a way of solving problems by mimicking processes that mother nature uses. They use the same combination of selection, recombination and mutation to evolve a solution to a problem. Solutions are encoded on chromosomes. The chromosomes are altered using methods which are loosely based on the theories of Evolution first suggested by Charles Darwin.
A genetic algorithm works like this: A population is created with chromosomes created randomly. The chromosomes in the population are then evaluated to rate their fitness. Two chromosomes are then selected, the higher the fitness of the chromosome, the higher chance it has of being selected to "reproduce". These two chromosomes then crossover to create a new chromosome. This process continues until a suitable solution has been found or a certain number of generations have passed, depending on the need of the programmer.
Outline of the Basic Genetic Algorithm
1. [Start] Generate random population of n chromosomes (suitable solutions for the problem)
2. [Fitness] Evaluate the fitness f(x) of each chromosome x in the population
3. [New population] Create a new population by repeating following steps until the new population is complete
- [Selection] Select two parent chromosomes from a population according to their fitness (the better fitness, the bigger chance to be selected)
- [Crossover] With a crossover probability cross over the parents to form a new offspring (children). If no crossover was performed, offspring is an exact copy of parents.
- [Mutation] With a mutation probability mutate new offspring at each locus (position in chromosome).
- [Accepting] Place new offspring in a new population
4. [Replace] Use new generated population for a further run of algorithm
5. [Test] If the end condition is satisfied, stop, and return the best solution in current population
6. [Loop] Go to step 2
Tuesday, October 27, 2009
Tuesday, October 13, 2009
Social Networking....Is it hype or a real business tool?
Social networks focuses on building online communities based on common interests and activities. For years social networking sites have been used as a place where friends have been able to communicate online, share information about themselves, upload their photos and videos and join groups. In this blog entry what I am going to discuss is whether social networking sites can be used as a real business tool...
Let me first begin with the social networking site that i am most familiar with, Facebook. I have noticed an increasing amount of local business who have set up an account and added me as their "friend" along with people who have joined specific networks for example the NUIGalway network. This has allowed these businesses to spread the word about their products, events, offers to an ever growing community at very little cost and at very little effort. Businesses can use facebook as their very own broadcasting channel. For Example A company called bazaarvoice used facebook to aid in their recruiting campaign. They got all their employees to post "Bazaarvoice is hiring" on their facebook profiles and twitter. They averaged 180 visits per day to their jobs page. The day they did their Social Network recruiting campaign they got over 1,600 visits the first day, and then over 500 each of the next two days.
Facebook is a social networking site that was created without the intention of it being used as a business tool. Others however have been created with businesses in mind. LinkedIn is such a networking site that is used for professional networking. With over 48 million members LinkedIn connects you to your trusted contacts and helps you exchange knowledge, ideas, and opportunities with a broader network of professionals. This can only be a helpful tool for businesses and employees.
Social networking is just an alternative way of communicating. It has a large audience and is very cost effective. It is a place to demonstrate your expertise to people and raise awareness. Its a place for contacting existing and potential customers. With the ultimate aim to put your product or services out there infront of your customers, this is precisely what social networking does.
Let me first begin with the social networking site that i am most familiar with, Facebook. I have noticed an increasing amount of local business who have set up an account and added me as their "friend" along with people who have joined specific networks for example the NUIGalway network. This has allowed these businesses to spread the word about their products, events, offers to an ever growing community at very little cost and at very little effort. Businesses can use facebook as their very own broadcasting channel. For Example A company called bazaarvoice used facebook to aid in their recruiting campaign. They got all their employees to post "Bazaarvoice is hiring" on their facebook profiles and twitter. They averaged 180 visits per day to their jobs page. The day they did their Social Network recruiting campaign they got over 1,600 visits the first day, and then over 500 each of the next two days.
Facebook is a social networking site that was created without the intention of it being used as a business tool. Others however have been created with businesses in mind. LinkedIn is such a networking site that is used for professional networking. With over 48 million members LinkedIn connects you to your trusted contacts and helps you exchange knowledge, ideas, and opportunities with a broader network of professionals. This can only be a helpful tool for businesses and employees.
Social networking is just an alternative way of communicating. It has a large audience and is very cost effective. It is a place to demonstrate your expertise to people and raise awareness. Its a place for contacting existing and potential customers. With the ultimate aim to put your product or services out there infront of your customers, this is precisely what social networking does.
Sunday, October 11, 2009
History of Artificial Intelligence
Artificial Intelligence is the capability of a device to perform functions that are normally associated with human intelligence, such as reasoning and optimization through experience. Alan Turing who is regarded as the father of modern computer science devised a test of a machine's ability to demonstrate intelligence.
Turing Test: Can someone tell which is the machine, when communicating to human and to a machine in another room? If not, can we call the machine intelligent?
In this blog i will give a brief history into the ground breaking devices that have shown this ability to demonstrate intelligence.
The History of Artificial Intelligence in Robotics
SRI's Shakey, called because of its jerky motion, was the first mobile robot that could claim to reason about its actions. The design was a box of electronics on wheels, with bump detectors at the base and a TV camera and triangulating range finder for a head. Shakey could locate items, navigate around them, and reason about its actions. Shakey's great accomplishment was that it could take general instructions that were not "step-by-step" and still figure out how to accomplish the objective.
The Stanford Cart, it was the first computer controlled autonomous vehicle. Like shakey, the stanford cart saw using tv cameras. The Cart followed smudgy white lines seen from a high vantage point in variable illumination quite reliably using adaptation and prediction methods. It successfully crossed a room full of chairs in 1979.
Asimo was crated by honda and is a humanoid robot. The experimental models were first introduced in 1986 and the first Asimo unveiled in 2000. Asimo uses sensors and intelligent algorithms to avoid obstacles and navigate stairs. It uses recognition technology were asimo can recognise moving objects, postures and gestures, its environment, it can distinguish sounds and has facial recognition.
Kismet is a robot with rudimentary social skills, created in the late 1990's at MIT it is able to interact with humans in social situations and express human emotions. Kismet reads both audio and visual social cues thanks to an advanced system of cameras, microphones and computers.
TOPIO is a bipedal humanoid robot that can play ping-pong, developed by TOSY in 2005.The hydraulics manipulated robot is composed of a carbon fiber body allowing for fast reactions and a flexible range of movements with 20 degrees of freedom. The ball's trajectory and spin is detected using 4 high speed cameras and 2 processing units, and it's advanced Artificial Intellegence module allows it to continuously improve itself while playing.
The History of Artificial Intelligence in Games
Artificial Intelligence is used in games so that the non-playing character, the computer controlled characters, offer the illusion of intelligence. The first game to incorporate AI using the ferranti mark 1 machine was a checkers game and it eventually developed sufficient skill to challenge a respectable amateur.
In Pac-Man Artificial Intelligence gave each enemy ghost its own particular behaviour and movement. This unpredictability of movement and behavior gave the ghosts an "inner-life" and is why those ghosts would be considered the fathers of Artificial Intelligence in games. During the 80's more complex games were developed but all using this same AI, basic and heavily scripted movement. During the 90's with better machines and using formal AI tools like finite state machines, real time strategy games were developed including Dune 2 but these had many problems including using numerous cheats. In first person shooters such as Golden Eye, Half-life, Halo, they featured enemies which had intelligence, teamwork skills and could recognise threats such as grenades etc. AI has continued to improve, with aims set on a player being unable to tell the difference between computer and human players.
The History of Artificial Intelligence in Toys
Not all uses of Artificial Intelligence are specifically designed to advance the interests of the science or technology communities. Some are just fun. In 1996 The Tomogotchi was created which was a handheld digital pet that you would look after, feed, walk etc, just as you would a real pet. Furbys were the next major development in AI in toys. Furby includes both sensors and affectors enabling it to “sense” information from the environment and permit a response to the environment. Aibo, sonys robotic dog is probably the most famous of the AI toys. It could speak up to 1000 words, react to its owner's motions and commands, keep blogs, take pictures with its eyes, and play music. Toys that learn are becoming increasingly more and more complex exhibiting greater and more advanced Artificial Intelligence.
Turing Test: Can someone tell which is the machine, when communicating to human and to a machine in another room? If not, can we call the machine intelligent?
In this blog i will give a brief history into the ground breaking devices that have shown this ability to demonstrate intelligence.
The History of Artificial Intelligence in Robotics
SRI's Shakey, called because of its jerky motion, was the first mobile robot that could claim to reason about its actions. The design was a box of electronics on wheels, with bump detectors at the base and a TV camera and triangulating range finder for a head. Shakey could locate items, navigate around them, and reason about its actions. Shakey's great accomplishment was that it could take general instructions that were not "step-by-step" and still figure out how to accomplish the objective.
The Stanford Cart, it was the first computer controlled autonomous vehicle. Like shakey, the stanford cart saw using tv cameras. The Cart followed smudgy white lines seen from a high vantage point in variable illumination quite reliably using adaptation and prediction methods. It successfully crossed a room full of chairs in 1979.
Asimo was crated by honda and is a humanoid robot. The experimental models were first introduced in 1986 and the first Asimo unveiled in 2000. Asimo uses sensors and intelligent algorithms to avoid obstacles and navigate stairs. It uses recognition technology were asimo can recognise moving objects, postures and gestures, its environment, it can distinguish sounds and has facial recognition.
Kismet is a robot with rudimentary social skills, created in the late 1990's at MIT it is able to interact with humans in social situations and express human emotions. Kismet reads both audio and visual social cues thanks to an advanced system of cameras, microphones and computers.
TOPIO is a bipedal humanoid robot that can play ping-pong, developed by TOSY in 2005.The hydraulics manipulated robot is composed of a carbon fiber body allowing for fast reactions and a flexible range of movements with 20 degrees of freedom. The ball's trajectory and spin is detected using 4 high speed cameras and 2 processing units, and it's advanced Artificial Intellegence module allows it to continuously improve itself while playing.
The History of Artificial Intelligence in Games
Artificial Intelligence is used in games so that the non-playing character, the computer controlled characters, offer the illusion of intelligence. The first game to incorporate AI using the ferranti mark 1 machine was a checkers game and it eventually developed sufficient skill to challenge a respectable amateur.
In Pac-Man Artificial Intelligence gave each enemy ghost its own particular behaviour and movement. This unpredictability of movement and behavior gave the ghosts an "inner-life" and is why those ghosts would be considered the fathers of Artificial Intelligence in games. During the 80's more complex games were developed but all using this same AI, basic and heavily scripted movement. During the 90's with better machines and using formal AI tools like finite state machines, real time strategy games were developed including Dune 2 but these had many problems including using numerous cheats. In first person shooters such as Golden Eye, Half-life, Halo, they featured enemies which had intelligence, teamwork skills and could recognise threats such as grenades etc. AI has continued to improve, with aims set on a player being unable to tell the difference between computer and human players.
The History of Artificial Intelligence in Toys
Not all uses of Artificial Intelligence are specifically designed to advance the interests of the science or technology communities. Some are just fun. In 1996 The Tomogotchi was created which was a handheld digital pet that you would look after, feed, walk etc, just as you would a real pet. Furbys were the next major development in AI in toys. Furby includes both sensors and affectors enabling it to “sense” information from the environment and permit a response to the environment. Aibo, sonys robotic dog is probably the most famous of the AI toys. It could speak up to 1000 words, react to its owner's motions and commands, keep blogs, take pictures with its eyes, and play music. Toys that learn are becoming increasingly more and more complex exhibiting greater and more advanced Artificial Intelligence.
Tuesday, October 6, 2009
Cloud Computing
As Oracle CEO Larry Ellison stated "cloud computing is going to be or already is the most important computing architecture in the world"
Cloud computing is where data, software applications and computer processing power are acceded from a cloud of online resources. This permits individual users access to their data and applications form any device. It also allows organisations to reduce their costs by purchasing software and hardware as a service.
There are three main reasons why cloud computing is becoming so popular.
1. Scalability - With cloud computing it is easy to grow or shrink your hardware/sofware to match your demand.
2. Instant - Cloud computing is instant to match your demand, whatever the needs of the organisation, these resources are instantly available to them using cloud computing.
3. Save Money - The organisation only pays for what it uses and when it uses it.
There are three main types of cloud computing.
Software as a service - This is the most commonly used type of cloud computing. It provides, through a web browser, all the functions of a traditional application. These are hosted by a service provider and are made available over a network. Examples of this type of cloud computing would be Clarizen's online project management tools, Salesforce's customer relationship management and human resource applications and webware's online office applications.
Hardware as a service - This is where computing processing capacity, including storage, servers and network components are purchased over the web. Amazon's Elastic Compute loud is a good example of this. EC2 allows users to purchase computer processing power online for whatever needs they may have.
Platform as a service - This is where users can use applications on visualized servers without having to worry about maintaining the operating systems, server hardware and computer capacity. Microsoft's Azure is a good example of this.
Cloud computing is where data, software applications and computer processing power are acceded from a cloud of online resources. This permits individual users access to their data and applications form any device. It also allows organisations to reduce their costs by purchasing software and hardware as a service.
There are three main reasons why cloud computing is becoming so popular.
1. Scalability - With cloud computing it is easy to grow or shrink your hardware/sofware to match your demand.
2. Instant - Cloud computing is instant to match your demand, whatever the needs of the organisation, these resources are instantly available to them using cloud computing.
3. Save Money - The organisation only pays for what it uses and when it uses it.
There are three main types of cloud computing.
Software as a service - This is the most commonly used type of cloud computing. It provides, through a web browser, all the functions of a traditional application. These are hosted by a service provider and are made available over a network. Examples of this type of cloud computing would be Clarizen's online project management tools, Salesforce's customer relationship management and human resource applications and webware's online office applications.
Hardware as a service - This is where computing processing capacity, including storage, servers and network components are purchased over the web. Amazon's Elastic Compute loud is a good example of this. EC2 allows users to purchase computer processing power online for whatever needs they may have.
Platform as a service - This is where users can use applications on visualized servers without having to worry about maintaining the operating systems, server hardware and computer capacity. Microsoft's Azure is a good example of this.
Subscribe to:
Posts (Atom)