Angel \”Java\” Lopez on Blog

September 27, 2013

Thinking A Bot (2)

Filed under: Artificial Intelligence, Bot, NodeJs, Open Source Projects, SimpleBot — ajlopez @ 7:09 pm

Previous Post

Yesterday, I started a new Node.js module project:

https://github.com/ajlopez/SimpleBot

And today, I have a very simple version 0.0.1 running, with a sample application.

Reference in your program:

var simpletbot = require('simplebot');

Create, configure and launch a bot:

var bot = simplebot.createBot();

bot.use(plugin1);
bot.use(plugin2);
bot.use(plugin3);

bot.start();

A plugin can:

  • Produce incoming messages to be processed by the bot and its plugins
  • Emit out coming messages using the bot
  • Subscribe and process incoming message sent the bot
  • Process out coming messages from the bot

See the README.md, test and samples folder for more detailed information. All is work in progress.

Keep tuned!

Angel “Java” Lopez

http://www.ajlopez.com

http://twitter.com/ajlopez

September 26, 2013

Thinking a Bot (1)

Filed under: Artificial Intelligence, Bot, JavaScript, NodeJs, Open Source Projects — ajlopez @ 11:49 am

Next Post

Yesterday, this project entered in my radar:

http://hubot.github.com/

GitHub, Inc., wrote the first version of Hubot to automate our company chat room. Hubot knew how to deploy the site, automate a lot of tasks, and be a source of fun in the company. Eventually he grew to become a formidable force in GitHub. But he led a private, messy life. So we rewrote him.

Today’s version of Hubot is open source, written in CoffeeScript onNode.js, and easily deployed on platforms like Heroku. More importantly, Hubot is a standardized way to share scripts between everyone’s robots.

Interesting, isn’t it? And it’s using Node.js. You know my position: JavaScript + Node.js + TDD is butter ;-)

Some months ago, I started to play with autonomous agents, see my Spanish post

Inteligencia Artifical en C# (1) Primeros Agentes

and projects:

https://github.com/ajlopez/SharpAima
https://github.com/ajlopez/NodeAima

(Node.js version was easier, less types, no friction)

My idea is to implement autonomous agents a la Russell Norvig:

 

And now, a bot in Node.js with plugins could be a first path to explore, to have a concrete implementation. An “intelligent” bot is an agent. Let’s explore the idea and implementation.

First: the bot is not related to chat, SMS, email servers, git account, etc. No. A bot is an entity with:

- Input channels (“percepts” in the above picture), to receive message from the environment
- Output channels, to send message to the environment
- Plug-ins

Each plug-in could:

- Implement an input channel, i.e., a plug-in could connect to a chat session, read message from it, and send them to the bot. Or a plug-in that reads messages from a remote queue. Or a plug-in that reads data from a physical sensor.
- Implement an output channel, the same bot could send message from bot to the chat room. Or an output channel could manage LEDs in Raspberry or Arduino.
- Subscribe to messages, i.e. saying “all message that starts with ‘github ‘” are important to me.
- Send message to bot output channel(s)
- Do something, imagine a plug-in to run Grunt tasks, or run tests in a project

A picture:

Each plug-in could be implemented as a JavaScript module, to be install using NPM (Node Package Manager). And it could be tested in isolation. The bot behavior should be simple: a coordinator. And again, it could be build easily using TDD, asynchronous call in Node.js.

A message can be:

- A simple string
- A simple object (ready to be serialized as JSON, if needed)

Some methods would receive a message, and an additional object (named options?) with additional information, like original channel, etc… But I prefer to start simple. Remember:

Baby steps, make it works, make it right, make it fast

More ideas: there could be channels between bots, even distributed bots.

Some of these ideas are implemented in projects mentioned in my post

Distributed Applications and Node.js

It’s time to put these ideas to work.

Keep tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

February 28, 2013

Artificial Intelligence: Links And Resources (3)

Filed under: Artificial Intelligence, Links — ajlopez @ 2:23 pm

Previous Post

Can Computers Create?
http://www.computerhistory.org/revolution/computer-graphics-music-and-art/15/231
The AARON Paint System was ever-evolving and by the mid-1980s had a set of rules that allowed it to draw figures situated in quasi-realistic ‘gardens.’
 
AI vs. AI. Two chatbots talking to each other
http://www.youtube.com/watch?v=WnzlbyTZsQY&feature=player_embedded
 
A Review of The Art of the Metaobject Protocol
 http://dreamsongs.com/Files/amop-review.pdf

Reinforcement Learning: An Introduction
http://webdocs.cs.ualberta.ca/~sutton/book/ebook/the-book.html

Prescient but Not Perfect: A Look Back at a 1966 Scientific American Article on Systems Analysis
http://blogs.scientificamerican.com/at-scientific-american/2011/08/23/systems-analysis-look-back-1966-scientific-american-article/

AI Class
https://www.ai-class.com/

How a computer beat Civilization by RTFM
http://arstechnica.com/science/2011/07/how-a-computer-beat-civilization-by-rtfm/

Who Killed Prolog?
http://vanemden.wordpress.com/2010/08/21/who-killed-prolog/

Computer learns language by playing games
 http://web.mit.edu/newsoffice/2011/language-from-games-0712.html
By basing its strategies on the text of a manual, a computer infers the meanings of words without human supervision.

¿Puede la inteligencia artificial ser nuestra guía en Internet?
http://www.technologyreview.es/read_article.aspx?id=38000

Gmail’s Friend Suggest Algorithm
http://googlesystem.blogspot.com.ar/2011/07/gmails-friend-suggest-algorithm.html

Natural Language Processing With Prolog in the IBM Watson System
http://www.cs.nmsu.edu/ALP/wp-content/uploads/2011/03/PrologAndWatson1.pdf

Now That They’ve Won on Jeopardy!, Man-Made Minds Take on Isaac Newton

