1234567891011121314151617181920212223242526272829303132333435363738394041 |
- <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]--><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="Asciidoctor 1.5.4"><title>architecture</title><link rel="stylesheet" href="./asciidoctor.css">
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css">
- <link rel="stylesheet" href="./coderay-asciidoctor.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.css"></head><body class="article toc2 toc-left"><div id="header"><div id="toolbar"><a href="https://github.com/jMonkeyEngine/wiki/edit/master/src/docs/asciidoc/jme3/advanced/atom_framework/ai/architecture.adoc"><i class="fa fa-pencil-square" aria-hidden="true"></i></a><a href="https://github.com/jMonkeyEngine/wiki/new/master/src/docs/asciidoc/jme3/advanced/atom_framework/ai/"><i class="fa fa-plus-square" aria-hidden="true"></i></a><input dir="auto" style="position: relative; vertical-align: top;" spellcheck="false" autocomplete="off" class="searchbox__input aa-input" id="doc-search" name="search" placeholder="Search in the doc" required="required" type="search"></div><h1>architecture</h1><div class="details"><span class="author" id="author"></span><br><span id="revnumber">version ,</span> <span id="revdate">2016/03/17 20:48</span></div><div id="toc" class="toc2"><div id="toctitle">Table of Contents</div><ul class="sectlevel1"><li><a href="#atomai">AtomAI</a><ul class="sectlevel2"><li><a href="#technologies">Technologies</a></li><li><a href="#dependencies">Dependencies</a></li></ul></li></ul></div></div><div id="content"><div class="sect2"><h3 id="atomai">AtomAI</h3><div class="paragraph"><p>AtomAI is an innovative framework for doing AI for simulations and interactive applications, focus in Games!</p></div>
- <div class="sect2"><h3 id="technologies">Technologies</h3><div class="paragraph"><p>AtomAI built up by bleeding-edge of AI technologies based in lastest researches. Underlying, it depends in extensible framework to leverage maximum Java language in spirit of Atom framework.</p></div>
- <div class="paragraph"><p>Many parts of AtomAI are very innovative and actually release the developer from low level concerning and save a lot of time redo common usecases implementations; without errors.</p></div></div>
- <div class="sect2"><h3 id="dependencies">Dependencies</h3><div class="paragraph"><p>AtomAI depend a lot in good AI opensource projects</p></div>
- <div class="sect3"><h4 id="java-datastructures-mechanisms">Java DataStructures & Mechanisms</h4><div class="sect4"><h5 id="javolution">Javolution</h5><div class="paragraph"><p><a href="http://javolution.org/">http://javolution.org/</a></p></div>
- <div class="literalblock"><div class="content"><pre> Because real-time programming requires a time-predictable standard library. Javolution real-time goals are simple: To make your application faster and more time predictable!</pre></div></div>
- <div class="paragraph"><p>Javolution solve some fundamental real-time problems with innovative technologies. Javolution is one of core dependencies of AtomCore and so AtomAI.</p></div></div>
- <div class="sect4"><h5 id="guava-guice">Guava & Guice</h5><div class="paragraph"><p>Two google opensource projects that make Java developer’s life easier.</p></div></div>
- <div class="sect4"><h5 id="apache-commons">Apache Commons</h5><div class="paragraph"><p>Lang</p></div>
- <div class="paragraph"><p>BeanUtils</p></div>
- <div class="paragraph"><p>Math</p></div>
- <div class="paragraph"><p>Logging</p></div>
- <div class="admonitionblock tip"><table><tr><td class="icon"><i class="fa icon-tip" title="Tip"></i></td><td class="content"><div class="paragraph"><p>Javolution, Guava, Guice, Commons Lang, BeanUtils, Math, Logging are a complete sets of libraries for Real-time applications with testable, logable capacities, fullfill each other and has just a little bit overlaps. You can setup them easily via Maven or gradle with JME3.</p></div></td></tr></table></div></div>
- <div class="sect4"><h5 id="xxl">XXL</h5><div class="paragraph"><p><a href="http://code.google.com/p/xxl/">http://code.google.com/p/xxl/</a></p></div>
- <div class="literalblock"><div class="content"><pre> XXL is a Java library that contains a rich infrastructure for implementing advanced query processing functionality. The library offers low-level components like access to raw disks as well as high-level ones like a query optimizer. On the intermediate levels, XXL provides a demand-driven cursor algebra, a framework for indexing and a powerful package for supporting aggregation.</pre></div></div>
- <div class="paragraph"><p>XXL already solved a lot of problems in spatial, relational and metadata… Upon that base, AtomAI focus in higher level of abstraction like Graph, State, Tree; Flow, Stream, Load balance; later focus more in AI stuffs without worry about lower levels.</p></div></div>
- <div class="sect4"><h5 id="qi4j">Qi4j</h5><div class="paragraph"><p><a href="http://qi4j.org/">http://qi4j.org/</a></p></div>
- <div class="literalblock"><div class="content"><pre> is a framework for domain centric application development, including evolved concepts from Aspect Oriented Programming, Dependency Injection and Domain Driven Design.</pre></div></div>
- <div class="literalblock"><div class="content"><pre> Qi4j™ is an implementation of Composite Oriented Programming, using the standard Java platform, without the use of any pre-processors or new language elements. Everything you know from Java still applies and you can leverage both your experience and toolkits to become more productive with Composite Oriented Programming today.</pre></div></div>
- <div class="paragraph"><p>Qi4j offers a way to config the system by layers and entities. More over, Entity-Composite (with relasionship enable) compare to Entity-components is a better way to compose things.</p></div></div>
- <div class="sect4"><h5 id="rxjava">RxJava</h5><div class="paragraph"><p><a href="https://github.com/Netflix/RxJava">https://github.com/Netflix/RxJava</a></p></div>
- <div class="literalblock"><div class="content"><pre> Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.</pre></div></div>
- <div class="paragraph"><p>RxJava already provided mechanisms for composing asynchronous and event-based programs. AtomAI then focus in design the flows of events of agents. This is a win-win scenario for boths.</p></div></div></div>
- <div class="sect3"><h4 id="scripting">Scripting</h4><div class="sect4"><h5 id="groovy">Groovy</h5><div class="paragraph"><p>Groovy leverage Java in a very elegent way. Make itself the most valid candidate to being a scripting language for Java and AtomAI to construct a very flexible framework. AtomAI also provide better mechanisms to automatic tasks and tools, give developer more power in editing scripts and actions.</p></div></div></div>
- <div class="sect3"><h4 id="ai-model-and-source-structure">AI Model and source structure</h4><div class="sect4"><h5 id="aima">AIMA</h5><div class="paragraph"><p><a href="http://code.google.com/p/aima-java/">http://code.google.com/p/aima-java/</a></p></div>
- <div class="literalblock"><div class="content"><pre> Java implementation of algorithms from Norvig and Russell's Artificial Intelligence - A Modern Approach 3rd Edition</pre></div></div>
- <div class="paragraph"><p>is de-facto for AI techs. AtomAI <strong>modify</strong> and <strong>add implementations</strong> to AIMA-java that intergrate deeply with above technologies, make AIMA the most complete, powerful and open java AI framework.</p></div></div>
- <div class="sect4"><h5 id="choco">Choco</h5><div class="paragraph"><p><a href="https://github.com/chocoteam/choco3">https://github.com/chocoteam/choco3</a></p></div>
- <div class="literalblock"><div class="content"><pre> Choco3 is an open-source Java library for Constraint Programming.
- Choco3 comes with:</pre></div></div>
- <div class="literalblock"><div class="content"><pre> various type of variables (integer, boolean, set, graph and real),
- various state-of-the-art constraints (alldifferent, count, nvalues, etc.),
- various search strategies, from basic ones (first_fail, smallest, etc.) to most complex (impact-based and activity-based search),
- explanation-based engine, that enables conflict-based back jumping, dynamic backtracking and path repair</pre></div></div></div></div></div></div></div><div id="footer"><div id="footer-text">Version <br>Last updated 2016-07-22 07:15:15 UTC</div></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.js"></script><script>docsearch({
- apiKey: 'a736b6d93de805e26ec2f49b55013fbd',
- indexName: 'jmonkeyengine',
- inputSelector: '#doc-search',
- debug: false // Set debug to true if you want to inspect the dropdown
- });</script></body></html>
|