Collective Intelligence and Agent Technology
(Course code: TIES4530) 5 - 7 ECTS, Spring Semester
Former name: Introduction to Agent Technologies (TIES453)
(Register for the course in SISU system)
The course is lectured in English.
Attention: 1-st Lecture: Tuesday, 17 January 2023. Time: 10:15 - 12:00. Place Ag B121.1
Check details and other relevant material in Moodle).
TIES-4530: Collective Intelligence and Agent Technology (5 ECTS)
The course focuses on the use of Distributed Artificial Intelligence methods, and more specifically of Intelligent Agents Technologies, for development of complex distributed software systems driven by collective intelligence. Intelligent software agents are such self-managed (autonomic) software entities that are capable to carry out some goal-driven and knowledge-based behavioral activities on behalf of a user or some other software application, which created it. This theory-oriented part of the course reviews appropriate AI methods and technologies needed to enable intelligent agents. The course is lectured in English.
Main Content Components
The course provides knowledge about autonomous intelligent agents, agent technologies, mobility of agents, agent platforms, multi-agent systems, agent communication, agent coordination, agent negotiation, agent intelligence, semantic modelling of agents, agent-based industrial applications and systems.
Course-Related Context and Motivation:
According to http://www.agentbuilder.com/Documentation/whyAgents.html:
The next wave of technological innovation must integrate linked organizations and multiple application platforms. Developers must construct unified information management systems that use the World Wide Web and advanced software technologies. Software agents, one of the most exciting new developments in computer software technology, can be used to quickly and easily build integrated enterprise systems. The idea of having a software agent that can perform complex tasks on our behalf is intuitively appealing. The natural next step is to use multiple software agents that communicate and cooperate with each other to solve complex problems and implement complex systems. Software agents provide a powerful new method for implementing these next-generation information systems.
An agent (aka software robot) is simply another kind of software abstraction in the same way that methods, functions, and objects are software abstractions. An object is a high-level abstraction that describes methods and attributes of a software component. An agent, however, is an extremely high-level software abstraction which provides a convenient and powerful way to describe a complex software entity. Rather than being defined in terms of methods and attributes, an agent is defined in terms of its autonomic behavior. This is important because programming an agent-based system is primarily a matter of specifying agent behavior instead of identifying classes, methods and attributes. It is much easier and more natural to specify behavior than to write code. Software agents, like people, can be most useful when they work with other software agents in performing a task. A collection of software agents that communicate and cooperate with each other is called an agency or a Multi-Agent System (MAS). System designers using agents must consider the capabilities of each individual agent and how multiple agents can work together. Agents in MAS need to communicate with each other and must have the capability of working together to achieve a common set of goals. Agents provide a new way of managing complexity of software systems because they provide a new relatively simple way of describing a complex system or process in terms of agent-mediated processes. Agents and agent technologies are well-suited for use in applications that involve distributed computation (also reasoning) or communication between components, sensing or monitoring of the environment, or autonomous operation. Agent-based approaches are very popular in Web applications and in applications that require distributed, concurrent processing capabilities. Autonomous agents are capable of operating without user input or intervention being an excellent tool for plant and process automation, workflow management, robotics, etc. [http://www.agentbuilder.com/Documentation/whyAgents.html, November 15, 2011].
Relation of the course with Master Programs of the IT Faculty:
Master Program on COIN: Cognitive Computing and Collective Intelligence is the natural places for such course because the program requires the Agent Technologies to enable self-management (to address the following objectives: how to design products, services and systems so that they will be capable to collaborate naturally with each other and with humans and enable automatic real-time discovery, query and utilization of external data and capabilities for better meeting their design objectives and how to make them self-aware, context-aware and capable of self-configuration, self-optimization, self-protection and self-healing while adapting their design objectives in real time to changing execution environments. Learning outcomes of this course are assumed to be an input to several other courses of the COIN program (e.g., Semantic Web and Linked Data; SOA and Cloud Computing; Agent Technology for Developers; Everything-to-Everything Interfaces; Big Data Engineering, Deep Learning for Cognitive Computing, etc.).
Among other Master programs the closest one is Software Engineering (or similar) program as the course provides useful high-level software abstraction (behavior vs. classes and methods) and a tool to design complex software systems.
The course is also suitable for the Data Analysis (or similar) program as the course provides the framework for autonomic and parallel processing of data in the Web.
The course is also suitable for the Cyber Security (or similar) Master Program as the agent technologies provide new sophisticated security threats and concerns but in the same time can be utilized to design systems with autonomic self-protection behavior.
Being naturally autonomic and very flexible computational systems, agents and agent technologies are useful subject to study in various fields of computing and decision support within appropriate master programs.
Lecturer Vagan Terziyan:
Lectures 1-2: Course Introduction (includes also lessons schedule and motivation use-cases);
Self-Study: Industrial Applications of Agent Technology (SmartResource Project case);
Self-Study: Industrial Applications of Agent Technology (UBIWARE Project case).
Video records of the lectures are here.
Assignment (slides 55-67 contain task for the assignment). DEADLINE FOR THE ASSIGNMENT: 31 MARCH !