Read more: Man-Made Minds Take on Isaac Newton at World Science Festival 2011 – Popular Mechanics
http://www.popularmechanics.com/technology/engineering/robots/man-made-minds-take-on-isaac-newton-at-world-science-festival-2011?click=pm_news#slide-1

Whatever happened to artificial intelligence?
https://www.ibm.com/developerworks/mydeveloperworks/blogs/business-analytics/entry/whatever_happened_to_artificial_intelligence?lang=en_us
At a recent business analytics event, Lennart Frantzell demonstrated how (at least at a practical level) there has been a shift in business computing from Artificial Intelligence (AI) to Business Analytics

Artificial Intelligence, Introduction & Application (Part I)
http://www.nicepedia.com/information-technology/artificial-intelligence-introduction-application-part-i/

ACT-R
http://act-r.psy.cmu.edu/
ACT-R is a cognitive architecture: a theory for simulating and understanding human cognition. Researchers working on ACT-R strive to understand how people organize knowledge and produce intelligent behavior.
http://act-r.psy.cmu.edu/about/

Python ACT-R
https://sites.google.com/site/pythonactr/
Python ACT-R is an re-implementation of ACT-R, which is written in LISP

The Myth of the Three Laws of Robotics – Why We Can’t Control Intelligence
http://singularityhub.com/2011/05/10/the-myth-of-the-three-laws-of-robotics-why-we-cant-control-intelligence/

RobotIA
http://robotia.com.ar/

Can Robots with ‘Good Samaritan’ DNA Evolve?
http://www.dailygalaxy.com/my_weblog/2011/05/can-robots-with-altruism-genes-evolve.html

My Links
http://delicious.com/ajlopez/artificialintelligence

Keep tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

February 27, 2013

Artificial Intelligence: Links And Resources (2)

Filed under: Artificial Intelligence, Links — ajlopez @ 5:24 pm

Previous Post
Next Post

ARTIFICIAL INTELLIGENCE 249 AM: A Case Study in AI Methodology
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.89.4342

PREPARING FOR THE NEXT GOOGLE AI CHALLENGE
http://aerique.blogspot.com.ar/2011/03/preparing-for-next-google-ai-challenge.html

Alan Turing and the Electric Monk Overlords
http://crispian-jago.blogspot.com.ar/2011/03/alan-turing-and-electric-monk-overlords.html

Turing Test Online
http://testing.turinghub.com/

Microsoft Research Watch: AI, NoSQL and Microsoft’s Big Data Future
http://www.readwriteweb.com/cloud/2011/03/microsoft-research-watch-ai-nosql-big-data.php

So what is AI?
http://agtb.wordpress.com/2011/03/16/so-what-is-ai/

Turing award goes to ‘machine learning’ expert
http://phys.org/news/2011-03-turing-award-machine-expert.html

Rock-Paper-Scissors: You vs. the Computer
http://www.nytimes.com/interactive/science/rock-paper-scissors.html

A Framework for Representing Knowledge
http://web.media.mit.edu/~minsky/papers/Frames/frames.html
By Marvin Minsky

IBM Watson’s win at Jeopardy! is also a success story for Prolog
https://groups.google.com/forum/?fromgroups#!topic/comp.lang.prolog/SxnIxeONq_E

Automaton, Know Thyself: Robots Become Self-Aware
http://www.scientificamerican.com/article.cfm?id=automaton-robots-become-self-aware

IBM Watson: Ushering in a new era of computing
http://www-03.ibm.com/innovation/us/watson/

Saber la respuesta no significa entenderla
http://www.lanacion.com.ar/1350782-saber-la-respuesta-no-significa-entenderla

Jeopardy Goes to Hadoop
http://nosql.mypopescu.com/post/3406224331/jeopardy-goes-to-hadoop

Can anyone afford an IBM Watson supercomputer? (Yes)
http://www.computerworld.com/s/article/9210381/Can_anyone_afford_an_IBM_Watson_supercomputer_Yes_

Jeopardy: IBM’s Watson almost sneaks wrong answer by Trebek
http://arstechnica.com/business/2011/02/ibms-watson-tied-for-1st-in-jeopardy-almost-sneaks-wrong-answer-by-trebek/

Algorithmic Game Theory and AI
http://agtb.wordpress.com/2011/01/15/agt-and-ai/

Algorithmic Game Theory and Artificial Intelligence
http://www.aaai.org/ojs/index.php/aimagazine/issue/view/192/showToc

Co-evolving parasites improve simulated evolution as an optimization procedure
http://dl.acm.org/citation.cfm?id=87506.87560

W. Daniel Hillis
http://en.wikipedia.org/wiki/W._Daniel_Hillis
William Daniel “Danny” Hillis (born September 25, 1956, in Baltimore, Maryland) is an American inventor, entrepreneur, and author. He co-founded Thinking Machines Corporation, a company that developed the Connection Machine, a parallel supercomputer designed by Hillis at MIT. He is also co-founder of the Long Now Foundation, Applied Minds, Metaweb, and author of The Pattern on the Stone: The Simple Ideas That Make Computers Work.

Is Game Theory (Artificially) Intelligent?
http://agtb.wordpress.com/2011/01/18/is-game-theory-artificially-intelligent/

Un superordenador derrota a los humanos en un concurso de TV
http://www.publico.es/ciencias/356334/un-superordenador-derrota-a-los-humanos-en-un-concurso-de-tv

artificial intelligence | machine learning
http://see.stanford.edu/see/lecturelist.aspx?coll=348ca38a-3a6d-4052-937d-cb017338d7b1

IBM and the Jeopardy Challenge
http://www.youtube.com/watch?v=FC3IryWr4c8

Jeopardy-Playing Computer Tromps Human Players in Practice Round
http://blogs.discovermagazine.com/80beats/2011/01/13/ibms-jeopardy-playing-computer-tromps-human-players-in-practice-round/

The AI Revolution Is On
http://www.wired.com/magazine/2010/12/ff_ai_essay_airevolution/

Ray Kurzweil: The Mind and How To Build One (video)
http://singularityhub.com/2010/12/21/ray-kurzweil-the-mind-and-how-to-build-one-video/

