Artificial Intelligence: A Modern Approach
3rd Edition
ISBN: 9780136042594
Author: Stuart Russell, Peter Norvig
Publisher: Prentice Hall
expand_more
expand_more
format_list_bulleted
Concept explainers
Expert Solution & Answer
Chapter 5, Problem 9E
a.
Explanation of Solution
Possible games
- There are atmost 9! games for a.
- This is the number of...
b.
Explanation of Solution
Game tree
- The game tree is
c.
Explanation of Solution
Evaluations of all position
- The values indicate the best starting move...
d.
Explanation of Solution
Nodes
- The terminal nodes are the nodes whi...
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
This problem exercises the basic concepts of game playing, using tic-tac-toe (noughtsand crosses) as an example. We define Xn as the number of rows, columns, or diagonals with exactly n X’s and no O’s. Similarly, On is the number of rows, columns, or diagonals with just n O’s. The utility function assigns +1 to any position with X3 = 1 and −1 to any position with O3 = 1. All other terminal positions have utility 0. For nonterminal positions, we use a linear evaluation function defined as Eval (s) = 3X2(s)+X1(s)−(3O2(s)+O1(s))."Mark on your tree the evaluations of all the positions at depth 2."
Answer the following:
This problem exercises the basic concepts of game playing, using tic-tac-toe (noughts and crosses) as an example. We define Xn as the number of rows, columns, or diagonals with exactly n X’s and no O’s. Similarly, On is the number of rows, columns, or diagonals with just n O’s. The utility function assigns +1 to any position with X3=1 and −1 to any position with O3=1. All other terminal positions have utility 0. For nonterminal positions, we use a linear evaluation function defined as Eval(s)=3X2(s)+X1(s)−(3O2(s)+O1(s)).
a. Show the whole game tree starting from an empty board down to depth 2 (i.e., one X and one O on the board), taking symmetry into account.
b. Mark on your tree the evaluations of all the positions at depth 2.
c .Using the minimax algorithm, mark on your tree the backed-up values for the positions at depths 1 and 0, and use those values to choose the best starting move.
Provide original solutions including original diagram for part a!
Answer the following:
This problem exercises the basic concepts of game playing, using tic-tac-toe (noughts and crosses) as an example. We define Xn as the number of rows, columns, or diagonals with exactly n X’s and no O’s. Similarly, On is the number of rows, columns, or diagonals with just n O’s. The utility function assigns +1 to any position with X3=1 and −1 to any position with O3=1. All other terminal positions have utility 0. For nonterminal positions, we use a linear evaluation function defined as Eval(s)=3X2(s)+X1(s)−(3O2(s)+O1(s)).
a. Show the whole game tree starting from an empty board down to depth 2 (i.e., one X and one O on the board), taking symmetry into account.
b. Mark on your tree the evaluations of all the positions at depth 2.
c .Using the minimax algorithm, mark on your tree the backed-up values for the positions at depths 1 and 0, and use those values to choose the best starting move.
Provide original solution!
Chapter 5 Solutions
Artificial Intelligence: A Modern Approach
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Similar questions
- Consider the problem of making change for n cents using the fewest number of coins. Assume that we live in a country where coins come in k dierent denominations c1, c2, . . . , ck, such that the coin values are positive integers, k ≥ 1, and c1 = 1, i.e., there are pennies, so there is a solution for every value of n. For example, in case of the US coins, k = 4, c1 = 1, c2 = 5, c3 = 10, c4 = 25, i.e., there are pennies, nickels, dimes, and quarters. To give optimal change in the US for n cents, it is sufficient to pick as many quarters as possible, then as many dimes as possible, then as many nickels as possible, and nally give the rest in pennies. Design a bottom-up (non-recursive) O(nk)-time algorithm that makes change for any set of k different coin denominations. Write down the pseudocode and analyze its running time. Argue why your choice of the array and the order in which you fill in the values is the correct one. Notice how it is a lot easier to analyze the running time of…arrow_forwardConsider the problem of making change for n cents using the fewest number of coins. Assume that we live in a country where coins come in k dierent denominations c1, c2, . . . , ck, such that the coin values are positive integers, k ≥ 1, and c1 = 1, i.e., there are pennies, so there is a solution for every value of n. For example, in case of the US coins, k = 4, c1 = 1, c2 = 5, c3 = 10, c4 = 25, i.e., there are pennies, nickels, dimes, and quarters. To give optimal change in the US for n cents, it is sufficient to pick as many quarters as possible, then as many dimes as possible, then as many nickels as possible, and nally give the rest in pennies. Design a bottom-up (non-recursive) O(nk)-time algorithm that makes change for any set of k different coin denominations. Write down the pseudocode and analyze its running time. Argue why your choice of the array and the order in which you ll in the values is the correct one.arrow_forwardConsider the problem of making change for n cents using the fewest number of coins. Assume that we live in a country where coins come in k dierent denominations c1, c2, . . . , ck, such that the coin values are positive integers, k ≥ 1, and c1 = 1, i.e., there are pennies, so there is a solution for every value of n. For example, in case of the US coins, k = 4, c1 = 1, c2 = 5, c3 = 10, c4 = 25, i.e., there are pennies, nickels, dimes, and quarters. To give optimal change in the US for n cents, it is sufficient to pick as many quarters as possible, then as many dimes as possible, then as many nickels as possible, and nally give the rest in pennies. Prove that the coin changing problem exhibits optimal substructure. Design a recursive backtracking (brute-force) algorithm that returns the minimum number of coins needed to make change for n cents for any set of k different coin denominations. Write down the pseudocode and prove that your algorithm is correct.arrow_forward
- Problem1Given a value `value`, if we want to make change for `value` cents, and we have infinitesupply of each of coins = {S1, S2, .. , Sm} valued `coins`, how many ways can we make the change?The order of `coins` doesn't matter.For example, for `value` = 4 and `coins` = [1, 2, 3], there are four solutions:[1, 1, 1, 1], [1, 1, 2], [2, 2], [1, 3].So output should be 4. For `value` = 10 and `coins` = [2, 5, 3, 6], there are five solutions: [2, 2, 2, 2, 2], [2, 2, 3, 3], [2, 2, 6], [2, 3, 5] and [5, 5].So the output should be 5. Time complexity: O(n * m) where n is the `value` and m is the number of `coins`Space complexity: O(n)""" def count(coins, value): """ Find number of combination of `coins` that adds upp to `value` Keyword arguments: coins -- int[] value -- int """ # initialize dp array and set base case as 1 dp_array = [1] + [0] * value.. (+.arrow_forwardProblemGiven a value `value`, if we want to make change for `value` cents, and we have infinitesupply of each of coins = {S1, S2, .. , Sm} valued `coins`, how many ways can we make the change?The order of `coins` doesn't matter.For example, for `value` = 4 and `coins` = [1, 2, 3], there are four solutions:[1, 1, 1, 1], [1, 1, 2], [2, 2], [1, 3].So output should be 4. For `value` = 10 and `coins` = [2, 5, 3, 6], there are five solutions: [2, 2, 2, 2, 2], [2, 2, 3, 3], [2, 2, 6], [2, 3, 5] and [5, 5].So the output should be 5. Time complexity: O(n * m) where n is the `value` and m is the number of `coins`Space complexity: O(n)""" def count(coins, value): """ Find number of combination of `coins` that adds upp to `value` Keyword arguments: coins -- int[] value -- int """ # initialize dp array and set base case as 1 dp_array = [1] + [0] * value) ++.arrow_forwardPlease answer the following question in depth with full detail. Consider the 8-puzzle that we discussed in class. Suppose we define a new heuristic function h3 which is the average of h1 and h2, and another heuristic function h4 which is the sum of h1 and h2. That is, for every state s ∈ S: h3(s) =h1(s) + h2(s) 2 h4(s) =h1(s) + h2(s) where h1 and h2 are defined as “the number of misplaced tiles”, and “the sum of the distances of the tiles from their goal positions”, respectively. Are h3 and h4 admissible? If admissible, compare their dominance with respect to h1 and h2, if not, provide a counterexample, i.e. a puzzle configuration where dominance does not hold.arrow_forward
- Note that for this question, you can in addition use ``land'' for the symbol ∧ ``lor'' for the symbol ∨ ``lnot'' for the symbol ¬. Given the following three sentences:A) Every mathematician is married to an engineer.B) A bachelor is not married to anyone.C) If George is a mathematician, then he is not a bachelor. a) Convert A,B,C into three FOL sentences, whereMn(x): x is a mathematician.Er(x): x is an engineer.Md(x,y): x is married to y.Br(x): x is a bachelor.george: George is a constant. b) Show that A does-not-entail C. (Hint: Consider defining an interpretation I such that I models A, but does-not-model C.)c) Show that {A,B} entails C. (Hint: For a given interpretation I, consider two difference cases, the case where Mn(george) is true, and the case Mn(george) is false. For both cases, argue that it is always that I models C).d) Convert A,B, lnot C into a set of clausal forms, number your clauses. (Note that C is negated here!) e) Derive the empty clause from the set of clauses…arrow_forwardYou and your friends decided to hold a “Secret Santa” gift exchange, where each person buys a gift for someone else. To see how this whole thing works, let’s consider the following example. Suppose there are 7 people A, B, C, D, E, F, and G. We denote x → y to mean “x gives a gift to y.” If the gift exchange starts with person A, then they give a gift to E. Then E gives a gift to B. And it is entirely possible that B gives a gift to A; in such a case we have completed a “cycle.” In case a cycle occurs, the gift exchange resumes with another person that hasn’t given their gift yet. If the gift exchange resumes with person D, then they give a gift to G. Then G gives a gift to F. Then F gives a gift to C. Then finally C gives a gift to D, which completes another cycle. Since all of the people have given their gifts, the giftexchange is done, otherwise the gift exchange resumes again with another person. All in all, there are two cycles that occurred during the gift exchange: A → E → B → A…arrow_forwardCorrect answer will be upvoted else downvoted. Computer science. Polycarp recalled the 2020-th year, and he is content with the appearance of the new 2021-th year. To recall such a great second, Polycarp needs to address the number n as the amount of a specific number of 2020 and a specific number of 2021. For instance, if: n=4041, then, at that point, the number n can be addressed as the total 2020+2021; n=4042, then, at that point, the number n can be addressed as the total 2021+2021; n=8081, then, at that point, the number n can be addressed as the total 2020+2020+2020+2021; n=8079, then, at that point, the number n can't be addressed as the amount of the numbers 2020 and 2021. Assist Polycarp with seeing if the number n can be addressed as the amount of a specific number of numbers 2020 and a specific number of numbers 2021. Input The primary line contains one integer t (1≤t≤104) — the number of experiments. Then, at that point, t experiments follow.…arrow_forward
- Let l be a line in the x-yplane. If l is a vertical line, its equation is x = a for some real number a. Suppose l is not a vertical line and its slope is m. Then the equation of l is y = mx + b, where b is the y-intercept. If l passes through the point (x₀, y₀), the equation of l can be written as y - y₀ = m(x - x₀). If (x₁, y₁) and (x₂, y₂) are two points in the x-y plane and x₁ ≠ x₂, the slope of line passing through these points is m = (y₂ - y₁)/(x₂ - x₁). Instructions Write a program that prompts the user for two points in the x-y plane. Input should be entered in the following order: Input x₁ Input y₁ Input x₂arrow_forwardConsider the functionf :: Int -> Intf n = if n==0then 0else 1 + (f(n-1))Use induction to show that the function f returns the value of n for all possible inputs n ≥0.Here are the steps:1. Verify that f 0 returns 0 to show the base case.2. Show that if f(n-1) returns n −1 then f n returns n.3. Since you have shown the base case and the induction step, you can confidentlystate that the function works for all possible nonnegative input values.Hint: To show that ”if f(n-1) returns n −1 then f n returns n” is valid you need toassume that f(n-1) returns n −1 and then argue that it must follow that f n returnsn. Use the definition of the function and just a little bit of algebra.Criteria for Success: You have clearly written down all three steps of the inductive proof. Your proof contains complete sentences which explain all the steps andthe algebra. I don’t want to see just a bunch of symbols on a page!arrow_forwardSimulated annealing is an extension of hill climbing, which uses randomness to avoid getting stuck in local maxima and plateaux. a) As defined in your textbook, simulated annealing returns the current state when the end of the annealing schedule is reached and if the annealing schedule is slow enough. Given that we know the value (measure of goodness) of each state we visit, is there anything smarter we could do? (b) Simulated annealing requires a very small amount of memory, just enough to store two states: the current state and the proposed next state. Suppose we had enough memory to hold two million states. Propose a modification to simulated annealing that makes productive use of the additional memory. In particular, suggest something that will likely perform better than just running simulated annealing a million times consecutively with random restarts. [Note: There are multiple correct answers here.] (c) Gradient ascent search is prone to local optima just like hill climbing.…arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning