34
Evolving objects JJ Merelo

Evolving objects

  • Upload
    cutter

  • View
    50

  • Download
    0

Embed Size (px)

DESCRIPTION

Evolving objects. JJ Merelo [email protected]. Evolution. Evolution in Nature Market evolution Evolving inflationary universes Memetic evolution. Evolution is not about substrates it´s about interfaces and survival of the fittest. Artificial evolution. - PowerPoint PPT Presentation

Citation preview

  • Evolving objectsJJ [email protected]

  • EvolutionEvolution in NatureMarket evolutionEvolving inflationary universesMemetic evolution

  • Evolution is not about substratesits aboutinterfaces andsurvival of the fittest

  • Artificial evolutionArtificial evolution paradigms focus on representation

    Genetic Algorithms

    Bit strings

    Evolution Strategies

    Floating point vectors

    Evolutionary programming

    Cellular automata, and bitstrings

    Genetic programming

    LISP S-Expressions

  • Evolvable objects: summaryObjects can replicate (or be replicated), and create other objects.Some objects can change other objects (create diversity)Some objects can combine or eliminate other objects (decrease diversity)Objects can be evaluated, or at least, compared to each other, that is, they have a fitness or cost.

  • Evolvability conditionsObjects can replicate (or be replicated), and create other objects.

  • Evolvability conditionsSome objects can change other objects (create diversity)

  • Evolvability conditionsSome objects can combine or eliminate other objects (decrease divesity)

  • Evolvability conditionsObjects can be evaluated, or at least, compared to each other, that is, they have a fitness or cost.

    321222

  • Evolving objects in practiceProgram whatever you want to evolve in an object-oriented language (Smalltalk, Java, C++).Decide evolution paths: changes to that class of objects, and, if applicable, how to interchange information among objects.Create a population of objects, evaluate, change and combine them, keeping, cloning or combining the best, and eliminating the worst.

  • Genetic algorithm demoThis is an example of evolvable objects (http://geneura.ugr.es/%7ejmerelo/EO.html)Its Open Source. You can insert it in yor presentations or do whatever you want with it. If you want, leave the footnote so that other people can also download it. If you make any interesting modification, please tell me.Its a simple GA that evolves character strings, using mutation (which adds or substracts an integer to the ASCII value) and 2-point crossover. It uses 2-tournament selection, and fitness is the total ASCII distance to the correct string.Since its written in Visual Basic for Applications, it can also be used from Word or Excel. Id be interested in hearing any development in this direction.To run it, you have to Show this presentation.

  • Mutation and Crossover

  • Example: Genetic algorithm in VB for applicationsSearch StringPopulationMutation prob.xOver prob.Generation #

  • Whats new about EO?Main thing are interfaces, through which objects can evolve.Evolution is paradigm-independent.Evolution is representation-independent.Evolution is language-independent.Any object can be evolved: programs, graphics, neural nets, mastermind solutions.

  • Objects are everywhere!Microsofts Common Object Model (COM).Web Document Object Model (DOM).Object Management Groups CORBA, used in GNOME.Java applets, IBMs aglets, JINI.

  • Meet EOhttp://geneura.ugr.es/~jmerelo/EO.html C++ class library for evolving objectsEOs are chromosomes.EO-level operator, generic or representation-specific.Population-level operators, which are representation-independent.Any evolutionary computation paradigm, or none at all, can be used.

  • EO: statusGeneral GA, simple GA, Evolution Strategies, Simulated annealing.Many different EOs: bitstring, string, float vector, neural nets.Applications: evolved neural nets, play mastermind.Multiplatform: Win, Linux, Unix

  • EO RoadmapMore language support: Java, Jini, Objective CActiveX-control, integration with COMGraphic interface: Qt or GTK+.Integration with GNOME?

  • Neural nets: this is their life.What neural nets aint.What neural nets are.How do they work.What they dont do.What they do.Applications/Case studies

  • What neural nets aintA model of the brain.A way to make machines intelligent.Massively parallel and fault-tolerant.Black boxes that can be used with no prior knowledge.

  • What neural nets areA new way to visualize adaptive statistical data analysis tools.Real time signal processors, in hardware or in software.A marketing term that has attracted lots of researchers to the realm of data analysis.Local error minimization and search procedures: they find only local minima.

  • NNets: what do they look likeInputs: data taken from the environment or a file.Weights: Links from inputs to computing elements.Neurons: computing elements that apply a function f to the product of their inputs times the incoming weights. The result is called activationOutput: sometimes, activations are projected by applying a linear transformation.

  • NNets: how do they workAfter the training phase, NNs are used or exploited: weights are fixed, and they dont learn any more.Basically, they associate inputs to outputs or to other inputs.

  • NNets: their applicationsClassifiers: input = feature vector, output = classification value. Example: Quality control: good or faulty.Associative memories: input = vector, output= vector. Retrieve image from a part of it.Clustering methods: input = vector, output = closest vector to that one. Market segmentation: find clusters of similar customers.Function approximators: input = vector, output= vector. Forecasting.

  • What they dont doAlways work.Train fast.Work in real-life problems.

  • What they doThey always work. At least, most of the papers published show results (usually on toy problems).They are fast. Or at least, they will be when they are ported to a hardware accelerator.Work in real life problems. There are many commercial applications of neural networks, from forecasting, to pattern recognition, to real-time control.

  • Some applicationsNNs as models. But other networks are more appropiate for this: autocatalytic networks, for instance.NNs as visualization tools:Feature extraction projection of n-dimensional spacesNNs as data mining tools: creating bottom-up knowledge from data.NNs as the decision making part of agents in multiagent models.

  • Case study: Consumer/ad interactionyesnoyesyesno

  • Case Study: Consumer/ad interactionScenario: commodity product, of which any amount can be purchased (beer, tobacco, or any other vice).No difference in performance or price. For instance, Coke/Pepsi.Advertising works: ads reach their target, and they promote the sale of the product they are intended to promote.

  • Consumer/ad interactionyes There are many agents, each one with a neural net .Consumer deciding pro ad are rewarded. Those deciding anti-ad are punished.Reward/punishment depend on investment on ads.

  • Consumer/ad interaction: resultsThe model reflects very well (qualitatively) well known facts about advertising:Pulsing strategies work better than continuous ones.Introducing a new product in the market costs much more than keeping market share.Total sales of a product segment can decrease due to bad publicity decisions. For instance, if all firms in a market segment invest more or less the same: coopetition.

  • Consumer/ad interaction

  • Information filteringCustomizing information provided to the user needs and preferences.Documents are represented as vectors

    Consumer preferences are sets of vectors, and adapted using a NN.

    Politics

    Golf

    About

    want

    Doc1

    0.4

    1.2

    0.3

    1.3

    Doc2

    0.2

    0.5

    0.4

    1.3

  • Evolving neural netsEvolving NNets solves the model selection problem:Initial weights, neural net size and learning constant can be evolved.Combines local search with global search.NNet training can be an operator used to evolve.G-LVQ: evolving LVQ, G-PROP: evolving BackProp.

    34No son un modelo del cerebro, puesto que, para empezar, tiene una escala muy inferior al cerebro real. No hay redes neuronales de ms de unos miles de neuronas, mientras el real tiene billones. Adems, est claro que cada neurona del cerebro lleva a cabo muchas ms operaciones que las simples de la simulacin. Algunas veces, se han utilizado modelos de neurona, diferentes a los usados en ingeniera, como modelos de sistemas nerviosos simples.No est claro que es la inteligencia, pero en cualquier caso, las redes neuronales no hacen a una mquina ms inteligente de lo que la hace un sistema experto.A pesar de que el marketing las suele poner as, no suelen ser ni lo uno ni lo otro por el tipo de hardware y software en el que se suelen implementar. La mayora del hardware no es tolerante a fallos, y la mayora del software no es masivamente paralelo, sino implementado en ordenadores normales y corrientes.Como cualquiera que haya trabajado en el tema puede atestiguar, generalmente se necesita bastante pericia y experiencia para hacer que una red neuronal funcione: hay muchos parmetros libres.5Aunque los algoritmos usados en redes neuronales han sido presentados como totalmente originales, la mayora de ellos no lo son; simplemente traducen el lenguaje estadistico a otro lenguaje. Por ejemplo, en vez de estimacin se habla de entrenamiento, en vez de regresin se habla de aprendizaje supervisado, y as sucesivamente. Sin embargo, el hablar de ellos como elementos de clculo y pesos que los unen ha permitido visualizarlos de una forma nueva, lo cual ha abierto nuevas vas de investigacin, y de implementacin.Una diferencia esencial con los mtodos estadsticos es que, en la mayora de los casos, stos necesitan un conjunto de datos completo para funcionar. Las redes neuronales tienen algoritmos que les permiten entrenarse en lnea, es decir, mientras los datos estn siendo captados. Esto les hace ser tiles, por ejemplo, para robots autnomos.Est claro que hablar de redes neuronales ha atrado muchos investigadores y mucho dinero a este campo. Quizs ese dinero podra haber sido empleado mejor en otro tema, thats a matter of opinion. 6789