Kurzweil y la neurociencia
http://pacotraver.wordpress.com/2010/12/26/kurzweil-y-la-neurociencia/

Genetic Algorithm For Hello World
http://www.puremango.co.uk/2010/12/genetic-algorithm-for-hello-world/

This Week’s Debate: “Machines Can’t Understand”
http://www.dailygalaxy.com/my_weblog/2010/12/this-weeks-debate-machines-cant-understand.html

Hungarian Lisp developer walks away with Google AI contest
http://www.zdnet.com/blog/burnette/hungarian-lisp-developer-walks-away-with-google-ai-contest/2131

Google AI Challenge: Languages Used by the Best Programmers
http://www.r-chart.com/2010/12/google-ai-challenge-languages-used-by.html

Intelligent Mobile Robot Navigation
http://www.amazon.com/Intelligent-Navigation-Springer-Advanced-Robotics/dp/3642063020

Can Mobile Phones Think?
http://gigaom.com/2010/11/26/can-mobile-phones-think/

My Links
http://delicious.com/ajlopez/artificialintelligence

Keep tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

February 26, 2013

Artificial Intelligence: Links and Resources (1)

Filed under: Artificial Intelligence, Links, Machine Learning — ajlopez @ 4:33 pm

Next Post

This is my first post of links about this fascinating and wide topic. See my other posts about Artificial Intelligence.

http://en.wikipedia.org/wiki/Artificial_intelligence

Artificial intelligence (AI) is the intelligence of machines and the branch of computer science that aims to create it. AI textbooks define the field as “the study and design of intelligent agents”[1] where an intelligent agent is a system that perceives its environment and takes actions that maximize its chances of success.[2] John McCarthy, who coined the term in 1955,[3] defines it as “the science and engineering of making intelligent machines.”[4]

AI research is highly technical and specialized, deeply divided into subfields that often fail to communicate with each other.[5] Some of the division is due to social and cultural factors: subfields have grown up around particular institutions and the work of individual researchers. AI research is also divided by several technical issues. There are subfields which are focussed on the solution of specificproblems, on one of several possible approaches, on the use of widely differing tools and towards the accomplishment of particularapplications. The central problems of AI include such traits as reasoning, knowledge, planning, learning, communication, perception and the ability to move and manipulate objects.[6] General intelligence (or “strong AI”) is still among the field’s long term goals.[7] Currently popular approaches include statistical methods, computational intelligence and traditional symbolic AI. There are an enormous number of tools used in AI, including versions of search and mathematical optimization, logic, methods based on probability and economics, and many others.

AI Winter
http://en.wikipedia.org/wiki/AI_winter

History of artificial intelligence
http://en.wikipedia.org/wiki/History_of_artificial_intelligence

Programming with Natural Language Is Actually Going to Work
http://blog.wolfram.com/2010/11/16/programming-with-natural-language-is-actually-going-to-work/

Personal Robots Group
http://robotic.media.mit.edu/index.html

This Is Your Brain on Metaphors
http://opinionator.blogs.nytimes.com/2010/11/14/this-is-your-brain-on-metaphors/

Machine Learning: A Love Story
http://www.infoq.com/presentations/Machine-Learning

Natural language processing in Clojure, Go and Cython
http://blog.samibadawi.com/2010/10/natural-language-processing-in-clojure.html

La conciencia y su cerebro
http://pacotraver.wordpress.com/2010/10/29/la-conciencia-y-su-cerebro/
Somos organismos, no ángeles y nuestras mentes son órganos, no conductos por los que circule la verdad.

Ability to ‘see’ advances artificial intelligence
http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2010/10/17/BUOI1FSOCC.DTL
Eric Horvitz, a distinguished scientist at Microsoft Research, has an equally distinguished receptionist.

Computer beats human at Japanese chess for first time
http://www.newscientist.com/blogs/shortsharpscience/2010/10/computer-makes-the-winning-mov.html

Machine Learning for Bug Discovery
http://www.informaniac.net/2008/06/machine-learning-for-bug-discovery.html

A computer learns the hard way: By reading the Internet
http://io9.com/5659503/a-computer-learns-the-hard-way-by-reading-the-internet
At Carnegie-Mellon university, a massive computer system called NELL (Never Ending Language Learner) is systematically reading the internet and analyzing sentences for semantic categories and facts, teaching itself English and educating itself in human affairs.

Artificial Intelligence Conducts Better Experiments
http://news.softpedia.com/news/Artificial-Intelligence-Conducts-Better-Experiments-160320.shtml

Expert Systems and Prolog
http://www.i-programmer.info/programming/artificial-intelligence/1423-expert-systems-and-prolog.html

AI Winter
http://www.servinghistory.com/topics/AI_winter
In the history of artificial intelligence, an AI winter is a period of reduced funding and interest in artificial intelligence research.

Robots on TV: AI goes back to baby basics
http://www.newscientist.com/article/dn19470-robots-on-tv-ai-goes-back-to-baby-basics.html?DCMP=OTC-rss&nsref=tech

Deceptive robots hint at machine self-awareness
http://www.newscientist.com/article/mg20727794.800-deceptive-robots-hint-at-machine-selfawareness.html

A Rule-Based Inference Engine
which is Optimal and VLSI Implementable
http://www.cs.uky.edu/~lewis/papers/inf-engine.pdf

How the inference engine works
http://www.j-paine.org/students/lectures/lect3/node10.html
In simple rule-based systems, there are two kinds of inference, forward chaining and backward chaining.

Inference engine
http://en.wikipedia.org/wiki/Inference_engine

“The Selfish Biocosm” -A Radical Theory Says We’ve Already Received a Message from ET
http://www.dailygalaxy.com/my_weblog/2010/09/-the-selfish-biocosm-a-new-theory-says-weve-already-received-a-message-from-et.html
Gardner believes that we’ve already received a message from ET: a message coded into the laws and constants of our universe, including the inexplicable force we’ve named dark energy that’s accelerating cosmic expansion. His theory makes sense of the observation that the constants seems rigged in favor of the emergence of life.

