Vous êtes sur la page 1sur 5

Uday Kumar Raju Ruddarraju : rudda003@umn.

edu

ARTIFICIAL INTELLIGENCE I Assignment -1 Problem 1: This paper by M.Woolridge and N.R.Jennings has been a marvelous work of analysis on the then current intelligent agent systems, their design process and the developers strategies. The paper is a great work of criticism exposing various pitfalls of the development strategies of the developers of an agent based system. The authors, for most of the part, concentrate their analysis part on the multi agent systems where collaboration and integration of the agents is very complex and significant. Even more better is the authors classification of the pitfalls allowing the shareholder developers to realize them without great difficulty. This work by M.Woolridge and N.R.Jennings has inspired future works like Agent based intelligent adaptive systems [1], ROADMAP meta model [2], Layered specification of Intelligent agents [3], Multi level approach for agent oriented software development [4], to overcome these pitfalls and it has happened very effectively. The authors have also provided the developers with some recommendations to annihilate the pitfalls, which is the best part. The authors recommendations to Analysis and Design pitfalls have encouraged works like Multi level approach for agent oriented software development [4] to promote concurrency through better intercommunication within the agents. The implementation pitfalls stated by the authors in this work were spot on and have urged the AI community to follow de facto standards and has also highlighted the importance of reusability in the agent programming paradigm. In spite of so many positives out of the paper, the authors have been too inclined against the agent programming paradigm in a few cases. Not even one of the success stories of AI like, speech recognition, Data Mining, Robotics, Logistics and Googles search engine have been discussed, which if done, could have made the paper more comparative and balanced. The author also had not mentioned about the fact that various branches of artificial intelligence term themselves with some other keywords that enable them to get better financial support from the government and other enterprises which were very reluctant to support artificial intelligence then, which is why, most of the success works have not been classified under artificial intelligence. The authors in this paper, did not specify what should be the optimum number of agents that should support an intelligent system and on what factors does this depend. This has made the recommendations of the Macro level pitfalls ambiguous to and extent. This work also did not take into consideration the work that has been taking place in the field of layered approach to agent architectures which have already overcome the Analysis and Design pitfalls. Problem 2: Conceptual Pitfalls: Yes, I accept with all the conceptual pitfalls that have been mentioned in the paper. I liked the way the author states that agents can never be considered silver bullets in software engineering. This is true atleast for the moment since not all agents solve the problems easily than the traditional software engineering practices. Agents should be developed based on
Page 1 of 5

Uday Kumar Raju Ruddarraju : rudda003@umn.edu

the problem and hence should not be applied to all problems in the software engineering domain. And moreover, developers often confuse, form of a system with that of the substance of the system. Many Object oriented developers think that Object Oriented Development is all about classes, objects, methods and properties, which is clearly not the case. Hence, the developers and project managers should be clearly trained on agent based systems such that they dont misinterpret various terms in the field, which has been the case with that of the BDI application that has been stated in the paper. Moreover, the authors have also made very good implications about the process of developing distributed agent architectures and urging the developers to implement features like mutual exclusion, locks and other concurrency handling mechanisms in distributed environments. A few of the conceptual pitfalls I felt were: a) Everything is an agent: In an agent oriented development platform, it is usual for the developers to modularize all the functionalities of the system and then assign them to agents. This should not be the case, which means not all functional units of a multi agent system need to be agents. The agents should work in collaboration with a few other independent computational units to reach the collective goals of the multiagent system. b) Selection of Software development models: It should be remembered that developing a multiagent system does not mean it needs a new software development model different from the traditional models like evolutionary, waterfall, spiral and incremental. The multiagent systems can still make use of these models with a little modifications that help to better the evolutionary process of learning and adaption of the agents in the environment. c) Un-directed research: Developers may get some education about agents and multiagent systems but not enough. Reading articles about agents or reading a couple of books or even taking a couple of courses at a local university will not help them. They have to be better trained to gain good confidence and knowledge that enables them to differentiate modeling agents with that of other kinds of modeling. Micro (agent) level pitfalls: The authors have been spot on in their listing of the agent level pitfalls that are usual to a multi agent system development process. The authors have basically listed two different areas of pitfalls, viz., reusability and extent of AI technology that is implemented during the development of agents individually. In the points 6.1 and 6.2, the authors highlight the need of reusability to an extent that can make the agent development process a lot simple when we use the existing libraries of agent development that already exist. Moreover, once we develop an agent, we should not be over optimistic that the architecture we developed can be used to all kinds of applications in our domain. This can have 2 side-effects, first one being that the agent can be
Page 2 of 5

