=Paper= {{Paper |id=None |storemode=property |title= Characteristics of Computational Intelligence (Quantitative Approach) |pdfUrl=https://ceur-ws.org/Vol-710/paper8.pdf |volume=Vol-710 |dblpUrl=https://dblp.org/rec/conf/maics/VafadarB11 }} == Characteristics of Computational Intelligence (Quantitative Approach)== https://ceur-ws.org/Vol-710/paper8.pdf
                         Characteristics of Computational Intelligence
                                             (Quantitative Approach)
                                Shiva Vafadar, Ahmad Abdollahzadeh Barfourosh


                                                    Intelligent Systems Lab
                                          Computer Engineering and Information Faculty
                                              Amirkabir University of Technology
                                                           Tehran, Iran
                                             vafadar@aut.ac.ir; ahmad@ce.aut.ac.ir


                         Abstract
These days, intelligence is one of the features of software                              Introduction
agents. However, developing this feature via a systematic
software engineering approach suffers from some                   Usually, intelligence is an expected capability of software
shortages. One of the open issues is related to specifying        agents. One of the promises of agent oriented software
intelligence features that are expected from intelligent          engineering is to bring artificial intelligence findings to
agents. The source of the problem is different definitions of     everyday practices of software development [1]. We
intelligence that are presented from different perspectives.      believe that as intelligence is one of the features of
Consequently, there is not a predefined set of                    software agents, similar to the other features of software
characteristics for intelligence that can be used as a
                                                                  systems, it should be developed via applying a complete
baseline for specifying intelligence requirements of the
system. As a result, intelligence is defined (or interpreted)     process, which covers all the activities of software
differently between various stakeholders of the system.           development such as requirement engineering, analysis,
This will lead to the ambiguity of the requirements, which        design, implementation and test.
is the source of serious problems in developing software          However, some research have been performed on analysis
systems.                                                          and design of intelligence features of the agents (such as
In this paper, we look at intelligence of agents from a           autonomy [2], reasoning [3] and learning [4]), but currently
software engineering point of view. In this way, we analyze       this process is more focused on implementation of artificial
more than 70 different definitions of intelligence (in            intelligence software systems. Consequently, by ignoring
different areas such as public notions, psychology and AI)
                                                                  requirements specification, analysis and (somehow) design
to extract different characteristics that are considered as
features of intelligence. By eliminating non-computational        of intelligence features, implementation suffers from a
capabilities of intelligence, we investigate a set of             complete and comprehensive input from earlier phases of
characteristics of computational intelligence.                    software development. Taking into account the cost and
In this way, we use a quantitative approach. We rank              probability of the failure in such an incomplete process,
identified characteristics according to the frequency of their    importance of developing intelligence via an engineering
appearance in various definitions. The result is that             approach is made obvious.
learning, adaptation to new situations and environment,           In a complete software engineering process, the first
goal-orientation, problem solving, acquiring and using            activity is defining and specifying requirements and
knowledge and reasoning are the top ranked issues of
                                                                  expected features of software system. By considering
intelligence. Because the extracted features belong to
different levels of abstraction, we classify them into four       intelligence as a software requirement, a set of
groups that are non-functional, general capabilities, basic       characteristics is needed to be used as a reference for
AI techniques and Infrastructural. In addition, we                defining intelligence requirements. But, unfortunately,
investigate the relationship between intelligence                 intelligence itself is a vague term and there are different
characteristics (e.g. learning) and the other quality             definitions for it [6]. Consequently, there is not an
attributes of software systems.                                   agreement on intelligence, not only between customers and
                                                                  developers but also between experts of each group. This
                                                                  will result ambiguity in intelligence as a requirement,
                                                                  because it is interpreted differently by different
                                                                  stakeholders of the system.
                                                                  To solve this problem, in this paper we present a software
                                                                  engineering view on intelligence as a requirement of
software agents. Our approach is decomposing intelligence         of intelligence neither in psychology for human
- as an ambitious term- to a set of more concrete features        intelligence nor in AI for artificial intelligence.
or characteristics that are considered as elements of             One of the methods that can help us to overcome ambiguity
intelligence. In this way, we perform a quantitative              of a term is to describe it via its characteristics. For
analysis on various perspectives of intelligence in different     example, in software engineering quality –as a vague term,
fields (psychology and AI). According to this approach,           is defined via its characteristics such as reliability,
we can distinguish the main features of intelligence based        usability, etc. [5]. Therefore, to solve the same problem for
on the experts’ point of view. The frequency of each              intelligence, it can be defined via its characteristics as well.
feature in different definitions can be interpreted as an         In this way, we break down different definitions of
evidence of implicit agreement on it as a feature of              intelligence to investigate attributes that are identified as
intelligence. To achieve this goal, we take into account          characteristics of intelligence.
more than 70 different definitions of intelligence which          Our observation leads us to believe that intelligence is not a
have been presented by experts in psychology and AI, in           single unitary ability, but rather a composition of several
addition to the popular notions about intelligence (which         functions. This result confirms our first hypothesis for
are presented in dictionaries and encyclopedias) and we           defining intelligence via its characteristics that helps us to
extract different issues that are mentioned in them as            specify intelligence via its features in software systems.
characteristics of intelligence.                                  This interprets intelligence (as a vague requirement) to a
 Our survey shows that there are 28 distinct characteristics      set of definable features of the system.
in these definitions. By omitting non-computational               In the following, we analyze definitions of intelligence in
characteristics and features that are trivial capabilities for    three categories. Our analysis is performed on a set of
machines, we consider 16 characteristic as computational          definitions that is considered as the largest and most well-
intelligence features which are ranked based on their             references collection on intelligence [6]. It contains 71
frequency and importance in various fields.                       definitions of intelligence in psychology, AI and popular
The main contribution of this work is that it breaks down         notions about intelligence.
intelligence into a set of more concrete characteristics that     The goal of this analysis is to distinguish characteristics
can be defined and specified as requirements of software          that are considered as elements of intelligence according to
agents. The result of this research is a set of characteristics   the experts’ point of view in each field.
(or features) which can be considered as computational
intelligence requirements. This set can be used as a basis        Public Notions of Intelligence
for eliciting and specifying intelligence requirements of the
                                                                  There are 18 definitions in this group. This group
system. To this end, requirements engineer uses this set of       represents definitions that have been proposed by groups or
features as a common language between different                   organizations and definitions of intelligence given in
stakeholders of the system to interpret intelligence from
                                                                  dictionaries and encyclopedias [6]. We consider these
their point of view. This activity is the first step for
                                                                  definitions as popular notions about intelligence because
moving towards a complete software engineering process
                                                                  they construct or represent general ideas about intelligence
for intelligence requirements of agents. Consequently, it
                                                                  in public. Since customers are a main group of stakeholders
can be used as a basis for analysis, design, implementation       for defining requirements of the system, this category of
and test of these features.                                       definitions is important in our survey because it represents
The remainder of this paper is organized as follows: In
                                                                  customers’ point of view about intelligence.
Section 2, we analyze different definitions of intelligence
                                                                  By reviewing these definitions, we identify the following
in public notion, psychology and AI. In Section 3, we
                                                                  characteristics as attributes of intelligence: learning and
present the set of characteristics for computational
                                                                  understanding (e.g., facts, truth, meanings) (12 times
intelligence by analyzing the results of Section 2 and we         each), reasoning (9 times), ability to adapt to the
also classify these characteristics into four main groups. In
                                                                  environment or new situations (6 times), capability to solve
Section 4, we investigate the relationship between learning
                                                                  problems (5 times), capability to acquire and apply
(as an intelligence characteristic) and non-functional
                                                                  knowledge (5 times), profit from experience (4 times),
requirements of software systems. Finally, in Section 5, we
                                                                  capability of planning, thinking abstractly (or
conclude and introduce further works of this research.            generalization) (each one 3 times), having judgment,
                                                                  perceiving relationships, using memory, comprehending
Analyzing Different Definitions of Intelligence                   language (two times) and finally being able to classify,
                                                                  calculation and imagination (each one once). Figure 1
During last century, various researches have been
performed on human and artificial intelligence. Despite           shows the results of analysis of this group definition. In
such a long history, still there is not a standard definition     this figure, red bars demonstrate the characteristics that are
                                                                  common between all the groups that we have surveyed.
                                Figure1: Characteristics of Intelligence Based on Public Notion

                                                                   apply knowledge (5 times each), thinking abstractly,
Psychologists Definitions                                          having judgment, applying experience, imagination and
                                                                   perceiving relationship and generalization capability (each
This category contains 35 definitions from psychologists
                                                                   one 3 times), reasoning, perceptional recognition,
[6]. Taking into account these definitions in our survey
helps us to understand elements of human intelligence              capability to produce product, using memory (each one
according to psychologists and consider related attributes         twice), and finally planning, quickness, flexibility,
                                                                   attention,    pattern     recognition,    being     educable,
for computational intelligence.
                                                                   discrimination, sensation, cognitive ability (each one once).
We distinguish 23 issues that have been mentioned as
                                                                   Figure 2 shows the results of analysis of this group’s
features of humane intelligence in psychologists’
                                                                   definitions. In this figure, red bars highlight the
definitions. They are ranked as the following according to
their frequency in surveyed definitions: ability to adapt to       characteristics that are common between all the groups that
the environment or new situations (8 times), learning,             we have surveyed.
ability to solve problems and capability to acquire and




                          Figure2: Characteristics of Intelligence Based on Psychologists’ Definitions

                                                                   orientation (9 times), ability to adapt to the environment or
AI researchers Definitions                                         new situations (4 times), learning (3 times), capability to
In this section, we analyze 18 definitions of intelligence         solve problems (2 times), capability to acquire or apply
from researches in artificial intelligence. The complete list      knowledge (2 times) and applying experience and
of these definitions can be found in [6]. By reviewing these       autonomy (each one once). Figure 3 shows the results of
definitions, we identify that there are eight different topics     this analysis.
as characteristics of intelligence which are: Goal-
                        Figure3: Characteristics of Intelligence Based on AI Researchers’ Definitions

                                                                 more important in computational intelligence than those
Intelligence Characteristics in Computational                    that are considered in human intelligence. Therefore, AI
                                                                 features have more weight than features in public notions
                  Systems                                        and psychology features get the least weight. The result of
By reviewing the results of analyzing definitions in             this approach is shown in Figure 4. In this figure, red bars
different categories, strong similarities between many of        demonstrate shared characteristics in all the groups of our
these definitions quickly becomes obvious. This shows            survey.
that there is an implicit agreement on some characteristics      According to this approach, features of computational
of intelligence. In addition, by taking into account their       intelligence are ranked as follow:
frequency of appearance, we conclude that some of them                    Learning
are more accepted as intelligence characteristic among
                                                                          Adaption
experts than the others.
At the other hand, some of these features (especially                     Goal-Orientation
features of intelligence in psychology and public                         Using knowledge
definitions) are not suitable options for computational                   Problem Solving
systems because they are not computable. In order to
choose features of computational intelligence among                       Reasoning
distinguished set of characteristics, we omit these types of              Applying Experience
characteristics such as thinking, judgment, imagination,                  Generalization
understanding, attention, product production, being
                                                                          Perceiving Relationships
educable, discrimination and understanding language.
Because we are interested in intelligence as a behavior of                Planning
software systems, we also ignore cognitive ability from our               Autonomy
list. We also omit characteristics such as using memory or
                                                                          Perceptional Recognition
computational capabilities because they are the base of all
computational systems. Otherwise, all computational                       Classification
systems would be intelligent and we are not interested in                 Quickness
such a definition of intelligence.                                        Flexibility
After removing mentioned features, 16 characteristics
remain in our list. To rank these features, we weight                     Pattern Recognition
characteristics of different groups. We believe that
characteristics that are mentioned by AI researchers are
                                     Figure4: Characteristics of Computational Intelligence

By examining these characteristic, we understand that
these features are at different levels of abstractions. For              Intelligence Characteristics and Non-
example, some features are more general than the others,
some of them are a subset of the others, and there are also                     Functional Requirements
some distinct features that refer to different capabilities of     When a capability is added to a software system, it
the system. To organize them, we divide these features into        improves software functionality. But there are some non-
four categories. In this classification, intelligence is a         functional or quality requirements in the systems that
feature of the system that improves non-functional                 should be taken into account during requirements
requirements of the software system such as quickness and          engineering as well. In some cases, there are contradictions
flexibility. To achieve this improvement, an intelligent           between these requirements. This means that by having
system should be able to solve the problems in a goal-             some requirements in the system, we may lose or degrade
oriented manner. It also should be autonomous. In order to         the others. For example, by adding security features to the
provide these general capabilities, intelligent systems need       system, in general, more computations should be
artificial intelligence capabilities such as reasoning,            performed in the system. This can affect performance and
planning and learning that can be achieved through                 efficiency of the system. In these cases, software engineer
adaptation, pattern recognition, classification and applying       should choose a subset of requirements by considering the
experience. Intelligence of the system is founded on an            trade-off between requirements.
infrastructure that contains knowledge and sensations or           For looking at intelligence as a requirement of software
perceptions. Table 1 summarizes this classification.               systems, we need to analyze the side effects of intelligence
                                                                   and its characteristics on the other quality attributes of the
    Table1: Classification of Computational Intelligence           system. For example, requirements engineer should pay
                       Characteristics                             attention to the side effects of considering learning
Type                Characteristics                                requirement –as a feature of intelligence- on other quality
Non-Functional Quickness, Flexibility                              attributes of the software system. Table 2 shows the
Requirements                                                       relationship between learning and non-functional
General             Problem Solving, Goal Orientation,             requirements. Characteristics of quality requirements in
Capabilities        Autonomy                                       table 2 have been selected according to the classification of
AI Techniques       Reasoning            (Generalization),         ISO 9126 [5]. In this table, “+” means that adding learning
                    Planning, Learning (Adaptation,                improves the non-functional characteristic. “-” means that
                    Pattern Recognition, Classification,           learning potentially may decrease the sub-characteristic and
                    Applying Experience,)                          “*” means that the relationship between learning and
Infrastructures     Knowledge (Facts, Relationships),              specified characteristic of non-functional requirement is
                    Perception (or Sensation)                      neutral.
                                                                   As this table shows, learning has a positive effect on
                                                                   characteristics of the system such as suitability, accuracy,
                                                                   interoperability, security, fault tolerance and adaptability.
But it has a negative relationship with efficiency and                 Conclusion and Further Work
maintainability characteristics of system in general. This
means that if quick response is a critical quality           The aim of this research was identifying the main
requirement and there is shortage of resources in the        characteristics (or capabilities) of computational
system, then adding learning to the intelligent              intelligence based on various definitions of intelligence. To
requirements of the system should be done cautiously. The    achieve this goal, we analyzed more than 70 definitions of
main reason is that learning utilizes extra time and         intelligence in various fields such as popular notion of
resources of the system that may decrease its efficiency.    intelligence, psychology and AI. According to the results of
Adding learning to the system also makes the code more       our survey, we distinguished 16 characteristics for
complex, therefore changing the code or analyzing it when    computational intelligence.
there is an error in the system becomes more complex and     This set can be used as a guideline (or reference) for
time consuming. Therefore, maintainability of the software   eliciting and specifying expected capabilities (features) of
decreases in general. But if adaptability is a required      intelligence system during requirement engineering. To
quality characteristic of the software system, adding        develop an intelligent software (agent) system, first we
learning as a requirement helps to attain an adaptable       should define intelligence requirements of the software
system.                                                      according to the system or stakeholder’s needs. As
                                                             extracted characteristics are based on public notions of
     Table2: Relationship between learning and quality       intelligence in addition to the AI experts’ point of view, it
                       requirements                          can be considered as a common language between different
                                                             stakeholders of the software such as developers and
CHARACTERISTIC       SUB-CHARACTERISTIC       Learning       customers.
Functionality      Suitability                   +           By specifying expected features during requirements
                   Accuracy                      +           engineering, later activities of software development such
                   Interoperability              +           as analysis, architectural and detailed design and test of
                   Security                      +           intelligence are based on a predefined set of capabilities.
                   Compliance                    *           Furthermore, this set of requirements can be used as a basis
Reliability        Maturity                                  for comparing intelligent agents in COTS (Component Of
                   (hardware/software/data)      +           The Shelf) software development. To achieve this goal,
                   Fault tolerance               +           intelligence requirements of the system (or agent) should
                   Recoverability (data,                     be specified based on the proposed set of characteristics. At
                   process, technology)          *           the other hand components that are developed should be
                   Compliance                    *           defined according to this set as well. Having these
Usability          Understandability             *           preconditions, according to the intelligence requirements of
                   Learnability                  *           the system (or agent), we can choose the most appropriate
                   Operability                   *           available component (or agent) for the system. For
                                                             example, available components or agents are tagged
                   Attractiveness                *           according to their capabilities. In this case, if system needs
                   Compliance                    *           an intelligent agent (component) that should be
Efficiency         Time behavior                 -           autonomous and being able to learn, we can choose the
                   Resource utilization          -           agent with these capabilities, according to the tags of
                   Compliance                    -           available ones.
Maintainability    Analyzability                 -           Our further works to extend our research are:
                   Changeability                 -                 Defining relationship between these features, in
                                                                       addition to the relationship with other non-
                   Stability                     -
                                                                       functional requirements of software systems.
                   Testability                   -                 Developing analysis patterns as the next activity
                   Compliance                    -                     of software development for these features such as
Portability                                      +
                   Adaptability                                        learning analysis patterns[4]
                   Installability                *                 Defining validation and verification approaches
                   Co-existence                  *                     for these features based on the existing methods
                   Replaceability                *                     for testing computational intelligence [7,8]
                   Compliance                    *
                       References
[1] Zambonelli, F., Omicini, A.. Challenges and Research
    Directions in Agent-Oriented Software Engineering,
    Autonomous Agents and Multi-Agent Systems, Volume.9
    No.3, p.253-283 (2004)
[2] Weiss G., Fischer F., Nickles M., Rovatsos M. (2006).
    Operational modelling of agent autonomy: theoretical
    aspects and a formal language. Proceedings of the 6th
    International Workshop on Agent-Oriented Software
    Engineering (AOSE, pp. 1-15). Lecture Notes in Computer
    Science, Vol. 3950. Springer-Verlag.
[3] Bosse T., Jonker C. M., Treur J. (2005). Requirements
    Analysis of an Agent’s Reasoning Capability, Proceeding
    of the 7th Intenational Workshop on Agent-Oriented
    Information Systems, AOIS'05.
[4] Vafadar, S., Abdollahzadeh Barfourosh, A.: Towards
    Requirement Analysis Pattern for Learning Agents, Agent
    Oriented Software Engineering (AOSE) Workshop, short
    paper, Toronto, Canada (2010)
[5] ISO/IEC 9126-1: Information technology - Software
    quality characteristics and metrics - Part 1: Quality
    characteristics and subcharacteristics
[6] Legg, S., Hutter, M. A Collection of Definitions of
    Intelligence, Advances in Artificial General Intelligence:
    Concepts, Architectures and Algorithms, volume 157 of
    Frontiers in Artificial Intelligence and Applications (2007)
[7] Hernández-Orallo, J., Dowe, D.L. Measuring universal
    intelligence: Towards an anytime intelligence test,
    Artificial Intelligence Journal, Volume (2010)
[8] Sanghi, P., Dowe, D.L., A computer program capable of
    passing IQ tests, in: Proceedings of the 4th ICCS
    International Conference on Cognitive Science (ICCS’03),
    Sydney, Australia, July 2003, pp. 570–575.