#[ 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 ('''
'
#]
< 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:
Warning! This Page No Longer Maintained!
See our page of resources instead.
Content as it was in 2015 (Some Obsolete)
This page links to <
#[for i in range(len(SECTIONS)): symbol, anchor = SECTIONS[i];
#[ if (i % 5 == 0):
#]
<>
#]
>><
#]
<
#[ for genrename, genretitle in GENRES:
#[ if genrename == '----':
#| else:
<