The one computer to rule them all
http://blog.markwatson.com/

Is AI More Common Than Biological Intelligence Across the Universe?
http://blogs.discovermagazine.com/sciencenotfiction/2010/08/31/is-ai-more-common-than-biological-intelligence-across-the-universe/
In a recent article, Search for Extraterrestrial Intelligence (SETI) astronomer Seth Shostak makes an intriguing claim: SETI should start pointing its telescopes toward corners of the known universe that would be friendly not just to intelligent aliens but to artificial alien intelligence.

Top journals in Artificial Intelligence
http://academic.research.microsoft.com/RankList?entitytype=4&topDomainID=2&subDomainID=5&last=0&start=1&end=100

The greatest program ever written
http://www.kuro5hin.org/story/2001/8/10/12620/2164

ZX-81 Chess in 1k
http://users.ox.ac.uk/~uzdm0006/scans/1kchess/

Cognitive Computing Project Aims to Reverse-Engineer the Mind
http://www.wired.com/gadgetlab/2009/02/cognitive-compu/

My links
http://delicious.com/ajlopez/artificialintelligence

Keep tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

February 9, 2013

Programming Languages, Distributed Computing and Artificial Intelligence

It’s time to write a post, explaining my personal interest in some topics, like programming languages, messaging, distributed computing and artificial intelligence. English is not my mother tongue, so I’m afraid of not to be capable to express all what I want to transmit, but I hope this post will shade some light on my development activities.

I’m sure that most of you are interested in such topics. They are interesting, and studying and exploring them is a lot of fun. As software developers, we usually like to play with: writing a new programming language, implementing an existing one, building distributed applications, etc.

But in my case, there is a common ground for all these works. For example, programming languages. The current programming languages should be extended to support a better, with less friction, serialization of simple objects (without behavior, simple messages), to have distributed applications. There are two ways of doing it: extending the language with new syntax, or adding new libraries (see Scala and Akka as examples). So, in order to have a better understanding of what it is needed,  I wrote my own interpreted language (AjSharp), extended Smalltalk (AjTalk) to run distributed objects, writing agents and actors-like demos (AjAgents, and agents in AjSharp), distributed messaging (as in AjFabriq) and exploring JavaScript with Node.js (SimpleMessages, SimpleQueue, MultiNodes, SimpleRemote, SimpleActors… ), to have all in place to have an easy way of writing and running distributed applications. Ok, there are plenty of other projects that I could use. I wrote my own ones to practice and to better understanding of the underlying problems and opportunities. And to have my own fun :-)

But, why distributed computing? I’m convinced that is the path to explore to have new kind of applications. Fundamentally, applications that solve complex problem, that can be tackled using parallel computation, and horizontal scalability. Not only Big Data processing. There are life beyond analyze tweets in real-time. The idea is to attack artificial intelligence problems, using commodity hardware.

That is the big background picture on my development landscape: flexible programming languages; messaging to support distributed application communications; distributed applications for the next generation of problems to solve.

Yes, the next frontier. Where no man has gone before ;-)

Keep tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

June 23, 2012

Alan Turing: Links and Resources

Filed under: Artificial Intelligence, Computer History, Computer Science, Turing — ajlopez @ 10:18 am

Today is the 100th birthday of wartime code-breaker and pioneer of computer science Alan Mathison Turing. My collection of links about Turing, his ideas, his life, his machine, and related topics.

http://en.wikipedia.org/wiki/Alan_Turing

Alan Mathison Turing, OBE, FRS (play /ˈtjʊərɪŋ/ tewr-ing; 23 June 1912 – 7 June 1954), was an English mathematician, logician, cryptanalyst and computer scientist. He was highly influential in the development of computer science, providing a formalisation of the concepts of “algorithm” and “computation” with the Turing machine, which played a significant role in the creation of the modern computer.[1][2] Turing is widely considered to be the father of computer science and artificial intelligence.[3]

COMPUTING MACHINERY AND INTELLIGENCE
http://loebner.net/Prizef/TuringArticle.html
Turing, A.M. (1950). Computing machinery and intelligence. Mind, 59, 433-460

A Turing Machine built using LEGO
http://www.legoturingmachine.org/
In honor of the Alan Turing year 2012

Turing Round Up
http://aperiodical.com/2012/06/turing-round-up/

Una máquina de Turing de Lego
http://www.microsiervos.com/archivo/tecnologia/maquina-turing-lego.html
Para conmemorar el centenario del nacimiento del matemático y pionero de la informática Alan Turing unos aficionados han construido esta Máquina de Turing hecha con piezas de Lego,

El legado de un científico visionario
http://sociedad.elpais.com/sociedad/2012/03/20/actualidad/1332271841_073504.html

When Did That Happen?
http://pragprog.com/magazines/2011-12/when-did-that-happen
During the first or second week of December 1942—it’s impossible to be more precise—three men met for lunch at the Hay-Adams House in Lafayette Square in Washington, D.C. All of the men were geniuses and each of the three made separate, landmark contributions to the creation of electronic computers in the twentieth century.

Maquinaria computadora e inteligencia
http://www.etnassoft.com/biblioteca/maquinaria-computadora-e-inteligencia/

Embracing Uncertainty: The new machine intelligence
http://scpro.streamuk.com/uk/player/Default.aspx?wid=7739

A turing machine in 133 bytes of javascript
http://swizec.com/blog/a-turing-machine-in-133-bytes-of-javascript/swizec/3069

Swizec Gist
https://gist.github.com/1449124
How Dr. Seuss would prove the halting problem undecidable
http://ebiquity.umbc.edu/blogger/2008/01/19/how-dr-suess-would-prove-the-halting-problem-undecidable/

Alan Turing: Una historia de nazis y matemáticas
http://corralmatematico.wordpress.com/2011/08/31/alan-turing-una-historia-de-nazis-y-matematicas/

