Thinking Machine
Tuesday, April 28, 2009
*bzr* under the firewall
The first problem is that it could not use the *lp:opencog*. When I used 'bzr branch lp:opencog' it give me a 'connection time out ERROR', even though I set the http_proxy enviroment correctly. After asking this question in the IRC channel of #bzr at freenode, I got the answer that the bzr is not supported the *lp:opencog* by using the http_proxy now . I should replace it with the URL of opencog trunk . So I used 'bzr branch http://bazaar.launchpad.net/~opencog-dev/opencog/trunk/' to make a local branch instead of using 'bzr branch lp:opencog' and it worked.
The second problem is that I could not use'bzr push lp:~xiaohui/opencog/moses' to push it to my branch of opencog on the lannchpad. So I changed it to
'bzr push https://bazaar.lauchpad.net/~xiaohui/opencog/moses' , but it also could not work. After discussing in the #bzr IRC and googling it. I know the reason is that bzr use the SSH to connect to launchpad. And my SSH could not connect to the networking because I am behind the firewall. So I need a proxy like http proxy or SOCKS proxy for SSH. After setting the proxy for SSH(it will be mentioned later) correctly, and then I use the command
'bzr push bzr+ssh://bazaar.lauchpad.net/~xiaohui/opencog/moses' to push it to the my branch for my gsoc project correctly.
There are some ways to set the proxy for the SSH, I was followed this link to set the ssh
through http_proxy by using corkscrew. And there also some other method to set the SSH proxy, the following links maybe useful for it.
1. using tsocks to tunnel
http://www.plenz.com/tunnel-everything
2. using connect.c to tunnel
http://bent.latency.net/bent/darcs/goto-san-connect-1.85/src/connect.html
Monday, April 20, 2009
Accepted!!!
From the beginning of April, I was very busy doing my mater projects . During these time, I have write the third patch of MOSES, but it has some bugs. I don't have enough time to fix it.Some days later, Bogdan submited the same patch of gen-mixed-table and it works well(Thanks ,Bogdan).
The next stage I need to do is following the schedule in my proposal . This is the Stage I. It should be finished before starting coding .
- Keep learning boost
- Reading the papers about MOSES, BBHC, and SAA, to master this algorithm
- Reading the document of Opencog and MOSES
- Reading the code of MOSES and BBHC and do some little change to the code, like to add the comment of the code with the format of doxygen and patches.
Wednesday, April 1, 2009
The second patch for MOSES
In these two days , except for doing the school things , I spent the most of my time on reading the code of comboreduct and moses. And now , I have a general impression of them. I know how the combo program are stored and the basic datasturture and algorithm.
In the coming days, I plan to do the third patch about the mixed-table generation , to profile how moses works in detail and then to learn how to integrate the bbhc to moses.
Tuesday, March 31, 2009
My GSoC Proposal:Improved hBOA by integrating the BBHC and implement the simulated annealing algorithm
Abstract: |
MOSES is the cognitive plugin of Opencog Framework, and it plays an important role in the Opencog. The hBOA is used to generate the promising programs as optimal algorithm in MOSES. But it is not the optimal one in this context. Therefore, to improving the efficiency of the optimal algorithm in MOSES is very important and meaningful. The BBHC and simulated annealing algorithm are suitable to be integrated into the MOSES. These integration work would make MOSES better and smarter. |
|
OverviewOpencog is a common platform to build and share the artificial intelligence programs for the research scientists and software developers. And the safety tools and protocols for AGI will be developed, which is a long-term goal. This is a great project can make machine stronger to deal with the complex problems in the complex environments. I am sure that it will be come true with the effort of many contributors. Opencog framework is an infrastructure that provide the stable APIs and libraries. And there are many projects use or communicate with it. Among these projects, the cognitive algorithm MOSES, which attracts me most, is an approach to program evolution, based on the representation-building and probabilistic modeling. I am really interested to do that, if I can do something to let MOSES better/smarter that is a very exciting work. From the idealist and the mailing list, I knew something about hBOA, which used for generating new collections of knob settings in MOSES. However, it is not the optimal algorithm in this context. So the replacement or improvement of it is especially worthwhile to do. For the reason mentioned above, I am pleasure to contribute to make it better in GSoC by integrating the BBHC into MOSES and implementing the simulated annealing algorithm for MOSES, which can make opencog more powerful.
Tasks and ScheduleDuring the period of GSoC, the following tasks I consider I will be finished in this summer.
A schedule for finishing these tasks well is definitely necessary. It is list as following. I divided it into three stages:
|
Monday, March 30, 2009
Patch 1 for MOSES
At the beginning, I really don't know what patch should I sumbit before the accepting day of GSoC.Fortunately, Nil post some suggestions on the mailing list of what patch should made if anyone interested on the MOSES. I knew this is a good chance and followed the instruction provided by Nil --Thank you ,Nil :-) . Then I begin to read the source code and the document of comboreduct. I know a little about the data structure and algorithms of it .
After discussion with Nil, I chose to do the first one in these three patches. It is the simplest after knowing the API of comboreduct, what I need to do is to using these APIs to gernerator the contin-table.
In the coming days, I thought the most important thing is to keep reading Dr. Moshe Looks' s Ph.d.It is really hard to understand. Now , I have finished the first three chapters. Another important thing is to learn how to use the boost library, Meanwhile , I will continue to write the other patches for the MOSES.
The Opencog is really an interesting project, I love it and I am willing to contribute to it.
Saturday, March 28, 2009
Built Opencog on cygwin
Now it can be built on the platform of some GNU/LINUX distributions, like Unbuntu/Debian, Fedora,Gentoo,etc. And it is also can be built with Visual Studio, but it can not built on the cygwin now. I think it is very interesting to built it on the cygwin. So I cosider that I could have a try if I have the time.
In the past days, I have built it on the cygwin , but it have lots of errors, the mainly error is the lack of packages . Considering I have to be ready for applying the GSoC, so I decide to delay builting it on the cygwin. In order to build it succesfull on cygwin, the following steps are very necessary:
1. install the dependency packages that the opencog need. If there is not exist on cygwin , I should build the packages from the source on the cygwin first.
2. maybe the opencog's code should be modified to meet the need on the cygwin. so this step is to reading the code and port it to cygwin, which is a huge project for me now.
3. built it on the cygwin, and do the iterative until it successful.
It is really a lot of work to do if it can be built on cygwin. Maybe , I could do that after the GSoC.
PS:
I have built it on my cygwin, and the error log is in my Google Docs , the next step is to install the packages in the coming days.
Wednesday, March 25, 2009
GSoC Application
In the past week, I spend most of my time to know the MOSES and Opencog. I'v read Dr Moshe's thesis and the wiki of Opencog. The mailing list and the IRC are the spcace I hang about.
Now, today I was finished the proposal of improved hBOA and send it out and ask for some suggestion.