GithubHelp home page GithubHelp logo

pierre-menard's Introduction

Pierre Menard

There is no exercise of the intellect which is not, in the final analysis, useless.

-- "Pierre Menard, Author of the Quixote", Jorge Luis Borges

Pierre Menard started as an attempt to implement Hierarchical Temporal Memory Cortical Learning Algorithms, as described in the Numenta whitepaper (Version 0.2.1, September 12, 2011) in Clojure after seeing Jeff Hawkins speak at Strange Loop 2012.

Now, this isn't what Pierre Menard is. Instead I've been spending a few weeks reading up on the background around various "cognitive" systems. To be frank, I was treading water a bit - I was bouncing back and forth between paper after paper in Answer Set Programming, Functional Logic Programming, Co-Inductive Logic Programming, and started slowly feel that I was missing the big picture.

So I needed some new inspiration, and Jeff Hawkins' keynote did set me down this road, which initially was pretty humble, just trying to understand the pseudo code in the Numenta whitepaper, but I realized I needed a better, both technical and critical, understanding of the different pieces here.

There are many interesting papers and thoughts out there, but they take time to analyze and consolidate into a working model of software. One key is to program and compose emergent behavior - I don't know exactly how to describe what I mean here, but we'll know it when we see it. Another key is to get the computer to help us on the way - to explain what its doing and why, and suggest alternatives. These two aren't necessarily dependent on each other. A third key is potentially continental philosophy - this is not so much to provide answers, but to help detect shortcuts - both to take and avoid.

As a side note - many papers talk about AI - while I still think "programming", and I'm not sure if that's because I have a too broad or optimistic view of what programming is or can be, a misappropriation of AI and machine learning (this is very likely), or if it can be attributed to arbitrary delineations between the different kinds of "computing". I'm mainly interested in efficiently make the computer do what I want, and most of the work, instead of the other way around.

And I'm finally starting to see overlap between the references in De Landa "Philosophy and Simulation" (2011) and papers I currently read, but arrived at from a different angle. There's a pattern here somewhere, and, to paraphrase Jeff: "I have a feeling its going to be important". Potentially what is needed is a book describing the ideas and findings - again, taking cue from Jeff - "On Intelligence" (2004) is a book that calls for of action, not one that has all the answers.

Pierre Menard is a scratch pad. It's not a new rule engine, language or an IDE, its a creation of a concept, similar to what was and is, but also, what is yet to be. More concretely, I aim to explore an intersection of ideas around sparse distributed representation, hyper-dimensional computing, fluid analogies, quantum neural networks, cortical learning, production systems and functional logic programming applied to human style problem solving.

And "what about Deuce?" - I will keep working on Deuce, it is a totally different form of programming, it needs a different type of problem solving, more engineering and heavy lifting, and less theoretical thinking. I plan to work on both Pierre Menard and Deuce for at least 2013.

And "what about Deleuze?" - that's what I wanna know!

References

Hierarchical Temporal Memory - including HTM Cortical Learning Algorithms (Version 0.2.1) Jeff Hawkins, et al, 2011

Hyperdimensional Computing: An Introduction to Computing in Distributed Representation with High-Dimensional Random Vectors Pentti Kanerva, 2009

Sparse Distributed Memory: Principles and Operation Pentti Kanerva et al, 1989

Simple principles of cognitive computation with distributed representations Blerim Emruli, 2012

Integer Sparse Distributed Memory and Modular Composite Representation Javier Snaider, 2012

Comparison Between Kanerva's SDM and Hopfield-Type Neural Networks James Keeler, 1988

What Might Categories do for AI and Cognitive Science? Jocelyn Ireson-Paine, 2009

How Minds Work: Tutorial Stan Franklin, 2008 - "How Minds Work is intended to give a detailed picture of several mechanisms of mind combined to produce a conceptual model of cognition in the context of a human-like software agent".

Quantum Computation via Sparse Distributed Representation Gerald Rinkus, 2012 "SDR, which entails no new, esoteric technology, is the key to achieving quantum computation in a single-processor, classical (Von Neumann) computer." - this sounds like hyperbole, but I know too little about this field, and such statements obviously at the same time peaks my interest.

Neural Cognitive Modelling: A Biologically Constrained Spiking Neuron Model of the Tower of Hanoi Task Terrence C. Stewart and Chris Eliasmith, 2011

The Copycat Project: A Model of Mental Fluidity and Analogy-making Douglas Hofstader and Melanie Mitchell, 1995

FAE: The Fluid Analogies Engine. A Dynamic, Hybrid Model of Perception and Mental Deliberation Scott William Bolland, 2005

The emergence of choice: Decision-making and strategic thinking through analogies Alexandre Linhares, 2009

The Self-Organizing Map Teuvo Kohonen, 1990

Beyond Containing: Associative Storage and Memory The "Putnam Program", 2012 - This is an interesting blog, has loads of pretty dense stuff on the future of computing, AI, Machine Learning, Architecture and Philosophy - including continental stuff like Deleuze and Foucault.

Mindstorms Seymour Papert, 1980 - link is for "The Gears of My Childhood", the foreword of Mindstorms.

Computer Power and Human Reason: From Judgment To Calculation Joseph Weizenbaum, 1976

What Is Philosophy? Gilles Deleuze and Felix Guattari 1994

The Brain Is the Screen: Deleuze and the Philosophy of Cinema Gregory Flaxman (ed.), 2000

Philosophy and Simulation: The Emergence of Synthetic Reason Manuel De Landa, 2011

Deleuze and Computers Alexander R. Galloway, 2011

Manuel De Landa - The Philosophy of Gilles Deleuze Manuel De Landa, 2007

Metafor: Visualising Stories as Code Hugo Liu and Henery Lieberman, 2005

Natural Language, Semantic Analysis and Interactive Fiction Graham Nelson, 2005, revised 2006

Approaches to Automatic Programming Charles Rich and Richard C. Waters, 1992

STEPS Toward Espressive Programming Systems Viewpoints Research Institute, 2011

Elephant 2000: A Programming Language Based on Speech Acts John McCarthy, 1998 - I've read this paper a few times over the years, and have mixed feelings, but still keep coming back.

Pierre Menard, Author of the Quixote Jorge Luis Borges, 1939

The Sokal Affair Wikipedia, regarding the github description joke.

License

"Use of Numenta’s software and intellectual property, including the ideas contained in this document, are free for non-commercial research purposes. For details, see http://www.numenta.com/about-numenta/licensing.php."

Copyright © 2012 Håkan Råberg

Distributed under the Eclipse Public License, the same as Clojure.

pierre-menard's People

Stargazers

Tyler DiBartolo avatar johann bestowrous avatar DT Mirizzi avatar  avatar javier abanses avatar Don Jackson avatar  avatar Neil Ashton avatar Andrés Gu avatar Julien avatar Luca Antiga avatar

Watchers

Håkan Råberg avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.