Model Elements

Artificial Intelligence

There is no general consensus on the definition of Artificial Intelligence (AI). So, I would try to give its definition based on my understanding. In my view, if something is able to understand the given environment and take appropriate actions to obtain some defined goal then such agent or robot has AI. Researchers have always dreamed of creating AI agents capable of outperforming humans in tasks like Go, Chess, navigation, speech and language understanding. With recent advances in AI, we have created learning agents that outperform humans in classic Go and Atari games and in the practical applications like humanoid robots and self-driving cars. We consider humans as the most intelligent being on earth and are trying to mimic it. But is it rational and efficient to mimic human intelligence into computers? Let’s take an example of birds flight. Humans from ancient age have dreamed of flying. In the previous century, humans dream of flying was finally a reality. But we didn’t fly like a bird. We developed an alternative way of flying which is more effective i.e a single airplane can fly with hundreds of humans through hundreds miles making air travel effective and enjoyable. Like this example, what if we could make intelligent machines somewhat different than human intelligence.

To understand the state of art algorithms in AI, at first, we need to have the basic understanding of important concepts in AI. In this first blog post, we will discuss concepts from Decision Theory. The content of this blog is based on the Lecture by Dr.Goodrich on “CS 470: AI for Social Good” for Spring term on BYU campus.

Decision Theory


Decision theory is the study of the mechanism underlying the agent’s decision. An agent is an actor which can act or exerts power in the environment to achieve a certain goal. To understand the underlying mechanism on how the agent takes a particular decision it is important to properly define elements of the decision-making process. The vital elements of the decision-making process are States, Actions, Consequences, Goals, and Utilities. Let’s take an example so that the elements of decision-making process becomes clear. Suppose a problem where an agent needs to take a decision of which graduate school to go for Ph.D. in Computer Science? The options could be MIT, Caltech, BYU, Sanford, Georgia Tech, CMU, UoW or Harvard.

States: The property or attributes that exits in the world or environment that determine what happens when an agent acts i.e States (S) = {states of nature}. For the problem about going to graduate school as described in the earlier section, some of the states could be {Grades and GRE scores, Location of the school, Tuition cost, Acceptance Rate, Sports, and many more}

Actions: The activities the agent can do in the world or environment i.e Actions (A) = {activities that are available to agents}. For the problem about going to graduate school as described in the earlier section, some of the actions could be {Retake GRE, Get an internship before applying, apply to only top schools, apply to school near home and many more}.

Consequences: Consequence is produced when the agent takes action an in the environment when it is in state s. It is the ordered pair of elements of states and actions i.e consequences (C) ={(s, a)}. Example: c(s, a) = c(average GRE score, apply to top school) = not accepted to top school

Goal: It is the objective of the agent it wants to fulfill. In other words, it is what the agent wants. Goal (G) = {agent goals}. One of the goals for the agent could be got to best school for robotics.

Preference (>): It is the ordering of the order pairs of consequences based on the goal it wants to achieve. It contains the best consequence for a given goal on the left-hand side and worst consequence for a given goal on the right-hand side. For example, {accepted to the top school with a scholarship, accepted to the top school in full pay, accepted in the waiting list, rejected } represent > set with is ordered with the best consequence at left and worst at right.

Utility: A numerical representation of how well a consequence obtains the goal. In order words, it is the numerical values given to ordered set >. Now, we can assign some numerical values for > set based on our goal which is the utility. For example, {1000, 100, 10, -100} represent the utility values for {accepted to the top school with a scholarship, accepted to the top school in full pay, accepted in the waiting list, rejected }.

Now we can use this decision making elements describe above to make decision-making agent. There are mainly two ways to make a decision using utilities: a) Risk neutral and b) Risk averse. While making Risk Neutral decision, the agent is willing to accept some risk so that it can attain most gains. The risk-neutral agent takes agent which produces the best average utility. When the agent chooses Risk Averse decision, the agent is not willing to take any risks. So, this type of agent takes action that gives the best worst-case utility.

Let’s take an example to understand Risk Neutral and Risk Averse decision using a problem of cancer screening.

Utility Table 

State Cancer ~Cancer
p(s) 0.01 0.99

The above table gives us the utility values for getting treatment after an initial screening. Now we will compute final utility values for both Risk Neutral and Risk Averse decision.

Risk Neutral Decision

$latex  \bar{u}(a) = \sum_{s} u(s, a)p(s) $

a^* = argmax_a \bar{u}(a)

Let’s use this equation defined above to take a Risk neutral decision for the problem of cancer screening. For risk-neutral decision, we are willing to take some risk so that we can maximize our average gains.

a^* = argmax_a \bar{u}(a) = argmax_a \sum_{s} u(s, a)p(s)

= argmax_a \{u(cancer, treatment)p(cancer) + u(~cancer, treatment)p(~cancer), u(cancer, ~treatment)p(cancer) + u(~cancer, ~treatment)p(~cancer)\}

= argmax_a \{-100 * 0.01 + 10*0.99, -1000*0.01 + 100*0.99\} = argmax_a\{-9, 89\}

The argmax function instructs us to choose the action that gives the maximum values. Since ~treatment action gives maximum utility, the risk-neutral approach would be not taking a treatment(~treatment) after the initial screening shows positive results.

Risk Averse Decision

Since the agent making risk-averse decision is not willing to task any risks, it will make decisions the give the best worst-case utility.

a^{mm} = argmax_a min_s u(a, s)

Lets use this equation defined above to take a risk averse decision for the problem of cancer screening.

a^{mm} = argmax_a min_s {-100, 10} = treatment

Thus, the risk averse agent would prefer treatment after the initial screening  shows positive results.


The decision making framework discussed above gives use a good institution of good decision-making tools but provided enough information to implement them for intelligent agents. PEAS decision-making framework provides a formal method for decision making in robots and intelligent agents. PEAS stands for (Performance, Environment, Actuators, Sensors). Excellent details on PEAS, task environments and agent structure can be found on Page 40-59, “Artificial Intelligence: A Modern Approach, 3rd Edition. Stuart Russell, Peter Norvig”.


Leave comment

Your email address will not be published. Required fields are marked with *.