SlideShare a Scribd company logo
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
1
Introduction to
Artificial Intelligence
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
2
The Visual Attention Lab
Eye movement research
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
3
The EyeLink-2K System
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
4
Example: Distribution of Visual Attention
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
5
Selectivity in Complex Scenes
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
6
Selectivity in Complex Scenes
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
7
Selectivity in Complex Scenes
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
8
Selectivity in Complex Scenes
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
9
Selectivity in Complex Scenes
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
10
Selectivity in Complex Scenes
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
11
Modeling of Brain Functions
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
12
Modeling of Brain Functions
unit and connection
in the interpretive network
unit and connection
in the gating network
unit and connection
in the top-down bias network
layer l +1
layer l -1
layer l
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
13
Computer Vision:
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
14
Human-Computer Interfaces:
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
15
Course Kit:
Nils J. Nilsson, Artificial Intelligence: A New
Synthesis, Morgan Kaufmann 1998, ISBN 1-55860-
467-7.
On the Web:
http://www.cs.umb.edu/~marc/cs470/
(contains all kinds of course information and also my
slides in PPTX and PDF formats, updated after each
session)
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
16
Artificial Intelligence (AI)
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
17
AI – The History
• AI is as old as computing, whose theory started in the
1930 with Alan Turing, Alonzo Church, and others
• 1941 Konrad Zuse, Germany, general purpose
computer
• 1943 Britain (Turing and others) Colossus, for
decoding
• 1945 ENIAC, US. John von Neumann a consultant
• 1956 Dartmouth Conference organized by John
McCarthy (inventor of LISP)
• The term Artificial Intelligence was coined at
Dartmouth, which was intended as a two month study.
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
18
AI – The Achievements
• Computers land 200 ton jumbo jets unaided every
few minutes.
• Search systems like Google are not perfect but
provide very effective information retrieval.
• Robots cut slots for hip joints better than surgeons.
• The chess program Deep Blue beat world
champion Kasparov in 1997.
• Medical expert systems can outperform doctors in
many areas of diagnosis
• Self-driving cars are beginning to enter the market.
• IBM’s Watson beats humans at Jeopardy.
• Programs such as Siri communicate via natural
language.
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
19
Artificial vs. Human Intelligence
Today’s computers can do many well-defined tasks
(for example, arithmetic operations), much faster and
more accurate than human beings.
However, the computers’ interaction with their
environment is not very sophisticated yet.
How can we test whether a computer has reached
the general intelligence level of a human being?
Turing Test: Can a computer convince a human
interrogator that it is a human?
But before thinking of such advanced kinds of
machines, we will start developing our own extremely
simple “intelligent” machines.
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
20
Why AI?
One of major divisions in AI (and you can see it in the
definitions on the previous slide) is between
• Those who think AI is the only serious way of finding
out how we work (since opening heads does not yet
give much insight into this) and
• Those who want computers to do very smart
things, independently of how we work.
This is the important distinction between
Cognitive Scientists vs. Engineers.
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
21
Symbolism vs. Connectionism
There is another major division in the field of Artificial
Intelligence:
• Symbolic AI represents information through
symbols and their relationships. Specific Algorithms
are used to process these symbols to solve
problems or deduce new knowledge.
• Connectionist AI represents information in a
distributed, less explicit form within a network.
Biological processes underlying learning, task
performance, and problem solving are imitated.
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
22
Paradigms of Computation
You all know the Turing machine, conceived by Alan
Turing as a theoretical Model of automatic computation.
It uses a tape head that reads and writes symbols on
an infinite tape.
Based on the currently read symbol and the machine’s
current state, the head moves to the left or right or
writes a new symbol, and the state is updated.
These state transition rules constitute the program.
It is believed (but has not been proven) that this
machine can compute all functions that can be
computed in principle.
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
23
Turing Machines
Turing machines inspired the construction of the first
computers, which were based on the von-Neumann
architecture.
Here, digital memory stores the program and data,
including the machine state.
A Central Processing Unit (CPU) sequentially
executes individual instructions in the program through
memory read and write operations.
This fundamental architecture is still shared by most of
today’s computers.
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
24
Imperative Programming
This architecture is also reflected in most modern
programming languages such as Java, C, C++, C#,
Python, or Matlab.
Their programs consist of sequences of instructions,
each of which changes the system’s state, such as the
values of variables or other memory content.
Such languages are called imperative languages.
Object-oriented programming provides mechanisms
for encapsulation of functional program and data units
but is still based on the imperative paradigm.
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
25
Lambda () Calculus
Roughly at the same time when Turing developed his
Turing machine, Alonzo Church devised a different
paradigm of computation, called lambda calculus.
It is based on anonymous functions described by
lambda expressions.
By mechanisms such as composition and recursion,
lambda expressions can represent complex
computations.
It can be shown that Turing machines and lambda
calculus have identical computational power, which is
believed to be universal (Church-Turing thesis, 1937).
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
26
Lambda () Calculus
Lambda calculus provides a more abstract,
mathematical description of an algorithm.
Such descriptions are typically more concise and
elegant than those provided by Turing machines.
On the other hand, Turing-machine style computation
can be directly translated into hardware, which is much
more difficult for lambda calculus.
Nevertheless, there are programming languages that
are based on lambda calculus, and they are referred to
as functional languages.
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
27
Functional Programming
The most striking feature of purely functional
programming is that there is no state.
This means that our variables are not variable, i.e.,
cannot change their values!
In other words, they are immutable and only represent
some constant value.
The execution of a program only involves the
evaluation of functions.
This sounds weird – what are the advantages and
disadvantages of functional programming?
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
28
Functional Programming
The advantage of having no state is that functions have
no side effects.
Therefore, we can be sure that whenever we evaluate a
function with the same inputs, we will get the same
output, and nothing in our system changed due to this
evaluation.
This prevents most of the bugs that commonly occur in
imperative programming.
You will learn about other advantages during the next
few lectures…
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
29
Functional Programming
The main problem with strictly preventing side effects is
that user input and output during program execution
become impossible.
To enable such user interaction, we have to sometimes
allow state changes. It is then important to separate
such “impure” code from the rest of the program.
There are many functional languages, with some being
as old as the earliest imperative ones.
Examples are: LISP, Scheme, Haskell, Erlang, R,
Clojure, Scala, OCaml, and F#.
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
30
Functional Programming
Functional programming is not the best solution to
every problem, just like object-oriented programming is
not, either.
In the context of symbolic AI, you will see how
functional programming allows you to write very
concise, readable, and reusable code.
Even if you rarely or never use it again afterwards, it
will give you a different perspective on programming
and may change the way you program.
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
31
Haskell and Frege
In this course, we will use Haskell, because its purity
forces you to use functional programming principles.
Specifically, we will use its dialect Frege, which
generates code for the Java Virtual Machine.
This way your programs can interact with Java
programs, especially the Isola game interface for our
tournament.
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
32
Frege Resources
Free Haskell tutorials:
http://learnyouahaskell.com/
http://book.realworldhaskell.org/
Differences between Haskell and Frege:
https://github.com/Frege/frege/wiki/Differences-
between-Frege-and-Haskell
I recommend that you read Chapters 1 and 2 of “Learn
you a Haskell” and experiment with the language a bit.
January 26, 2016 Introduction to Artificial Intelligence
Lecture 1: What is Artificial Intelligence?
33
Frege Resources
You can play around with Frege online:
http://try.frege-lang.org/
Get the Frege compiler here:
https://github.com/Frege/frege
Here is a Frege plugin for Eclipse:
https://github.com/Frege/eclipse-plugin
You should definitely look at the plugin tutorial:
https://github.com/Frege/eclipse-plugin/wiki/fregIDE-
Tutorial

