AI Game Playing – Zeesun – Medium



AI Game Playing – Zeesun – Medium

Type of AI problems

  • Fully Observable vs Partially Observable
  • Deterministic vs Stochastic
  • Discrete vs Continuous
  • Benign (only one person is taking action) vs Adversarial

Minimax Algorithm

  • Choose a winning strategy. In an isolation game, the winning strategy can be maximizing the possible moves at each level of the game tree.
  • At each level of the game tree, it is assumed that player will choose the branch that maximizes the benefits (opponent will choose a branch to minimize the effect of the winning strategy)

Branching Factor

  • how many branches each node will have on average

Depth-Limited Search

  • Using the branch factor and the limitation of the number of nodes can be searched every turn, we can determine how deep the search can go

Quiescent Search

  • If the decision varies a lot at two neighbor levels, that means a critical decision is made between those two levels
  • Thus, we will use quiescent search to search deeper

Iterative Deepening

  • After finishing searching depth N, then researching the tree with depth N+1
  • Since time complexity is dominated by the last level search, iterative deepening will not increase time complexity compared to regular search

Horizon Effect

  • Choices that are obvious to human beings might not be obvious for AI

Alpha Beta Pruning

  • adversarial search algorithm, which seeks to decrease the number of nodes in the search tree.
  • Improve efficiency
  • It does not work well with multi-players

Thad's Asides

  • AI = Clever Solutions to Exponential Problems

Read full article from AI Game Playing – Zeesun – Medium


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts