Welcome to Goldenberry

A component-based Evolutionary Algorithms

GoldenberryGA

An Easy Way To Understand Genetic Algorithms

GoldenberryEDA

Componentes of Estimation of Distribution Algorithms

Welcome To Goldenberry

Goldenberry is a supplementary evolutionary computation and feature selection add-on for Orange.
Orange is an open-source environment for visual programming of data analytics. It consists of a workbench (known as the canvas) where graphical components (known as the widgets) are processing units that can be wired together to execute several stages of a data mining process.

Goldenberry is a recently developed add-on for Orange, that provides support for optimisation, stochastic--based search techniques, classification and feature selection tasks. It is composed by two modules: Godenberry-EDAs and Goldenberry-GA.

The original motivation of Goldenberry was to provide an user-friendly toolbox for building and testing probabilistic--based evolutionary algorithms (known as EDAs) and the most common evolutionary technique (Genetic Algorithm), on the basis of a versatile visual front-end and the powerful reuse and glue principles of component-based software development.

Rather than providing a textual interface for scripting commands, as most evolutionary computation software suites do, in Goldenberry programs are made by connecting components that represent provision and consumption of services encapsulated as objects.
Besides, widgets provide easy-to-use user interfaces for parameterisation, execution and visualisation of the results obtained by their corresponding algorithms. Intuitively, this programming paradigm is very much the same as building a hardware system: the user first gathers, wires and sets up the required units before switching-on the resulting device.

An example of a Goldenberry-GA program to optimize a cost function using the GA widget is shown in figure on the rigth. In that program, widgets are the components or processing units needed to perform the optimization task. Rather than depicting a data between these components, connections represent provision and consumption of services encapsulated as objects, which are associated with each input/output interface.