World War II Enigma Buster Alan Turing Commits Suicide
http://www.computerhistory.org/tdih/June/7/

Alan Turing and the Electric Monk Overlords
http://crispian-jago.blogspot.com.ar/2011/03/alan-turing-and-electric-monk-overlords.html

Turing Test online
http://testing.turinghub.com/

Turing award goes to ‘machine learning’ expert
http://phys.org/news/2011-03-turing-award-machine-expert.html

The Halting Problem
http://www.cgl.uwaterloo.ca/~csk/halt/

Turing Machines
http://www.xamuel.com/turing-machines/
Turing Machines were not the first model of computability, but they were the first model which viscerally captured the idea of computation, in a really tangible way that meshed with intuition. Turing’s model of computability is computationally equivalent to those of Church and Kleene, but even an expert logician has trouble imagining a physical real-life machine for lambda calculus.

Infinite Time Turing Machines
http://www.xamuel.com/infinite-time-turing-machines/

Watson, Turing, and extreme machine learning
http://radar.oreilly.com/2010/08/watson-and-turing.html
The real value of the Watson supercomputer will come from what it inspires.

Turing Completeness Considered Harmful: Component Programming with a Simple Language
http://lampwww.epfl.ch/~mcdirmid/papers/mcdirmid06turing.pdf

Why you need to be excited about SpyParty
http://www.destructoid.com/why-you-need-to-be-excited-about-spyparty-167171.phtml
If you want to look at it in the kookiest way possible, it’s actually a game based around the Turing test.

A Turing Machine
http://aturingmachine.com/
In Alan Turing’s 1936 paper on computable numbers, he presented a thought experiment. Turing describes a machine that has an infinitely long tape upon which it writes, reads and alters symbols. He further shows that a machine with the correct minimal set of operations can calculate anything that is computable, no matter the complexity.

Construye tu propia Máquina de Turing
http://www.neoteo.com/construye-tu-propia-maquina-de-turing

Morphogenesis
http://en.wikipedia.org/wiki/Morphogenesis
Some of the earliest ideas on how physical and mathematical processes and constraints affect biological growth, and hence natural patterns such as the spirals of phyllotaxis, were written by D’Arcy Wentworth Thompson and Alan Turing. These works postulated the presence of chemical signals and physico-chemical processes such as diffusion, activation, and deactivation in cellular and organismic growth.

Chuck Thacker Attains Computing’s Peak
http://www.microsoft.com/en-us/news/features/2010/mar10/03-09chuckthacker.aspx

A Talk With Charles Thacker, the Turing Winner
http://bits.blogs.nytimes.com/2010/03/09/a-talk-with-the-turing-winner/?scp=1&sq=charles%20thacker&st=cse

Barbara Liskov wins Turing Award
http://web.mit.edu/newsoffice/2009/turing-liskov-0310.html
ACM cites ‘foundational innovations’ in programming language design

A Lambda-Calculus Turing Machine
http://frmb.org/lambdaturing.html

The Shortest Universal Machine Implementation
http://www.mathrix.org/experimentalAIT/TuringMachine.html

Gregory Chaitin
http://www.umcs.maine.edu/~chaitin/
Gregory Chaitin is well known for his work on metamathematics and for the celebrated Ω number, which shows that God plays dice in pure mathematics.

Turing Centenary Lecture
http://www.umcs.maine.edu/~chaitin/mexico.html
Alan Turing: From Computers to Life

Three beliefs that lend illusory legitimacy to Cantor’s diagonal argument
http://arxiv.org/ftp/math/papers/0304/0304310.pdf
Cantor’s diagonal argument, Gödel’s proof, and Turing’s Halting problem

Computable function
http://en.wikipedia.org/wiki/Computable_function
Computable functions are the basic objects of study in computability theory. Computable functions are the formalized analogue of the intuitive notion of algorithm. They are used to discuss computability without referring to any concrete model of computation such as Turing machines or register machines.

Halting problem
http://en.wikipedia.org/wiki/Halting_problem
In computability theory, the halting problem can be stated as follows: Given a description of an arbitrary computer program, decide whether the program finishes running or continues to run forever. This is equivalent to the problem of deciding, given a program and an input, whether the program will eventually halt when run with that input, or will run forever.
Alan Turing proved in 1936 that a general algorithm to solve the halting problem for all possible program-input pairs cannot exist.

Omega and why maths has no TOEs
http://plus.maths.org/content/os/issue37/features/omega/index
by Gregory Chaitin

AlanTuring.net
http://www.alanturing.net/
The Turing Archive for the History of Computing

Omega
http://axxon.com.ar/zap/300/c-Zapping0300.htm

My Links
http://delicious.com/ajlopez/turing

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

May 8, 2012

Computer Go: Links, News And Resources (2)

Filed under: Artificial Intelligence, Computer Go, Game Development, Links — ajlopez @ 4:16 pm

Previous Post

More links about this hard problem in Artificial Intelligence: play the game of Go.

In an Ancient Game, Computing’s Future
http://www.nytimes.com/2002/08/01/technology/in-an-ancient-game-computing-s-future.html
EARLY in the film ”A Beautiful Mind,” the mathematician John Nash is seen sitting in a Princeton courtyard, hunched over a playing board covered with small black and white pieces that look like pebbles. He was playing Go, an ancient Asian game. Frustration at losing that game inspired the real Mr. Nash to pursue the mathematics of game theory, research for which he eventually won a Nobel Prize.

What’s black, white and can stump computers?
http://seattletimes.nwsource.com/html/businesstechnology/2003230777_btdigitalgo28.html

Handicap for smaller board sizes
http://senseis.xmp.net/?HandicapForSmallerBoardSizes

Two Representative Computer Go Games
http://webdocs.cs.ualberta.ca/~mmueller/cgo/survey/twogames.html

Baduk
http://baduk.sourceforge.net/
Database pattern search software

Number of legal Go positions
http://homepages.cwi.nl/~tromp/go/legal.html

