AI Intro-1
AI Intro-1
AI Intro-1
Knowledge
Search Logic Representation
Machine
Planning
Learning
Expert
NLP Vision Robotics Systems
What is Artificial Intelligence ?
HUMAN RATIONAL
Systems that act like humans:
Turing Test
?
◻ You enter a room which has a computer terminal.
You have a fixed period of time to type what you
want into the terminal, and study the replies. At the
other end of the line is either a human being or a
computer system.
◻ If it is a computer system, and at the end of the
period you cannot reliably determine whether it is a
system or a human, then the system is deemed to be
intelligent.
Systems that act like humans
HUMAN RATIONAL
Systems that think like humans:
cognitive modeling
◻ Humans as observed from ‘inside’
◻ How do we know how humans think?
⮚ Introspection vs. psychological experiments
◻ Cognitive Science
◻ “The exciting new effort to make computers think …
machines with minds in the full and literal sense”
(Haugeland)
◻ “[The automation of] activities that we associate with
human thinking, activities such as decision-making,
problem solving, learning …” (Bellman)
What is Artificial Intelligence ?
HUMAN RATIONAL
Systems that think ‘rationally’
"laws of thought"
◻ Humans are not always ‘rational’
◻ Rational - defined in terms of logic?
◻ Logic can’t express everything (e.g. uncertainty)
◻ Logical approach is often not feasible in terms of
computation time (needs ‘guidance’)
◻ “The study of mental facilities through the use of
computational models” (Charniak and McDermott)
◻ “The study of the computations that make it possible to
perceive, reason, and act” (Winston)
What is Artificial Intelligence ?
HUMAN RATIONAL
Systems that act rationally:
“Rational agent”
◻ Philosophy
⮚ At that time, the study of human intelligence began with no
formal expression
⮚ Initiate the idea of mind as a machine and its internal
operations
The Foundation of AI
◻ Psychology
⮚ How do humans think and act?
⮚ The study of human reasoning and acting
⮚ Provides reasoning models for AI
⮚ Strengthen the ideas
✔ humans and other animals can be considered as information
processing machines
The Foundation of AI
◻ Computer Engineering
⮚ How to build an efficient computer?
⮚ Provides the artifact that makes AI application possible
⮚ The power of computer makes computation of large and
difficult problems more easily
⮚ AI has also contributed its own work to computer science,
including: time-sharing, the linked list data type, OOP, etc.
The Foundation of AI
◻ Linguistics
⮚ For understanding natural languages
✔ different approaches has been adopted from the linguistic
work
⮚ Formal languages
⮚ Syntactic and semantic analysis
⮚ Knowledge representation
The main areas in AI
❑ Artificial intelligence can be considered under a number
of application domains:
⮚ Search (includes Game Playing)
⮚ Representing Knowledge and Reasoning with it
⮚ Planning
⮚ Learning
⮚ Natural language processing
⮚ Expert Systems
⮚ Interacting with the Environment (e.g. Vision, Speech
recognition, Robotics)
Some Advantages of AI
Declarative Procedural
◻ Autonomous Planning
& Scheduling:
⮚ Autonomous rovers
AI Applications
◻ Medicine:
⮚ Image guided surgery
AI Applications
◻ Medicine:
🞑 Image analysis and enhancement
AI Applications
◻ Transportation:
⮚ Autonomous vehicle control
AI Applications
◻ Transportation:
⮚ Pedestrian detection
AI Applications
❑ Games:
AI Applications
◻ Games:
AI Applications
◻ Robotic toys:
AI Applications
◻ Bioinformatics:
⮚ Gene expression data analysis
⮚ Prediction of protein structure
◻ Text classification, document sorting:
⮚ Web pages, e-mails
⮚ Articles in the news
◻ Video, image classification
◻ Music composition, picture drawing
◻ Natural Language Processing
◻ Perception
Concept of machine learning
and deep learning
Machine Learning
⮚ Human Interface
✔ Graphics Solutions
✔ Segmented LCD
✔ Touch Sensing Solutions
✔ Audio and Speech
⮚ Connectivity
✔ Wireless
✔ USB
✔ Ethernet
✔ CAN
AVR (Alf-EgilBogen VegardWollan
RISC microcontroller
◻ It is also called as Advanced Virtual RISC
◻ AVR was developed in the year 1996 by Atmel Corporation
◻ The architecture of AVR was designerd by Alf-EgilBogen and
Vegard Wollan
◻ AVR microcontroller executes most of the instructions in
single execution cycle
◻ AVRs are about four times faster than PICs and consumes less
power
◻ AVRs can be operated in different power saving modes
Features of AVR
◻ AVRs provides a wide range of features
✔ Internal, self-programmable instruction flash memory up to 256 KB
✔ In-system programmable (ISP) using serial/parallel low-voltage proprietary
interfaces and On-chip debugging support through JTAG
✔ Internal data EEPROM up to 4 KB and SRAM up to 16 KB
✔ 8-bit and 16-bit timers
✔ PWM output, Analog comparator
✔ 10 or 12-bit A/D converters, with multiplex of up to 16 channels
✔ 12-bit D/A converters
✔ Synchronous/asynchronous serial peripherals (UART/USART), Serial Peripheral
Interface Bus (SPI)
✔ Multiple power-saving sleep modes
✔ Lighting and motor control (PWM) controller models
✔ CAN, USB. Ethernet, LCD, DMA controller support
✔ Low-operating voltage devices i.e.1.8 V
Applications of AVR
⮚ Signal sensing and Data acquisition
⮚ Motion control and Interface motors
⮚ Displays on LCD
⮚ Interface any type of sensors and transducers
⮚ Interface GSM and GPSEmerging Trends in CO and IT (22618)
⮚ Control and automation of industrial plants, mechanical & electrical
systems
⮚ Automation of heavy machineries
⮚ Developments for UAVs (Unmanned Aerial Vehicles)
⮚ Light sensing,Temperature sensing & controlling devices
⮚ Fire detection & safety devices
⮚ Industrial instrumentation devices
⮚ Process control devices
ARM microcontroller
⮚ The ARM (Advanced RISC machine) is a 32-bit Reduced
Instructions Set Computer (RISC) microcontroller and
introduced by the Acron computers’ organization in 1987
⮚ The ARM architecture uses a ‘Harvard architecture’ which
support separate data and instruction buses for communicating
with the ROM and RAM memories
⮚ The ARM microcontrollers support for both low-level and
high-level programming languages
Features of ARM microcontroller
⮚ Load/store RISC architecture
⮚ An ARM and Thumb instruction sets i.e. 32-bit instructions can be
freely intermixed with 16-bit instructions in a program
⮚ Efficient multi-core processing and easier coding for developers
⮚ Support multi-processing
⮚ Enhanced power-saving design
⮚ 64 and 32-bit execution states for scalable high performance
⮚ Supports Memory Management Unit (MMU) and the Memory
Protection Unit (MPU)
⮚ Support for Digital Signal Processing (DSP) algorithms
⮚ Smaller size, reduced complexity and lower power consumption
⮚ Floating-point support
Applications of ARM microcontroller
⮚ Smartphones
⮚ Multimedia players
⮚ 3-Ds handheld game consoles
⮚ Digital cameras
⮚ Tablet computers
⮚ Industrial instrument control systems
⮚ Wireless networking and sensors
⮚ Automotive body system
⮚ Robotics
⮚ Consumer electronics
⮚ Set-top boxes
⮚ Digital television
⮚ Smart watches etc
ASIC (Application-Specific Integrated
Circuit)
◻ An ASIC is a microchip designed for a special application,
such as a particular kind of transmission protocol or a hand-
held computer
◻ ASICs are used in a wide-range of applications, including
auto emission control, environmental monitoring, and
personal digital assistants (PDAs)
◻ An ASIC can be pre-manufactured for a special application or
it can be custom manufactured (typically using components
from a "building block" library of components) for a
particular customer application.
Advantages of ASIC
⮚ The small size - makes it a high choice for sophisticated
larger systems
⮚ Large number of circuits built over a single chip, so more
suitable for high-speed applications
⮚ Low power consumption
⮚ The system on the chip, so circuits are present side by side
⮚ Very minimal routing is needed to connect various circuits
⮚ Has no timing issues and post-production configuration.
The disadvantages of ASIC
I/
O
MEMOR PROCESSOR
Y
ACTUATORS
SENSORS
HARDWIRED UNIT
• Application-specific logic
• Timers
• A/D and D/A conversion
ENVIRONMEN
T
Parts of an Embedded System (cont.)
◻ Single-functioned
🞑Executes a single program, repeatedly
◻ Tightly-constrained
🞑Low cost, low power, small, fast, etc.
◻ Reactive and real-time
🞑Continually reacts to changes in the system’s
environment
🞑Must compute certain results in real-time without
delay
An Embedded System Example
Digital camera chip
CC
D
CCD preprocessor Pixel coprocessor D2A
A2D
lens
total = 0
for i = 1 to N
loop
Desired total += M[i]
functionality end loop
total = 0
for i =1 to …
Application-Specific Processors
◻ Programmable processor optimized Controller Datapath
◻ Features Data
Program memory
🞑 Program memory memory
◻ Benefits
total = 0
for i =1 to …
◻ Basic tradeoff
🞑 General vs. custom
🞑 With respect to processor technology or IC technology
🞑 The two technologies are independent
General- Single-
purpose ASIP purpose
General, processor processor Customized,
providing improved: providing improved:
◻ 802.15.4-LR-WPAN
⮚ IEEE 802.15.4 is a collection of standards for low-rate
wireless personal area networks (LR-WPANs).
⮚ These standards form the basis of specifications for high
level communication protocols such as ZigBee.
⮚ LR-WPAN standards provide data rates from 40 Kb/s to
250 Kb/s.
⮚ These standards provide low-cost and low-speed
communication for power constrained devices
IoT Protocols
◻ 6LoWPAN
⮚ 6LoWPAN (IPv6 over Low power Wireless Personal Area
Networks) brings IP protocol to the low-power devices
which have limited processing capability
⮚ 6LoWPAN operates in the 2.4 GHz frequency range and
provides data transfer rates of 250 Kb/s
⮚ 6LoWPAN works with the 802.15.4 link layer protocol and
defines compression mechanisms for IPv6 datagrams over
IEEE 802.15.4-based networks
IoT Protocols
◻ Hypertext Transfer Protocol (HTTP)
⮚ It is the application layer protocol that forms the foundation of
the World Wide Web (WWW).
⮚ HTTP includes commands such as GET, PUT, POST, DELETE,
HEAD, TRACE, OPTIONS, etc.
⮚ The protocol follows a request-response model where a client
sends requests to a server using the HTTP commands.
⮚ HTTP is a stateless protocol and each HTTP request is
independent of the other requests.
⮚ An HTTP client can be a browser or an application running on
the client (e.g., an application running on an IoT device, a mobile
application or other software).
⮚ HTTP protocol uses Universal Resource Identifiers (URIs) to
identify HTTP resources.
IoT Protocols
◻ Constrained Application Protocol (CoAP)
⮚ It is an application layer protocol for machine-to-machine
(M2M) applications, meant for constrained environments with
constrained devices and constrained networks.
⮚ Like HTTP, CoAP is a web transfer protocol and uses a request-
response model, however it runs on top of UDP instead of TCP.
⮚ COAP uses a client-server architecture where clients
communicate with servers using connectionless datagrams
⮚ COAP is designed to easily interface with HTTP
⮚ Like HTTP, COAP supports methods such as GET, PUT, POST,
and DELETE
⮚ COAP draft specifications are available on IEFT Constrained
environments (CORE) Working Group website
IoT Protocols
◻ WebSocket
⮚ WebSocket protocol allows full-duplex communication
over a single socket connection for sending messages
between client and server.
⮚ WebSocket is based on TCP and allows streams of
messages to be sent back and forth between the client and
server while keeping the TCP connection open.
⮚ The client can be a browser, a mobile application or an IoT
device.
IoT Protocols
◻ Message Queue Telemetry Transport (MQTT)
⮚ is a light-weight messaging protocol based on the publish-
subscribe model
⮚ MQTT uses a client-server architecture where the client
(such as an IoT device) connects to the server (also called
MQTT Broker) and publishes messages to topics on the
server
⮚ The broker forwards the messages to the clients subscribed
to topics
⮚ MQTT is well suited for constrained environments where
the devices have limited processing and memory resources
and the network bandwidth is low
IoT Protocols
◻ Extensible Messaging and Presence Protocol (XMPP)
⮚ It is a protocol for real-time communication and streaming XML data
between network entities
⮚ XMPP powers wide range of applications including messaging,
presence, data syndication, gaming, multi-party chat and voice/video
calls
⮚ XMPP allows sending small chunks of XML data from one network
entity to another in near real-time.
⮚ XMPP is a decentralized protocol and uses a client-server
architecture
⮚ XMPP supports both client-to-server and server-to-server
communication paths
⮚ In the context of IoT, XMPP allows real-time communication
between IoT devices.
IoT Protocols
◻ Data Distribution Service (DDS)
⮚ It is a data-centric middleware standard for device-to-
device or machine-to-machine communication
⮚ DDS uses a publish-subscribe model where publishers (e.g.
devices that generate data) create topics to which
subscribers (e.g., devices that want to consume data) can
subscribe
⮚ Publisher is an object responsible for data distribution and
the subscriber is responsible for receiving published data.
⮚ DDS provides quality-of-service (QoS) control and
configurable reliability.
IoT Protocols
◻ Advanced Message Queuing Protocol (AMQP)
⮚ It is an open application layer protocol for business messaging
⮚ AMQP supports both point-to-point and publisher/subscriber
models, routing and queuing
⮚ AMQP brokers receive messages from publishers (e.g., devices
or applications that generate data) and route them over
connections to consumers (applications that process data)
⮚ Publishers publish the messages to exchanges which then
distribute message copies to queues
⮚ Messages are either delivered by the broker to the consumers
which have subscribed to the queues or the consumers can pull
the messages from the queues
Logical design of IoT
◻ IoT functional blocks: An IoT system comprises of a number
of functional blocks that provide the system the capabilities
for identification, sensing, actuation, communication, and
management
Functional Blocks of IoT
◻ Device: An IoT system comprises of devices that provide sensing, actuation,
monitoring and control functions.
◻ Communication: The communication block handles the communication for
the IoT system
◻ Services: IoT services such as services for device monitoring, device
control services, data publishing services and services for device discovery
◻ Management: Management functional block provides various functions to
govern the IoT system.
◻ Security: This block secures the IoT system by providing functions such as
authentication, authorization, message and content integrity, and data
security
◻ Application: IoT applications provide an interface that the users can use to
control and monitor various aspects of the IoT system. Applications also
allow users to view the system status and view or analyze the processed
data.
IoT Communication models
◻ Request-Response
◻ Publish-Subscribe
◻ Push-Pull
◻ Exclusive Pair
Request-Response model