More Related Content

PPTX
Lecture 1- Artificial Intelligence - Introduction
PPTX
Chapter 3 artificial intelligence
PPTX
Artificial inteligence
PPTX
Machine learning ppt.
PPT
Artificial intelligence
PPTX
Artificial intelligence
PPTX
Artificial intelligence
PPT
Robotics and ai
Lecture 1- Artificial Intelligence - Introduction
Chapter 3 artificial intelligence
Artificial inteligence
Machine learning ppt.
Artificial intelligence
Artificial intelligence
Artificial intelligence
Robotics and ai

What's hot (20)

PPTX
Artificial intelligence- The science of intelligent programs
PPTX
artificial intelligence
PPTX
Artificial intelligence and its application
PDF
Artificial Intelligence PPT .
PPTX
Artificial intelligence
PDF
Artificial intelligence
PDF
Principles of Artificial Intelligence & Machine Learning
PDF
Introduction to Artificial Intelligence and Machine Learning
PPTX
Artificial intelligence ppt
PPTX
artifical intelligence
PDF
What really is Artificial Intelligence about?
PPT
Artificial intelligence
PDF
Artificial Intelligence - AI For Everyone
PDF
Introduction to Artificial Intelligence and few examples
PPTX
Artificial Intelligence
PPTX
Understanding artificial intelligence and it's future scope
PPTX
introduction to Artificial intelligence
PPT
(Ch#1) artificial intelligence
PPTX
Generative AI Risks & Concerns
Artificial intelligence- The science of intelligent programs
artificial intelligence
Artificial intelligence and its application
Artificial Intelligence PPT .
Artificial intelligence
Artificial intelligence
Principles of Artificial Intelligence & Machine Learning
Introduction to Artificial Intelligence and Machine Learning
Artificial intelligence ppt
artifical intelligence
What really is Artificial Intelligence about?
Artificial intelligence
Artificial Intelligence - AI For Everyone
Introduction to Artificial Intelligence and few examples
Artificial Intelligence
Understanding artificial intelligence and it's future scope
introduction to Artificial intelligence
(Ch#1) artificial intelligence
Generative AI Risks & Concerns
Ad

Viewers also liked (20)

PPT
Artificial Intelligence
PPTX
Artificial Intelligence
PPT
artificial intelligence
PPTX
Artificial Intelligence Presentation
ODP
Artificial Intelligence
PPT
Artificial Intelligence
PDF
Lecture1 AI1 Introduction to artificial intelligence
PPT
Artificial inteligence
PPTX
Artificial Intelligence Presentation
PPTX
Artificial intelligence
PPTX
Artificial Intelligence
PDF
Tracxn Research — Artificial Intelligence Startup Landscape, September 2016
PDF
Deep Learning - The Past, Present and Future of Artificial Intelligence
PPT
Artificial Intelligence & Robotics
PDF
Artificial Intelligence in Project Management by Dr. Khaled A. Hamdy
PPTX
Finalppt
PPT
The Coming of Age for Artificial Intelligence
PPT
Robotics & Artificial Intelligence
PPTX
Piezoelectric energy assisted car
PDF
Propelling Consumer Businesses using Artificial Intelligence
Artificial Intelligence
Artificial Intelligence
artificial intelligence
Artificial Intelligence Presentation
Artificial Intelligence
Artificial Intelligence
Lecture1 AI1 Introduction to artificial intelligence
Artificial inteligence
Artificial Intelligence Presentation
Artificial intelligence
Artificial Intelligence
Tracxn Research — Artificial Intelligence Startup Landscape, September 2016
Deep Learning - The Past, Present and Future of Artificial Intelligence
Artificial Intelligence & Robotics
Artificial Intelligence in Project Management by Dr. Khaled A. Hamdy
Finalppt
The Coming of Age for Artificial Intelligence
Robotics & Artificial Intelligence
Piezoelectric energy assisted car
Propelling Consumer Businesses using Artificial Intelligence
Ad

Similar to Artificial Intelligence (20)

PPTX
Amdocs ai s1
PPT
ch1-What_is_Artificial_Intelligence1_1.ppt
PPT
Lect1 111021211234-phpapp02
PPT
28th Jan Intro to AI.ppt
PDF
Ch 1 Introduction to AI Applications.pdf
DOC
KBS Lecture Notes
PDF
L1-Introduction to Artificial Intelligence.pdf
PPT
901470_Chap1.ppt.artificial intelligence
PPTX
Artificial Intelligence and Quantum Computing.pptx
PDF
project-report-on-artificial-intelligence_compress (1).pdf
PPTX
lecture1_4e283bf4-a910-4fee-b708-f302b3fea6e2_93479_.pptx
PDF
Artificial Intelligence
PPT
Lect # 2
PDF
History of AI, Current Trends, Prospective Trajectories
PPT
Ai introduction
PPTX
chapter 1 AI.pptx
PDF
AI Days 2025_GM1 : Interface in theage of AI
PPTX
Augmented intelligence as a response to the crisis of artificial intelligence
PPTX
ARTIFICIAL INTELLIGENCE-New.pptx
PPT
introduction to ai
Amdocs ai s1
ch1-What_is_Artificial_Intelligence1_1.ppt
Lect1 111021211234-phpapp02
28th Jan Intro to AI.ppt
Ch 1 Introduction to AI Applications.pdf
KBS Lecture Notes
L1-Introduction to Artificial Intelligence.pdf
901470_Chap1.ppt.artificial intelligence
Artificial Intelligence and Quantum Computing.pptx
project-report-on-artificial-intelligence_compress (1).pdf
lecture1_4e283bf4-a910-4fee-b708-f302b3fea6e2_93479_.pptx
Artificial Intelligence
Lect # 2
History of AI, Current Trends, Prospective Trajectories
Ai introduction
chapter 1 AI.pptx
AI Days 2025_GM1 : Interface in theage of AI
Augmented intelligence as a response to the crisis of artificial intelligence
ARTIFICIAL INTELLIGENCE-New.pptx
introduction to ai

More from Biswajit Pratihari (20)

PPT
Green Computing
PPTX
Cloud Computing
PPT
Cloud Computing
PPTX
Light Fidelity (Li Fi)
PPT
Performance Testing in Oracle Apps
PPT
Automation testing
PPT
Written pole-technology
PPTX
Power Line Carrier Communication
PPT
Lunar solar power system
PPT
Surge supressor
PPTX
Harmonic mitigating transformer
PPT
Cooling of power transformer
PPTX
Cast resin transformer
PPTX
PPTX
Wireless power theft monitoring
PPTX
Ultra sonic motor
PPT
PPTX
The E-Bomb
PPT
Superconductivity
Green Computing
Cloud Computing
Cloud Computing
Light Fidelity (Li Fi)
Performance Testing in Oracle Apps
Automation testing
Written pole-technology
Power Line Carrier Communication
Lunar solar power system
Surge supressor
Harmonic mitigating transformer
Cooling of power transformer
Cast resin transformer
Wireless power theft monitoring
Ultra sonic motor
The E-Bomb
Superconductivity

Recently uploaded (20)

PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Electronic commerce courselecture one. Pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
KodekX | Application Modernization Development
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Approach and Philosophy of On baking technology
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Cloud computing and distributed systems.
PDF
Empathic Computing: Creating Shared Understanding
PDF
NewMind AI Monthly Chronicles - July 2025
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Dropbox Q2 2025 Financial Results & Investor Presentation
MYSQL Presentation for SQL database connectivity
Electronic commerce courselecture one. Pdf
Big Data Technologies - Introduction.pptx
Machine learning based COVID-19 study performance prediction
KodekX | Application Modernization Development
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Spectral efficient network and resource selection model in 5G networks
Review of recent advances in non-invasive hemoglobin estimation
Network Security Unit 5.pdf for BCA BBA.
Approach and Philosophy of On baking technology
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Advanced methodologies resolving dimensionality complications for autism neur...
Cloud computing and distributed systems.
Empathic Computing: Creating Shared Understanding
NewMind AI Monthly Chronicles - July 2025

Artificial Intelligence

  • 1. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 1 Introduction to Artificial Intelligence
  • 2. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 2 The Visual Attention Lab Eye movement research
  • 3. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 3 The EyeLink-2K System
  • 4. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 4 Example: Distribution of Visual Attention
  • 5. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 5 Selectivity in Complex Scenes
  • 6. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 6 Selectivity in Complex Scenes
  • 7. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 7 Selectivity in Complex Scenes
  • 8. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 8 Selectivity in Complex Scenes
  • 9. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 9 Selectivity in Complex Scenes
  • 10. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 10 Selectivity in Complex Scenes
  • 11. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 11 Modeling of Brain Functions
  • 12. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 12 Modeling of Brain Functions unit and connection in the interpretive network unit and connection in the gating network unit and connection in the top-down bias network layer l +1 layer l -1 layer l
  • 13. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 13 Computer Vision:
  • 14. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 14 Human-Computer Interfaces:
  • 15. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 15 Course Kit: Nils J. Nilsson, Artificial Intelligence: A New Synthesis, Morgan Kaufmann 1998, ISBN 1-55860- 467-7. On the Web: http://www.cs.umb.edu/~marc/cs470/ (contains all kinds of course information and also my slides in PPTX and PDF formats, updated after each session)
  • 16. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 16 Artificial Intelligence (AI)
  • 17. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 17 AI – The History • AI is as old as computing, whose theory started in the 1930 with Alan Turing, Alonzo Church, and others • 1941 Konrad Zuse, Germany, general purpose computer • 1943 Britain (Turing and others) Colossus, for decoding • 1945 ENIAC, US. John von Neumann a consultant • 1956 Dartmouth Conference organized by John McCarthy (inventor of LISP) • The term Artificial Intelligence was coined at Dartmouth, which was intended as a two month study.
  • 18. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 18 AI – The Achievements • Computers land 200 ton jumbo jets unaided every few minutes. • Search systems like Google are not perfect but provide very effective information retrieval. • Robots cut slots for hip joints better than surgeons. • The chess program Deep Blue beat world champion Kasparov in 1997. • Medical expert systems can outperform doctors in many areas of diagnosis • Self-driving cars are beginning to enter the market. • IBM’s Watson beats humans at Jeopardy. • Programs such as Siri communicate via natural language.
  • 19. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 19 Artificial vs. Human Intelligence Today’s computers can do many well-defined tasks (for example, arithmetic operations), much faster and more accurate than human beings. However, the computers’ interaction with their environment is not very sophisticated yet. How can we test whether a computer has reached the general intelligence level of a human being? Turing Test: Can a computer convince a human interrogator that it is a human? But before thinking of such advanced kinds of machines, we will start developing our own extremely simple “intelligent” machines.
  • 20. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 20 Why AI? One of major divisions in AI (and you can see it in the definitions on the previous slide) is between • Those who think AI is the only serious way of finding out how we work (since opening heads does not yet give much insight into this) and • Those who want computers to do very smart things, independently of how we work. This is the important distinction between Cognitive Scientists vs. Engineers.
  • 21. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 21 Symbolism vs. Connectionism There is another major division in the field of Artificial Intelligence: • Symbolic AI represents information through symbols and their relationships. Specific Algorithms are used to process these symbols to solve problems or deduce new knowledge. • Connectionist AI represents information in a distributed, less explicit form within a network. Biological processes underlying learning, task performance, and problem solving are imitated.
  • 22. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 22 Paradigms of Computation You all know the Turing machine, conceived by Alan Turing as a theoretical Model of automatic computation. It uses a tape head that reads and writes symbols on an infinite tape. Based on the currently read symbol and the machine’s current state, the head moves to the left or right or writes a new symbol, and the state is updated. These state transition rules constitute the program. It is believed (but has not been proven) that this machine can compute all functions that can be computed in principle.
  • 23. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 23 Turing Machines Turing machines inspired the construction of the first computers, which were based on the von-Neumann architecture. Here, digital memory stores the program and data, including the machine state. A Central Processing Unit (CPU) sequentially executes individual instructions in the program through memory read and write operations. This fundamental architecture is still shared by most of today’s computers.
  • 24. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 24 Imperative Programming This architecture is also reflected in most modern programming languages such as Java, C, C++, C#, Python, or Matlab. Their programs consist of sequences of instructions, each of which changes the system’s state, such as the values of variables or other memory content. Such languages are called imperative languages. Object-oriented programming provides mechanisms for encapsulation of functional program and data units but is still based on the imperative paradigm.
  • 25. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 25 Lambda () Calculus Roughly at the same time when Turing developed his Turing machine, Alonzo Church devised a different paradigm of computation, called lambda calculus. It is based on anonymous functions described by lambda expressions. By mechanisms such as composition and recursion, lambda expressions can represent complex computations. It can be shown that Turing machines and lambda calculus have identical computational power, which is believed to be universal (Church-Turing thesis, 1937).
  • 26. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 26 Lambda () Calculus Lambda calculus provides a more abstract, mathematical description of an algorithm. Such descriptions are typically more concise and elegant than those provided by Turing machines. On the other hand, Turing-machine style computation can be directly translated into hardware, which is much more difficult for lambda calculus. Nevertheless, there are programming languages that are based on lambda calculus, and they are referred to as functional languages.
  • 27. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 27 Functional Programming The most striking feature of purely functional programming is that there is no state. This means that our variables are not variable, i.e., cannot change their values! In other words, they are immutable and only represent some constant value. The execution of a program only involves the evaluation of functions. This sounds weird – what are the advantages and disadvantages of functional programming?
  • 28. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 28 Functional Programming The advantage of having no state is that functions have no side effects. Therefore, we can be sure that whenever we evaluate a function with the same inputs, we will get the same output, and nothing in our system changed due to this evaluation. This prevents most of the bugs that commonly occur in imperative programming. You will learn about other advantages during the next few lectures…
  • 29. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 29 Functional Programming The main problem with strictly preventing side effects is that user input and output during program execution become impossible. To enable such user interaction, we have to sometimes allow state changes. It is then important to separate such “impure” code from the rest of the program. There are many functional languages, with some being as old as the earliest imperative ones. Examples are: LISP, Scheme, Haskell, Erlang, R, Clojure, Scala, OCaml, and F#.
  • 30. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 30 Functional Programming Functional programming is not the best solution to every problem, just like object-oriented programming is not, either. In the context of symbolic AI, you will see how functional programming allows you to write very concise, readable, and reusable code. Even if you rarely or never use it again afterwards, it will give you a different perspective on programming and may change the way you program.
  • 31. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 31 Haskell and Frege In this course, we will use Haskell, because its purity forces you to use functional programming principles. Specifically, we will use its dialect Frege, which generates code for the Java Virtual Machine. This way your programs can interact with Java programs, especially the Isola game interface for our tournament.
  • 32. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 32 Frege Resources Free Haskell tutorials: http://learnyouahaskell.com/ http://book.realworldhaskell.org/ Differences between Haskell and Frege: https://github.com/Frege/frege/wiki/Differences- between-Frege-and-Haskell I recommend that you read Chapters 1 and 2 of “Learn you a Haskell” and experiment with the language a bit.
  • 33. January 26, 2016 Introduction to Artificial Intelligence Lecture 1: What is Artificial Intelligence? 33 Frege Resources You can play around with Frege online: http://try.frege-lang.org/ Get the Frege compiler here: https://github.com/Frege/frege Here is a Frege plugin for Eclipse: https://github.com/Frege/eclipse-plugin You should definitely look at the plugin tutorial: https://github.com/Frege/eclipse-plugin/wiki/fregIDE- Tutorial