Zen computer Go program beats Takemiya Masaki with just 4 stones!
http://gogameguru.com/zen-computer-go-program-beats-takemiya-masaki-4-stones/

Orego
https://sites.google.com/site/drpeterdrake/research/orego
Orego is a multi-year project to develop programs to play the classical Asian game of Go.

ICGA Tournaments
http://www.grappa.univ-lille3.fr/icga/
Tournaments between computer programs: chess, draughts, checkers, Go, backgammon, and more

Moyoman
http://www.moyoman.org/
Moyoman is an open-source Go playing program written in Java. The code for move generation is broken up into units called modules. The interfaces for these modules are well-defined, and correspond to standard Go concepts such as shape, the opening, or life and death. There can be multiple implementations of the same module type. The idea is to distribute the design decisions among many different developers. We are actively looking for new developers to write modules.

Computer Go Group at University of Alberta
http://webdocs.cs.ualberta.ca/~games/go/

Computer Go Bibliography
http://webdocs.cs.ualberta.ca/~games/go/compgo_biblio/

Fuego, GNU Go and other builds for Windows
http://gnugo.baduk.org/

Computer Go Research
http://webdocs.cs.ualberta.ca/~mmueller/cgo/index.html
Our Go program and framework Fuego. First computer program to win a 9×9 game on even against a top-ranked human player.

Monte Carlo Tree Search
http://webdocs.cs.ualberta.ca/~mmueller/mcts.html
Monte Carlo Tree Search (MCTS) is the basis of all state of the art Go programs, including Fuego. In our research, we also investigate Monte Carlo techniques in planning, and the close connections between Reinforcement learning and MCTS.

Latest Advance in Artificial Intelligence: Computer Wins a Game Against a Go Master
http://www2.prnewswire.com/cgi-bin/stories.pl?ACCT=104&STORY=/www/story/04-09-2008/0004789446&EDATE=

Cracking GO
http://spectrum.ieee.org/computing/software/cracking-go
Brute-force computation has eclipsed humans in chess, and it could soon do the same in this ancient Asian game

GoGui
http://gogui.sourceforge.net/
GoGui is a graphical user interface to programs that play the board game Go and support the Go Text Protocol such as GNU Go.

MoGo: a Grid5000-based software for the Game of Go
http://www.lri.fr/~teytaud/mogo.html

The Game of Go: A Programmer’s Perspective
http://needforair.com/blog/2012/04/18/game-of-go/

Go news and sensations
http://gosensations.com/

Windows HPC: Playing GO on Surface against a Cluster
http://www.youtube.com/watch?v=Qe0o-IvHOa0

GTP engines
http://ricoh51.free.fr/go/engineeng.htm
A go engine is a software that plays go. A GTP go engine is a software that plays go and dialogs through the "Go Text Protocol" with another software like GoGui or Dariush.

Dutch Supercomputer Beats Human at Go
http://www.hpcwire.com/hpcwire/2008-08-14/dutch_supercomputer_beats_human_at_go.html

Smart Games
http://www.smart-games.com/

My Links
http://delicious.com/ajlopez/computergo

Keep tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

May 3, 2012

Computer Go: Links, News and Resources (1)

Filed under: Artificial Intelligence, Computer Go, Game Development, Links — ajlopez @ 1:17 pm

Next Post

Computer Go is one of my favorites topics. A challenge for game artificial intelligence, the ancient game is enjoyable by itself, and I recommend you to learn how to play it. Some of my links about the topic of computer go:

(citeseer access needs a free account, you must register)

http://en.wikipedia.org/wiki/Go_(game)

Go (圍棋 weiqi in Chinese, 囲碁 igo in Japanese, 바둑 baduk in Korean, common meaning: “encircling game”), is an ancient board game for two players that originated in China more than 2,000 years ago. The game is noted for being rich instrategy despite its relatively simple rules.

http://en.wikipedia.org/wiki/Computer_Go

Computer Go is the field of artificial intelligence (AI) dedicated to creating a computer program that plays Go, a traditional board game.

Computer Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.118.5927
Computer Go is one of the biggest challenges faced by game programmers. This survey describes the typical components of a Go program, and discusses knowledge representation, search methods and techniques for solving specific subproblems in this domain.

Computer Go: an AI Oriented Survey
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.21.4871
Since the beginning of AI, mind games have been studied as relevant application fields. Nowadays, some programs are better than human players in most classical games. Their results highlight the efficiency of AI methods that are now quite standard. Such methods are very useful to Go programs, but they do not enable a strong Go program to be built. The problems related to Computer Go require new AI problem solving methods.

Global and Local Game Tree Search
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.36.3989

The Move Decision Strategy of Indigo
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.14.8118
This paper describes the move decision strategy of Indigo. By using the example of Indigo, the paper shows that the move decision process of a Go program can be very different from the processes used in other games with lower complexity than the complexity of Go, even if the basic modules are conventional (move generator, evaluation function and tree search). Indigo uses them in a specific way, adapted to computer Go, which may be of interest for researchers on other mind games as complex as Go.

Using Hard And Soft Artificial Intelligence Algorithms To Simulate Human Go Playing Techniques
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.18.8731

Associating Domain-Dependent Knowledge and Monte Carlo Approaches within a Go Program
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.6.1059

Bruno Bouzy Papers
http://citeseer.ist.psu.edu/search?q=Bruno+Bouzy&submit=Search&sort=rlv&t=doc

Pursuing abstract goals in the game of Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.15

A positional Judgment System for Computer Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.14.5796
Computer Go offers researchers a new challenge and opens up a very wide scope of possibilities for artificial intelligence. In a computer Go program, the most important element is a positional judgment system. Following the methods of human Go experts, we designed and implemented a new model of positional judgment for computer Go.

Value Function
http://rlai.cs.ualberta.ca/RLAI/RLGO/concepts/valuefn.html
Any strong Computer Go program must compute a win/lose value function as an intermediate step, that corresponds directly to the expected result at the end of the game (win, lose or draw).

