Ai Dreams Forum

Member's Experiments & Projects => General Project Discussion => Topic started by: Zero on December 11, 2019, 07:22:19 pm

Title: "Tinycog on a Pi" (wannabe)project
Post by: Zero on December 11, 2019, 07:22:19 pm
Heard of Tinycog (https://github.com/opencog/TinyCog)? Tiny is pretty, right? Tinycog's like Opencog, but more pretty-tiny-kawaiiii.

I already own a Makeblock Starter kit (http://learn.makeblock.com/en/starter-robot-kit/) (btw, don't buy one, doc is nowhere and support is shit). I'll buy a xmas Raspberry Pi3 B+ (I don't like the new Pi4), connect it to the bot, install Tinycog and try to make it run.

If I do it, I'll give you news right in this thread.
Title: Re: "Tinycog on a Pi" (wannabe)project
Post by: WriterOfMinds on December 11, 2019, 08:56:27 pm
I'm interested in Cog but haven't had time to study it, so I will be happy for any vicarious pickup of how it works.
Title: Re: "Tinycog on a Pi" (wannabe)project
Post by: ivan.moony on December 12, 2019, 10:53:10 am
A short OpenCog resume

I had a look at OpenCog documentation, and talked to authors about it. Here is what I concluded: OpenCog is a set of tools for crunching data related to AI. It is partially programmed in Scheme (a flavor of Lisp), Python, and C/C++.

Reasoning tool:
At the heart of OpenCog there is Atomspace, a custom hypergraph database for manipulating basic concepts. To manipulate atoms, there exists URE (Unified Rule Engine - that actually behaves analogously to natural deduction system (https://en.wikipedia.org/wiki/Natural_deduction) or Hilbert calculus (https://en.wikipedia.org/wiki/Hilbert_system)). URE is an inference engine that supports forward (https://en.wikipedia.org/wiki/Forward_chaining) and backward (https://en.wikipedia.org/wiki/Backward_chaining) chaining using custom rules. On top of URE there is defined PLN (Probabilistic Logic Network), which is a flavor of classical logic that operates on analogical probability values instead of crisp true/false pair. PLN is mostly defined in URE, while for performance reasons, some parts are defined in some of lower level languages (Scheme/Python/C/C++).

And there is lispish Atomese which may be considered as an input language for performing logical reasoning in OpenCog. Input problems written in Atomese take a form of lispish expressions containing predicates, logical operators, probability values, lambda expressions, or other concepts that include interfacing other parts of OpenCog.

Other tools:
Title: Re: "Tinycog on a Pi" (wannabe)project
Post by: Zero on December 12, 2019, 02:34:58 pm
The Atomspace reminds me of the Consnet, but it's less radical and more efficient than the Consnet.

One interesting aspect is the query system, which works both ways:
Quote
Just like ordinary databases, a a single query can find all matching graphs. Unlike others, this can be run in reverse: a single graph can be used to find all queries that would have matched it. Reverse queries are extremely common in chatbot systems, where one must fish out a limited set of rules from out of a big sea of possibilities. We believe that (as of this writing) that there is no other general-purpose database system out there that supports reverse queries.

https://github.com/opencog/atomspace (https://github.com/opencog/atomspace)
https://wiki.opencog.org/w/Atom_types (https://wiki.opencog.org/w/Atom_types)
Title: Re: "Tinycog on a Pi" (wannabe)project
Post by: goaty on December 13, 2019, 11:57:02 am
If the "robo-brain" runs on an Arduino that is a really cool thing to have,  im following suit myself,   wanting extreme hardware for the computation is terrible when putting together the final product, if its possibly avoidable its a very good thing.    Makes tight optimization a necessity, and its more of a marvel if the robot was quite good anyway.  Also,  if it runs on an old computer, excellent, would make ppl laugh too.    Also, if it were to be miniaturized to the size of a nanobot, anything more than an Arduino would be too complex to miniaturize. :)

.


.
Title: Re: "Tinycog on a Pi" (wannabe)project
Post by: Zero on December 16, 2019, 10:03:32 am
Bad news here, this "thing on a Pi" won't happen.

But this is because of a good news: I have a brand new laptop! A real one I mean, 16Gb Ram, 512Gb SSD... compared to my old 1Gb/32Gb 13" (where right arrow key was missing), it's Las Vegas now. Do you realize how much your keyboard's right arrow is important? Une seule touche vous manque, et tout le clavier est dépeuplé... (https://forum.wordreference.com/threads/un-seul-%C3%AAtre-vous-manque-et-tout-est-d%C3%A9peupl%C3%A9.120763/)

I'm still studying Opencog, which can be a great source of inspiration.
Title: Re: "Tinycog on a Pi" (wannabe)project
Post by: goaty on December 17, 2019, 09:24:55 am
I can code voice recognition on qbasic,   its true you can.
Title: Re: "Tinycog on a Pi" (wannabe)project
Post by: Zero on December 17, 2019, 02:26:23 pm
I believe that.
When I was kid, I was disappointed not to find an "edit" command in Locomotive Basic, which would allow self-modifying programs...