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 6, Problem 3E
Explanation of Solution
a.
Choosing appropriate
- The crossword puzzle construction can be solved in different ways. The simple choice is depth-first search...
Explanation of Solution
b.
Variables in constraint satisfaction problem:
- As constraint satisfaction problem, there are even more choices. The user could have the variable for each box in the crossword puzzle. In this case, letters are the value of each variable and letters are the constraints that must male words.
- An alternative way is the user could have each string of consecutive horizontal or ve...
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
The intersection of two sets contains the list of elements that are common to both, without
repetition. As such, you are required to write an algorithm that finds and returns the intersection
of two sets A and B. The sets A and B and the resulting intersection set are all lists. Assume
the size of A is n and that of B is m.
(a) Write an iterative algorithm that finds the intersection.
(b) Prove the correctness of your algorithm; i.e. state its loop invariant and prove it by induc-
tion.
(c) Analyze the time complexity of your algorithm.
(d) Think of a way to enhance the complexity of your algorithm by sorting both lists A and
B before calculating their intersection. Write the enhanced version and prove that it has a
better time complexity.
In computer science and mathematics, the Josephus Problem (or Josephus permutation) is a theoretical problem. Following is the problem statement: There are n people standing in a circle waiting to be executed. The counting out begins at some point (rear) in the circle and proceeds around the circle in a fixed direction. In each step, a certain number (k) of people are skipped and the next person is executed. The elimination proceeds around the circle (which is becoming smaller and smaller as the executed people are removed), until only the last person remains, who is given freedom. Given the total number of persons n and a number k which indicates that k-1 persons are skipped and kth person is killed in circle. The task is to choose the place in the initial circle so that you are the last one remaining and so survive. For example, if n = 5 and k = 2, then the safe position is 3. Firstly, the person at position 2 is killed, then person at position 4 is killed, then person at position 1…
1) Make a concise discussion of the Binary Search Algorithm. (i.e. For what is the Binary Search Algorithm? How does binary search happen?)
2) What are two needed formal parameters of a method that implements the Linear Search Algorithm?
3) Suppose the Linear Search Algorithm is implemented by a method that returns a boolean value. What does the return value of the method represent?
Chapter 6 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
- Given a set of buildings, the skyline is the silhouetted shape formed by the highest boundaries of the buildings viewed from a distance. In this problem, we will compute the skyline of a set of buildings represented by rectangles. For an illustrative example, consider the set of rectangles in Figure 1 and their skyline. The input is a list B of rectangles in the format B = [(s1, e1, h), (s2, e2, h:) . .. (Sn, en, ha)]. For each rectangle Bi E B, the first two coordinates s; and e; are the horizontal bounds; the rectangle begins at s, and ends at e. The third coordinate hi is the height of the rectangle. The output should be an ordered list of coordinates P = [(Xo, 0), (x1, hì), (x2, ha) ... (x;, 0)]. A pair (Xi, hi) indicates that (horizontally) from xi to x1, the height of the skyline will be hi; from x+1 to X+2 the height will be h1, and so on. Note that the first and last items in this list are both at ground level. Describe an efficient algorithm which computes the skyline of B.…arrow_forwardWRITE THE MAIN.CPP FOR THIS PROGRAM a. Write a version of the sequential search algorithm that can be used to search a sorted list. (1, 2) b. Consider the following list: 2, 20, 38, 41, 49, 56, 62, 70, 88, 95, 100, 135, 145 Using a sequential search on ordered lists, that you designed in (a), how many comparisons are required to determine whether the following items are in the list? (Recall that comparisons mean item comparisons, not index comparisons.) (1, 2) 2 57 88 70 135 Write a program to test the function you designed. Note: Have the function,seqOrdSearch, return -1 if the item is not found in the list. (return the index of the item if found).arrow_forwardThe puzzle called the Towers of Hanoi consists of three pegs, one of which contains several rings stacked in order of descending diameter from bottom to top. The problem is to move the stack of rings to another peg. You are allowed to move only one ring at a time, and at no time is a ring to be placed on top of a smaller one. Observe that if the puzzle involved only one ring, it would be extremely easy. Moreover, when faced with the problem of moving several rings, if you could move all but the largest ring to another peg, the largest ring could then be placed on the third peg, and then the problem would be to move the remaining rings on top of it. Using this observation, develop a recursive algorithm for solving the Towers of Hanoi puzzle for an arbitrary number of rings.arrow_forward
- A matrix of characters schematically represents a swamp. The swamp is composed of muddy areas, represented with the character, and rocky areas, represented with the *' character. The matrix size can be defined using #define, however it should be no greater than 25 rows and 80 columns. Example of swamp: Write a C program that searches a path in the swamp, from the left to the right, without jumps, only including consecutive rocky areas. Suppose that each rocky area can have at most one other rocky area on its right (there are no branches), i.e., either on the same row, or in the previous row, or in the following one. The program shall print the row sequence of the path (the columns are implicit – there shall be a rocky area for each column), or report that no path exists. For example: 1 3 4 Path: 23 43 43 2 3 4 3 4 Hint: in a preliminary version, use a predefined matrix of strings and test the program; then modify the program and read the swamp from the keyboard input (in the future it…arrow_forwardProblem 4 We can use lists of numbers like l to represent a mathematical vector. Recall from math classes that a vector is an object with a magnitude and direction. The magnitude is the sqrt of the sum of the squares (for a vector (x,y) it's the Pythagorean theorem for the magnitude (x^2 + y^2)**(1/2)). For a vector of any other length, the formula generalizes to (l[0]^2 + l[1]^2 + l[2]^2 + ... )**(1/2). For this problem use l from Problem 1 and a for loop to compute the magnitude of l with the result stored in l_mag. For l above, its magnitude is 12.96. Python gives you the ** exponentiation operator to raise a number to a power. You could also import math and use math.sqrt(). l = [1, 2, 3, 4, 5, 7, 8] Please give proper explanation and typed answer only.arrow_forwardConsider the following problem. You are given a list of words, each con- sisting of a sequence of one or more letters. The goal is to arrange the words in a sequence so that: ⚫the last letter of the first word is the same as the first letter of the second word ⚫the last letter of the second word is the same as the first letter of the third word .... and so on... ⚫the last letter of the next-to-last word is the same as the first letter of the last word 1 For a given sequence of words, we could ask the question, "is it possible to arrange the entire list of words into one such sequence?" Argue that this problem is in NP. Argue whether the problem posed in the question 2 above is in P.arrow_forward
- Restructure Newton's method (Case Study: Approximating Square Roots) by decomposing it into three cooperating functions. The newton function can use either the recursive strategy of Project 2 or the iterative strategy of the Approximating Square Roots Case Study. The task of testing for the limit is assigned to a function named limitReached, whereas the task of computing a new approximation is assigned to a function named improveEstimate. Each function expects the relevant arguments and returns an appropriate value. An example of the program input and output is shown below: Enter a positive number or enter/return to quit: 2 The program's estimate is 1.4142135623746899 Python's estimate is 1.4142135623730951 Enter a positive number or enter/return to quitarrow_forwardA deadlock is the very unpleasant situation that may occur in very dynamic world of running processes, a situation that must be avoided at all costs. One famous algorithm for deadlock avoidance is the Banker's algorithm for deadlock avoidance. The version of this algorithm presented in this module's commentary gives just one solution (the Greedy approach). Consider the Greedy approach to the Banker's algorithm. Give an example of application of this algorithm for 7 processes (named P1, ... , P7) and 5 resource types (named R1, ... , R5). Start by listing the matrices involved in this algorithm, that constitute its input data; also, do not forget to mention the overall resources of each type available in this fictional system. Proceed by describing the algorithm, step by step; for each step, mention the test performed, which process was chosen, what is the old and new status of the Work array, etc. In the end, list the solution, that is the safe sequence of processes resulting from this…arrow_forwardExercise 3D Write a function sundaram which implements this algorithm. You should check the results by comparing the final list to that produced by the sieve of Eratosthenes, and for the avoidance of doubt, the output of sundaram (5) should be [ 3,5,7,11].arrow_forward
- Correct answer will be upvoted else downvoted. Computer science. Positive integer x is called divisor of positive integer y, in case y is distinguishable by x without remaining portion. For instance, 1 is a divisor of 7 and 3 isn't divisor of 8. We gave you an integer d and requested that you track down the littlest positive integer a, to such an extent that a has no less than 4 divisors; contrast between any two divisors of an is essentially d. Input The primary line contains a solitary integer t (1≤t≤3000) — the number of experiments. The primary line of each experiment contains a solitary integer d (1≤d≤10000). Output For each experiment print one integer a — the response for this experiment.arrow_forwardWrite in python programming language: The Longest Subsequence Problem is a well-studied problem in Computer Science, where given a sequence of distinct positive integers, the goal is to output the longest subsequence whose elements appear from smallest to largest, or from largest to smallest. For example, consider the sequence S= [9,7,4,10,6,8,2,1,3,5]. The longest increasing subsequence of S has length three ([4,6,8] or [2,3,5]), and the longest decreasing subsequence of S has length five([9,7,4,2,1] or [9,7,6,2,1]). And if we have the sequence S = [531,339,298,247,246,195,104,73,52,31], then the length of the longest increasing subsequence is 1 and the length of the longest decreasing subsequence is 10. Question: Find a sequence with nine distinct integers for which the length of the longest increasing subsequence is 3, and the length of the longest decreasing subsequence is 3. Briefly explain how youconstructed your sequence. Let S be a sequence with ten distinct integers. Prove by…arrow_forwardYou will be given a square chess board with one queen and a number of obstacles placed on it. Determine how many squares the queen can attack. A queen is standing on an chessboard. The chess board's rows are numbered from to , going from bottom to top. Its columns are numbered from to , going from left to right. Each square is referenced by a tuple, , describing the row, , and column, , where the square is located. The queen is standing at position . In a single move, she can attack any square in any of the eight directions (left, right, up, down, and the four diagonals). In the diagram below, the green circles denote all the cells the queen can attack from : There are obstacles on the chessboard, each preventing the queen from attacking any square beyond it on that path. For example, an obstacle at location in the diagram above prevents the queen from attacking cells , , and : Given the queen's position and the locations of all the obstacles, find and print the number of…arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education