From the onset of Computer Science, computers were likened to brains, and even called “electronic brains”, in spite of the fact that a von Neumann architecture is not rooted in Biology. Nevertheless, over the years, researchers looked at biological systems for inspirations to create artificial intelligence, the Holy Grail of Computer Science. While the goal of creating artificially intelligent systems is evasive, many ideas from that quest proved very interesting, and what’s more important, found practical use. Neural Networks are used from primitive echo cancellation devices in telephones to sophisticated controllers of modern car engines and in data mining credit rating system. Evolutionary techniques found applications in engineering design, pattern classification, data mining, optimization, and elsewhere. Least cost routing can be approached with methodologies based on Swarm Intelligence, and Artificial Immune Systems may assist in network intrusion detection and medical diagnosis amongst other things.
This course is a comprehensive introduction to several of such “soft computing” paradigms.
To assure progress in the field of computing, it is important to continue explorations of novel ideas, methodologies and techniques that may allow to address problems in unconventional ways that – quite often – are the only solutions. Biologically-inspired Computational Intelligence uses sub-symbolic approaches that are contrasted with methods of more traditional Artificial Intelligence that employ analytical systems using symbols to construct problem solutions. The distinctive characteristics of the techniques that the students will study in this course is that they do not use symbols for knowledge representation. In fact, often it is not even possible to locate particular elements of the knowledge in the system as it is distributed amongst its components. In spite of that, analytical methods can be, and are, used to examine the inner workings of such systems, test their limits, and explore their parameters to maximize the odds for obtaining practical results.
The objective of this course is to equip the students with skills in using unconventional methodologies that can be used to solve problems that are hard, or outright impossible, to treat with traditional analytical means.
After taking this class the students will be able to:
- discuss the history of Biological foundations of a selection of computing paradigms,
- design, implement, and utilize systems that use Biologically-inspired means to solve problems,
- incorporate sub-symbolic problem solving techniques in traditional methodologies, and
- explore Biology for further inspirations.
- Evolutionary Techniques
- Swarm Intelligence
- Artificial Immune Systems
- Artificial Life
- DNA Computing
Bell Tower 1471
Prof. Andrzej (AJ) Bieszczad
Office: Sierra Hall Room 3315
Phone: (805) 437-2773
Instructor Communication Policy
I will respond to your inquiry within 24 hours Mon-Fri. If I do not reply in this timeframe, please assume I did not receive your email and contact me again. Manage your communications diligently.
Fundamentals of Natural Computing by Leandro Nunes de Castro
Publisher: Chapman & Hall/CRC, 2007
The students must use Blackboard. CSUCI’s Help Desk (firstname.lastname@example.org) or the Office of Extended Education should be contacted if a student does not know the user identifier or the password to access the system.
This course will have five 3-week study blocks:
- Block 1: Evolutionary Techniques
- Block 2: Swarm Intelligence
- Block 3: Artificial Immune Systems
- Block 4: Artificial Life
- Block 5: DNA Computing
Each block will require the students to read the assigned part of the textbook (week 1), participate in a seminar (week 2), then solve, implement, experiment and report a practical problem employing the techniques from the block (week 3).
The programming assignments have “due dates” to help with time management. Students must submit answer before the due date; this requirement is enforced by making assignments unavailble (invisible) after the due date. Due dates are posted in the course calendar.
All solutions to assigned problems must be submitted through Blackboard (absolutely no email submissions). Assignments will be available every three weeks. Detailed submission instructions will be included with the assignments, but in general they need to include complete code for the implementation and a research paper that describes the experiments with abundant use of visualization (e.g., visualization of data, progress of the simulation, graphs for evaluating and comparing, results, etc.).
Python Version 3 with SciPy, NumPy, and Matplotlib must be used in implementations and experiments by all MSCS students. Others may choose a Math modeling language that they know best; for example, Matlab, Octave, R, Processing, etc.
Research papers must be of a quality appropriate for a scientific conference.
Each course block will be graded based on the quality of the research papers, the presentations, and the code. The final grade from the course will be an average of the grades from each block.
> 96% – A+
> 88% – A
> 80% – A-
> 75% – B+
> 68% – B
> 62% – B-
> 55% – C+
> 48% – C
> 41% – C-
> 34% – D+
> 27% – D
> 20% – D-
< 20% – F
The university, the course, the labs and the instructor are here for the students so they can acquire sufficient knowledge to open a window of opportunity for them in their future careers. Any academic dishonesty limits the student’s chances to succeed.
Please consult the Academic Catalog for the details on the CSUCI’s academic code of honor.
Students with Disabilities
Students with disabilities needing accommodation should make requests to the CSUCI Disability Accommodation Services. Please discuss approved accommodations with the instructor.
Subject to Change
This syllabus and schedule are subject to change in the event of extenuating circumstances.