AI

From CompSciWiki
Jump to: navigation, search

COMP 1010 Home > More About Computer Science


Introduction

AI, or Artificial Intelligence, is a branch of computer science that uses methods based on the intelligent behaviour of biological beings to solve complex problems with computer technology. Intelligent properties that AI research aims to replicate include perception, reasoning, learning, and acting in complex environments. To many, the ultimate goal of AI is the creation of a computer system whose intellectual behaviour is indistinguishable from a human's (also known as Strong AI). However there are many problems that prevent us from reaching this goal; due to the complexity of these problems, it is unlikely that this goal will be reached in our lifetimes. Nevertheless, advancements in the field of AI have provided us with useful innovations and have allowed us to solve some of the toughest problems in computer science."

...By Students

"I got my introduction to the real problems of AI in COMP 1010. A question on one of our assignments required us to search through scholarly articles on AI and describe a couple of the problems in the field. Before then, all of my knowledge on AI was imprecise and based mainly on science fiction works. Through my research, I realized that AI is still far from giving us the intelligent machines that are present in books and on the silver screen. From then on, I was very interested in studying AI and contributing to solving these problems. I currently plan on obtaining AI specialization on my degree at the U of M when I graduate.

PS: Also, '2001: A Space Odyssey' is an awesome movie. Watch it."

AI: the future?

What is AI?

AI can be described as a field of computer science that strives for artificial intelligence. Public perception of AI has been mostly influenced by works of science fiction; as a result there are many misconceptions about the true nature of AI. Many believe that strong AI (i.e. AI that equals or surpasses the capabilities of human intelligence) will soon be amongst us. From the homicidal HAL-9000 in Stanley Kubrick’s ‘2001: A Space Odyssey’ to Deep Thought in Douglas Adams’ ‘Hitchiker’s guide to the Galaxy' series, mechanical beings possessing strong AI are common in science fiction. However, in reality, there are many problems to overcome before strong AI is achieved. For this reason, AI is better defined as the collection of problems and methodologies studied in order to achieve strong AI.

Approaches

The main problem in AI is the replication of rational human behaviour in machines. Since the true nature of human intelligence is still unknown to us, the task of replicating human intelligence cannot be precisely defined. Consequently, a variety of different approaches are used in the study of AI. Some approaches to AI study aim to simulate the neural networks of the human brain, other approaches rely on the abstraction of Intelligent Agents (discussed below) and the idea that an intelligent entity's environment dictates its behaviour (i.e. determinism).

Problems

The problems that need to be solved to achieve strong AI (the ultimate goal of AI research) are well defined in comparison to the approaches taken to solve them. To achieve strong AI, it is agreed that the following problems need to be solved.

  • Problem solving (reasoning): Problem solving is a machine’s ability to solve complex problems using deduction and reasoning in the same manner that a human does.
  • Knowledge representation: Knowledge representation involves the representation of human knowledge in a manner that can be understood by machines.
  • Creativity: Creativity in the domain of artificially intelligent machines is classified as Artificial Imagination or the simulation of human imagination.
  • Learning: Machine learning is a machine’s ability to learn from patterns in acquired data.
  • Planning: Automated planning is a machine’s ability to plan and set goals for the future based on their environment.
  • Perception: Machine perception is the machine's ability to perceive visual elements in its environment. While machine perception is still far away, the sub problem computer vision has given us such applications as digital X-ray machines, missile guidance, aircraft sensors, etc.
  • Motion: Motion, or movement, is a machine's ability to move through complex environments. Though it might seem a simple problem at first since motion is very natural to us, this is a tough problem since machines need to balance properly and interpret complex moving environments.

Most of the work on solving these problems remains undone. All of these problems are classified as AI-complete, meaning that they cannot be solved with simple algorithms and are considered very hard to solve.



Why Study AI?

AI study is not for those who don't want a challenge. Study in AI will presents you with complex problems that will likely not be solved in your lifetime. However, current work in AI has developed many interesting applications (more below). Studying AI is an opportunity to involve yourself in a dynamic field whose relevance will only increase as time goes by, thanks to the obvious potential benefits of strong AI. AI study combines aspects of several different fields, including psychology, engineering, physics, biology, philosophy and many others. If you love being challenged, and want to be involved in what is perhaps the most important development in the history of mankind, AI is for you.


Applications

Intelligent Agents

Two teams of robotic intelligent agents playing soccer at RoboCup 2006.

An Intelligent Agent is a computer system that can observe and act upon its environment to meet given objectives. Intelligent Agents can either be autonomous (work independently) or semi-autonomous (coordinate with other agents). Much like humans, agents placed a common environment can form “societies”, or multi-agent systems (basically a network of agents), in order to share information and collaborate on their individual tasks. The given "level of intelligence" of an agent can range from a simple reflex agent (an agent who reacts to changes in its environment based on predefined rules) to a learning agent (an agent who reacts to changes in its environment based on its acquired knowledge).

Generally, it is difficult to claim that an individual intelligent agent is “intelligent”; typically each agent in an environment will only have a small subset of tasks and responsibilities (i.e. unsophisticated). An Intelligent Agent’s “intelligence” lies in their collective behaviour in a society; which is known as swarm intelligence.

Since the use of intelligent agents is essential to some AI research approaches they can be used in pretty much any AI application. Current practical applications include monitoring the internet and other networks, multi robot systems used for military countersurveillance, and ABS brakes.

Expert Systems

