#[
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 ('''\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 == '----':
#]
<