Agent Oriented programmig (AOP) 3

Source: Internet
Author: User
Enter Agent World - What is Agent ?  In the previous discussion, I spoke about the fact that the object makes the readers feel bad. To sum up, oo is not the most appropriate simulation of the real world. So what can be closer to simulating the real world than OO? At present, the agent can assume the role of the successor of the object. Here is an additional section. We can note that both object and agent have deep theoretical origins and are guided by practical software development. At present, the idea of object is widely used in the software development process. Therefore, all objects involved are described in the previous discussion, and developers should try to use the context familiar to them, such as the synchronization method, asynchronous Method ,.. NET platform, such as delegate. At present, most of the work around the agent is still in the theoretical research or laboratory prototype stage, so in the following discussion about the agent, the theoretical academic (Vernacular: paper discussion) will taste a little more intense. I will try my best to explain these theoretical things with examples in my daily life that my comrades are familiar. What is the definition of the agent? This is actually a boring problem. Being able to write the definition of the agent on paper does not mean that this comrade has understood the meaning of the agent. However, the following lists some definitions of edas agent provided by our predecessors. From the various definitions, we can also understand the richness of the agent concept. 1. The mubot agent"The term agent is used to represent two orthogonal concepts. The first is the agent's ability for autonomous execution. The second is the agent's ability to perform domain oriented reasoning ."
This definition emphasizes the automatic execution and reasoning capabilities of the agent. 2. The Aima agent"An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through listeners ."
I don't know if the predecessors who gave this definition are engaged in biology. How do I think the agent is like a primitive life body composed of a nucleus and a pile of hairs. 3. The Maes agent"Autonomous agents are computational systems that inhabit some complex dynamic environment, sense and act autonomously in this environment, and by doing so realize a set of goals or tasks for which they are designed ."
This definition is more complex. It emphasizes the relationship between the agent and the external environment, that is, the existence of the agent is to perceive and change the environment for a certain purpose/goal. This is an important basis for distinguishing agents from common programs. 4. The IBM agent"Intelligent agents are software entities that carry out some set of operations on behalf of a user or another program with some degree of independence or autonomy, and in so doing, employ some knowledge or representation of the user's goals or desires."
The definition provided by IBM is less informative and practical. Software bodies that can automatically complete a specified task can be considered as agents. 5. The FAQ agent[Http://www.ee.mcgill.ca: 80 /~ Belmarc/agent_faq.html] "This FAQ will not attempt to provide an authoritative definition ..."
It is also a top-notch joke for foreigners. 6. The favorite agent"An autonomous agent is a system situated within and a part of an environment that senses that environment and acts on it, over time, in pursuit of its own agenda and so as to effect what it senses in the future."
I personally appreciate this definition. I have no time to do purely theoretical things, but I am not interested in doing anything purely practical things. This definition tries to strike a balance between theory and practice. ...  Continue to talk about the source of the agent, and there will be several different contexts/clues. What is interesting is that those who are engaged in artificial intelligence are keen to use the concept of agent to fit people's behaviors and thoughts, they prefer to describe agents in the software world from the perspective of biology/life. Therefore, they use many psychological terms/symbols to portray agents, such as belief, intention, and obligation. The spirit and realm of these comrades are worthy of our respect and yearning. However, as a negligible gear on the large-scale commercial software development pipeline, I am more concerned with replacing the object with the agent, how many lines of code will be saved, and how many days will the project duration be reduced, which is linked to the actual salary/year-end bonus issues. Based on this consideration, I decided to choose a relatively practical method to continue to introduce the concept of agent to comrades. Michael gave a weak definition of agent in his paper intelligent agents: Theory and Practice (this is just a weak one! ). He said that the following four conditions can be called agent: l autonomy: agents operate without the direct intervention of humans or others, and have some kind of control over their actions and internal state;
Autonomy, which we will talk about below IndependentMind. L social ability: agents interact with other agents (and possibly humans) via some kind of agent-communication language;
This is not an essential feature of the agent. isn't an independent agent an agent. Isn't a comrade living on an isolated island human. The reason for this is that Michael's consideration is that the existence of a single agent is meaningless. Only the agent in the group can reflect its value. L reactivity: agents perceive their environment, (which may be the physical world, a user via a graphical user interface, a collection of other agents, the Internet, or perhaps all of these combined), and respond in a timely fashion to changes that occur in it;
Reactive, able to accept external input signals and respond accordingly. L pro-activeness: agents do not simply act in response to their environment, they are able to exhibit goal-directed behaviour by taking the initiative.
Initiative, or target-driven, is an important feature of the agent. Based on the current environment and its own mind, the agent can actively execute an operation or task. For example, a Web service, no matter how many services a web service can provide and how powerful the computing power is, is not an agent because it is passive, instead of providing services proactively. The definitions of a bunch of agents are listed above. In addition to admiring the masters of their predecessors, we can also try to summarize the essence of the agent. Defines the information that can be passed to the administrators: What is the agent, and what is essentially the information that can be passed to the administrators: What is not the agent. From these two perspectives to grasp a concept, it is almost. What is the essence of agent? Personal Opinion: Independent mind that can interact with the outside world. Explain the meaning of this sentence. This sentence contains two levels of content. 1) independent mind. What is the mind? The mind is logic. The complex logic composed of millions of judgment statements is the mind. An if statement or even an ordered execution statement is essentially the mind. Speaking of this, some comrades may think that something is wrong. If the mind is logic, the invoice class in the MIS system is also mental, and the invoice class also contains logic code, and it's quite complicated. Yes, the invoice class is logical or mental, but it does not have an independent mind. What does it mean? Whether or not the logic in the invoice class is executed or when it is not determined or controlled by the invoice class. This is very important. For example, there is a logic (method) in the invoice class that can serialize itself into an XML segment. When the method of the invoice is called by the outside world, the invoice cannot be said, "I am bored, "The invoice serialization operation will be executed immediately and unconditionally. Therefore, the invoice class does not have an independent mind. Therefore, the invoice class cannot be regarded as an agent. 2) Interaction with the outside world. Interaction is a bit confusing. In fact, the vernacular is input and output, which can capture/perceive changes in the external environment (input) and respond accordingly (output ), OK. From this perspective, we can understand how a Dongdong company is developed and how it operates independently, but it is self-closed and does not receive any signals from the outside world or output any signals to the outside world, it cannot be called an agent. Some comrades may say, "students, this definition condition is too mentally retarded. You should find a completely closed software and let me see it ". I can find one for you. Note that" Interactive", Which means that the output can be changed according to external conditions. Write a program that contains only one line of statements: console. writeline ("Hello Agent ");. Whether the outside world is windy or rainy, whether the machine is 386 or x86, whether the memory is m or 2g, as long as the program is executed, its output is "Hello Agent '. This program does have output, but it does not get the "corresponding" output based on the input. Therefore, this program that only contains one line of code is not an agent. It is just a program. The origin of agent is actually a concept of benevolence and wisdom. I am here to talk about it in a vernacular. It is basically an effective way, not to mention that this is absolutely correct. For different backgrounds, environments, or application scenarios, we can understand the essence of the agent as different things. The most important thing is to have a profound understanding and a thorough understanding. We must be able to solve practical problems and be useful in actual development. Otherwise, we will not talk about it in vernacular, but in vain. Provide several interesting topics for comrades to entertain themselves. L is computer virus agent. L have you ever seen any agent shadows in software systems designed in the past. L what kind of software system is the most useful agent.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.