User Tools

Site Tools


public:t-720-atai:atai-21:final_project

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
public:t-720-atai:atai-21:final_project [2021/10/19 10:26] – created leonardpublic:t-720-atai:atai-21:final_project [2024/04/29 13:33] (current) – external edit 127.0.0.1
Line 1: Line 1:
-[[/public:t-720-atai:atai-21:main|T-720-ATAI-2021 Main]]+[[public:t-720-atai:atai-21:main|ATAI-21 Main]]
 \\ \\
  
Line 6: Line 6:
 \\ \\
 \\ \\
-====Final Project:==== +======Final Project====== 
-=====Preparations=====+\\ 
 +====Description====
  
 \\ \\
  
-**Summary:** In the final project you will be working with OpenNARS for Research (a different version than ONA - OpenNARS for Applications), with the main purpose of doing AGI research using NARS. To help you get going with it, OpenNARS for Research comes with libraries of various examples of usage, including a graphical user interface for interacting with it. OpenNARS for Research is written in Java+For the final project you are asked to implement **//your own original task//** into the TestChamber (see linkg to the Introduction for the Final Project below), implemented by you and your collborator
  
-**Aims:** In this first part of the final project you will install OpenNARS for Research on your machine and get a first insight into some of the worlds that have been implemented so far, especially the TestChamber world.+  [[public:t-720-atai:atai-21:final_project_intro|Introduction for Final Project]]
  
 \\ \\
 +\\
 +Your task must have:\\
  
-=====Installation of OpenNARS for Research===== 
  
-The below assumes you are working on Ubuntu machine. (Since OpenNARS is Java code you might be able to use a different platformbut unfortunately we cannot promise support for that.)+  - A **causal chain** with length of at least three (3) steps (e.g. three out of: get a key, open door, activate switch, bake pizza, eat pizza). 
 +  - **At least TWO solutions** that are: 
 +    - independent of each other, i.e. mutually exclusive 
 +    - include some different objects that need to be handled by NARS 
 +    - composed of least three (3) steps of causal chains 
 +  - At least one **own object** that is included in the task (e.g. WireCutter to stop active wires): 
 +    - For this you might have to include a new Action Operator for NARS 
 +    - You might have to change parts of the existing code to include the new actions and objects 
 +  - An **own set of predefined knowledge** which can be loaded in the GUI to realise NARS solving the task. (Add new “knoMenu” to the EditorPanel.java file in the grid2d folder of the opennars-lab source code which includes knowledge of the new object and/ or additional information which can be useful for NARS) **You can use this set of predefined knowledge to teach NARS about the different causalities instead of forcing actions repeatedly** 
 +  - A “training scenario” must be provided in which NARS learns about the single causal connection (e.g. Key->Door and switch->oven and oven->pizza) **independently**such that it can learn before trying to complete the full task by trying things - or being shown - in the training room.
  
-===Prerequisites=== 
-Install Java: 
  
-  sudo apt install default-jre 
-  sudo apt install default-jdk 
  
