Linas, thanks for a thoughtful explanations :-) 2017-05-10 2:53 GMT+02:00 Linas Vepstas <[email protected]>:
> Hi Ivan, > > On Tue, May 9, 2017 at 6:19 PM, Ivan Vodišek <[email protected]> wrote: > >> I think it was a very good decision not to be tied to a specific logic >> system, but to go a level further - to develop Atomese that can describe >> any system. I just don't get why didn't all of OpenCog add-ons (like MOSES) >> developed in Atomese. >> > > History. The moses vertex was supposed to be the same thing as the atom; > that was always the intent, but no one really knew how to design an atom > correctly. It still doesn't quite feel right, it still seems kind-of > heavy, clunky, somehow. > > Anyway, given the pressure of writing code and getting good performance > out of it ... design decisions get made, and the moses vertex-atom was > created before the opencog-atom was fully designed. > > >> Why do you still have to use C, Scheme, Python and possibly other >> languages? >> > > Because atomese is a horrible language for humans. Its not meant for > humans -- its really like an IL, its meant to hold data structures that > algorithms can mutate into various forms. > > It would be cool if we had a compiler for it, but that does not yet seem > urgent, and might be premature, its still not clear that everything got > done right. > > >> In my opinion, universal rule rewriting system such is Atomese powered by >> chainers (did I get it right?) should be as complete as lambda calculus, >> thus should be capable to describe any conceivable algorithm. >> > > Uh, yes, there is an explicit lambda atom in atomese, and also an explicit > beta-reduction atom, and the evaluator can evaluate them, so you can > certainly map all of lambda calculus on there. You can even do a typed, > probabilistic lambda calculus; atomese has a fairly rich type system. > > http://wiki.opencog.org/w/LambdaLink_and_ScopeLink > http://wiki.opencog.org/w/PutLink > > http://wiki.opencog.org/w/Cog-evaluate! > http://wiki.opencog.org/w/Cog-execute! > > > I mean, I guess you could layer lisp or scheme on to of atomese, but it > would be painfully slow, with the current evaluator, and would be quite > bloated, since atoms are fat. Atoms get indexed in the atomspace, and that > ends up being costly in both cpu and ram. > > We index them because we want to use the atomspace for KR... which > conflicts with using them only for performing calculations. Its a > balancing act, its hard to figure out where the imbalance is. > > --linas > >> >> >> >> 2017-05-10 0:56 GMT+02:00 Linas Vepstas <[email protected]>: >> >>> Yes, opencog atomese is very much influenced by ideas from prolog. >>> >>> However, unlike flora2 and ergo, it just seemed easier to cut loose and >>> ignore all the other buzz-words: "semantic web" "W3C", RIF, etc because >>> trying to track all of that, being buzzword compliant, was just wayyy too >>> much work. >>> >>> Also, atomsese is unlike prolog (or flora or ergo) because it's very >>> interested in probabilistic methods: have not boolean true/false, but have >>> probabilities attached to everything. this means that in the end, all the >>> buzzwords in flora/ergo would need to get ported to a probabilistic, >>> uncertain-inference framework. And that changes the game completely. >>> >>> Also, another difference: those urls mention >>> https://en.wikipedia.org/wiki/F-logic whereas atomese is a >>> "meta-logic", so that you can layer f-logic or whatever your favorite >>> system or logic, on top of atomese. It tries hard to not care about what >>> logic or KR system you want to use. It got pushed that way because of the >>> goofy arguments between Pei Wang's NARS group, and Opencog's PLN: I just >>> said -- screw it, make a system that can do either or both at the same >>> time. whatever structure or formula you want to use .. Bayesian >>> probability or something else ... its up to you. The chainers and the >>> pattern tools are meant to be generic. >>> >>> >>> >>> --linas >>> >>> >>> On Tue, May 9, 2017 at 3:09 PM, Dmitry Ponyatov <[email protected]> >>> wrote: >>> >>>> but I am not pursuing this path because I want object-oriented code - >>>>> the generated code should be of industrial quality. >>>>> >>>> >>>> I see Prolog-derivatives as implementation of backtracking reasoner on >>>> top of hypergraph knowledge base -- prolog rules look like exclusively >>>> hypergraph beast. >>>> >>>> Maybe you should look here ? This Ergo/Flora system include mix of >>>> >>>> - Minsky frames looks like native representation for object-based >>>> software systems, and >>>> - Transactional Reasoning represents state machines behavior in >>>> logic programming domain. >>>> >>>> https://sites.google.com/a/coherentknowledge.com/ergo-suite-tutorial/ >>>> >>>> and free core at http://flora.sourceforge.net/ >>>> >>>> Flora-2 (a.k.a. Ergo Lite) is an advanced object-oriented knowledge >>>> representation and reasoning system. It is a dialect of F-logic with >>>> numerous extensions, including meta-programming in the style of HiLog, >>>> logical updates in the style of Transaction Logic, and defeasible >>>> reasoning. Applications include intelligent agents, Semantic Web, >>>> knowledge-based networking, ontology management, integration of >>>> information, security policy analysis, and more. >>>> >>>> >>>> >>>> At first time I thought about opencog as a partner for Flora, firstly, >>>> as a visualization tool (it seems Flora lacks it) and as a generic engine >>>> for non-backtracking applications. >>>> But I found lot of problems with opencog nonportability and lack of >>>> prebuilt packages for Debian Linux, not speaking about necessity to shove a >>>> buggy virtualbox to my win32 host system. >>>> >>>> Now I'm playing with http://hypergraphdb.org as standin for opencog at >>>> this role. >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "opencog" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To post to this group, send email to [email protected]. >>>> Visit this group at https://groups.google.com/group/opencog. >>>> To view this discussion on the web visit https://groups.google.com/d/ms >>>> gid/opencog/7ead7c35-ec95-4ddf-874c-0f4ddb38a935%40googlegroups.com >>>> <https://groups.google.com/d/msgid/opencog/7ead7c35-ec95-4ddf-874c-0f4ddb38a935%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "opencog" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To post to this group, send email to [email protected]. >>> Visit this group at https://groups.google.com/group/opencog. >>> To view this discussion on the web visit https://groups.google.com/d/ms >>> gid/opencog/CAHrUA35mEEiUx6boeWxR4TmtknrUTOLmt2_yNwdmHY8%3D5 >>> A3LCw%40mail.gmail.com >>> <https://groups.google.com/d/msgid/opencog/CAHrUA35mEEiUx6boeWxR4TmtknrUTOLmt2_yNwdmHY8%3D5A3LCw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "opencog" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at https://groups.google.com/group/opencog. >> To view this discussion on the web visit https://groups.google.com/d/ms >> gid/opencog/CAB5%3Dj6XA7T2E-MKO69_z0sPQWM%2BjftaG3rHbqTCA7YT >> %2BaucsVw%40mail.gmail.com >> <https://groups.google.com/d/msgid/opencog/CAB5%3Dj6XA7T2E-MKO69_z0sPQWM%2BjftaG3rHbqTCA7YT%2BaucsVw%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> >> For more options, visit https://groups.google.com/d/optout. >> > > -- > You received this message because you are subscribed to the Google Groups > "opencog" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/opencog. > To view this discussion on the web visit https://groups.google.com/d/ > msgid/opencog/CAHrUA36QY_TVh4EGM1yv9WMb9WW2FtU1etm18dxT > O_DrqhKPWA%40mail.gmail.com > <https://groups.google.com/d/msgid/opencog/CAHrUA36QY_TVh4EGM1yv9WMb9WW2FtU1etm18dxTO_DrqhKPWA%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "opencog" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/opencog. To view this discussion on the web visit https://groups.google.com/d/msgid/opencog/CAB5%3Dj6VAJdH_i_1bmCL8CPKwwTTTLhVJiMvoQ9QKef9kow-n4w%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
