Web site and design © 2008-2010 by G6G Consulting Group. All Rights Reserved. Most product content has been taken directly from manufacturer's web
sites; other product content is assembled by G6G Consulting Group. G6G welcomes any corrections and/or comments.
Product Feedback
* Required Field
*Your name:
*Email:
*Questions, comments, or feedback:
    AndroMeta

    Category  Cross-Omics>Agent-Based Modeling/Simulation/Tools;
    Intelligent Software>Neural Network Systems/Tools;
    Intelligent Software>Genetic Algorithm Systems/Tools;
    Intelligent Software>Genetic Programming Systems/Tools

    Abstract  AndroMeta is a software platform for technical and scientific
    computing which spans a diverse range of fields:

    From machine learning and artificial intelligence (AI) in general,
    distributed and concurrent computing, language design, to ‘modeling
    and simulation’ -- all of which are unified into an advanced yet easy-to-
    use C++ framework.

    The constructs that make up AndroMeta’s specialized higher-level
    functionality are all made available as general-purpose classes. In this
    way, while AndroMeta’s focuses on technical computing, it may prove to
    be a valuable tool for ‘general programming’ situations as well.

    The AndroMeta framework is intended to be accessible to C++ users of
    all levels -- one does Not have to be a C++ expert to make nearly full
    use of the framework, while at the same time it provides enough
    flexibility for advanced applications.

    Users may choose to use a multitude of its features or just a few in
    isolation.

    AndroMeta is a multi-purpose software system. Some of its intended
    uses include:

    1) ‘Agent-based modeling’, discrete-event simulation, and ‘hybrid
    simulation’. Coding may be done in C++ or in MML (Meta Modeling
    Language) -- an easy-to-use language designed specifically for
    ‘modeling and simulation’.

    2) Advanced, yet easy-to-use ‘network constructs’ for building
    client/server applications, distributed objects, and peer-to-peer systems.

    3) Simplified 3D visualization (underlying implementation uses OpenGL
    and the OGRE graphics engine).

    4) High-precision numeric’s (implemented with the GMP and MPFR
    libraries).

    5) Language design: AndroMeta eases some of the difficulties
    associated with implementing a ‘domain-specific language’.

    6) Dynamic code: AndroMeta includes an ‘advanced system’ for creating
    and executing/interpreting code at run-time.

    7) AndroMeta uses ‘advanced artificial intelligence’ (AI) techniques to
    provide the ability to evolve code based on supplied ‘training data’ or as
    part of larger program which judges its running performance. Similarly,
    ‘parameter optimization’ is also supported.

    8) AndroMeta features an advanced ‘graph-based concurrency’ system
    which allows an application to easily take advantage of the processing
    power of multiple cores/CPUs.

    AndroMeta Machine Learning and General AI --

    ‘Machine learning’ and artificial intelligence (AI) in general are major
    drivers in AndroMeta’s development.

    Building on AndroMeta’s core foundation, MAgent provides the
    functional backbone for much of AndroMeta’s AI capabilities, adding
    sophisticated algorithms based on ‘neural networks’ (NN), ‘genetic
    algorithms’ including ‘genetic programming’, and more.

    Central to this effort, is AndroMeta’s ability to “evolve” M code. Using
    ‘supervised learning’, MAgent is supplied a training set of data, a
    grammar which restricts and characterizes the ‘evolved code’, and a
    number of parameters which control the ‘evolutionary process’.

    MAgent also supports code evolution via ‘unsupervised learning’.
    Usually in this context, the code to be evolved is part of a larger M
    program.

    In each iteration, the program is passed the generated code “module”,
    which it executes in the context of the larger program.

    Here the program judges its performance in any way appropriate then
    passes back to MAgent a ‘metric measuring’ the generated module’s
    “error.”

    The evolutionary process may be configured such that it halts upon
    achieving a desired ‘target error’ or after a timeout is reached.

    Similar to ‘code evolution’, AndroMeta provides ‘parameter optimization’
    facilities through MOptRun or as integrated into MML.

    An optimization run seeks to minimize or maximize a metric, which like
    unsupervised code evolution, is an ‘application-specific judgement’ of
    its running performance given the iteration’s input parameters.

    MAgent provides a number of other features, some of which are yet to
    be fully developed, including:

    1) The ability to reduce ‘mathematical functions’ to simpler form.

    2) Knowledge-base (KB) support.

    3) MAgent may be optionally configured so that some of its processing
    runs through a local AndroMeta peer-to-peer network.

    AndroMeta includes a variety of additional features, including:

    1) A mechanism for storing/restoring objects to MVar (MVar is a
    recursive variant type for holding numeric’s, strings, and more.

    Each Mvar has a specific dynamic type (its "head") and may hold other
    Mvar's recursively through its map and vector/list. MVar is used
    throughout the framework for a large variety of purposes).

    2) Precise/exact math routines; 3) Extensive ‘exception classes’,
    exception handling, and exception safe code.

    4) Message buffer and message handling classes; 5) A Mathematica
    interface;

    6) Random number generation and probability distributions;

    7) MProc’s as an advanced means to perform ‘parallel AI search’; and

    8) An experimental application “Metamodel” with included source code
    that uses the MAgent in ‘supervised learning’ mode to derive
    relationships and functions from visual data as part of a larger
    interpreted MML program.

    Many of the framework classes were designed from the beginning to be
    used in the context of threading while finer-grained operations such as
    operations on types, for performance reasons, do Not have thread-
    safety built in.

    Operations such as submitting a message to a MMessageBuffer (in
    conjunction with MMessageHandler) or queueing an MProc to a task are
    inherently thread-friendly -- in fact all methods on MMessageBuffer and
    MProc are completely thread-safe so that users need Not worry about
    wrapping calls to such classes with Mutexes.

    Another aspect in which the framework is thread-friendly is with calls
    which are required to be executed on the main thread, e.g.: GUI /
    OpenGL functions. The framework uses events to ‘transparently defer’,
    as needed, such calls to the main thread.

    MML (Meta Modeling Language) --

    Though Not described in detail in this abstract, MML is a substantial
    feature of AndroMeta. MMLEntity and other MML-prefixed classes provide
    a sort of ‘sub-framework’ that draws upon the larger AndroMeta
    framework.

    MML is best learned by reading the ‘AndroMeta User’s Guide’ (located
    on the manufacturer's web-site) and exploring and interactively
    experimenting with the numerous examples included in the AndroMeta
    distribution.

    MML provides a number of specialized and general-purpose scenes.
    Some are implemented in OpenGL directly but the more visually
    impressive ones use the ‘OGRE 3D Graphics Engine’ for visualization.

    Scene animation may be captured and encoded to MPEG. The scenes
    provide an easy-to-use interface for specifying/manipulating objects,
    configuring scene details, dynamic plotting, event-based GUI controls,
    and keyboard/mouse events.

    System Requirements  

    AndroMeta (pronounced like Andromeda) is available for Mac OS X, 64-
    bit (x86_64) Linux, and 32-bit (x86) Linux.

    Manufacturer   

    AndroMeta LLC
    P.O. Box 615
    Los Alamos, NM 87544
    USA
    aminfo@andrometa.net

    Manufacturer's Web Site   

    http://andrometa.net/AndroMeta/Home.html

    Price   Contact manufacturer

    G6G Product Number  20451

    G6G Manufacturer Number 104085
The G6G Directory of Omics and Intelligent Software
Search www.G6G-SoftwareDirectory.com
Bookmark and Share