Uday Kumar Raju Ruddarraju : rudda003@umn.edu

under-used and the second one is that the agent may not meet the required qualifications. You should always refer to existing agent designs when you start developing an agent but should not try to fit our agents into the application in a reverse engineering approach. In the points 6.3 and 6.4, it is very important that the authors have insisted the developers to have some minimal AI technology induced into the system, at the same time urging them to differentiate between intelligent systems and that of systems that are called intelligent but are not. A few of the micro level pitfalls I think are: a) Role of the agent: The role an agent plays in a system should be optimal. The role level should not be too complicated for an agent to handle and it should neither be too low that the abstraction of this role as an agent would be useless. Our system comprises of roles and actors, where the agents we develop are actors that can play one or more roles. b) Composition of agents: Multiple micro agents put together make up a complex agent. The selection of a complex agent should be done carefully since in most of the cases the performance of the micro agent is better compared to that of the composite agent. But, composite agents increase the modularity of the system and hence also, reduce the complexity of the system. Therefore, the developers should find appropriate tradeoff between modularity and performance to choose the right agent for the system. Problem 3: Yeah, I completely agree with Etzionis statement, Intelligent agents are ninety-nine percent computer science and one percent artificial intelligence. The fact that the concept of intelligent agents has been born from the excessive research work of the Artificial Intelligence community, had transformed the definition of artificial intelligence to Artificial Intelligence is the problem of creating intelligent agents.[7]. Nevertheless, Artificial Intelligence mandates intelligent agents to be present in its system but the vise-versa is not always true. Intelligent agents need not always encompass all the properties stated by artificial intelligence, viz. , Learning, Acting etc. For example, many agents in realtime systems, capabilities of commonsense learning, are not required for many application domains. I accept the statement in which Woolridge states Agents are simple software components that must be designed and implemented in much the same way that other software components are. However, AI techniques are still most appropriate (but not the only) of building agents. Artificial Intelligence on the whole aims for broader intelligence of the agents which is the ultimate goad of AI based systems. Whereas, agents in the computer science field, only aim at intelligence that helps agents to take logical decisions in environment that renders some useful results. This primary difference in intelligence levels of the agents makes me agree with Etzionis statement.
Page 3 of 5

Uday Kumar Raju Ruddarraju : rudda003@umn.edu

Problem 4: I would choose an incremental, iterative and evolutionary software development model to design an agent software. Our design methodology should encompass strategies for both micro and macro level agent architectures. My design process would use inputs from the analysis phase where we get a clear idea of what are the various agents that are to be designed and what roles should they exhibit in order to work collectively in the system. Step 1: Designing the roles: Roles are the conceptual abstractions to various functions performed by the agents in the environment. All roles mandate the fact that they should be atomic, i.e., a role cannot comprise of other roles in a nested fashion. But inturn, a role hierarchy can be setup in the system. A role in-turn has attributes like permissions and responsibilities. Permissions limit the resources that a role has got access. Step 2: Designing agents: Agent types are conceptual abstractions to roles they undertake the environment. These agents should render the behavior that its roles suggest. Step 3: Designing Services and Messages: Services are the functionalities that agents provide to the system and this happens when an agent collaborates constructively with other agents through effective communication. Hence designing of messages often impacts the design of services effectively. Step 4: Designing Communication links: Message passing is done through setting up communication links among agents. Setting up these link should be done judiciously as the incur so much overhead into the system that it plays a very important role in determining the performance of the system.

Page 4 of 5

Uday Kumar Raju Ruddarraju : rudda003@umn.edu

References [1]. Leon Sterling, Thomas Juan, The software Engineering of Agent Based Intelligent Adaptive Systems at ICSE 05, May 15-21, St. Louis, Missouri, USA [2]. Juan T., Sterling L., The ROADMAP meta model for Inetlligent Adaptive Multi-agent Sytems in Open Environments, at AAMAS 03, Melbourne, Australia. [3]. Paul Scerv, Johan Ydren, Nancy Reed, Layered Specification of Intelligent Agents. [4]. Kuo Ming Chao, Anne James, Peter Norman, A Framework for intelligent agents within effective concurrent design.. [5]. Martin Purvis, Maurisz, Nowostowski, A multi level approach and Infrastructure for agentoriented Software development. At AAMAS 02, July, 15-19, 2002, Bologna, Italy. [6]. M.Woolridge, Agent Based Sofware Engineering [7]. Russell and Norwig, Artificial Intelligence textbook [8]. Oren Etzioni, Moving up the Information food chain deploying softbots on the world wide web, AAAI-96

Page 5 of 5

Vous aimerez peut-être aussi