Course title
V05459002
Symbolic Manipulation

IDOGAWA Tomoyuki
Course description
The term "symbolic manipulation (processing)" is used in contrast to "numerical processing" and it deals "formula manipulation" in which mathematical computations such as differentiation, integration, factorization and so on, are processed as they are in mathematical formulas (symbolic strings), or "artificial intelligence" in which knowledges and reasonings are modeled and processed as symbolic strings, in a narrow sense. But in a wide sense, it includes any non-numerical processing like compiler, OS and so on. In this course, we will treat it in a narrow sense. Although this subject is one of lecture courses, it will be proceeded as lecture + exercise. In symbolic manipulation, the programming languages LISP and Prolog are often used. At first, introduction and fundamental exercises of these languages (mainly LISP) will be given. Then, by doing exercises to implement toy models of formula manipulations and expert systems using these languages, fundamental concepts of symbolic manipulations will be studied.
Purpose of class
To understand/study on symbolic processing, which is totally different from numerical processing, with learning the programming languages LISP/Prolog.
Goals and objectives
  1. Understand fundamental concepts of symbolic manipulation and learn basics of the programming language LISP.
  2. Be able to construct some elementary on LISP under appropriate instructions.
  3. Understand fundamental technique to implemet formula manipulation systems.
Relationship between 'Goals and Objectives' and 'Course Outcomes'

Basic Practices Advanced Exercises Total.
1. 30% 10% 40%
2. 10% 20% 30%
3. 10% 20% 30%
Total. 50% 50% -
Language
Japanese
Class schedule

Class schedule HW assignments (Including preparation and review of the class.) Amount of Time Required
1. Lecture and exercise on following subjects.

Introduction to formula manipulation systems,
and the installation of LISP system.
Check the web or references for the symbolic manipulations. 90minutes
Review (including the homework). 100minutes
2. Data structures in symbolic manipulations Review the contents of "Data Structures and Algorithms." 90minutes
Review (including the homework). 100minutes
3. Fundamental of LISP (1)
Atom, list, basic functions
Check the web or references for the programming language LISP. 90minutes
Review (including the homework). 100minutes
4. Fundamental of LISP (2)
Variables, functional definitions
Preparations for the lecture. 90minutes
Review (including the homework). 100minutes
5. Fundamental of LISP (3)
Evaluation, macro
Preparations for the lecture. 90minutes
Review (including the homework). 100minutes
6. LISP programming (1)
Predicates, conditions
Preparations for the lecture. 90minutes
Review (including the homework). 100minutes
7. LISP programming (2)
Iteration (cdr recursion, do functions, map functions)
Preparations for the lecture. 90minutes
Review (including the homework). 100minutes
8. LISP programming (3)
Some list processing (general recursion)
Preparations for the lecture. 90minutes
Review (including the homework). 100minutes
9. LISP programming (4)
Some additions (property list, destructive functions, etc.)
Preparations for the lecture. 90minutes
Review (including the homework). 100minutes
10. Formula manipulation (1)
Internal representations of mathematical formulas
Preparations for the lecture. 90minutes
Review (including the homework). 100minutes
11. Formula manipulation (2)
Input/output of mathematical formulas (syntax analysis, pretty-print)
Preparations for the lecture. 90minutes
Review (including the homework). 100minutes
12. Formula manipulation (3)
Symbolic differentiation
Preparations for the lecture. 90minutes
Review (including the homework). 100minutes
13. Formula manipulation (4)
Simplification of mathematical formulas
Preparations for the lecture. 90minutes
Review (including the homework). 100minutes
14. Expert system and the logic programming language Prolog Review the all of lectures. 190minutes
Total. - - 2660minutes
Evaluation method and criteria
The evaluation will be based on the reports submitted in response to the assignments.
The assignments are divided into several basic practices, which will be given in every class or every other class, and two or three advanced exercises, which will be given at the end (or beginning) of each section, and each of them will be given 50 points, totaling 100 points.
Submit each report in the specified format (file type and file name) on time. Perform the assigned tasks without fail (in the case of programming, you must have written a program that works correctly). When writing a discussion is in the tasks, write "discussion" instead of "impression". The report should be written with the reader in mind. You will get 100 points if you have done these things perfectly. You will be given a halfway point for each report, so if you achieve 60% of the above, you will pass.
Since the period after the winter break is short, the final assignment may be divided into two parts: one for the winter break and the other for the end of the term.
Feedback on exams, assignments, etc.
ways of feedback specific contents about "Other"
Feedback in the class
Textbooks and reference materials
No textbook.
Prerequisites
"Data Structures and Algorithms", "Programming Exercises."
Office hours and How to contact professors for questions
  • Tuesday 12:35 -- 13:05.
Regionally-oriented
Non-regionally-oriented course
Development of social and professional independence
  • Course that cultivates a basic problem-solving skills
Active-learning course
About half of the classes are interactive
Course by professor with work experience
Work experience Work experience and relevance to the course content if applicable
N/A N/A
Education related SDGs:the Sustainable Development Goals
  • 9.INDUSTRY, INNOVATION AND INFRASTRUCTURE
Last modified : Sat Jun 29 04:35:50 JST 2024