Agenda Introduction and overview of the module Introduction to Artificial Intelligence Applications of Artificial Intelligence Data structures recap 20 September 2023 CU6051NI Artificial Intelligence 2
What is Artificial Intelligence? “Intelligence: The ability to learn and solve problems” - Webster’s Dictionary. “Artificial intelligence (AI) is the intelligence exhibited by machines or software” - Wikipedia. “The science and engineering of making intelligent machines ” – John McCarthy . “The study and design of intelligent agents , where an intelligent agent is a system that perceives its environment and takes actions that maximize its chances of success .” - Russel and Norvig AI book. 20 September 2023 CU6051NI Artificial Intelligence 3
Why AI? “Just as the Industrial Revolution freed up a lot of humanity from physical drudgery, I think AI has the potential to free up humanity from a lot of the mental drudgery.” - Andrew Ng. “Artificial Intelligence is the New Electricity.” - Andrew Ng. 20 September 2023 CU6051NI Artificial Intelligence 4
Overview of the module Semester Long Module Fully assessed by coursework 2 courseworks CW1 (20%) – Research work on a chosen AI topic CW2 (80%) – Development of an AI system based on topic chosen in CW1 Students will be required to present their work in form of a VIVA/Presentation 20 September 2023 CU6051NI Artificial Intelligence 5
Applications of AI Speech Recognition Virtual assistants: Siri (Apple), Echo (Amazon), Google Assistant, Cortana (Microsoft) “They” help get things done: send an email, make an appointment, find a restaurant, tell you the weather and more Leverage deep neural networks to handle speech recognition and natural language understanding 20 September 2023 CU6051NI Artificial Intelligence 6
Applications of AI Handwriting recognition (check, zipcode ) 20 September 2023 CU6051NI Artificial Intelligence 7
Applications of AI Machine Translation 100+ languages 20 September 2023 CU6051NI Artificial Intelligence 8
Applications of AI Robotics: Awesome robots today! 20 September 2023 CU6051NI Artificial Intelligence 9
Applications of AI Recommendation Systems 20 September 2023 CU6051NI Artificial Intelligence 10
Applications of AI Recommendation Systems 20 September 2023 CU6051NI Artificial Intelligence 11
Applications of AI Search Engines 20 September 2023 CU6051NI Artificial Intelligence 12
Applications of AI Email (spam detection) 20 September 2023 CU6051NI Artificial Intelligence 13
Applications of AI Chess (1997): Kasparov vs IBM Deep Blue Powerful search algorithms !! 20 September 2023 CU6051NI Artificial Intelligence 14
Applications of AI Jeopardy! (2011): Humans vs. IBM Watson Natural Language Understanding and information extraction! 20 September 2023 CU6051NI Artificial Intelligence 15
Applications of AI Go (2016): Lee Sedol versus Google AlphaGo Deep Learning, reinforcement learning, and search algorithms! 20 September 2023 CU6051NI Artificial Intelligence 16
Applications of AI Autonomous Driving 20 September 2023 CU6051NI Artificial Intelligence 17
State-of-the-art Applications Speech recognition Autonomous planning and Scheduling Financial forecasting Game playing, video games Spam fighting Logistics planning Robotics (household, surgery, navigation) Machine translation Information extraction Automatic assembly Sentiment analysis Fraud detection Recommendation systems Web search engines Autonomous cars Energy optimization Question answering systems Social network analysis Medical diagnosis, imaging Route finding Traveling salesperson Document summarization Transportation/scheduling Computer animation Many more !! 20 September 2023 CU6051NI Artificial Intelligence 18
Applications of AI What will AI allow us to automate? We'll be able to automate everything that we can describe. The problem is: it's not clear what we can describe . - Stephen Wolfram, MIT 20 September 2023 CU6051NI Artificial Intelligence 19
Foundation of AI 20 September 2023 CU6051NI Artificial Intelligence 20
Foundation of AI Philosophy – Logic, methods of reasoning. – Mind as physical system that operates as a set of rules. – Foundations of learning, language, rationality. Mathematics – Logic: Formal representation and proof. – Computation, algorithms. – Probability. 20 September 2023 CU6051NI Artificial Intelligence 21
Foundation of AI Economics – Formal theory of rational decisions. – Combined decision theory and probability theory for decision making under uncertainty . Neuroscience – Study of brain functioning. – How brains and computers are (dis)similar. 20 September 2023 CU6051NI Artificial Intelligence 22
Foundation of AI Psychology – How do we think and act? – Cognitive psychology perceives the brain as an information processing machine. – Led to the development of the field cognitive science : how could computer models be used to study language, memory, and thinking from a psychological perspective. Computer engineering – Cares about how to build powerful machines to make AI possible. – E.g., Self-driving cars are possible today thanks to advances in computer engineering. 20 September 2023 CU6051NI Artificial Intelligence 23
Foundation of AI Control theory and cybernetics – Design simple optimal agents receiving feedback from the environment. – Modern control theory design systems that maximize an objective function over time. Linguistics – How are language and thinking related. – Modern linguistics + AI = Computational linguistics ( Natural language processing ). 20 September 2023 CU6051NI Artificial Intelligence 24
History of AI 1940-1950: Gestation of AI – McCulloch & Pitts: Boolean circuit to model of brain – Turing’s Computing Machinery and Intelligence http://www.turingarchive.org/browse.php/B/9 1950-1970: Early enthusiasm, great expectations – Early AI programs, Samuel’s checkers program – Birth of AI @ Dartmouth meeting 1956. – Check out the MIT video “The thinking Machine” on youtube https://www.youtube.com/watch?v=aygSMgK3BEM 20 September 2023 CU6051NI Artificial Intelligence 25
History of AI 1970-1990: Knowledge-based AI – Expert systems, AI becomes an industry – AI winter 1990-present: Scientific approaches – Neural Networks: le retour (the return) – The emergence of intelligent agents – AI becomes “scientific”, use of probability to model uncertainty – AI Spring! – The availability of very large datasets. *Big Data will drive future discoveries and alleviate the complexity in AI. 20 September 2023 CU6051NI Artificial Intelligence 26
What we will be learning Introduction to artificial intelligence, history of Artificial Intelligence. • Building intelligent agents (search, games). • Machine Learning algorithms. • Applications of AI (Natural Language Processing, Vision). • Solving interesting real AI problems through programming Python. 20 September 2023 CU6051NI Artificial Intelligence 27
Rational Intelligent Agents We will be learning about designing intelligent agents . An agent perceives the environment and acts upon that environment to achieve some task . We care specifically about rational agents . Rational agents act based on or in accordance with reason or logic . Rationality is relative to how to act to maximize a performance measure . AI aims to design the best agents (programs) that achieve the best performance given the computational limitations. 20 September 2023 CU6051NI Artificial Intelligence 28
Search agents Agents that work towards a goal. Agents consider the impact of actions on future states. Agent’s job is to identify the action or series of actions that lead to the goal. Two kinds of search: Uninformed Search (use no domain knowledge) Informed Search (use domain knowledge reach the goal faster) 20 September 2023 CU6051NI Artificial Intelligence 29
Search Agents 20 September 2023 CU6051NI Artificial Intelligence 30 The 8-queen problem : on a chess board, place 8 queens so that no queen is attacking any other horizontally, vertically or diagonally.
Search Agents 20 September 2023 CU6051NI Artificial Intelligence 31 Find the shortest route. Start: Las Vegas Goal: Calgary
Prerequisites for the course: Python will be the programming language for this course, so familiarize yourself with python We will be using the Anaconda python distribution https://www.anaconda.com/ Familiarize yourself with jupyter notebooks Data structures 20 September 2023 CU6051NI Artificial Intelligence 32
Data structures Stack Stack is a linear data structure which follows a particular order in which the operations are performed. The order is LIFO(Last In First Out). image credit: https://www.geeksforgeeks.org/stack-data-structure/ 20 September 2023 CU6051NI Artificial Intelligence 33
Data structures Queue A Queue is a linear structure which follows a particular order in which the operations are performed. The order is First In First Out (FIFO). The difference between stacks and queues is in removing. In a stack we remove the item the most recently added ; in a queue, we remove the item the least recently added . 20 September 2023 CU6051NI Artificial Intelligence 34 image credit: https://www.geeksforgeeks.org/queue-data-structure/
Data structures Priority Queue Priority Queue is an extension of queue with following properties. 1) Every item has a priority associated with it. 2) An element with high priority is dequeued before an element with low priority. 3) If two elements have the same priority, they are served according to their order in the queue. 20 September 2023 CU6051NI Artificial Intelligence 35 go and implement these data structures in python
Summary AI is a hard (computational complexity, language, vision, etc ), and a broad field with high impact on humanity and society. What can AI do for us is already amazing! AI systems do not have to model human/nature but can act like or be inspired by human/nature. Rational (do the right thing) agents are central to our approach of AI. Note that rationality is not always possible in complicated environment but we will still aim to build rational agents. AI is a flourishing and exciting field: everyone can contribute. 20 September 2023 CU6051NI Artificial Intelligence 36
Suggested readings Artificial Intelligence: A modern Approach; Stuart Russel & Peter Norvig Programming Collective Intelligence; Toby Segaran Python Machine Learning; Sebastian Raschka 20 September 2023 CU6051NI Artificial Intelligence 37
20 September 2023 CU6051NI Artificial Intelligence 38 End of Lecture 1
20 September 2023 CU6051NI Artificial Intelligence 39 Thank you ! Any questions ?