On Wikipedia, we can read about different type of intelligent agents:

  • abstract intelligent agents (AIA),
  • autonomous intelligent agents,
  • virtual intelligent agent (IVA), which I've found on other websites, e.g. this one.

What are the differences between these three to avoid confusion?

For example I've used term virtual artificial agent here as:

Basically a robot is a mechanical or virtual artificial agent which exhibit intelligent behavior (AI).

so basically I'd like to know where other terms like autonomous or abstract agents can be used and in what context. Can they be all defined under 'virtual' robot definition? How to distinguish these terms?


2 Answers 2


There is definitely a usage and etymological dimension to this issue, which I can elaborate on if you'd like. (It's an issue I come across frequently, and is particularly relevant in regards to original work.)

The use of "Agent" may have arisen partly out of Game Theory, with ideas like "multi-agent systems", possibly because it's quite general (i.e. one does not have to say participant, or player, or actor, etc., and it is species non-specific.)

"Automata" seems to be favoured in some circles, and although this term was originally reserved for physical, mechanical devices, it now encompasses a range of physical and information-based systems (with perhaps a contemporary emphasis on the virtual. A famous extension is the categorization of Conway's Game of Life as a "cellular automata". Conversely, "robot" would seem to have usurped "automaton" for physical systems.)

I tend to use an agent when I'm thinking in an economic sense, or in a game theory sense as related to computing [see Rational Agent], and automata when thinking in a procedural sense in terms of algorithmic intelligence [see Automata Theory]. But the distinction is partly semantic.

Robot seems to be avoided in the academic literature in regards to information systems, possibly because of the deeply entrenched popular understanding of "robot" as physical automata. The use of the informal "bots" for describing information-based systems seems to have arisen in the public sphere, almost certainly a product of hacker culture, which has a tradition of playfulness. I like the term bots as it is being currently applied, but I feel it has the connotation of trivial (i.e. small and discrete) or massively multi-agent systems, and haven't really seen it used for "strong" narrow AI.*

Note: "Agent" does not automatically carry the concept of autonomy, although it is sometimes implied. The use of the term is in the sense of "agency" as an action taken by an agent. Agents may be acting on their own behalf, or as proxies.

*"Strong" in relation to AI is a term that seems to be evolving. Initially reserved for Artificial General Intelligence and conscious algorithms, I've seen recent mentions by respected scholars of "strong narrow AI" to refer to recent milestones in Machine Learning. However, the term "strong" and "weak" in relation to mathematics and AI have a history in Combinatorial game theory per the concept of the solved game. Thus, there exist "strong AI" for games such as Nim, Hex, and Tic-Tac-Toe.

Again, there is an element of subjectivity here, but I tend to favour the CGT approach for two reasons:

  1. It's a mathematical definition, unlike the philosophical definitions ("consciousness" and "humanlike" re: AGI)

  2. Artificial Intelligence is rooted in combinatorial games. [Nimatron may have been the first functional algorithmic intelligence and combinatorial games have been used as milestones since that time, most notably with Deep Blue, Giraffe Chess and AlphaGo. Non-trivial Combinatorial games are useful because they have simple parameters but complexity akin to nature.

My sense of how "strong" is starting to be used is for algorithms, such as Machine Learning systems, that can outperform humans within a given set of parameters. Thus "strong narrow AI".

On Intelligence:

The term "intelligence" is highly subjective and the only functionally meaningful definition I've come across is the concept of bounded rationality.


I don't think there are many contexts where there is any really meaningful distinction between these terms. Even in the WP article you refer to, it is shown that "abstract intelligent agent" and "autonomous intelligent agent" are generally just synonyms for "intelligent agent" but used to highlight certain aspects of intelligent agents in some contexts. Net-net, I'd say there just isn't any difference there that's going to matter in practice.

"Virtual intelligent agent" OTOH, used in the context you used it, suggests the distinction between an IA that's implemented in software only, versus one that has a physical manifestation. I don't know how useful that distinction is and I haven't seen anybody else make it.

All in all, I expect that in almost every possible context, if you just say "Intelligent Agent" with no qualifiers, that's going to be sufficient. But if there were going to be an exception, I'd say it would be around the term "autonomous" since an agent which is truly autonomous, versus one that needs to operate in a specific, constrained environment, is a distinction that - at least in principle - could be useful.

  • 1
    $\begingroup$ Some references would be useful. $\endgroup$
    – kenorb
    Aug 17, 2016 at 1:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .