When you start working on a project that involves multiple intelligences, you need to consider the Multi-Intelligence Design Pattern. However, it may not be obvious when to move to multi-intelligentsia and what the advantages are.
summary
In this course, Microsoft attempts to answer the following questions:
- What scenarios apply to multiple intelligences?
- What are the advantages of using multiple intelligences as opposed to using only one to perform multiple tasks?
- What are the building blocks for implementing the Multi-Intelligents design pattern?
- How do you observe interactions between multiple intelligences?
Learning Objectives
At the end of this course, you should be able to:
- Recognize scenarios where multiple intelligences are applicable
- Recognize the advantages of using multiple intelligences over a single intelligence.
- Understand the building blocks for implementing the Multi-Intelligent Body design pattern.
What is the more macro perspective?
- Multi-intelligence is a design paradigm that allows multiple intelligences to work together to achieve a common goal*.
This model is used in a wide variety of fields, including robotics, autonomous systems, and distributed computing.
Scenarios for multiple intelligences
So, what scenarios are appropriate for using multiple intelligences? The answer is that there are many scenarios in which the use of multiple intelligences is beneficial, especially in the following situations:
- Large workloads: Large workloads can be divided into smaller tasks and assigned to different intelligences, allowing for parallel processing and faster completion. An example of this is large data processing tasks.
- complex mission: As with large workloads, complex tasks can be broken down into smaller sub-tasks and assigned to different intelligences, each of which specializes in a particular aspect of the task. A good example of this is self-driving cars, where different intelligences manage navigation, obstacle detection, and communication with other vehicles.
- Diversified expertise: Different intelligences can have diverse expertise, allowing them to handle different aspects of a task more effectively than a single intelligence. A good example for this situation is the healthcare field, where intelligences can manage diagnosis, treatment planning and patient monitoring.
Advantages of using multiple intelligences over a single intelligence
A single-intelligent-body system may be suitable for simple tasks, but for more complex tasks, the use of multiple intelligences can provide several advantages:
- professionalization: Each intelligence can be specialized for a specific task. The lack of specialization of a single intelligence means that you have an intelligence that can do all tasks, but may get confused about what to do when faced with a complex task. For example, it may end up performing a task for which it is not best suited.
- scalability: The system can be scaled up more easily by adding more intelligences rather than overloading individual intelligences.
- fault tolerance: If one intelligence fails, the others can continue to operate, ensuring system reliability.
Let's take an example of booking a trip for a user. A single-intelligence system must handle all aspects of the trip booking process, from finding flights to booking hotels and car rentals. To accomplish this using a single intelligence, that intelligence needs to have the tools to handle all of these tasks. This can lead to a complex and large system that is difficult to maintain and scale. On the other hand, a multi-intelligent body system allows different intelligences to specialize in finding flights, booking hotels and renting cars. This would make the system more modular and easier to maintain and scale.
Compare this with a travel agency operated by a husband-and-wife store and a franchised travel agency. A husband-and-wife store will have one agent handling all aspects of the trip booking process, while a franchise will have different agents handling different aspects of the trip booking process.
Building Blocks for Implementing Multi-Intelligent Body Design Patterns
Before you can implement the Multi-Intelligents design pattern, you need to understand the building blocks that make up the pattern.
Let's illustrate this more specifically by looking again at the example of booking a trip for a user. In this case, the building blocks would include:
- smartphone: Intelligences used to find flights, book hotels, and rent cars need to communicate and share information about user preferences and constraints. You need to decide on the protocol and method for this communication. Specifically, this means that the intelligence for finding flights needs to communicate with the intelligence for booking hotels to ensure that the dates of the hotel reservation are the same as the flight dates. This means that the intelligences need to share information about the user's travel dates, which means that you need to decide the Which intelligences share information and how they share itThe
- Coordination mechanisms: Intelligentsia need to coordinate their actions to ensure that user preferences and constraints are met. The user preference may be that they want the hotel to be close to the airport, while the constraint may be that the rental car is only available at the airport. This means that the intelligence booking the hotel needs to coordinate with the intelligence booking the rental car to ensure that the user's preferences and constraints are met. This means that you need to decide How intelligences coordinate their actionsThe
- Intelligent Body Architecture: Intelligentsia need to have internal structure to make decisions and learn from their interactions with the user. This means that the intelligence that finds flights needs to have the internal structure to decide which flights to recommend to the user. This means you need to decide How intelligences make decisions and learn from their interactions with users. An example of how intelligences can learn and improve might be that an intelligence that looks up flights could use a machine learning model to recommend flights to users based on their past preferences.
- Visualization of Multi-Intelligent Body Interactions: You need to understand the interactions between multiple intelligences. This means you need to have tools and techniques to track the activities and interactions of intelligences. This can take the form of logging and monitoring tools, visualization tools, and performance metrics.
- multisensor mode: There are different models for implementing multi-intelligence systems, such as centralized, decentralized and hybrid architectures. You need to decide on the model that best suits your use case.
- human intervention: In most cases, you will need human intervention, and you will need to instruct the intelligent body when to seek human intervention. This can take the form of the user requesting a specific hotel or flight that the intelligent body has not recommended, or requesting confirmation before booking a flight or hotel.
Visualization of Multi-Intelligent Body Interactions
It is important to understand the interactions between multiple intelligences. This visibility is critical for debugging, optimizing, and ensuring the effectiveness of the overall system. To accomplish this, you need to have the tools and techniques to track the activities and interactions of intelligences. This can take the form of logging and monitoring tools, visualization tools, and performance metrics.
For example, in the case of booking a trip for a user, you could have a dashboard that shows the status of each smartbody, the user's preferences and constraints, and the interactions between the smartbodies. This dashboard could show the user's travel dates, the flights recommended by the flights smartbody, the hotels recommended by the hotel smartbodies, and the car rentals recommended by the car rental smartbodies. This will give you a clear picture of how the intelligences interact with each other and whether the user's preferences and constraints are met.
Let's look at these aspects in more detail.
- Logging and monitoring tools: You want to keep a log entry for each action taken by an intelligent body. The log entry can store information about the intelligence that took the action, the action taken, the time the action was taken, and the result of the action. This information can then be used for debugging, optimization, etc.
- Visualization tools: Visualization tools can help you view interactions between intelligences in a more intuitive way. For example, you can have a graph that shows the flow of information between intelligences. This can help you identify bottlenecks, inefficiencies, and other problems in your system.
- Performance indicators: Performance metrics can help you track the effectiveness of a multi-intelligent body system. For example, you can track the time it takes to complete tasks, the number of tasks completed per unit of time, and the accuracy of the suggestions made by the intelligences. This information can help you identify areas for improvement and optimize the system.
multisensor mode
Let's dive into some specific patterns that can be used to create multi-intelligent body applications. Here are some interesting patterns to consider:
group chat
This pattern is useful when you want to create a group chat application where multiple intelligences can communicate with each other. Typical use cases for this pattern include team collaboration, customer support, and social networking.
In this model, each smart body represents a user in a group chat and messages are exchanged between smart bodies through a message passing protocol. Intelligences can send messages to the group chat, receive messages from the group chat, and respond to messages from other intelligences.
This pattern can be implemented using a centralized architecture (all messages are routed through a central server) or a decentralized architecture (messages are exchanged directly).
hand over the task
This mode is useful when you want to create an application where multiple intelligences can hand off tasks to each other.
Typical use cases for this model include customer support, task management, and workflow automation.
In this model, each intelligence represents a task or a step in the workflow, and intelligences can hand off tasks to other intelligences based on predefined rules.
collaborative filtering
This mode is useful when you want to create an application where multiple intelligences can collaborate to make suggestions to the user.
The reason you want multiple intelligences to collaborate is that each can have different expertise and can contribute to the recommendation process in different ways.
Let's take an example of a user who wants to get advice on the best stocks to buy in the stock market.
- industry expert: An intelligence can be an expert in a specific industry.
- technical analysis: Another intelligence could be an expert in technical analysis.
- Fundamental analysis: There is also an intelligence that can be an expert in fundamental analysis. Through collaboration, these intelligences can provide more comprehensive advice to the user.
Scenario: Refund process
Consider a scenario where a customer tries to get a refund for a product, there may be multiple intelligences involved in this process but let's divide it into intelligences that are specialized for this process and generic intelligences that can be used for other processes.
Intelligent bodies specialized in the refund process::
Here are some of the intelligences that may be involved in the refund process:
- Customer Intelligence: This smartbody represents the customer and is responsible for initiating the refund process.
- Seller Intelligence: This Smartbody represents the seller and is responsible for processing refunds.
- Payment Intelligence: This smartbody represents the payment process and is responsible for refunding customer payments.
- Solution Intelligence: This smartbody represents the solution process and is responsible for resolving any issues that arise during the refund process.
- Compliance Intelligence: This Smartbody represents the compliance process and is responsible for ensuring that the refund process complies with regulations and policies.
Universal Intelligence Agency (UIA)::
These intelligences can be used by other parts of your business.
- Transportation Intelligence: This SmartBody represents the shipping process and is responsible for shipping the product back to the seller. For example, this intelligence can be used for both the refund process and regular product shipment via purchase.
- Feedback Intelligence: This smart body represents the feedback process and is responsible for collecting feedback from customers. Feedback can be obtained at any time, not just during the refund process.
- Upgrade Intelligence: This Intelligence represents the escalation process and is responsible for escalating issues to a higher level of support. You can use this type of intelligence in any process that needs to escalate an issue.
- Notification Intelligence: This smartbody represents the notification process and is responsible for sending notifications to customers at all stages of the refund process.
- Analyzing Intelligence: This intelligence represents the analytics process and is responsible for analyzing data related to the refund process.
- Audit Intelligence: This intelligence represents the audit process and is responsible for auditing the refund process to ensure that it is performed correctly.
- Reporting Intelligence: This intelligence represents the reporting process and is responsible for generating reports about the refund process.
- Intellectual Intelligence Unit (KIU): This Intelligence represents the Knowledge Process and is responsible for maintaining a knowledge base of information related to the refund process. This Intelligence can learn about refunds and other parts of your business.
- safety node: This smartbody represents the security process and is responsible for ensuring the security of the refund process.
- Quality Intelligence: This intelligent body represents the quality process and is responsible for ensuring the quality of the refund process.
There are quite a few intelligences listed earlier, both those that are specific to the refund process and general purpose intelligences that can be used in other parts of your business. Hopefully this gives you an idea of how to decide which intelligences to use in a multi-intelligence system.
operation
Design a multi-intelligentsia system for a customer support process. Identify the intelligences involved in the process, their roles and responsibilities, and how they interact with each other. Consider intelligences that are specific to the customer support process and generic intelligences that can be used in other parts of your business.
Before reading the solutions below, think about the fact that you may need more intelligences than you think.
Tip: Consider the different stages of the customer support process and consider the intelligentsia required for any system.
prescription
Knowledge check
QUESTION: When should you consider using multiple intelligences?
- [] A1: When you have a small workload and a simple task.
- [] A2: When you have a large workload
- [] A3: When you have a simple task.
summarize
In this course, we examine the Multi-Intelligent Body Design Pattern, including scenarios in which multiple intelligences are applicable, the advantages of using multiple intelligences over a single intelligence, the building blocks for realizing the Multi-Intelligent Body Design Pattern, and how to understand the interactions between multiple intelligences.