#[ SECTIONS = fieldsplit('=', """ intro = Overview of AI best = Highly Recommended Links agents = Intelligent Agents search = Search and Game Playing logic = Logic and Knowledge Representation planning = Planning uncertainty = Reasoning with Uncertainty learning = Machine Learning nlp = Natural Language Processing robotics = Perception and Robotics phil = Philosophy and the Future lisp = AI Programming (Lisp) java = AI Programming (C++ and Java) python = AI Programming (Python) prolog = AI Programming (Prolog) """) GENRES = fieldsplit('=', """ ---- = --- ref = Reference list = Lists of Links jour = Journals ---- = --- people = People ---- = --- com = Companies news = News & Mail soft = Software ---- = --- edu = Research Groups org = Organizations humor = Humor """) import re db = {} #] #[ def process(links, reg=re.compile("(.*)((http|mailto|ftp):.+?)[ ]+([a-z,]+)[.]([a-z,]+)[ ]*(.*)$"), SECTIONS=SECTIONS, GENRES=GENRES, db=db): sectionnames = [n for (n, t) in SECTIONS] genrenames = [n for (n, t) in GENRES] for link in links: if link.startswith('#'): continue match = reg.match(link) if not match: print 'BAD LINE IN AI:', link; continue anchor, url, protocol, sections, genres, tip = match.groups() anchor = anchor.strip(); tip = tip.strip() if anchor.endswith('*'): anchor = '' + anchor + '' sections = sections + ',best' for s in sections.split(','): if s not in sectionnames: print 'BAD SECTION', s, link for g in genres.split(','): if g not in genrenames: print 'BAD GENRE', g, link db.setdefault((s,g), []) db[(s,g)].append((anchor, url, tip)) #] #[ links = file('ai').read().strip().split('\n') process(links) #] #[ def genre_head(title): return ('''
%s
\n\n''' % (title)) def format_entries(secname, genrename, genretitle): key = (secname, genrename) if key not in db: return '' result = genre_head(genretitle) for anchor, url, tip in db[key]: if tip: result += '
%s+' % (url, tip, anchor) else: result += '
%s' % (url, anchor) return result + '

' #] <>

 

Warning! This Page No Longer Maintained!

See our page of resources instead.

 

We have decided that we can no longer keep up with all the great AI content on the web. So we are no longer maintaining this page.

If you found our old list useful, you are still free to use this page. In addition, you are free to download any of the following:

Content as it was in 2015 (Some Obsolete)

This page links to <> pages around the web with information on Artificial Intelligence. Links in Bold* followed by a star are especially useful and interesting sites. Links with a + sign at the end have "tooltip" information that will pop up if you put your mouse over the link for a second or two. If you have new links to add, mail them to peter@norvig.com. We hope you can find what you want in one of the following subtopics:
#[for i in range(len(SECTIONS)): symbol, anchor = SECTIONS[i]; #[ if (i % 5 == 0):
#] <>
#]
#[for secname, sectitle in SECTIONS:

>><>

#[ for genrename, genretitle in GENRES: #[ if genrename == '----':
#| else: <> #] #]
#] <