5.27. Artificial Intelligence (Mandatory)

5.27. Artificial Intelligence (Mandatory)

Figure 5.27: Connection Map. CS261 Artificial Intelligence

5.27.1. Justification ↑ Back to top

Artificial Intelligence (AI) is a fundamental field of computer science that seeks to create systems capable of performing tasks that typically require human intelligence. This course provides an introduction to the techniques used to build such systems, including search algorithms, probabilistic reasoning, and machine learning. Students will learn to model complex problems and implement intelligent agents, while considering the social and ethical implications of these technologies.

5.27.2. Generales Goals ↑ Back to top

  1. Understand the fundamental concepts and history of Artificial Intelligence.
  2. Implement and evaluate search algorithms for problem-solving.
  3. Master the basics of machine learning, including supervised and unsupervised learning.
  4. Apply probabilistic reasoning to handle uncertainty in intelligent systems.
  5. Analyze the ethical challenges and social impact of AI.

5.27.3. Contribution to Outcomes ↑ Back to top

AG-C08) Problem Analysis: Identifies, formulates, and analyzes complex computing problems. (Usage)
AG-C09) Design and Development of Solutions: Designs, implements, and evaluates solutions for complex computing problems. (Usage)

5.27.4. Content ↑ Back to top

5.27.4.1. Introduction to AI: Concepts and Intelligent Behavior (4 hours) [Skills AG-C08,AG-C09] ↑ Back to top

Bibliography: (Russell and Norvig, 2020; Luger, 2008)

Topics

  1. Overview of AI problems, Examples of successful recent AI applications
  2. Definitions of agents with examples (e.g., reactive, deliberative)
  3. What is intelligent behavior?:
    1. The Turing test and its flaws
    2. Multimodal input and output
    3. Simulation of intelligent behavior
    4. Rational versus non-rational reasoning enumerate
    5. Overview of AI Applications, growth, and impact (economic, societal, ethics)
    6. Philosophical issues
    7. History of AI

    Learning Outcomes

    1. Describe the Turing test and the "Chinese Room" thought experiment [Explain]
    2. Differentiate between optimal reasoning/behavior and human-like reasoning/behavior [Evaluate]
    3. Differentiate the terms: AI, machine learning, and deep learning [Explain]
    5.27.4.2. Problem Characteristics and Agent Nature (4 hours) [Skills AG-C08,AG-C09] ↑ Back to top

    Bibliography: (Russell and Norvig, 2020; Luger, 2008)

    Topics

    1. Problem characteristics:
      1. Fully versus partially observable
      2. Single versus multi-agent
      3. Deterministic versus stochastic
      4. Static versus dynamic
      5. Discrete versus continuous enumerate
      6. Nature of agents:
        1. Autonomous, semi-autonomous, mixed-initiative autonomy
        2. Reflexive, goal-based, and utility-based
        3. Decision making under uncertainty and with incomplete information
        4. The importance of perception and environmental interactions
        5. Learning-based agents
        6. Embodied agents:
          1. sensors, dynamics, effectors enumerate enumerate
          2. Practice identifying problem characteristics in example environments
          3. Additional depth on nature of agents with examples
          4. Additional depth on AI Applications, Growth, and Impact (economic, societal, ethics, security)

          Learning Outcomes

          1. Enumerate the characteristics of a specific problem [Apply]
          5.27.4.3. State and Uninformed Search (5 hours) [Skills AG-C08,AG-C09] ↑ Back to top

          Bibliography: (Russell and Norvig, 2020; Luger, 2008)

          Topics

          1. State space representation of a problem:
            1. Specifying states, goals, and operators
            2. Factoring states into representations (hypothesis spaces)
            3. Problem solving by graph search:
              1. e.g., Graphs as a space, and tree traversals as exploration of that space
              2. Dynamic construction of the graph (not given upfront) enumerate enumerate
              3. Uninformed graph search for problem solving:
                1. Breadth-first search
                2. Depth-first search:
                  1. With iterative deepening enumerate
                  2. Uniform cost search enumerate
                  3. Space and time complexities of graph search algorithms
                  4. Bidirectional search
                  5. Understanding the search space:
                    1. Constructing search trees
                    2. Dynamic search spaces
                    3. Combinatorial explosion of search space
                    4. Search space topology (e.g., ridges, saddle points, local minima) enumerate

                    Learning Outcomes

                    1. Design the state space representation for a puzzle (e.g., N-queens or 3-jug problem) [Apply]
                    2. Select and implement an appropriate uninformed search algorithm for a problem (e.g., tic-tac-toe), and characterize its time and space complexities [Apply]
                    5.27.4.4. Heuristic Search and CSP (6 hours) [Skills AG-C08,AG-C09] ↑ Back to top

                    Bibliography: (Russell and Norvig, 2020; Luger, 2008)

                    Topics

                    1. Heuristic graph search for problem solving:
                      1. Heuristic construction and admissibility
                      2. Hill-climbing
                      3. Local minima and the search landscape:
                        1. Local vs global solutions enumerate
                        2. Greedy best-first search
                        3. A* search enumerate
                        4. Beam search
                        5. Implementation of A* search
                        6. Constraint satisfaction
                        7. Variations on A* (IDA*, SMA*, RBFS)

                        Learning Outcomes

                        1. Select and implement an appropriate informed search algorithm for a problem after designing a helpful heuristic function (e.g., a robot navigating a 2D gridworld) [Apply]
                        2. Evaluate whether a heuristic for a given problem is admissible/can guarantee an optimal solution [Evaluate]
                        3. Design and implement A*/beam search to solve a problem, and compare it against other search algorithms in terms of the solution cost, number of nodes expanded, etc [Apply]
                        4. Compare and contrast various heuristic searches vis-a-vis applicability to a given problem [Evaluate]
                        5. Model a logic or Sudoku puzzle as a constraint satisfaction problem, solve it with backtrack search, and determine how much arc consistency can reduce the search space [Apply]
                        5.27.4.5. Adversarial Search and Stochastic Optimization (5 hours) [Skills AG-C08,AG-C09] ↑ Back to top

                        Bibliography: (Russell and Norvig, 2020; Luger, 2008)

                        Topics

                        1. Two-player adversarial games:
                          1. Minimax search
                          2. Alpha-beta pruning:
                            1. Ply cutoff enumerate enumerate
                            2. Local search
                            3. Tabu search
                            4. Two-player adversarial games:
                              1. The horizon effect
                              2. Opening playbooks/endgame solutions
                              3. What it means to "solve" a game (e.g., checkers) enumerate
                              4. Implementation of minimax search, beam search
                              5. Expectimax search (MDP-solving) and chance nodes
                              6. Stochastic search:
                                1. Simulated annealing
                                2. Genetic algorithms
                                3. Monte-Carlo tree search enumerate

                                Learning Outcomes

                                1. Apply minimax search in a two-player adversarial game (e.g., connect four), using heuristic evaluation at a particular depth to compute the scores to back up [Apply]
                                2. Apply minimax search with alpha-beta pruning to prune search space in a two-player adversarial game (e.g., connect four) [Apply]
                                3. Compare and contrast genetic algorithms with classic search techniques, explaining when it is most appropriate to use a genetic algorithm to learn a model versus other forms of optimization (e.g., gradient descent) [Evaluate]
                                4. Design and implement a genetic algorithm solution to a problem [Apply]
                                5. Design and implement a simulated annealing schedule to avoid local minima in a problem [Apply]
                                5.27.4.6. Machine Learning Fundamentals (7 hours) [Skills AG-C08,AG-C09] ↑ Back to top

                                Bibliography: (Russell and Norvig, 2020; Alpaydin, 2020)

                                Topics

                                1. Definition and examples of a broad variety of machine learning tasks:
                                  1. Supervised learning:
                                    1. Classification
                                    2. Regression enumerate
                                    3. Reinforcement learning
                                    4. Unsupervised learning:
                                      1. Clustering enumerate enumerate
                                      2. Fundamental ideas:
                                        1. No free lunch theorem: no one learner can solve all problems; representational design decisions have consequences.
                                        2. Sources of error and undecidability in machine learning enumerate
                                        3. A simple statistical-based supervised learning such as linear regression or decision trees:
                                          1. Focus on how they work without going into mathematical or optimization details; enough to understand and use existing implementations correctly enumerate
                                          2. The overfitting problem/controlling solution complexity (regularization, pruning - intuition only):
                                            1. The bias (underfitting) - variance (overfitting) tradeoff enumerate

                                            Learning Outcomes

                                            1. Describe the differences among the three main styles of learning (supervised, reinforcement, and unsupervised) and determine which is appropriate to a particular problem domain [Explain]
                                            2. Differentiate the terms of AI, machine learning, and deep learning [Evaluate]
                                            3. Frame an application as a classification problem, including the available input features and output to be predicted (e.g., identifying alphabetic characters from pixel grid input) [Apply]
                                            4. Identify overfitting in the context of a problem and learning curves and describe solutions to overfitting [Evaluate]
                                            5. Explain how machine learning works as an optimization/search process [Explain]
                                            5.27.4.7. Machine Learning Data, Representations and Evaluation (7 hours) [Skills AG-C08,AG-C09] ↑ Back to top

                                            Bibliography: (Russell and Norvig, 2020; Alpaydin, 2020)

                                            Topics

                                            1. Working with Data:
                                              1. Data preprocessing:
                                                1. Importance and pitfalls of preprocessing choices enumerate
                                                2. Handling missing values (imputing, flag-as-missing):
                                                  1. Implications of imputing vs flag-as-missing enumerate
                                                  2. Encoding categorical variables, encoding real-valued data
                                                  3. Normalization/standardization
                                                  4. Emphasis on real data, not textbook examples enumerate
                                                  5. Representations:
                                                    1. Hypothesis spaces and complexity
                                                    2. Simple basis feature expansion, such as squaring univariate features
                                                    3. Learned feature representations enumerate
                                                    4. Machine learning evaluation:
                                                      1. Separation of train, validation, and test sets
                                                      2. Performance metrics for classifiers
                                                      3. Estimation of test performance on held-out data
                                                      4. Tuning the parameters of a machine learning model with a validation set
                                                      5. Importance of understanding what a model is doing, where its pitfalls/shortcomings are, and the implications of its decisions enumerate

                                                      Learning Outcomes

                                                      1. Apply two or more simple statistical learning algorithms to a classification task and measure the classifiers' accuracy [Apply]
                                                      2. Implement a statistical learning algorithm and the corresponding optimization process to train the classifier and obtain a prediction on new data [Apply]
                                                      3. Explain proper ML evaluation procedures, including the differences between training and testing performance, and what can go wrong with the evaluation process leading to inaccurate reporting of ML performance [Explain]
                                                      4. Compare two machine learning algorithms on a dataset, implementing the data preprocessing and evaluation methodology (e.g., metrics and handling of train/test splits) from scratch [Apply]
                                                      5.27.4.8. Neural Networks and Ethics (6 hours) [Skills AG-C08,AG-C09] ↑ Back to top

                                                      Bibliography: (Russell and Norvig, 2020; Alpaydin, 2020)

                                                      Topics

                                                      1. Basic neural networks:
                                                        1. Fundamentals of understanding how neural networks work and their training process, without details of the calculations
                                                        2. Basic introduction to generative neural networks (e.g., large language models) enumerate
                                                        3. Ethics for Machine Learning:
                                                          1. Focus on real data, real scenarios, and case studies
                                                          2. Dataset/algorithmic/evaluation bias and unintended consequences enumerate

                                                          Learning Outcomes

                                                          1. Describe the neural network training process and resulting learned representations [Explain]
                                                          5.27.4.9. Machine Learning Formulation and Evaluation (3 hours) [Skills AG-C09] ↑ Back to top

                                                          Bibliography: (Goodfellow et al., 2016a)

                                                          Topics

                                                          1. Formulation of simple machine learning as an optimization problem, such as least squares linear regression or logistic regression:
                                                            1. Objective function
                                                            2. Gradient descent
                                                            3. Regularization to avoid overfitting (mathematical formulation) enumerate
                                                            4. Ensembles of models:
                                                              1. Simple weighted majority combination enumerate
                                                              2. Performance evaluation:
                                                                1. Other metrics for classification (e.g., error, precision, recall)
                                                                2. Performance metrics for regressors
                                                                3. Confusion matrix
                                                                4. Cross-validation:
                                                                  1. Parameter tuning (grid/random search, via cross-validation) enumerate enumerate

                                                                  Learning Outcomes

                                                                  1. Compare and contrast several learning techniques (e.g., decision trees, logistic regression, naive Bayes, neural networks, and belief networks), providing examples of when each strategy is superior [Compare]
                                                                  2. Evaluate the performance of a simple learning system on a real-world dataset [Evaluate]
                                                                  3. Characterize the state of the art in learning theory, including its achievements and shortcomings [Explain]
                                                                  4. Explain the problem of overfitting, along with techniques for detecting and managing the problem [Explain]
                                                                  5. Explain the triple tradeoff among the size of a hypothesis space, the size of the training set, and performance accuracy [Explain]
                                                                  5.27.4.10. Deep Learning, RL and Ethics (3 hours) [Skills AG-C09] ↑ Back to top

                                                                  Bibliography: (Goodfellow et al., 2016a)

                                                                  Topics

                                                                  1. Deep learning:
                                                                    1. Deep feed-forward networks (intuition only, no mathematics)
                                                                    2. Convolutional neural networks (intuition only, no mathematics)
                                                                    3. Visualization of learned feature representations from deep nets
                                                                    4. Other architectures (generative NN, recurrent NN, transformers, etc.) enumerate
                                                                    5. Overview of reinforcement learning methods
                                                                    6. Two or more applications of machine learning algorithms:
                                                                      1. E.g., medicine and health, economics, vision, natural language, robotics, game play enumerate
                                                                      2. Ethics for Machine Learning:
                                                                        1. Continued focus on real data, real scenarios, and case studies
                                                                        2. Privacy
                                                                        3. Fairness
                                                                        4. Intellectual property
                                                                        5. Explainability enumerate

                                                                        Learning Outcomes

                                                                        1. Visualize the training progress of a neural network through learning curves in a well-established toolkit (e.g., TensorBoard) and visualize the learned features of the network [Apply]
                                                                        2. Given a real-world application of machine learning, describe ethical issues regarding the choices of data, preprocessing steps, algorithm selection, and visualization/presentation of results [Apply]
                                                                        5.27.4.11. Knowledge Representation and Probabilistic Reasoning Foundations (6 hours) [Skills AG-C08,AG-C09] ↑ Back to top

                                                                        Bibliography: (Russell and Norvig, 2020)

                                                                        Topics

                                                                        1. Types of representations:
                                                                          1. Symbolic, logical:
                                                                            1. Creating a representation from a natural language problem statement enumerate
                                                                            2. Learned subsymbolic representations
                                                                            3. Graphical models (e.g., naive Bayes, Bayesian network) enumerate
                                                                            4. Review of probabilistic reasoning, Bayes theorem
                                                                            5. Bayesian reasoning:
                                                                              1. Bayesian inference enumerate
                                                                              2. Random variables and probability distributions:
                                                                                1. Axioms of probability
                                                                                2. Probabilistic inference
                                                                                3. Bayes' Rule (derivation)
                                                                                4. Bayesian inference (more complex examples) enumerate

                                                                                Learning Outcomes

                                                                                1. Given a natural language problem statement, encode it as a symbolic or logical representation [Apply]
                                                                                2. Compute a probabilistic inference in a real-world problem using Bayes' theorem to determine the probability of a hypothesis given evidence [Apply]
                                                                                3. Apply Bayes' rule to determine the probability of a hypothesis given evidence [Apply]
                                                                                4. Compute the probability of outcomes and test whether outcomes are independent [Apply]
                                                                                5.27.4.12. Independence, Markov Models and Decision Making (6 hours) [Skills AG-C08,AG-C09] ↑ Back to top

                                                                                Bibliography: (Russell and Norvig, 2020)

                                                                                Topics

                                                                                1. Independence
                                                                                2. Conditional Independence
                                                                                3. Markov chains and Markov models
                                                                                4. Utility and decision making

                                                                                Learning Outcomes

                                                                                1. Explain how we can make decisions under uncertainty, using concepts such as Bayes theorem and utility [Explain]
                                                                                5.27.4.13. AI Applications and Societal Impact (4 hours) [Skills AG-C08,AG-C09] ↑ Back to top

                                                                                Bibliography: (Russell and Norvig, 2020; Alpaydin, 2020)

                                                                                Topics

                                                                                1. At least one application of AI to a specific problem and field, such as medicine, health, sustainability, social media, economics, education, robotics, etc. (choose at least one for the CS Core):
                                                                                  1. Formulating and evaluating a specific application as an AI problem:
                                                                                    1. How to deal with underspecified or ill-posed problems enumerate
                                                                                    2. Data availability/scarcity and cleanliness:
                                                                                      1. Basic data cleaning and preprocessing
                                                                                      2. Data set bias enumerate
                                                                                      3. Algorithmic bias
                                                                                      4. Evaluation bias
                                                                                      5. Assessment of societal implications of the application enumerate
                                                                                      6. Deployed deep generative models:
                                                                                        1. High-level overview of deep image generative models (e.g., as of 2023, DALL-E, Midjourney, Stable Diffusion, etc.), their uses, and their shortcomings/pitfalls.
                                                                                        2. High-level overview of large language models (e.g., as of 2023, ChatGPT, Bard, etc.), their uses, and their shortcomings/pitfalls. enumerate
                                                                                        3. Overview of societal impact of AI:
                                                                                          1. Ethics
                                                                                          2. Fairness
                                                                                          3. Trust/explainability
                                                                                          4. Privacy and usage of training data
                                                                                          5. Human autonomy and oversight/regulations/legal requirements
                                                                                          6. Sustainability enumerate

                                                                                          Learning Outcomes

                                                                                          1. Given a real-world application domain and problem, formulate an AI solution to it, identifying proper data/input, preprocessing, representations, AI techniques, and evaluation metrics/methodology [Apply]
                                                                                          5.27.4.14. Additional AI Applications and Societal Impact (4 hours) [Skills AG-C08,AG-C09] ↑ Back to top

                                                                                          Bibliography: (Russell and Norvig, 2020; Alpaydin, 2020)

                                                                                          Topics

                                                                                          1. One or more additional applications of AI to a broad set of problems and diverse fields, such as medicine, health, sustainability, social media, economics, education, robotics, etc. (choose a different area from that chosen for the CS Core):
                                                                                            1. Formulating and evaluating a specific application as an AI problem:
                                                                                              1. How to deal with underspecified or ill-posed problems enumerate
                                                                                              2. Data availability/scarcity and cleanliness:
                                                                                                1. Basic data cleaning and preprocessing
                                                                                                2. Data set bias enumerate
                                                                                                3. Algorithmic bias
                                                                                                4. Evaluation bias
                                                                                                5. Assessment of societal implications of the application enumerate
                                                                                                6. Additional depth on deployed deep generative models:
                                                                                                  1. Introduction to how deep image generative models work, (e.g., as of 2023, DALL-E, Midjourney, Stable Diffusion) including discussion of attention
                                                                                                  2. Introduction to how large language models work, (e.g., as of 2023, ChatGPT, Bard) including discussion of attention
                                                                                                  3. Idea of foundational models, how to use them, and the benefits/issues with training them from big data enumerate
                                                                                                  4. Analysis and discussion of the societal impact of AI:
                                                                                                    1. Ethics
                                                                                                    2. Fairness
                                                                                                    3. Trust/explainability
                                                                                                    4. Privacy and usage of training data
                                                                                                    5. Human autonomy and oversight/regulations/legal requirements
                                                                                                    6. Sustainability enumerate

                                                                                                    Learning Outcomes

                                                                                                    1. Analyze the societal impact of one or more specific real-world AI applications, identifying issues regarding ethics, fairness, bias, trust, and explainability [Evaluate]
                                                                                                    2. Describe some of the failure modes of current deep generative models for language or images, and how this could affect their use in an application [Describe]

                                                                                                    5.27.5. Bibliography ↑ Back to top

                                                                                                    Russell, S. and Norvig, P. (2020). Artificial Intelligence: A Modern Approach. Pearson, 4th edition.

                                                                                                    Luger, G. F. (2008). Artificial Intelligence: Structures and Strategies for Complex Problem Solving. Pearson, 6th edition.

                                                                                                    Alpaydin, E. (2020). Introduction to Machine Learning. MIT Press, 4th edition.

                                                                                                    Goodfellow, I., Bengio, Y., and Courville, A. (2016a). Deep Learning. MIT Press.

                                                                                                    Spotted a typo, an outdated course, a broken link, or have a suggestion? Let us know.

                                                                                                    Scan to open on your phone