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:

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();



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, test and samples folder for more detailed information. All is work in progress.

Keep tuned!

Angel “Java” Lopez

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:

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:

(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

February 28, 2013

Artificial Intelligence: Links And Resources (3)

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

Previous Post

Can Computers Create?
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
A Review of The Art of the Metaobject Protocol

Reinforcement Learning: An Introduction

Prescient but Not Perfect: A Look Back at a 1966 Scientific American Article on Systems Analysis

AI Class

How a computer beat Civilization by RTFM

Who Killed Prolog?

Computer learns language by playing games
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?

Gmail’s Friend Suggest Algorithm

Natural Language Processing With Prolog in the IBM Watson System

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

Whatever happened to artificial intelligence?
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)

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.

Python ACT-R
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


Can Robots with ‘Good Samaritan’ DNA Evolve?

My Links

Keep tuned!

Angel “Java” Lopez

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


Alan Turing and the Electric Monk Overlords

Turing Test Online

Microsoft Research Watch: AI, NoSQL and Microsoft’s Big Data Future

So what is AI?

Turing award goes to ‘machine learning’ expert

Rock-Paper-Scissors: You vs. the Computer

A Framework for Representing Knowledge
By Marvin Minsky

IBM Watson’s win at Jeopardy! is also a success story for Prolog!topic/comp.lang.prolog/SxnIxeONq_E

Automaton, Know Thyself: Robots Become Self-Aware

IBM Watson: Ushering in a new era of computing

Saber la respuesta no significa entenderla

Jeopardy Goes to Hadoop

Can anyone afford an IBM Watson supercomputer? (Yes)

Jeopardy: IBM’s Watson almost sneaks wrong answer by Trebek

Algorithmic Game Theory and AI

Algorithmic Game Theory and Artificial Intelligence

Co-evolving parasites improve simulated evolution as an optimization procedure

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?

Un superordenador derrota a los humanos en un concurso de TV

artificial intelligence | machine learning

IBM and the Jeopardy Challenge

Jeopardy-Playing Computer Tromps Human Players in Practice Round

The AI Revolution Is On

Ray Kurzweil: The Mind and How To Build One (video)

Kurzweil y la neurociencia

Genetic Algorithm For Hello World

This Week’s Debate: “Machines Can’t Understand”

Hungarian Lisp developer walks away with Google AI contest

Google AI Challenge: Languages Used by the Best Programmers

Intelligent Mobile Robot Navigation

Can Mobile Phones Think?

My Links

Keep tuned!

Angel “Java” Lopez

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.

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

History of artificial intelligence

Programming with Natural Language Is Actually Going to Work

Personal Robots Group

This Is Your Brain on Metaphors

Machine Learning: A Love Story

Natural language processing in Clojure, Go and Cython

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
Eric Horvitz, a distinguished scientist at Microsoft Research, has an equally distinguished receptionist.

Computer beats human at Japanese chess for first time

Machine Learning for Bug Discovery

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

Expert Systems and Prolog

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

Deceptive robots hint at machine self-awareness

A Rule-Based Inference Engine
which is Optimal and VLSI Implementable

How the inference engine works
In simple rule-based systems, there are two kinds of inference, forward chaining and backward chaining.

Inference engine

“The Selfish Biocosm” -A Radical Theory Says We’ve Already Received a Message from ET
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

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

The greatest program ever written

ZX-81 Chess in 1k

Cognitive Computing Project Aims to Reverse-Engineer the Mind

My links

Keep tuned!

Angel “Java” Lopez

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

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.

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]

Turing, A.M. (1950). Computing machinery and intelligence. Mind, 59, 433-460

A Turing Machine built using LEGO
In honor of the Alan Turing year 2012

Turing Round Up

Una máquina de Turing de Lego
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

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

Embracing Uncertainty: The new machine intelligence

A turing machine in 133 bytes of javascript

Swizec Gist
How Dr. Seuss would prove the halting problem undecidable

Alan Turing: Una historia de nazis y matemáticas

World War II Enigma Buster Alan Turing Commits Suicide

Alan Turing and the Electric Monk Overlords

Turing Test online

Turing award goes to ‘machine learning’ expert

The Halting Problem

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

Watson, Turing, and extreme machine learning
The real value of the Watson supercomputer will come from what it inspires.

Turing Completeness Considered Harmful: Component Programming with a Simple Language

Why you need to be excited about SpyParty
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
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

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

A Talk With Charles Thacker, the Turing Winner

Barbara Liskov wins Turing Award
ACM cites ‘foundational innovations’ in programming language design

A Lambda-Calculus Turing Machine

The Shortest Universal Machine Implementation

Gregory 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
Alan Turing: From Computers to Life

