Building the Brain (AGI)
Perhaps the biggest challenge of artificial intelligence so far. General artificial intelligence (AGI) is a mystery to us, mainly for the fact we don't understand completely how our brains (and thus our minds) work. There have been many attempts through history at making thinking machines and researches still debate on whether building artificial intelligence is possible (and even more debates on whether we should attempt it in the first place).
Currently OpenCog has been working towards building General Artificial Intelligence with their project. I'm interested so decided to make a small tutorial on running OpenCog and showing progress as I understand more of the architecture.
Currently OpenCog has been working towards building General Artificial Intelligence with their project. I'm interested so decided to make a small tutorial on running OpenCog and showing progress as I understand more of the architecture.
Building OpenCog
Due to the fact OpenCog is still a work in progress I suggest installing ALL PREREQUISITES, even the optional ones as there may be bits of code that make use of them without being explicit in the documentation. This may pose a problem and generate annoying errors during install if they aren't dealt with.
Also I found that the wiki isn't up to date with the installation instructions and as such its recommended to use the ones in the github repository instead.
Also I found that the wiki isn't up to date with the installation instructions and as such its recommended to use the ones in the github repository instead.
CogUtils
The first element needed is to install CogUtils. This provides a set of tools necessary to run OpenCog. In order to install it you must first make sure all the prerequisites are installed in your computer.
Afterwards you must clone the CogUtils folder using the command:
$ git clone https://github.com/opencog/cogutils.git
$ git clone https://github.com/opencog/cogutils.git
AtomSpace
OpenCog
OpenCog makes use of lots of dependencies that aren't specified on the wiki and that are necessary to get the full features the application provides. I suggest paying close attention to all specified dependencies marked with NOT FOUND during the cmake .. output process. Install those then rerun cmake .. until all of them are satisfied.
Among the unmarked dependencies I found the need for Valgrind, cpprestsdk and GTK3 to get access to the visualizer and data analysis tools.
Among the unmarked dependencies I found the need for Valgrind, cpprestsdk and GTK3 to get access to the visualizer and data analysis tools.
Building cpprest
Next comes building the cpprest library [1].
$ mkdir build.release
$ cd build.debug cmake .. -DCMAKE_BUILD_TYPE=Release
$ sudo make
$ sudo make install
$ mkdir build.release
$ cd build.debug cmake .. -DCMAKE_BUILD_TYPE=Release
$ sudo make
$ sudo make install
Installing link-grammar
Building OpenCog
In order to build OpenCog we must clone the OpenCog folder from github using the command:
$ git clone https://github.com/opencog/opencog.git
Once finished we go inside the opencog folder using
$ cd opencog
We create a Build folder and go inside
$ mkdir Build
$ cd Build
We use cmake and make sure we got ALL the dependencies or as many as possible. I managed to install all but the Natural Language Processing dependency.
$ git clone https://github.com/opencog/opencog.git
Once finished we go inside the opencog folder using
$ cd opencog
We create a Build folder and go inside
$ mkdir Build
$ cd Build
We use cmake and make sure we got ALL the dependencies or as many as possible. I managed to install all but the Natural Language Processing dependency.
During the make operation you may get an error with 3DMaps module on OpenCog which is due to the fact OcTreeBaseImpl from the octomap library got updated and no longer has the getChild() function in the latest release. Its a hassle and should be edited in newer versions but for now we make use of the 1.7.2 version which can be downloaded from the web site [3] or from the file I uploaded here.
|
If the application gives you that issue I recommend you uninstall the actual version of octomap you may have using:
$ sudo make clean and proceed to install this version. |
After this we just type
$ sudo make install
So that we get our application on the environment path and that's it. Congratulations, you now have OpenCog installed in your computer!
Now time for some tests and examples.
$ sudo make install
So that we get our application on the environment path and that's it. Congratulations, you now have OpenCog installed in your computer!
Now time for some tests and examples.
OBSOLETE DATA FROM THE WIKI
The first steps found on the wiki[1] require to install the required dependencies as shown. Type in the terminal:
$ wget http://raw.github.com/opencog/ocpkg/master/ocpkg -O octool && chmod +rx octool
Then verify octotool is available by typing:
$ ./octool -h
And call the dependencies using:
$ ./octool -rsdpcalv
$ wget http://raw.github.com/opencog/ocpkg/master/ocpkg -O octool && chmod +rx octool
Then verify octotool is available by typing:
$ ./octool -h
And call the dependencies using:
$ ./octool -rsdpcalv
After the dependencies have been installed, its time to download the OpenCog repository using git. Type in terminal:
$ git clone https://github.com/opencog/opencog
$ git clone https://github.com/opencog/opencog
[1] https://github.com/Microsoft/cpprestsdk/wiki/How-to-build-for-Linux
[2] http://insane-on-linux.blogspot.mx/2014/10/installing-ros-indigo-on-mint-17.html
[3] https://github.com/octomap/octomap/releases
[2] http://insane-on-linux.blogspot.mx/2014/10/installing-ros-indigo-on-mint-17.html
[3] https://github.com/octomap/octomap/releases