background preloader

Norvig

Facebook Twitter

Vig

Hackernews. Bioinformatics. Models and Theories. Frame Activated Inferences in a Story Understanding Program. An effective story understander must be able to reason about characters in the story, their affects, actions, plans, and goals, as well as the settings and important points of the story.

Frame Activated Inferences in a Story Understanding Program

In many systems this has been done with separate inference mechanisms for each class of knowledge structure. This paper proposes a story understander with a unified frame-based inference component used on each class of knowledge structure. (This work supported by National Science Foundation grant IST-8007045.) The frame-level inference mechanism is meant to be general enough to be applicable to a variety of tasks, not just story understanding. In fact, one implementation of the inference mechanism was built with Joe Faletti, and was used both by FAUSTUS and by Faletti's planning program, PANDORA [6]. The story-understanding specific component is essentially an agenda system that decides what frame-based inferences to consider next at a given point.

Python for Lisp Programmers. This is a brief introduction to Python for Lisp programmers.

Python for Lisp Programmers

(Although it wasn't my intent, Python programers have told me this page has helped them learn Lisp.) Basically, Python can be seen as a dialect of Lisp with "traditional" syntax (what Lisp people call "infix" or "m-lisp" syntax). One message on comp.lang.python said "I never understood why LISP was a good idea until I started playing with python. " Python supports all of Lisp's essential features except macros, and you don't miss macros all that much because it does have eval, and operator overloading, and regular expression parsing, so some--but not all--of the use cases for macros are covered.

I looked into Python because I was considering translating the Lisp code for the Russell & Norvig AI textbook into Java. That's the language they're most familiar with from other courses. My conclusion Python is an excellent language for my intended use. AIMA Python file: utils.py. Are Machine-Learned Models Prone to Catastrophic Errors? A couple of days ago I had coffee with Peter Norvig.

Are Machine-Learned Models Prone to Catastrophic Errors?

Peter is currently Director of Research at Google. For several years until recently, he was the Director of Search Quality -- the key man at Google responsible for the quality of their search results. Peter also is an ACM Fellow and co-author of the best-selling AI textbook Artificial Intelligence: A Modern Approach. As such, Peter's insights into search are truly extraordinary. I have known Peter since 1996, when he joined a startup called Junglee, which I had started together with some friends from Stanford. It has long been known that Google's search algorithm actually works at 2 levels: An offline phase that extracts "signals" from a massive web crawl and usage data. The big surprise is that Google still uses the manually-crafted formula for its search results.

This raises a fundamental philosophical question. The classic example is the Black Swan, popularized by Nassim Taleb's eponymous book. JScheme. Design Patterns in Dynamic Programming. ADAPTIVE SOFTWARE. Peter Norvig and David Cohn Harlequin Incorporated 1010 El Camino Real, Suite 310 Menlo Park, California 94025 (415) 833-0400 The Problem With Software The problem with software is that it takes too much time and money to develop, and is brittle when used in situations for which it was not explicitly designed.

ADAPTIVE SOFTWARE

Various software design methodologies address this problem: 1970s: Structured Programming makes it feasible to build larger-scale software systems - provided you have a specification of the desired results at the start of the project and the specification rarely changed. Of course, there have been other proposed methodologies for improving software. "Adaptive software uses available information about changes in its environment to improve its behavior. " The Challenge of Complex Environments Software is expected to do more for us today, in more situations, than we ever expected in the past. Together, these three dimensions make the designer's job harder. Dynamic Programming Languages. Teach Yourself Programming in Ten Years. Design Patterns in Dynamic Programming. Paradigms of Artificial Intelligence Programming (in Ruby) Since I never can get enough projects, I’ve decided to start on something I’ve thought about doing for a long time.

Paradigms of Artificial Intelligence Programming (in Ruby)

There are several reasons for doing it, but foremost among them is that I want to get back to playing with AI, and I want to have a project with many small pieces that I can do when I have some time over. If it ends up being educational or useful for others at the same time, well, I’m not complaining! So what is it? Well, first I’d like to introduce a book. It’s called Paradigms of Artificial Intelligence Programming or PAIP for short. I’ve read it numerous times, went through the code and tweaked it and so on. Once again then, why should anyone care? I do have the permission from Peter Norvig to do this. Also note that I sometimes won’t write the most obvious Ruby – it will be good to have a few links to the original Lisp code. Profile For Peter Norvig: Reviews.