Author Archives: Linas Vepstas

About Linas Vepstas

Computer Science Researcher

Smart Contract Blockchains

Blockchains and smart contracts are all the rage, these days. What does this have to do with OpenCog? ¬†Let me explain. TL;DR: The idea of a block-chain comes from the idea of block ciphers, where you want to securely sign … Continue reading

Posted in Design, Theory, Uncategorized | 2 Comments

Many Worlds: Reasoning about Reasoning

When one reasons about the world, what is one actually doing? This post is about that. Its also about some abstract nonsense. Continue reading

Posted in Design, Development, Theory | 7 Comments

What is consciousness?

Building a conscious, self-aware computer might not be hard: it just needs an accurate internal model of its own thinking that it can think about, and control. Continue reading

Posted in Design, Theory | 45 Comments

Why Hypergraphs?

I’ve recently been hacking on creating a new parser for the Link Grammar theory of natural language parsing. I want to couple parsing to machine learning (ML), to that I can use ML to learn natural languages. To do that, I need to place everything in a certain abstract data representation framework that allows graph rewrite rules, logical reasoning, and Bayesian probabilistic reasoning to be combined. This framework exists in OpenCog, but few people know or understand this. That this framework also has a firm foundation in model theory, category theory (even n-categories!) and type theory is even less well known. To explain all this, I just wrote a simple, easy introduction to all of these ideas, and how they come together. Follow the link for more. Continue reading

Posted in Design, Introduction, Theory | Tagged , , , , , , , , , | 39 Comments

The Viterbi Parser

The new Viterbi decoder for Link Grammar should offer better integration with higher level semantic algorithms! Continue reading

Posted in Design, Development, Theory | Tagged , , , , , , | 3 Comments

The MOSES Metapopulation

Or, how to select a promising species for mutation. Continue reading

Posted in Design, Documentation, Theory | Tagged , , , | 6 Comments

Genetic Crossover in MOSES

MOSES is a system for learning programs from input data. ¬†Given a table of input values, and a column of outputs, MOSES tries to learn a program, the simplest program that can reproduce the output given the input values. The … Continue reading

Posted in Design, Documentation, Introduction, Theory | Tagged , , , , , | 2 Comments