TD-FALCON MineField Navigator Intelligent Agent

TD-FALCON is a fusion architecture that incorporates temporal difference methods and self-organizing neural networks for reinforcement learning with delayed rewards. It learns by creating cognitive codes across sensory input, actions, and rewards.

Лицензия

Лицензия

MIT
Категории

Категории

Java Языки программирования
Группа

Группа

com.github.cschen1205
Идентификатор

Идентификатор

java-ai-minefield-navigator
Последняя версия

Последняя версия

1.0.2
Дата

Дата

Тип

Тип

jar
Описание

Описание

TD-FALCON MineField Navigator Intelligent Agent
TD-FALCON is a fusion architecture that incorporates temporal difference methods and self-organizing neural networks for reinforcement learning with delayed rewards. It learns by creating cognitive codes across sensory input, actions, and rewards.
Ссылка на сайт

Ссылка на сайт

https://github.com/cschen1205/java-ai-minefield-navigator
Система контроля версий

Система контроля версий

https://github.com/cschen1205/java-ai-minefield-navigator

Скачать java-ai-minefield-navigator

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/com.github.cschen1205/java-ai-minefield-navigator/ -->
<dependency>
    <groupId>com.github.cschen1205</groupId>
    <artifactId>java-ai-minefield-navigator</artifactId>
    <version>1.0.2</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.cschen1205/java-ai-minefield-navigator/
implementation 'com.github.cschen1205:java-ai-minefield-navigator:1.0.2'
// https://jarcasting.com/artifacts/com.github.cschen1205/java-ai-minefield-navigator/
implementation ("com.github.cschen1205:java-ai-minefield-navigator:1.0.2")
'com.github.cschen1205:java-ai-minefield-navigator:jar:1.0.2'
<dependency org="com.github.cschen1205" name="java-ai-minefield-navigator" rev="1.0.2">
  <artifact name="java-ai-minefield-navigator" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.cschen1205', module='java-ai-minefield-navigator', version='1.0.2')
)
libraryDependencies += "com.github.cschen1205" % "java-ai-minefield-navigator" % "1.0.2"
[com.github.cschen1205/java-ai-minefield-navigator "1.0.2"]

Зависимости

compile (5)

Идентификатор библиотеки Тип Версия
org.slf4j : slf4j-api jar 1.7.20
org.slf4j : slf4j-log4j12 jar 1.7.20
com.github.cschen1205 : java-ann-falcon jar 1.0.1
com.alibaba : fastjson jar 1.2.7
commons-cli : commons-cli jar 1.3.1

provided (1)

Идентификатор библиотеки Тип Версия
org.projectlombok : lombok jar 1.16.6

test (11)

Идентификатор библиотеки Тип Версия
org.testng : testng jar 6.9.10
org.hamcrest : hamcrest-core jar 1.3
org.hamcrest : hamcrest-library jar 1.3
org.assertj : assertj-core jar 3.5.2
org.powermock : powermock-core jar 1.6.5
org.powermock : powermock-api-mockito jar 1.6.5
org.powermock : powermock-module-junit4 jar 1.6.5
org.powermock : powermock-module-testng jar 1.6.5
org.mockito : mockito-core jar 2.0.2-beta
org.mockito : mockito-all jar 2.0.2-beta
net.sf.doolin : javadocking jar 1.4.2

Модули Проекта

Данный проект не имеет модулей.

java-ai-minefield-navigator

Package provides java implementation of a multi-agent learning simulator based on FALCON ANN and RL

Introduction

TD-FALCON is a fusion architecture that incorporates temporal difference methods and self-organizing neural networks for reinforcement learning with delayed rewards. It learns by creating cognitive codes across sensory input, actions, and rewards.

The implementation of TD-FALCON can be found in the minefield navigation simulator in this java project, alongside with its reactive version R-FALCON, and a backpropagation network based Q-learning system.

Install

Add the following dependency to your POM file:

<dependency>
  <groupId>com.github.cschen1205</groupId>
  <artifactId>java-ai-minefield-navigator</artifactId>
  <version>1.0.2</version>
</dependency>

Usage: Invoke GUI-based Simulator

The sample code below shows how to invoke the Q-Learn TD-FALCON MineField Navigator GUI:

public static void main(String[] args) {
    MineFieldSimulatorConfig config = new MineFieldSimulatorConfig();
    config.setImmediateRewardProvided(true);
    config.setNumAgents(1);
    
    FalconConfig falconConfig = new FalconConfig();
    falconConfig.numAction = FalconNavAgent.numAction;
    falconConfig.numState = config.numState();
    falconConfig.numReward = 2;
    
    MineFieldSimulatorGUI gui = new MineFieldSimulatorGUI(config, falconConfig);
}

Usage: Invoke Command-line based Simulator

The sample code below shows show to run the TD-FALCON MineField Navigator simulation in console mode:

public static void main(String[] args) {
    MineFieldSimulatorConfig config = new MineFieldSimulatorConfig();
    config.setImmediateRewardProvided(false);
    config.setNumRuns(1);
    config.setMaxTrial(300);
    
    
    FalconConfig falconConfig = new FalconConfig();
    falconConfig.numAction = FalconNavAgent.numAction;
    falconConfig.numState = config.numState();
    falconConfig.numReward = 2;
    falconConfig.isBounded = false;
    
    
    MineFieldSimulator simulator = new MineFieldSimulatorQ(config, falconConfig);
    simulator.runSims();
}

The above codes invoke the Q-Learn TD-FALCON simulator, to switch to other learning paradigms, change the

"MineFieldSimulatorQ" to one of the following:

  • MineFieldSimulatorSARSA: state-action-reward-state-action
  • MineFieldSimulatorQLambda: Q-Learning with lambda trails
  • MineFieldSimulatorSARSALambda: SARSA with lambda trails
  • MineFieldSimulatorR: R-Learning

Версии библиотеки

Версия
1.0.2
1.0.1