An expert system is a knowledge based computer system that simulates the opinion of a human expert using Artificial Intelligence. An expert system generates an answer to a user query (related to the system's domain of expertise) by applying principles of Automated Reasoning (a sub field of AI) to a large knowledge base. Expert systems are used in a wide variety of fields since they can supply an expert level solution derived from a much larger knowledge base than any human's.

Expert systems are based on the idea of maximizing domain knowledge (knowledge on a subject) for the purpose of problem solving. A single computer could theoretically hold the set of any domain of knowledge and process this information much faster than any human . For this reason, a successful expert system could be more valuable than any human expert. However, there are still many problems that prevent expert systems from entirely replacing human experts. Such problems include the inability to provide deeper and ethical meaning in solutions, lack of flexibility, inability to provide deep explanations, difficulty verifying information, and limited learning from experience.

In practice, expert systems are mostly used in fields that require rational problem solving (i.e. the human approach to problem solving) and expert consultation in a specific domain of knowledge. One of the best examples of practical expert system application is in the field of medicine, where they are used as consultants for doctors tasked with diagnosing diseases. Other professions that make use of expert systems include accounting, financial services, and human resources.

Natural Language Understanding

ASIMO, a bipedal humanoid robot developed by Honda. It is capable of primitive bipedal motion.

Natural language understanding (NLU) is a complex problem in Artificial Intelligence. The goal of NLU is to allow machines to comprehend oral and written language on a human level. NLU may be seen as the opposite of Natural language generation (NLP), or the generation of comprehensible human language by a computer. The development of NLU for computers has long been a priority in AI. While there has been significant development in the domain of NLU, current methods cannot account for the immense flexibility of human dialects. The ability to understand and use language, both oral and written, has been fundamental in the development of human society; it is considered a fundamental element of human intelligence. The achievement of NLU for computers would greatly simplify computer usage by humans and also simplify the communication between different types of computers and electronic devices

Due to the current limitations in NLU there are few instances of true NLU being used practically. Though computers, including cell phones, can translate phonetic words into data they cannot yet fully understand the meaning of this data. Potential near-future applications for NLU include news aggregation, internet search and voice-activation.


Robotics

Robotics is the engineering and technology dealing with the design, construction, and operation of robots in automation. The robots constructed are built in various sizes and each robot has their own operations. An example of a small design is the iRobot: Roomba. The Roomba is an autonomous robot vacuum cleaner. A larger example would be Honda's ASIMO. ASIMO is a 4 foot 3 inches humanoid robot. ASIMO is a fully functional humanoid that is able to walk, carry a tray and push a cart. ASIMO uses four sensors: a visual, ground and two ultrasonic sensors; used for recognition of moving objects, postures and gestures, distinguish sound, environmental and face recognition.



AI at U of M

Undergraduate Courses and Specialization

Comp 3190: Introduction to Artificial Intelligence at UofM

After completing the first two years of the Computer Science program at the University of Manitoba, students are able to specialize in a specific area. One of these area of specialization is Artificial Intelligence. To specialize in AI, students will need to take three out of four AI related courses. During the third year in Computer Science, besides the required courses Software Engineering 1 (COMP 3350) and Operating Systems (COMP 3430), students will need to take Introduction to Artificial Intelligence (COMP 3190).

After completing the third year of Computer Science, students will only need to take two more courses to complete specializing in AI. Students will need to take two of the following three courses:

  • Artificial Intelligence (COMP 4190): Reasoning with temporal knowledge; causal reasoning; plausible reasoning; nonmonotonic reasoning; abductive reasoning. Prerequisite: Introduction to Artificial Intelligence COMP 3190 (C).
  • Expert Systems (COMP 4200): Organization of expert systems; knowledge representation in expert systems; inference; knowledge engineering; tools for building expert systems; limitations of expert systems. Prerequisite: Introduction to Artificial Intelligence COMP 3190 (C).
  • Machine Learning (COMP 4360): Learning strategies; evaluation of learning; learning in symbolic systems; neural networks, genetic algorithms. Prerequisite: Introduction to Artificial Intelligence COMP 3190 (C).

Graduate Studies

After completing the fourth year of Computer Science, students may apply for graduate studies. As stated on the Department of Computer Science Graduate information webpage, the department is only accepting new graduate students applications if supported by a departmental member. If a student is accepted into graduate studies and is working in the field of AI, they would most likely be working with Dr. Anderson and Dr. Baltes in the Autonomous Agents Lab (AALab). The students working in the AALab are given an opportunity to work on various robotics, intelligent agents, and computer vision projects. To accomplish some of these projects, they compete in competitions against other universities. For instance, currently the AALab is competing in the large-size humanoid event for RoboCup-2010, which is taking place in Singapore.

Autonomous Agents Lab

The Department of Computer Science has many research laboratories. One of these laboratories is the Autonomous Agents Lab (AALab). The AALab is directed by Dr. John Anderson and Dr. Jacky Baltes. The goal of of Dr. Anderson and Dr. Baltes work is to improve technology surrounding the hardware and software agents, as well as the development of applications employing these technologies. Dr. Anderson and Dr. Baltes are involved in a wide range of projects. These projects generally involve: Elements of Intelligent Agents. Robotics and Computer Vision. Their recent projects includes:

  • Mixed-Reality Robotics
  • Humanoid Robotics
  • Peer Assistance in Multi-Robot Teams
  • Developing Common Groundings in Multi-Agent Systems
  • Learning from others in Social Settings
  • Robotic Rescue
  • Trust and Reputation Building in Multi-Agent Systems
  • Team and Coalition Formation
  • Intelligent Vision Servers
  • Anticipation and Teleautonomy in Multi-Agent Systems
  • Real-Time Implicit Coordination in Multi-agent Systems

An overview on each project is described on the AALab Project page.


External Links

U of M Autonomous Agents Lab
Julia, the Comp 319 Class Mascot (an example of NLU)
University of Manitoba's Course Catalog
University of Manitoba's Department of Computer Science webpage
iRobot's homepage

Next Page: Bioinformatics