public:t-720-atai:atai-21:final_project
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
public:t-720-atai:atai-21:final_project [2021/10/19 10:26] – created leonard | public:t-720-atai:atai-21:final_project [2024/04/29 13:33] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | [[/public: | + | [[public: |
\\ | \\ | ||
Line 6: | Line 6: | ||
\\ | \\ | ||
\\ | \\ | ||
- | ====Final Project:==== | + | ======Final Project====== |
- | =====Preparations===== | + | \\ |
+ | ====Description==== | ||
\\ | \\ | ||
- | **Summary:** In the final project you will be working with OpenNARS for Research | + | For the final project you are asked to implement |
- | **Aims:** In this first part of the final project you will install OpenNARS | + | |
\\ | \\ | ||
+ | \\ | ||
+ | Your task must have:\\ | ||
- | =====Installation of OpenNARS for Research===== | ||
- | The below assumes you are working on a Ubuntu machine. (Since OpenNARS | + | - A **causal chain** with a 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 a 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 | ||
+ | - A “training scenario” must be provided in which NARS learns about the single causal connection (e.g. Key-> | ||
- | ===Prerequisites=== | ||
- | Install Java: | ||
- | sudo apt install default-jre | ||
- | sudo apt install default-jdk | ||
- | Install Maven: | + | Write a report on your findings |
- | + | - Analyze the **abduction** of NARS to abduct causal chains from single causal connections. Some 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.g. length of causal chain)? |
- | export JAVA_HOME=$(realpath / | + | - Analyze the **induction** of NARS to generate new rules which result in the possibility to solve a novel task. Some 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:// | + | |
- | git clone https:// | + | |
- | | + | |
- | git clone https:// | + | |
- | git clone https:// | + | |
- | + | ||
- | Build projects: | + | |
- | cd opennars-parent | + | |
- | mvn clean install | + | |
- | | + | |
- | mvn clean install | + | |
- | cd ../opennars-applications | + | |
- | mvn clean install | + | |
- | cd ../opennars-gui | + | |
- | mvn clean install -Dmaven.javadoc.skip=true | + | |
- | cd ../ | + | |
- | mvn clean install -Dmaven.javadoc.skip=true | + | |
- | + | ||
- | + | ||
- | GitHub Link: [[https:// | + | |
- | 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/ | + | |
- | jexec opennars-lab-3.0.4-SNAPSHOT.jar | + | |
- | + | ||
- | + | ||
- | {{: | + | |
- | Figure 1: The GUI that should be started\\ | + | |
- | + | ||
- | Start the TestChamber | + | |
- | + | ||
- | You can see the Editor menu, the NARS command line/ trace and the TestChamber world. | + | |
- | With the editor you can change the TestChamber, | + | |
- | + | ||
- | {{: | + | |
- | Figure 2: The Editor\\ | + | |
- | + | ||
- | {{: | + | |
- | Figure 3: The Trace\\ | + | |
- | + | ||
- | {{: | + | |
- | 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? | + | |
- | + | ||
- | 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-> | + | |
- | -Have a look at the Code of the TestChamber, | + | |
- | -Especially at the " | + | |
- | -“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**: | + | |
- | 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 (../ | + | |
- | + | ||
- | + | ||
- | 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 ../ | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
/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)