3162 results in Artificial Intelligence and Natural Language Processing
The Cambridge Companion to Religion and Artificial Intelligence
- Edited by Beth Singler, Fraser Watts
- Coming soon
-
- Expected online publication date:
- November 2024
- Print publication:
- 30 November 2024
-
- Book
- Export citation
-
Religion and artificial intelligence are now deeply enmeshed in humanity's collective imagination, narratives, institutions, and aspirations. Their growing entanglement also runs counter to several dominant narratives that engage with long-standing historical discussions regarding the relationship between the 'sacred” and the 'secular' - technology and science. This Cambridge Companion explores the fields of Religion and AI comprehensively and provides an authoritative guide to their symbiotic relationship. It examines established topics, such as transhumanism, together with new and emerging fields, notably, computer simulations of religion. Specific chapters are devoted to Judaism, Christianity, Islam, Hinduism, and Buddhism, while others demonstrate that entanglements between religion and AI are not always encapsulated through such a paradigm. Collectively, the volume addresses issues that AI raises for religions, and contributions that AI has made to religious studies, especially the conceptual and philosophical issues inherent in the concept of an intelligent machine, and social-cultural work on attitudes to AI and its impact on contemporary life. The diverse perspectives in this Companion demonstrate how all religions are now interacting with artificial intelligence.
Preface
- Deepak Khemani, IIT Madras, Chennai
-
- Book:
- Search Methods in Artificial Intelligence
- Published online:
- 30 April 2024
- Print publication:
- 24 October 2024, pp xi-xii
-
- Chapter
- Export citation
-
Summary
This book is meant for the serious practitioner-to-be of constructing intelligent machines. Machines that are aware of the world around them, that have goals to achieve, and the ability to imagine the future and make appropriate choices to achieve those goals. It is an introduction to a fundamental building block of artificial intelligence (AI). As the book shows, search is central to intelligence.
Clearly AI is not one monolithic algorithm but a collection of processes working in tandem, an idea espoused by Marvin Minsky in his book The Society of Mind (1986). Human problem solving has three critical components. The ability to make use of experiences stored in memory; the ability to reason and make inferences from what one knows; and the ability to search through the space of possibilities. This book focuses on the last of these. In the real world we sense the world using vision, sound, touch, and smell. An autonomous agent will need to be able to do so as well. Language, and the written word, is perhaps a distinguishing feature of the human species. It is the key to communication which means that human knowledge becomes pervasive and is shared with future generations. The development of mathematical sciences has sharpened our understanding of the world and allows us to compute probabilities over choices to take calculated risks. All these abilities and more are needed by an autonomous agent.
Can one massive neural network be the embodiment of AI? Certainly, the human brain as a seat of intelligence suggests that. Everything we humans do has its origin in activity in our brains, which we call the mind. Perched on the banks of a stream in the mountains we perceive the world around us and derive a sense of joy and well-being. In a fit of contented creativity, we may pen an essay or a poem using our faculty of language. We may call a friend on the phone and describe the scene around us, allowing the friend to visualize the serene surroundings. She may reflect upon her own experiences and recall a holiday she had on the beach. You might start humming your favourite song and then be suddenly jolted out of your reverie remembering that friends are coming over for dinner. You get up and head towards your home with cooking plans brewing in your head.
4 - Heuristic Search
- Deepak Khemani, IIT Madras, Chennai
-
- Book:
- Search Methods in Artificial Intelligence
- Published online:
- 30 April 2024
- Print publication:
- 24 October 2024, pp 75-114
-
- Chapter
- Export citation
-
Summary
Having introduced the machinery needed for search in the last chapter, we look at approaches to informed search. The algorithms introduced in the last chapter were blind, or uninformed, taking no cognizance at all of the actual problem instance to be solved and behaving in the same bureaucratic manner wherever the goal might be. In this chapter we introduce the idea of heuristic search, which uses domain specific knowledge to guide exploration. This is done by devising a heuristic function that estimates the distance to the goal for each candidate in OPEN.
When heuristic functions are not very accurate, search complexity is still exponential, as revealed by experiments. We then investigate local search methods that do not maintain an OPEN list, and study gradient based methods to optimize the heuristic value.
Knowledge is necessary for intelligence. Without knowledge, problem solving with search is blind. We saw this in the last chapter. In general, knowledge is that sword in the armoury of a problem solver that can cut through the complexity. Knowledge accrues over time, either distilled from our own experiences or assimilated from interaction with others – parents, teachers, authors, coaches, and friends. Knowledge is the outcome of learning and exists in diverse forms, varying from tacit to explicit. When we learn to ride a bicycle, we know it but are unable to articulate our knowledge. We are concerned with explicit knowledge. Most textbook knowledge is explicit, for example, knowing how to implement a leftist heap data structure.
In a well known incident from ancient Greece, it is said that Archimedes, considered by many to be the greatest scientist of the third century BC, ran naked onto the streets of Syracuse. King Hieron II was suspicious that a goldsmith had cheated him by adulterating a bar of gold given to him for making a crown. He asked Archimedes to investigate without damaging the crown. Stepping into his bathtub Archimedes noticed the water spilling out, and realized in a flash that if the gold were to be adulterated with silver, then it would displace more water since silver was less dense. This was his epiphany moment when he discovered what we now know as the Archimedes principle. And he ran onto the streets shouting ‘Eureka, eureka!’ We now call such an enlightening moment a Eureka moment!
Contents
- Deepak Khemani, IIT Madras, Chennai
-
- Book:
- Search Methods in Artificial Intelligence
- Published online:
- 30 April 2024
- Print publication:
- 24 October 2024, pp v-x
-
- Chapter
- Export citation
References
- Deepak Khemani, IIT Madras, Chennai
-
- Book:
- Search Methods in Artificial Intelligence
- Published online:
- 30 April 2024
- Print publication:
- 24 October 2024, pp 449-460
-
- Chapter
- Export citation
Acknowledgements
- Deepak Khemani, IIT Madras, Chennai
-
- Book:
- Search Methods in Artificial Intelligence
- Published online:
- 30 April 2024
- Print publication:
- 24 October 2024, pp xiii-xiv
-
- Chapter
- Export citation
1 - Introduction
- Deepak Khemani, IIT Madras, Chennai
-
- Book:
- Search Methods in Artificial Intelligence
- Published online:
- 30 April 2024
- Print publication:
- 24 October 2024, pp 1-28
-
- Chapter
- Export citation
-
Summary
We will adopt the overall goal of artificial intelligence (AI) to be ‘to build machines with minds, in the full and literal sense’ as prescribed by the Canadian philosopher John Haugeland (1985).
Not to create machines with a clever imitation of human-like intelligence. Or machines that exhibit behaviours that would be considered intelligent if done by humans – but to build machines that reason.
This book focuses on search methods for problem solving. We expect the user to define the goals to be achieved and the domain description, including the moves available with the machine. The machine then finds a solution employing first principles methods based on search. A process of trial and error. The ability to explore different options is fundamental to thinking.
As we describe subsequently, such methods are just amongst the many in the armoury of an intelligent agent. Understanding and representing the world, learning from past experiences, and communicating with natural language are other equally important abilities, but beyond the scope of this book. We also do not assume that the agent has meta-level abilities of being self-aware and having goals of its own. While these have a philosophical value, our goal is to make machines do something useful, with as general a problem solving approach as possible.
This and other definitions of what AI is do not prescribe how to test if a machine is intelligent. In fact, there is no clear-cut universally accepted definition of intelligence. To put an end to the endless debates on machine intelligence that ensued, the brilliant scientist Alan Turing proposed a behavioural test.
Can Machines Think?
Ever since the possibility of building intelligent machines arose, there have been raging debates on whether machine intelligence is possible or not. All kinds of arguments have been put forth both for and against the possibility. It was perhaps to put an end to these arguments that Alan Turing (1950) proposed his famous imitation game, which we now call the Turing Test. The test is simply this: if a machine interacts with a human using text messages and can fool human judges a sufficiently large fraction of times that they are chatting with another human, then we can say that the machine has passed the test and is intelligent.
6 - Algorithm A* and Variations
- Deepak Khemani, IIT Madras, Chennai
-
- Book:
- Search Methods in Artificial Intelligence
- Published online:
- 30 April 2024
- Print publication:
- 24 October 2024, pp 147-184
-
- Chapter
- Export citation
-
Summary
Finding a solution is one aspect of problem solving. Executing it is another. In certain applications the cost of executing the solution is important. For example, maintaining supplies to the International Space Station, a repetitive task, or sending a rocket to Jupiter, an infrequent activity. Coming down to Earth, the manufacturing industry needs to manage its supplies, inventory, scheduling, and shipping of products. At home, juggling the morning activity of cooking, sending off kids to school, and heading for office after grabbing a coffee and a bite could do with optimized processes.
In this chapter we look at the algorithm A* for finding optimal solutions. It is a heuristic search algorithm that guarantees an optimal solution. It does so by combining the goal seeking of best first search with a tendency to keep as close to the source as possible. We begin by looking at the algorithm branch & bound that focuses only on the latter, before incorporating the heuristic function.
We revert to graph search for the study of algorithms that guarantee optimal solutions. The task is to find a shortest path in a graph from a start node to a goal node. We have already studied algorithms BFS and DFID in Chapter 3. The key idea there was to extend that partial path which was the shortest. We begin with the same strategy. Except that now we add weights to edges in the graph. Without edge weights, the optimal or shortest path has the least number of edges in the path. With edge weights added, we modify this notion to the sum of the weights on the edges.
The common theme continuing in our search algorithms is as follows:
Pick the best node from OPEN and extend it, till you pick the goal node.
The question that remains is the definition of ‘best’. In DFS, the deepest node is the best node. In BestFirstSearch, the node that appears to be closest to the goal is the best. In BFS, the node closest to the start node is the best. We begin by extending the idea behind breadth first search.
We can generalize our common theme as follows. With every node N on OPEN, we associate a number that stands for the estimated cost of the final solution.
5 - Stochastic Local Search
- Deepak Khemani, IIT Madras, Chennai
-
- Book:
- Search Methods in Artificial Intelligence
- Published online:
- 30 April 2024
- Print publication:
- 24 October 2024, pp 115-146
-
- Chapter
- Export citation
-
Summary
Search spaces can be huge. The number of choices faced by a search algorithm can grow exponentially. We have named this combinatorial explosion, the principal adversary of search, CombEx. In Chapter 4 we looked at one strategy to battle CombEx, the use of knowledge in the form of heuristic functions – knowledge that would point towards the goal node. Yet, for many problems, such heuristics are hard to acquire and often inadequate, and algorithms continue to demand exponential time.
In this chapter we introduce stochastic moves to add an element of randomness to search. Exploiting the gradient deterministically has its drawbacks when the heuristic functions are imperfect, as they often are. The steepest gradient can lead to the nearest optimum and end there. We add a tendency of exploration, which could drag search away from the path to local optima.
We also look at the power of many for problem solving, as opposed to a sole crusader. Population based methods have given a new dimension to solving optimization problems.
Douglas Hofstadter says that humans are not known to have a head for numbers (Hofstadter, 1996). For most of us, the numbers 3.2 billion and 5.3 million seem vaguely similar and big. A very popular book (Gamow, 1947) was titled One, Two, Three … Infinity. The author, George Gamow, talks about the Hottentot tribes who had the only numbers one, two, and three in their vocabulary, and beyond that used the word many. Bill Gates is famously reputed to have said, ‘Most people overestimate what they can do in one year and underestimate what they can do in ten years.’
So, how big is big? Why are computer scientists wary of combinatorial growth? In Table 2.1 we looked at the exponential function 2N and the factorial N!, which are respectively the sizes of search spaces for SAT and TSP, with N variables or cities. How long will take it to inspect all the states when N = 50?
For a SAT problem with 50 variables, 250 = 1,125,899,906,842,624. How big is that? Let us say we can inspect a million or 106 nodes a second. We would then need 1,125,899,906.8 seconds, which is about 35.7 years! There are N! = 3.041409320 × 1064 non-distinct tours (each distinct tour has 2N representations) of 50 cities.
2 - Search Spaces
- Deepak Khemani, IIT Madras, Chennai
-
- Book:
- Search Methods in Artificial Intelligence
- Published online:
- 30 April 2024
- Print publication:
- 24 October 2024, pp 29-46
-
- Chapter
- Export citation
-
Summary
In this chapter we lay the foundations of problem solving using first principles. The first principles approach requires that the agent represent the domain in some way and investigate the consequences of its actions by simulating the actions on these representations. The representations are often referred to as models of the domain and the simulations as search. This approach is also known as model based reasoning, as opposed to problem solving using memory or knowledge, which, incidentally, has its own requirements of searching over representations, but at a sub-problem solving retrieval level.
We begin with the notion of a state space and then look at the notion of search spaces from the perspective of search algorithms. We characterize problems as planning problems and configuration problems, and the corresponding search spaces that are natural to them. We also present two iconic problems, the Boolean satisfiability problem (SAT) and the travelling salesman problem (TSP), among others.
In this chapter we lay the foundations of the search spaces that an agent would explore.
First, we imagine the space of possibilities. Next, we look at a mechanism to navigate this space. And then in the chapters that follow we figure out what search strategy an algorithm can use to do so efficiently.
Our focus is on creating domain independent solvers, or agents, which can be used to solve a variety of problems. We expect that the users of our solvers will implement some domain specific functions in a specified form that will create the domain specific search space for our domain independent algorithms to search in. In effect, these domain specific functions create the space, which our algorithm will view as a graph over which to search. But the graph is not supplied to the search algorithm upfront. Rather, it is constructed on the fly during search. This is done by the user supplied neighbourhood function that links a node in this graph to its neighbours, generating them when invoked. The neighbourhood function takes a node as an input and computes, or returns, the set of neighbours in the abstract graph for the search algorithm to search in.
11 - Search in Machine Learning
- Deepak Khemani, IIT Madras, Chennai
-
- Book:
- Search Methods in Artificial Intelligence
- Published online:
- 30 April 2024
- Print publication:
- 24 October 2024, pp 367-392
-
- Chapter
- Export citation
-
Summary
The earliest programs were entirely hand coded. Both the algorithm and the knowledge that the algorithm embodied were created manually. Machines that learn were always on the wish list though. One of the earliest reported programs was the checkers playing program by Arthur Samuel that went on to beat its creator, evoking the spectre of Frankenstein's monster, a fear which still echoes today among some. Since then machine learning (ML) has steadily advanced due to three factors. First, the availability of vast amounts of data that the internet has made possible. Second, the tremendous increase in computing power available. And third, a continuous evolution of algorithms. But the core of ML is to process data using first principles and incrementally build models about the domain that the data comes from. In this chapter we look at this process.
The computer is ideally suited to learning. It can never forget. The key is to incorporate a ratchet mechanism à la natural selection – a mechanism to encapsulate the lessons learnt into a usable form, a model. Robustness demands that one must build in the ability to withstand occasional mistakes. Because the outlier must not become the norm.
Children, doctors, and machines – they all learn. A toddler touches a piece of burning firewood and is forced to withdraw her hand immediately. She learns to curb her curiosity and pay heed to adult supervision. As she grows up, she picks up motor skills like cycling and learns new languages. Doctors learn from their experience and become experts at their job – in fact, the words ‘expert’ and ‘experience’ are derived from the same root. The smartphone you hold in your hand learns to recognize your voice and handwriting and also tracks your preferences for recommending books, movies, and food outlets in ways that often leave you pleasantly surprised. This chapter is about how we can make machines learn. We also illustrate how such learning is intimately related to the broader class of search methods explored in the rest of this book.
Let us consider a simple example: the task of classifying an email as spam or non-spam. Given the ill-defined nature of the problem, it is hard for us to arrive at a comprehensive set of rules that can do this discrimination.
Frontmatter
- Deepak Khemani, IIT Madras, Chennai
-
- Book:
- Search Methods in Artificial Intelligence
- Published online:
- 30 April 2024
- Print publication:
- 24 October 2024, pp i-iv
-
- Chapter
- Export citation
10 - Deduction as Search
- Deepak Khemani, IIT Madras, Chennai
-
- Book:
- Search Methods in Artificial Intelligence
- Published online:
- 30 April 2024
- Print publication:
- 24 October 2024, pp 319-366
-
- Chapter
- Export citation
-
Summary
An intelligent agent must be aware of the world it is operating in. This awareness comes mainly via perception. Human beings use the senses of sight, sound, and touch to update themselves. However, the entire world is not perceptible to any of us. Our senses have limitations. We cannot hear the dog whistle, or see the bacteria living on our skin or the mountain on the other side of the world. But through science and communication we know about the worlds beyond our sensory reach. Telescopes from Galileo to James Webb have delivered spectacular images of the universe, some taken in the infrared band in the spectrum. We augment whatever we know by making inferences. The conclusions we draw may be sound or they may be speculative yet useful. Evolution has preserved in us both kinds of inference making capability.
The world is dynamic and has other agencies making changes in the world too. If we observe something we may guess the cause or intention behind it. This kind of speculation is called abduction. The conclusion is possibly true, maybe even likely. If we see the local bully striding towards us, we may suspect ill intent on his part, and take evasive action. Better safe than sorry. If we develop a cough and fever, we may fear Covid and isolate ourselves from others. When we observe a few white swans, we may conclude that all swans are white. This is called induction. Neither abduction nor induction is always sound. Conclusions we draw may not always hold. But they are eminently useful.
In this chapter we study deduction, a form of inference that is sound. The conclusions that we draw using deduction are necessarily true. The machinery we use is the language of logic and the ability to derive proofs. We highlight the fact that behind deduction the fundamental activity is searching for a proof.
Logic and mathematics are often considered to be synonymous. Both are concerned with truth of statements. In this chapter we confine ourselves to the family of classical logics, also known as mathematical logics, in which every sentence has exactly two possible truth values – true and false. Nothing in between. No fuzzy concepts like tall and dark. Is a person whose height is 176 centimetres tall? What about 175 then? And 174? When does she become not tall? Or modalities like maybe.
Appendix: Algorithm and Pseudocode Conventions
-
- By S. Baskaran
- Deepak Khemani, IIT Madras, Chennai
-
- Book:
- Search Methods in Artificial Intelligence
- Published online:
- 30 April 2024
- Print publication:
- 24 October 2024, pp 441-448
-
- Chapter
- Export citation
-
Summary
The algorithms presented in this book assume eager evaluation. The values of primitive types (integers, reals, strings) are passed by value, and tuples, lists, arrays, sets, stacks, queues, etc., are passed by reference, similar to how Java treats primitive values and objects.
The data structures (container types) like sets, arrays, stacks and queues, and the operations on those structures carry their usual meaning, and their usages in the algorithms are self explanatory.
Tuple
A tuple is an ordered collection of fixed number of elements, where each element may be of a different type. A tuple is represented as a comma separated sequence of elements, surrounded by parenthesis.
tuple → ( ELEMENT 1 , ELEMENT 2 , … , ELEMENT k)
A tuple of two elements is called a pair, for example, (S, null), ((A, S), 1), (S, [A, B]) are pairs. And a tuple of three elements is called a triple, for example, (S, null, 0), (A, S, 1), (S, A, B) are triples. A tuple of k elements is called a k-tuple, for example, (S, MAX, −∞, ∞), (A, MIN, LIVE, ∞, 42).
Note: parenthesis is also used to indicate precedence, like in (3+1) * 4 or in (1 : (4 : [ ])), its usage will be clear from the context.
List
A list is an ordered collection of an arbitrary number of elements of the same type. A list is read from left to right and new elements are added at the left end. Lists are constructed recursively like in Haskell.
list → ELEMENT : list
list → [ ]
The ‘:’ operator is a list constructor; it takes an element (HEAD) and a list (TAIL) and constructs a new list (HEAD : TAIL) similar to cons(HEAD, TAIL) in LISP. Using head:tail notation, a list such as [3, 1, 4] is recursively constructed from (3 : (1 : (4 : [ ]))), similar to cons(3, cons(1, cons(4, nil))) in LISP. The empty list [ ] has no head or tail.
12 - Constraint Satisfaction
- Deepak Khemani, IIT Madras, Chennai
-
- Book:
- Search Methods in Artificial Intelligence
- Published online:
- 30 April 2024
- Print publication:
- 24 October 2024, pp 393-440
-
- Chapter
- Export citation
-
Summary
What is common between solving a sudoku or a crossword puzzle and placing eight queens on a chessboard so that none attacks another? They are all problems where each number or word or queen placed on the board is not independent of the others. Each constrains some others. Like a piece in a jigsaw puzzle that must conform to its neighbours. Interestingly, all these puzzles can be posed in a uniform formalism, constraints. The constraints must be respected by the solution – the constraints must be satisfied. And a unified representation admits general purpose solvers. This has given rise to an entire community engaged in constraint processing. Constraint processing goes beyond constraint satisfaction, with variations concerned with optimization. And it is applicable on a vast plethora of problems, some of which have been tackled by specialized algorithms like linear programming and integer programming.
In this chapter we confine ourselves to finite domain constraint satisfaction problems (CSPs) and study different approaches to solving them. We highlight the fact that CSP solvers can combine search and logical inferences in a flexible manner.
A constraint network R or a CSP is a triple,
R = <X, D, C>
where X is a set of variable names, D is a set of domains, one for each variable, and C is a set of constraints on some subsets of variables (Dechter, 2003). We will use the names X = ﹛x1, x2, …, xn﹜ where convenient with the corresponding domains D = ﹛D1, D2, …, Dn﹜. The domains can be different for each variable and each domain has values that the variable can take, Di = ﹛ai1, ai2, …, aik﹜. Let C = ﹛C1, C2, …, Cm﹜ be the constraints. Each constraint Ci has a scope Si R X and a relation Ri that is a subset of the cross product of the domains of the variables in Si. Based on the size of Si, we will refer to the constraints as unary, binary, ternary, and so on. A CSP is often depicted by a constraint graph and a matching diagram, as described in the examples to follow.
We will confine ourselves to finite domain CSPs, in which the domain of each variable is discrete and finite. We will also specify the relations in extensional form well suited for our algorithms.
9 - Automated Planning
- Deepak Khemani, IIT Madras, Chennai
-
- Book:
- Search Methods in Artificial Intelligence
- Published online:
- 30 April 2024
- Print publication:
- 24 October 2024, pp 263-318
-
- Chapter
- Export citation
-
Summary
So far in this book we have not thought of plans as explicit representations. True, we have referred to the path from the start node in the state space to the goal node as a plan, but that has been represented as a sequence of states. When we looked at goal trees we could also think of the solution subtree as a plan. Likewise, the strategy found by the SSS* algorithm is also a plan. But even here the intent of the problem solving agent is captured in terms of what state or board position will the player move to.
In this chapter we see problem solving from the perspective of actions. We represent plans explicitly, and the agent goes about the task of synthesizing a plan. At the simplest level, a plan is a sequence of named actions designed to achieve a goal. We begin with planning in the state space and move on to searching in the plan space. We also look at a two stage approach to planning with the algorithms Graphplan and Satplan.
We end with a brief look at some directions in planning in richer domains.
An intelligent agent acts in the world to achieve its goals. Given the state of the world it is in, and given the goals it has, it has to choose an appropriate set of actions. The process of selecting those actions is called planning. Planning is the reasoning side of acting (Ghallab, Nau, and Traverso, 2004). Planning and acting do not happen in isolation. A third process is an integral part of intelligent agency – perceiving. An agent senses the world it is operating in, deliberates upon its goals to produce a plan, and executes the actions in the plan. This is often referred to as the sense–deliberate–act cycle. The entire process may need to be monitored by the agent. Since the world may be changing owing to other agencies, it may even have to modify its plans on the fly.
There has been considerable work on autonomous agents that plan their activity. This became necessary in space applications where communication with Earth takes too long, necessitating autonomy. This was the case with the Mars rovers experiments by NASA, and even ten years after landing on Mars the rover Curiosity is still active.
3 - Blind Search
- Deepak Khemani, IIT Madras, Chennai
-
- Book:
- Search Methods in Artificial Intelligence
- Published online:
- 30 April 2024
- Print publication:
- 24 October 2024, pp 47-74
-
- Chapter
- Export citation
-
Summary
In this chapter we introduce the basic machinery needed for search. We devise algorithms for navigating the implicit search space and look at their properties. One distinctive feature of the algorithms in this chapter is that they are all blind or uninformed. This means that the way the algorithms search the space is always the same irrespective of the problem instance being solved.
We look at a few variations and analyse them on the four parameters we defined in the last chapter: completeness, quality of solution, time complexity, and space complexity. We observe that complexity becomes a stumbling block, as our principal foe CombEx inevitably rears its head. We end by making a case for different approaches to fight CombEx in the chapters that follow.
In the last chapter we looked at the notion of search spaces. Search spaces, as shown in Figure 2.2, are trees corresponding to the different traversals possible in the state space or the solution space. In this chapter we begin by constructing the machinery, viz. algorithms, for navigating this space. We begin our study with the corresponding tiny state space shown in Figure 3.1.
The tiny search problem has seven nodes, including the start node S, the goal node G, and five other nodes named A, B, C, D, and E. Without any loss of generality, let us assume that the nodes are states in a state space. The algorithms apply to the solution space as well. The left side of the figure describes the MoveGen function with the notation Node → (list of neighbours). On the right side is the corresponding graph which, remember, is implicit and not given upfront. The algorithm itself works with the MoveGen function and also the GoalTest function. The latter, for this example, simply knows that state G is the goal node. For configuration problems like the N-queens, it will need to inspect the node given as the argument.
The search space that an algorithm explores is implicit. It is generated on the fly by the MoveGen function, as described in Algorithm 2.1. The candidates generated are added to what is traditionally called OPEN, from where they are picked one by one for inspection. In this chapter we represent OPEN as a list data structure.
8 - Chess and Other Games
- Deepak Khemani, IIT Madras, Chennai
-
- Book:
- Search Methods in Artificial Intelligence
- Published online:
- 30 April 2024
- Print publication:
- 24 October 2024, pp 221-262
-
- Chapter
- Export citation
-
Summary
Acting rationally in a multi-agent scenario has long been studied under the umbrella of games. Game theory is a study of decision making in the face of other players, usually adversaries of the given player or agent. Economists study games to understand the behaviour of governments and corporates when everyone has the goal of maximizing their own payoffs. A stark example is the choice of NATO countries refusing to act directly against the Russian invasion of Ukraine given the threat of nuclear escalation.
In this chapter we turn our attention to the simplified situation in which the agent has one adversary. Board games like chess exemplify this scenario and have received considerable attention in the world of computing. In such games each player makes a move on her turn, and the information is complete since both players can see the board, and where the outcome is a win for one and a loss for the other. We look at the most popular algorithms for playing board games.
Chess has long fascinated humankind as a game of strategy and skill. It was probably invented in India in the sixth century in the Gupta empire when it was known as chaturanga. A comprehensive account of its history was penned in 1913 by H.J.R. Murray (2015). The name refers to the four divisions an army may have. The infantry includes the pawns, the knights make up the cavalry, the rooks correspond to the chariotry, and the bishops the elephantry (though the Hindi word for the piece calls it a camel). In Persia the name was shortened to chatrang. This in turn transformed to shatranj as exemplified in the 1924 story by Munshi Premchand (2020) and the film of the same name by Satyajit Ray, Shatranj Ke Khiladi (The Chess Players). It became customary to warn the king by uttering shāh (the Persian word for king) which became check, and the word mate came from māt which means defeated. Checkmate is derived from shāh māt which says that the king has been vanquished.
Table 8.1 lists the names of the chess pieces in Sanskrit, Persian, Arabic, and English (Murray, 2015). In Hindi users often say oont (camel) for bishop and haathi (elephant) for rook.
From India the game spread to Persia, and then to Russia, Europe, and East Asia around the ninth century.
7 - Problem Decomposition
- Deepak Khemani, IIT Madras, Chennai
-
- Book:
- Search Methods in Artificial Intelligence
- Published online:
- 30 April 2024
- Print publication:
- 24 October 2024, pp 185-220
-
- Chapter
- Export citation
-
Summary
So far our approach to solving problems has been characterized by state space search. We are in a given state, and we have a desired or goal state. We have a set of moves available to us which allow us to navigate from one state to another. We search through the possible moves, and we employ a heuristic function to explore the space in an informed manner. In this chapter we study two different approaches to problem solving.
One, with emphasis on knowledge that we can acquire from domain experts. We look at mechanisms to harness and exploit such knowledge. In the last century in the 1980s, an approach to express knowledge in the form of if–then rules gained momentum, and many systems were developed under the umbrella of expert systems. Although only a few lived up to expert level expectations, the technology matured into an approach to allow human users to impart their knowledge into systems. The key to this approach was the Rete algorithm that allowed an inference engine to efficiently match rules with data.
The other looks at problem solving from a teleological perspective. That is, we look at a goal based approach which investigates what needs to be done to achieve a goal. In that sense, it is reasoning backwards from the goal. We look at how problems can be formulated as goal trees, and an algorithm AO* to solve them.
The search algorithms we have studied so far take a holistic view of a state representing the given situation. In practice, states are represented in some language in which the different constituents are described. The state description is essentially a set of statements. As the importance of knowledge for problem solving became evident, using rules to spot patterns in the description and proposing actions emerged as a problem solving strategy.
Pattern Directed Inference Systems
An approach to problem solving that was developed in the mid-1970s was called pattern directed inference systems (Waterman and Hayes-Roth, 1978). The basic idea is that patterns in a given state are associated with actions.
Index
- Deepak Khemani, IIT Madras, Chennai
-
- Book:
- Search Methods in Artificial Intelligence
- Published online:
- 30 April 2024
- Print publication:
- 24 October 2024, pp 461-473
-
- Chapter
- Export citation