-Install Maven: +Write a report on your findings (max. 5 pages + appendix). For this you can choose to focus on one or both of the following
- +  - Analyze the **abduction** of NARS to abduct causal chains from single causal connectionsSome questions that you may want to answer with respect to that might include
-  sudo apt install Maven +    What role, if any, does abduction play in NARS’ behavior? 
- +    What are the abduction mechanisms that NARS is deploying? 
-Set $JAVA_HOME: +    Is there a limit to the abduction abilities of NARS (e.glength of causal chain)? 
-  export JAVA_HOME=$(realpath /usr/bin/javadoc | sed 's@bin/javadoc$@@') +  - Analyze the **induction** of NARS to generate new rules which result in the possibility to solve a novel taskSome questions that you may want to answer with respect to that might include:  
- +    What role, if any, does induction play in NARS’ behavior? 
-Make new Directory: +    What might be the limits of NARS’ induction in this world? Is it limited in some way (by the reasoning methods of NARS or the task-environment)?
-  mkdir OpenNARS +
-  cd OpenNARS +
- +
-Clone repos: +
-  git clone https://github.com/opennars/opennars-parent.git +
-  git clone https://github.com/opennars/opennars.git +
-  git clone https://github.com/opennars/opennars-applications.git +
-  git clone https://github.com/opennars/opennars-gui.git +
-  git clone https://github.com/opennars/opennars-lab.git +
- +
-Build projects: +
-  cd opennars-parent +
-  mvn clean install -Dmaven.javadoc.skip=true +
-  cd ../opennars +
-  mvn clean install -Dmaven.javadoc.skip=true +
-  cd ../opennars-applications +
-  mvn clean install -Dmaven.javadoc.skip=true +
-  cd ../opennars-gui +
-  mvn clean install -Dmaven.javadoc.skip=true +
-  cd ../opennars-lab +
-  mvn clean install -Dmaven.javadoc.skip=true +
- +
- +
-GitHub Link: [[https://github.com/opennars/opennars]]\\ +
-There you can also find a Wiki and some documentation.+
  
 \\ \\
- +\\ 
-=====Your task===== +\\ 
- +//EOF//
-Start the GUI for interactive working with OpenNARS for Research: +
- +
-  cd opennars-lab/target +
-  jexec opennars-lab-3.0.4-SNAPSHOT.jar +
- +
- +
-{{:public:t-720-atai:atai-20:gui.png?nolink&200|GUI}}\\ +
-Figure 1: The GUI that should be started\\ +
- +
-Start the TestChamber +
- +
-You can see the Editor menu, the NARS command linetrace and the TestChamber world. +
-With the editor you can change the TestChamber, add new objects, give NARS knowledge and apply different goals. +
- +
-{{:public:t-720-atai:atai-20:editor.png?direct&200|Editor}}\\ +
-Figure 2: The Editor\\ +
- +
-{{:public:t-720-atai:atai-20:trace.png?direct&300|Trace}}\\ +
-Figure 3: The Trace\\ +
- +
-{{:public:t-720-atai:atai-20:world.png?direct&300|World}}\\ +
-Figure 4: The World\\ +
- +
- +
-In this first part of the final project you are meant to get some first experience on the OpenNARS for Research. +
- +
-Example video: [[https://www.youtube.com/watch?v=hAO1zRj2z9A]] +
- +
-Try out different things:\\ +
-  - Place new objects in the world: +
-    -Stone Wall +
-    -Grass Floor +
-    -Switch +
-    -Cable +
-    -Lamp +
-    -… +
-  -Try what happens if you send a goal to NARS +
-  -Give NARS some predefined knowledge +
-    -Common Sense +
-    -If you go somewhere you will be there +
-    -If you are somewhere and pick something up you will hold it +
-  -Load a predefined scenario from the editor menu +
-  -Give NARS a command to go to the newly placed switch/ lamp/ … +
-  -Try the “force action” submenu +
-  -Give NARS the command to try things +
-    -What happens in the NARS console? +
-    -Open the Concept network and have a look at what happens there (Trace->Window->Concept Network) +
-  -Have a look at the Code of the TestChamber, especially the EditorPanel.java file +
-    -Especially at the "Predefined knowledge" section +
-      -“common sense” +
-      -"if you go to somewhere you will be there" +
-      -"if you are somewhere and you pick whats there, you will hold it" +
-    -And the different goals you can give the system +
-      -“Try Things” +
-      -"be somewhere" +
-      -etc. +
-  -Implement your own predefined knowledge section +
-  -You can use the other knowledge sections to get a grasp on how things work. +
- +
-This first part of the final project is meant for you to get to know OpenNARS for Research, so please try to figure out as much as possible about how it behaves. +
- +
-Also have a look at  +
-  -The Microworld +
-  -The Perception part +
-  -NARPong +
-    - How is the reward managed? +
-    - How is information passed to NARS? +
-( **NOT NECESSARY**: Try to recreate you own pong example with only the most rudimentary features (Copy paste the code and remove everything unnecessary for NARS to play pong, such as keyboard control etc.)\\ +
-You might be able to implement an easier way to let NARS play pong.\\ +
-To make it available to use in the gui you will have to change the code of the launcher (../opennars-lab/src/main/java/org/opennars/lab/launcher)) +
- +
- +
-Including their trace and have a look at the code wherever necessary to see what is passed to NARS, what commands are executed etc. The code can be found at ../opennars-lab/src/main/java/org/opennars/lab/... +
- +
- +
- +
- +
  
/var/www/cadia.ru.is/wiki/data/attic/public/t-720-atai/atai-21/final_project.1634639218.txt.gz · Last modified: 2024/04/29 13:32 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki