Artificial Intelligence and Advanced Computing Strategies
Exploration of one of the ultimate computer science objectives: simulating intelligence in machines. Considers intelligent behavior in living beings, identifies problems confronting AI researchers, and explores a variety of approaches to the development of intelligent systems. Methodologies include traditional knowledge representation, search, and heuristic strategies, as well as alternative computational paradigms such as artificial neural networks. Cognitive behaviors in machines are modeled via computer simulation and robotics. Techniques presented draw on knowledge accumulated from a broad range of disciplines. Prereqs: Permission of the instructor. Computer science majors should have grades of C or better in at least one 300-level computer science course and should be proficient in Java or C++. A math background that includes calculus and advanced courses is helpful but not essential. Offered: Spring.
Python has extensive libraries for working with Artificial Intelligence techniques and algorithms. I cover several of these libraries (TensorFlow, Keras, Theano, and PyTorch) while examining the following concepts:
- Supervised learning (neural networks)
- Unsupervised learning (clustering, e.g., k-means)
- Reinforcement learning (markov decision processes and Infinite Mario)