Wednesday, July 15, 2009

Artificial Neural Networks (ANN)

A Neural Network is a massively parallel distributed processor that
has a natural propensity for storing experiential knowledge and
making it available for use
--Haykin

Neural networks are composed of simple elements operating in parallel. These
elements are inspired by biological nervous systems. As in nature, the
connections between elements largely determine the network function. You
can train a neural network to perform a particular function by adjusting the
values of the connections (weights) between elements.
Typically, neural networks are adjusted, or trained, so that a particular input
leads to a specific target output.

Neural networks have been trained to perform complex functions in various
fields, including pattern recognition, identification, classification, speech,
vision, and control systems.
Neural networks can also be trained to solve problems that are difficult for
conventional computers or human beings. The toolbox emphasizes the use of
neural network paradigms that build up to—or are themselves used in—
engineering, financial, and other practical applications.

MADKIT- Getting Started with MADKIT.

1.Download the latest version of Madkit to your computer.

The MadKit home-page is at http://www.madkit.org . It is the place where new software releases, documentation or additional agent packs can be downloaded

2.Multi Agent Development Kit (Madkit) installation.

First install required java version (depending on the Madkit version java version will change). If you do not have java installed on your machine, download java version from http://www.java.sun.com and install it. If you have installed java with your computer and if it does not work please check the "path" environmental variable on your machine.

It is pretty easy to install the madkit on your computer; it is just unzipping the downloaded zip file to requited location.

3.Launching MadKit

Go to the bin directory ( For example if our unzipped location is D:\Agent\madkit4.2.0, then go to that folder and it will contain several folder such as "bin"," cache", "lib", etc. Then go the bin directory and double click the madkit.exe file.

4.Now we are ready with our Madkit agent development platform to start our first "Agent".

Multi Agent system tools

Tool 2: Java based tool - MADKIT (part 01)

MadKit (http://www.madkit.org/) is a modular and scalable multi agent platform written in java and it is a free software based on the GPL/LGPL license. With MadKit we can define "Agents" and club agent to the "Groups" and assign "Roles" for a group. Agent and group communication based on peer to peer.

Madkit, which is written in Java, works in a distributed way accross machines (with different OS) without needing a central server. Communications and groups can be freely distributed and the distribution is performed transparently at the application level. Agents can be programmed in multiple language. For the moment Java, Scheme (Kawa) and Jess (a rule based language written in Java and based on the Clips system) are the first available programming languages. Other languages will be available in the future.

The madkit architecture is totally modular. The micro-kernel (less than 60k of compiled Java code) is extended by a set of various libraries of messages, probes and agents. System services and debugging tools are themselves provided as agents, making system extensions easy and simple to implement.The reduced size of the micro-kernel, combined with the principle of modular services managed by agents enable a range of multiple, scalable platforms and construction of libraries of specialized agent models.

As an example of its modularity, Madkit comes with tools for building simulations and artificial life applications using a specialized synchronous engine which allows for thousands of agents to work together on a single machine.

MadKit comes with an easy to use graphic box but, as agents are decoupled from their interface, it is easy to embed MadKit agents into a specific application.

Multi Agent system tools - Voyager

Tool 1: Java based tool -Voyager

Voyager is a 100% Java agent-enhanced Object Request Broker (ORB). It combines the power of mobile autonomous agents and remote method invocation with complete CORBA support and comes complete with distributed services such as directory, persistence, and publish subscribe multicast. Voyager allows Java programmers to quickly and easily create sophisticated network applications using both traditional and agent-enhanced distributed programming techniques.

Voyager uses regular Java message syntax to construct remote objects, send them messages,and move them between applications. Voyager allows agents (i.e, autonomous objects) to move themselves and continue executing as they move. In this way, agents can act independently on the behalf of a client, even if the client is disconnected or unavailable. This approach is particularly valuable in any type of workflow or resource automation.

1. Download Evaluation version from the Voyager site.

2. Install java and verify the installation

The Voyager installer requires Java 1.4 or higher to be installed on the target system.

To verify that you have a supported version of Java installed, open a command window and enter the following

command:

>java -version

If the version information printed shows you do not have a 1.4 or better version of Java,

or you get a “command not found” error, download Java from the Sun website at http://java.sun.com and install.

If you already install, check the path/java_home environment variables.

3. Install Voyager

After verifying you have a supported version of Java installed, install Voyager using the installer downloaded

4. Install Voyager License

You will receive an email containing license information in addition to the email containing the link to the Voyager evaluation download.

Follow the steps in this email to create a license file.

5. Verify Correct Installation

After creating the license file verify Voyager has been correctly installed by opening a

command window and entering the following command from the Voyager bin directory:

Windows users: >voyager //localhost:8000

Linux users : >voyager //localhost:8000

You should see Voyager successfully start.

6. The next step is to learn how to use Voyager in your development environment. If you

are a Java developer, begin with the Eclipse Getting Started Guide. If you are a .NET

developer, begin with the Visual Studio Getting Started Guide. (These files are located in

the doc/ directory of your Voyager installation directory.) These guides will take you

through the process of integrating Voyager into your development environment and

setting up the examples.

Once you have set up your development environment, it’s time to run a few examples to

give you a basic idea of what Voyager can do and to familiarize yourself with the basics

of a Voyager application. We recommend the following examples:

1. Basics1 and Basics2

2. Naming1 and Naming2

3. Message1, Message2, and Message3