Apply Here: Game-playing AI with Swift for TensorFlow (S4TF) Cognitive Class Exam Quiz Answers
Game-playing AI with Swift for TensorFlow (S4TF) Cognitive Class Certification Answers
Module 1: Set Up Your Environment
Question 1) What kind of IBM Cloud account doesn’t require payment information and doesn’t expire?
- Trial
- Lite
- Pay-as-you-go
Question 2) Which of the following platforms does Swift NOT run natively on?
- Linux
- Darwin
- Windows
- None of the above
Module 2: Understanding Swift’s Basic
Question 1) Which of the following companies did Chris Lattner work at after Apple?
- IBM
- Microsoft
- Amazon
- Tesla
Question 2) For how many years was Swift in development before it was released to the public?
For how many years was Swift in development before it was released to the public?
4
Question 3) What kind of programming language is Swift?
- Interpreted
- Compiled to machine code
- Compiled to byte code
- Transpiled
Question 4) Which HTTP server for Swift will this course use?
- Perfect
- Kitura
- Swifter
- Vapor
Module 3: Tic Tac Toc (Minimax)
Question 1) Why does our implementation of Minimax keep track of the depth of the tree?
- Stop at a certain depth
- Memoize game states
- Take into account the “straightforwardness” of moves
Question 2) How is the tic-tac-toe board stored?
- Row-major format
- Column-major format
Question 3) If minimax started from a blank board and had to calculate the best possible move, how many board states would it evaluate? For the sake of mathematical simplicity, assume the board must be filled completely to be considered “over” – players cannot win.
- 9!
- 9^2
- 9^9
- 9*9
Question 4) The “minimax” function returns the best move to take for a board state.
- True
- False
Module 4: Cartpole (Reinforce Learning)
Question 1) The cartpole game is what kind of problem?
Inverted Pendulum
Question 2) The @differentiable function decorator is an example of an implementation of what technology/technique?
Data Structures
Question 3) Why do we only train the network with the top 30% of episodes?
- To reduce training time with fewer samples
- To improve network performance with better samples
Question 4) OpenAI Gym…
- Provides easy-to-use game enviroments to test RL agents
- Ships with RL algorithms to use as agents
Module 5: 2048 (Monte Carlo Tree Search)
Question 1) The implementation of the 2048 game logic is made fast by:
- Using bitboards
- Pre-calculating moves and scores for rows
- Multi-threading
Question 2) Which framework did we use to enable Swift to host HTTP servers?
Kitura
Question 3) Monte Carlo Tree Search is…
- Stochastic
- Guaranteed to always give the correct answer
Question 4) Which swift file defines dependencies and other package details?
Package.swift
Game-playing AI with Swift for TensorFlow (S4TF) Final Exam Answers – Cognitive Class
Question 1) Which tier(s) of IBM Cloud require payment information on file?
- Lite
- Trial
- Pay-as-you-go
Question 2) Why would you want to use a single language, Swift, over many languages, each specialized for a certain task?
- It’s easier to maintain a codebase written in a single language.
- Swift is an expressive, performant, and open source language backed by a large company (Apple).
- It’s slow to facilitate communication between components in different languages.
- It reduces the amount of “reinventing the wheel” required across a codebase.
Question 3) Does Minimax plays perfectly all the time? If so, why?
- It’s trained on a lot of game data and learns how to play perfectly.
- It brute forces a solution based off of the rules of the game, and all possible future situations.
- It’s provided optimal heuristics.
- It doesn’t always play perfectly.
Question 4) Classes are passed by reference, and structs are always, indiscriminately passed by value.
- True
- False
Question 5) A computed property is…
- A variable within a struct/class/enum.
- A function within a struct/class/enum that’s accessed like a property.
Question 6) Why is Minimax penalized for looking at moves deeper into the game tree?
- To improve performance by looking at a more shallow game tree.
- So Minimax takes into account how straightforward a move is.
- To make Minimax more accurate.
Question 7) Why is Reinforcement Learning important?
- It’s more accurate than other training methods.
- It can learn by trial and error.
- It doesn’t require as much data to learn from.
- It can play games.
Question 8) Swift for TensorFlow is interoperable with Python, because Python’s written in C
- True
- False
Question 9) What are some reasons Swift for TensorFlow is special?
- Swift now has a wrapper around TensorFlow, enabling machine learning development.
- Swift for TensorFlow can automatically differentiate complex functions.
- Swift for TensorFlow can optimize complex tensor operations.
Question 10) For what reasons did we implement monte carlo tree search in a time-bounded manner?
- To reduce the amount of time the algorithm takes to search.
- To search game states more if they’re closer to the end of a game.
- To make MCTS more accurate.
- To distribute the algorithm across threads.
Introduction to Game-playing AI with Swift for TensorFlow (S4TF)
Building a game-playing AI with Swift for TensorFlow (S4TF) can be a fascinating project. S4TF combines the flexibility of the Swift programming language with the power of TensorFlow, making it a great choice for developing machine learning models, including those for game playing.
Here’s a general outline of how you might approach building a game-playing AI with S4TF:
- Choose a Game: Start by selecting a game you want your AI to play. It could be something simple like Tic-Tac-Toe or Connect Four, or more complex games like Chess, Go, or even video games if you’re up for the challenge.
- Model Design: Decide on the architecture of your AI model. For simpler games, you might use traditional machine learning techniques like decision trees or neural networks. For more complex games, you might want to explore reinforcement learning algorithms such as Q-learning or deep Q-networks (DQN).
- Data Collection and Preprocessing: If your game requires training data, such as past game states and actions, you’ll need to collect and preprocess this data. This step might involve generating game simulations, human gameplay data, or a combination of both.
- Implement the Model: Use Swift for TensorFlow to implement your AI model. Define your neural network architecture, loss function, and any other components necessary for training.
- Training: Train your model using the collected and preprocessed data. Depending on the complexity of the game and the chosen algorithm, training might take some time. Experiment with different hyperparameters and architectures to improve performance.
- Evaluation: Evaluate your trained model to see how well it performs at the game. You can measure performance by playing against human players, other AI agents, or using established benchmarks if available.
- Iterate and Improve: Analyze the performance of your AI and identify areas for improvement. This might involve tweaking the model architecture, collecting more training data, or experimenting with different algorithms.
- Deployment: Once you’re satisfied with the performance of your AI, you can deploy it to play the game in real-world scenarios. This could involve integrating it into a game environment, building a user interface, or deploying it as a service.
Throughout the process, be sure to leverage the resources available in the Swift for TensorFlow community, including documentation, tutorials, and code samples.