Three beliefs that lend illusory legitimacy to Cantor’s diagonal argument
Cantor’s diagonal argument, Gödel’s proof, and Turing’s Halting problem

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
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
by Gregory Chaitin
The Turing Archive for the History of Computing


My Links

Angel “Java” Lopez

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
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?

Handicap for smaller board sizes

Two Representative Computer Go Games

Database pattern search software

Number of legal Go positions

Zen computer Go program beats Takemiya Masaki with just 4 stones!

Orego is a multi-year project to develop programs to play the classical Asian game of Go.

ICGA Tournaments
Tournaments between computer programs: chess, draughts, checkers, Go, backgammon, and more

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

Computer Go Bibliography

Fuego, GNU Go and other builds for Windows

Computer Go Research
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
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

Cracking GO
Brute-force computation has eclipsed humans in chess, and it could soon do the same in this ancient Asian game

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

The Game of Go: A Programmer’s Perspective

Go news and sensations

Windows HPC: Playing GO on Surface against a Cluster

GTP engines
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

Smart Games

My Links

Keep tuned!

Angel “Java” Lopez

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)

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.

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

Computer Go
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
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

The Move Decision Strategy of Indigo
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

Associating Domain-Dependent Knowledge and Monte Carlo Approaches within a Go Program

Bruno Bouzy Papers

Pursuing abstract goals in the game of Go

A positional Judgment System for Computer Go
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
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
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
All efficient methods for solving sequential decision problems determine (learn or compute) value functions as an intermediate step.

Pattern Matching

On Meta-Game Approaches to Computer Go
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
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
An international bulletin devoted to the generation and exchange of ideas about Computer Go

Computer Go: El gran problema de AI

Computer Go Programming

Computer Go Algorithms

Benson’s Definition of Unconditional Life

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)
GO: An hour to learn; a lifetime to master.

Go Variants
Here are some variants of our noble game, in case you want to do something else.

Computer Go/Writing a Go Engine

BiGo Software

Game Theories and Computer Go

The program GoTools and its computer-generated tsume go database

Forward Pruning and Other Heuristic Search Techniques in Tsume Go

Eyespace Values in Go

The complexity of Go

Computer Go as a Sum of Local Games: An Application of Combinatorial Game Theory

The Integration of A Priori Knowledge into a Go Playing Neural Network

Lambda-Search In Game Trees – With Application To Go

Race to Capture: Analyzing Semeai

Experiments in Computer Go Endgames
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

Metarules to Improve Tactical Go Knowledge

Metaprogramming Domain Specific Metaprograms

Tristan Cazenave Articles

Honte, a Go-Playing Program Using Neural Nets

A small Go board Study of metric and dimensional Evaluation Functions
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

Developments On Monte Carlo Go

A Learning Architecture For The Game Of Go
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

More links are coming.

Keep tuned!

Angel “Java” Lopez

April 11, 2012

Game Theory: Links, News and Resources (1)

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

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

EC = MC^3 « Turing’s Invisible Hand

AGT/E publication venues « Turing’s Invisible Hand

AGT and AI « Algorithmic Game-Theory/Economics

Artificial Intelligence Magazine Vol 31, No 4

Algorithmic Game Theory and Artificial Intelligence

Is Game Theory (Artificially) Intelligent? « Algorithmic Game-Theory/Economics

Cloud business analytics: Write your own dashboard
Find patterns in multitudes of cloud business analytics data
See Game theory, AI theory, and raw statistical analysis.

Game Theory and Public Policy

Why Isn’t Backgammon More Popular?

Reputation for Human Computation « Algorithmic Game-Theory/Economics

Regret in Markets « Algorithmic Game-Theory/Economics

Testing Mixed-Strategy Equilibria When Players Are
Heterogeneous: The Case of Penalty Kicks in Soccer

Freakonomics: World Cup Edition

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

Game Theory, Prisoner’s Dilemma, Nash Equilibrium, Stag Hunts, and Sherlock Holmes…and Counter-Terrorism? 1/2

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

Computability in game theory « The Leisure of the Theory Class

How to lose as little as possible

Darwin Plays Game Theory—and Wins | Animal Intelligence | DISCOVER Magazine

Prisoner’s Dilemma and Mechanical Turk

Inductive Reasoning and Bounded Rationality

Utility of Money and the St. Petersburg Paradox


Networks, Crowds, and Markets: A Book by David Easley and Jon Kleinberg

Por qué Pascal iba a misa todos los domingos ? « Martin Mendez blog

Digg as a Game | shmula

A K Peters, Ltd. – The Dots and Boxes Game Juegos: LAP
2 saves


My Links

Older Posts »

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


Get every new post delivered to your Inbox.

Join 57 other followers