The Question Hypothesis
http://rlai.cs.ualberta.ca/RLAI/RLGO/qhypoth.html
All useful features of a state in Go can be interpreted as answers to questions about the current and future value of observations.

The value-function hypothesis
http://rlai.cs.ualberta.ca/RLAI/valuefunctionhypothesis.html
All efficient methods for solving sequential decision problems determine (learn or compute) value functions as an intermediate step.

Pattern Matching
http://senseis.xmp.net/?PatternMatching

On Meta-Game Approaches to Computer Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.47.3662
Meta-game approaches are studied through the design of the Go playing program INDIGO. Computer Go is a challenge for AI and the machine still remains weak compared to humans in the game of Go. This difference is used to try new technics as such as the Metagame technique discussed in this paper. A conceptual structure and a notion of Conway’s game theory are described in order to show four approaches. Each approach is presented to show its method using games, its computational cost, its precision and its Meta-game’s utilisation.

Mathematical Morphology Applied to Computer Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.14.6415
This paper shows how mathematical morphological operators can be applied to computer go. On one hand, mathematical morphology is a very powerful tool within image processing community. On the other hand, the Zobrist’s model is well-known within the computer go community for its “influence” recognition. We present a model, derived from the closing operator of mathematical morphology and from the Zobrist’s model, which yields very good results for “territory” recognition.

Computer Go
http://www.daogo.org/
An international bulletin devoted to the generation and exchange of ideas about Computer Go

Computer Go: El gran problema de AI
http://msmvps.com/blogs/lopez/archive/2007/01/15/computer-go-el-gran-problema-de-ai.aspx

Computer Go Programming
http://senseis.xmp.net/?ComputerGoProgramming

Computer Go Algorithms
http://senseis.xmp.net/?ComputerGoAlgorithms

Benson’s Definition of Unconditional Life
http://senseis.xmp.net/?BensonsAlgorithm

MultiGo
http://www.ruijiang.com/multigo/
MultiGo is designed to view/edit Smart-Go format(SGF) go game file. It also supports other popular file format including *.BDX, *.NGF, *.GOS, *.GIB, *.UGF, *.GO. You can easily navigate through the game and branches, add/remove markers and comments, create or edit your own branches. You could use MultiGo to play with GNU Go, or even record/play go video.

Compendium of Rules for Wei-Qi (Go, Baduk)
http://www.cs.cmu.edu/afs/cs.cmu.edu/Web/People/wjh/go/rules/
GO: An hour to learn; a lifetime to master.

Go Variants
http://www.win.tue.nl/~engels/go/variants.html
Here are some variants of our noble game, in case you want to do something else.

Computer Go/Writing a Go Engine
http://en.wikibooks.org/wiki/Computer_Go/Writing_a_Go_Engine

BiGo Software
http://bigo.baduk.org/

Game Theories and Computer Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.36.3983

The program GoTools and its computer-generated tsume go database
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.54.9146

Forward Pruning and Other Heuristic Search Techniques in Tsume Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.5593

Eyespace Values in Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.13.1004

The complexity of Go
http://citeseer.ist.psu.edu/showciting?cid=365120

Computer Go as a Sum of Local Games: An Application of Combinatorial Game Theory
http://citeseer.ist.psu.edu/showciting?cid=365116

The Integration of A Priori Knowledge into a Go Playing Neural Network
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.32.411

Lambda-Search In Game Trees – With Application To Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.28.3632

Race to Capture: Analyzing Semeai
http://citeseer.ist.psu.edu/showciting?cid=2334915

Experiments in Computer Go Endgames
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.20.1653
Recently, the mathematical theory of games has been applied to late-stage Go endgames [Berlekamp and Wolfe 1994; Wolfe 1991]. Based upon this theory, we developed a tool to solve local Go endgames. We verified all exact game values in [Wolfe 1991] and analyzed some more complex positions. We extended our method to calculate bounds for positions where optimal play depends on Ko. Our program Explorer uses this tool to play full board endgames. It plays a nontrivial class of endgame positions perfectly. In a last section we discuss heuristic play for a wider range of endgames.

Generation of Patterns With External Conditions for the Game of Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.9428

Metarules to Improve Tactical Go Knowledge
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.8524

Metaprogramming Domain Specific Metaprograms
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.8563

Tristan Cazenave Articles
http://citeseer.ist.psu.edu/search?q=Tristan+Cazenave&submit=Search&sort=rlv&t=doc

Honte, a Go-Playing Program Using Neural Nets
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.50.2676

A small Go board Study of metric and dimensional Evaluation Functions
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.2784
The difficulty to write successful 19×19 go programs lies not only in the combinatorial complexity of go but also in the complexity of designing a good evaluation function containing a lot of knowledge. Leaving these obstacles aside, this paper defines very-little-knowledge evaluation functions used by programs playing on very small boards. The evaluation functions are based on two mathematical tools, distance and dimension, and not on domaindependent knowledge.

The go-playing program called Go81
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.100.6651

Developments On Monte Carlo Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.15.452

A Learning Architecture For The Game Of Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.329
In this paper, a three-component architecture of a learning environment for Go is sketched, which can be applied to any two-player, deterministic, full information, partizan, combinatorial game. The architecture called HUGO has natural and human-like reasoning components. Its most abstract component deals with the selection of subgames of Go. The second component is concerned with initiative. The notion of gote no sente (a move that loses initiative but creates new lines of play that will hold initiative) is formalized. In the third component, game values are computed with a new kind of – algorithm based on fuzzy, partial ordering. Our approach leaves some valuable control parameters and oers ways to apply further machine learning techniques.

My Links
http://delicious.com/ajlopez/computergo

More links are coming.

Keep tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

April 11, 2012

Game Theory: Links, News and Resources (1)

Filed under: Artificial Intelligence, Game Theory, Links — ajlopez @ 4:06 pm

http://en.wikipedia.org/wiki/Game_theory

