The following requirements has been tested to compile the full project. Another conditions don't guarantee the correct compilation of the project.
Unix:
- Qt 5.7 up to 5.9
- mesa-common-dev
- libgl1-mesa-dev
- kdchart
- tbb library (version is not clear yet)
- libpthread-stubs0-dev
- g++ (c++11)
- doxygen (for documentation)
INSYDE (Intelligent System Designer): An integrated enviroment to make your own intelligent systems.
Description: INSYDE (Intelligent System Designer) is a free Integrated Development Enviroment to create, study and analyse Intelligent Systems, you will be able to create your own projects where you can insert objects to emulate basics conditions in an enviroment, also, to add components realize Intelligent proccessing like Fuzzy logic engine, neural networks, genetic algorithm optimization or ant colony, among others. The principal goal is to develop an enviroment to create intuitively and simply your own Intelligent Systems without advanced knowledge of programming languages or algorithms that compose the variety of tecniques or paradigms of Artificial Intelligence.
Project goals
- To develop an interface highly intuitive, simply and friendly for that users with no advanced knowledges over Artificial Intelligence
- To implement a plugin integration model to users can install special features to the software.
- To implement many Artificial Intelligence areas like artificial neural networks, genetic algorithms, fuzzy logic, expert systems, emergent computing, etc.
- To implement an Intelligent Assistant System for less experienced users to be guided in developing their systems.
Project status
Actually this project is begining, I'm developing as starting point an Artificial Neural Network module. In this module users can create intuitively their systems with Simulated Neural Network learning.
Method to use is so simply, users only take a ANN with mouse and place over View. After, users can place other input/output objects, for example, Dot matrix for pattern recognition, image objects, where you can assign an image in diferent formats; this object can help you to make your own analyses of artificial vision. Also I will introduce another common objects like digital dislplays, keyboard input, mouse input, audio input, audio output, video capturer, image capturer from desktop, analogic inputs capturer.
Scope of first version (1.0.0)
In this first release it will have following features:
-
ANN Toolbox: Multilayer Perceptron, Hopfield, Kohonen, ADALINE, Simple Perceptron
-
Advanced ANN editor: This editor allows to see graphically each one connection and inputs of ANN at given moment. Weights are represented by colors from red to green; these colors can be adjusted in a range to adapt graphic representation
-
Advanced Training Set Editor: This editor allos to create your training sets from imported data or captured from any type of valid coherent object within such Training Set.
-
Input objects: Dot matrix, digital display, images, keyboard input, mouse input, audio input.
-
Output objects: Dot matrix, digital display, audio output, mouse output, image output
-
Project manager: Like another IDE, this will have a project manager bases on XML. This allow to save current state of your system, current tunning data, for example, ANN weights. Also you could export all data from objects in diferent files.
Needs
Currently this project is under development, therefore, it requires a wide collaboration in diferent areas:
- Documenting all source code: source code has develped by me and lamentably I'm not a good-programing practicing, therefore, sometimes I don't document every fragment of code programed by myself.
- Programing graphic interface: graphic interface is an important part of all project, however, my speciality is about Artificial Intelligence, whereby, it's very dificulty to dedicate to both things, this requires to much time and dedication.
- Variety of algorithms in AI: Artificial Intelligence has a huge number of algorithm, and this number is increasing, also, exist some optimizations to other existing algorithms. These are complex and take to much time to implement. Because, it is necesary a contribution of AI comunity.
- UML Modeling: as a good practice of Software Engineering, it is necesary to start with a good design to obtain a good developed software as optimum as posible, however, I'm actually alone in the development of this project, so this task is so complex to me and take much time.