Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson Artificial Intelligence and Lisp Lisp-part code: TDDC65 Anders Haraldsson ([email protected]) lecturer Lisp Jenny Dalenius (@ida.liu.se) lab assistant More info http://www.ida.liu.se/~TDDC65 Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson The course is divided in two parts: First period HT1: Lisp programming basic structures in the language recursion (functions and problems) exercises oriented towards AI, pattern matching, search Second period HT2: Artificial intelligence broad overview logics intro knowledge representation (lab) agents (lab) search (lab) planning (lab) learning robotics natural language Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson Course material Why Lisp in an AI course See www-page. Historically they grew together from ca 1960. Book in Swedish: Haraldsson, Programmering i Lisp, Studentlitteratur To build AI systems most languages are appropriate. Resources on the web. A number of web-based books are available. Material for using unix, emacs and the Allegro Common Lisp system. Lisp has interesting properties suited for AI: Symbolic representation of data. List structures in an external parenthesized form. Garbage collector. Experimental. A top loop. Give an expression - get an answer. Dynamic. Declarations not necessary. Code can be changed easily. Assignments and lab groups There are three assignments during period 1. Interpreter and evaluator function. Compiler available. First lab Friday 28 Aug in Su00, Su01, Su02 in the B-house. Code can be manipulated. Code is represented in lists. No difference between program and data. Code can be created. Two students per lab group. We use the dialect Common Lisp in this course. Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson But Lisp may also be interested to studied in a programming and language aspect. Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson History of Lisp Lisp / Scheme is still used on a large number of universities as the first programming language to use in the first programming course. We use it in Linköping in Computer Science / Engineering (D and C) and Electrical Engineering curricula (Y). 1959 John McCarthy - Lisp 1.5 MIT uses it together with the book; Abelson, Sussman, Structure and Interpretation of Programming Languages. list structures garbage collector eval function (the internal evaluator) recursion Today (after 40 years) a number of “modern” programming languages include construct coming from the Lisp. In Python, Ruby and also in C++ there are coming: Build in symbols (Python), lists (Python, Ruby). Functions as data objects, lambda-expressions and closures (Python, Ruby, C++) Top loop (Python, Ruby) LISP = LISt Processing language The language was first to use: Developed in parallel with AI. Time sharing Lisp machines Windows-like user interface Two dialects of Lisp: Common Lisp and Scheme