Game theory is a method of studying strategic decision making. More formally, it is "the study of mathematical models of conflict and cooperation between intelligent rational decision-makers."[1] An alternative term suggested "as a more descriptive name for the discipline" is interactive decision theory.[2] Game theory is mainly used in economics, political science, and psychology, as well as logic and biology. The subject first addressed zero-sum games, such that one person’s gains exactly equal net losses of the other participant(s). Today, however, game theory applies to a wide range of class relations, and has developed into an umbrella term for the logical side of science, to include both human and non-humans, like computers. Classic uses include a sense of balance in numerous games, where each person has found or developed a tactic that cannot successfully better his results, given the other approach.

Pequeño LdN: Diez habitaciones para 20 aventureros
http://pequenoldn.librodenotas.com/matiaventuras/1391/diez-habitaciones-para-20-aventureros

EC = MC^3 « Turing’s Invisible Hand
http://agtb.wordpress.com/2012/01/30/ec-mc3/

AGT/E publication venues « Turing’s Invisible Hand
http://agtb.wordpress.com/2010/08/30/agte-publication-venues/#comment-2373

AGT and AI « Algorithmic Game-Theory/Economics
http://agtb.wordpress.com/2011/01/15/agt-and-ai/

Artificial Intelligence Magazine Vol 31, No 4
http://www.aaai.org/ojs/index.php/aimagazine/issue/view/192/showToc

Algorithmic Game Theory and Artificial Intelligence
http://agtb.wordpress.com/2011/01/15/agt-and-ai/

Is Game Theory (Artificially) Intelligent? « Algorithmic Game-Theory/Economics
http://agtb.wordpress.com/2011/01/18/is-game-theory-artificially-intelligent/

Cloud business analytics: Write your own dashboard
http://www.ibm.com/developerworks/cloud/library/cl-cloudbizanalytics/
Find patterns in multitudes of cloud business analytics data
See Game theory, AI theory, and raw statistical analysis.

Game Theory and Public Policy
http://www.amazon.com/Theory-Public-Policy-Roger-McCain/dp/1849805717

Why Isn’t Backgammon More Popular?
http://www.freakonomics.com/2010/12/14/why-isnt-backgammon-more-popular/

Reputation for Human Computation « Algorithmic Game-Theory/Economics
http://agtb.wordpress.com/2010/07/28/reputation-for-human-computation/

Regret in Markets « Algorithmic Game-Theory/Economics
http://agtb.wordpress.com/2010/07/13/regret-in-markets/

Testing Mixed-Strategy Equilibria When Players Are
Heterogeneous: The Case of Penalty Kicks in Soccer
http://pricetheory.uchicago.edu/levitt/Papers/ChiapporiGrosecloseLevitt2002.pdf

Freakonomics: World Cup Edition
http://www.freakonomics.com/2010/06/10/freakonomics-radio-world-cup-edition/

Penales
http://www.pagina12.com.ar/diario/contratapa/13-148338-2010-06-26.html
Lehmann vuelve a mirar el papel. Esta vez…. no decía nada. No tenía antecedentes de Cambiasso pateando penales. Al menos, él (Lehmann) no los tenía. Pero Cambiasso había pateado penales en su vida alguna vez.
Y aquí aparece la Teoría de Juegos. ¿Cómo podía saber Cambiasso lo que decía el papel de Lehmann? 1 En todo caso, ¿cómo podía saber que Lehmann no sabía nada sobre él? Lehmann lo miraba como si supiera.

EC10 and current trends in algorithmic game theory
http://agtb.wordpress.com/2010/06/13/ec10-and-current-trends-in-algorithmic-game-theory/

Game Theory, Prisoner’s Dilemma, Nash Equilibrium, Stag Hunts, and Sherlock Holmes…and Counter-Terrorism? 1/2
http://russwbeck.wordpress.com/2009/01/18/sra211reviewgametheory/

Thomas Schelling
http://en.wikipedia.org/wiki/Thomas_Schelling
He was awarded the 2005 Nobel Memorial Prize in Economic Sciences (shared with Robert Aumann) for "having enhanced our understanding of conflict and cooperation through game-theory analysis."
See Models of Segregation, too. I disagree with him: the model is too simplified, but interesting.

Trillion $ problems
http://agtb.wordpress.com/2010/02/18/trillion-problems/

Computability in game theory « The Leisure of the Theory Class
http://theoryclass.wordpress.com/2010/02/15/computability-in-game-theory/

How to lose as little as possible
http://arxiv.org/abs/1002.1763

Darwin Plays Game Theory—and Wins | Animal Intelligence | DISCOVER Magazine
http://discovermagazine.com/2009/jun/04-game-theory-meets-darwin

Prisoner’s Dilemma and Mechanical Turk
http://www.behind-the-enemy-lines.com/2009/12/prisoners-dilemma-and-mechanical-turk.html

Inductive Reasoning and Bounded Rationality
http://www.santafe.edu/~wbarthur/Papers/El_Farol.html

Utility of Money and the St. Petersburg Paradox
http://www.behind-the-enemy-lines.com/2009/11/utility-of-money-and-st-petersburg.html

A New THEORY of
AWESOMENESS and MIRACLES
http://shorttermmemoryloss.com/menace/

Networks, Crowds, and Markets: A Book by David Easley and Jon Kleinberg
http://www.cs.cornell.edu/home/kleinber/networks-book/

Por qué Pascal iba a misa todos los domingos ? « Martin Mendez blog
http://martinmendez.com/2009/02/24/por-que-pascal-iba-a-misa-todos-los-domingos/

Digg as a Game | shmula
http://www.shmula.com/197/digg-as-a-game

A K Peters, Ltd. – The Dots and Boxes Game
http://www.akpeters.com/product.asp?ProdCode=1292

Pseudolog.com: Juegos: LAP
2 saves http://blog.pseudolog.com/article/?c=Juegos

LAP
http://www.boardgamegeek.com/boardgame/19917/lap

My Links
http://delicious.com/ajlopez/gametheory

Older Posts »

The Shocking Blue Green Theme. Create a free website or blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.

Join 57 other followers