Buckets:
835 MB
10,492 files
Updated 4 months ago
Ctrl+K
| Name | Size | Uploaded | Xet hash |
|---|---|---|---|
| config | 3 items | ||
| demos | 1 items | ||
| docs | 3 items | ||
| notebooks | 1 items | ||
| scripts | 2 items | ||
| src | 25 items | ||
| tests | 1 items | ||
| README.md | 10.3 kB xet | c59a6a42 | |
| requirements.txt | 2.22 kB xet | 8656c29c |
CA24: Advanced Multi-Agent Systems
๐ฏ Overview
A comprehensive implementation of advanced multi-agent systems featuring modern communication protocols, sophisticated coordination mechanisms, and multi-agent reinforcement learning. This project demonstrates state-of-the-art techniques in distributed AI systems.
โจ Key Features
1. Advanced Communication Systems
- ๐จ Multiple communication protocols (Message Passing, Publish-Subscribe, Broadcast, Multicast)
- ๐ฏ Priority-based message handling (Low, Medium, High, Critical)
- ๐ Intelligent message routing and filtering
- ๐ Real-time communication monitoring and statistics
- ๐ WebSocket support for distributed agents
- โฑ๏ธ TTL (Time-To-Live) and retry mechanisms
2. Advanced Coordination Mechanisms
- ๐๏ธ Hierarchical Coordination: Top-down task allocation
- ๐ฐ Market-Based Allocation: Auction-based task distribution
- ๐ค Coalition Formation: Dynamic agent grouping for complex tasks
- ๐ฏ Consensus Algorithms: Weighted average and majority vote
- ๐ Task Allocation Methods:
- Round Robin
- Load Balancing
- Capability Matching
- Auction-Based
- Genetic Algorithm
3. Multi-Agent Reinforcement Learning (MARL)
- ๐ง Multi-Agent DQN: Deep Q-Network for multiple agents
- ๐ญ Multi-Agent A2C: Advantage Actor-Critic for cooperative learning
- ๐ Experience Replay: Efficient learning from past experiences
- ๐ฎ Custom Environments: Flexible multi-agent simulation environments
- ๐ Training Metrics: Comprehensive performance tracking
4. Agent Types
- ๐ Coordinator Agent: Task allocation and system coordination
- ๐ฌ Researcher Agent: Information gathering and analysis
- ๐ Analyst Agent: Pattern recognition and prediction
- ๐ค ReAct Agent: Reasoning and acting with LLMs
- ๐ฎ Reflexion Agent: Self-reflective learning
- ๐ฆ HippoRAG Agent: Advanced RAG with knowledge graphs
- ๐ Nexus Agent: Multi-modal reasoning
๐ Project Structure
CA24_multi_agent_systems/
โโโ ๐ notebooks/ # Jupyter notebooks with examples
โ โโโ CA24.ipynb # Main comprehensive notebook
โ โโโ 01_Advanced_Communication_Systems.ipynb
โ โโโ 02_Advanced_Coordination.ipynb
โ โโโ 03_Multi_Agent_RL.ipynb
โ โโโ 04_Complete_Projects.ipynb
โโโ ๐ง src/ # Source code
โ โโโ core/ # Core multi-agent systems
โ โ โโโ multi_agent_system.py
โ โ โโโ advanced_communication.py
โ โ โโโ advanced_coordination.py
โ โ โโโ multi_agent_rl.py
โ โ โโโ environment.py
โ โ โโโ rag_system.py
โ โ โโโ shared_memory.py
โ โโโ agents/ # Specialized agents
โ โ โโโ react_agent.py
โ โ โโโ reflexion_agent.py
โ โ โโโ hipporag_agent.py
โ โ โโโ nexus_agent.py
โ โโโ evaluation/ # Evaluation metrics
โ โโโ utils/ # Utilities
โโโ ๐ scripts/ # Execution scripts
โ โโโ main.py
โ โโโ run.sh
โโโ ๐งช tests/ # Test files
โโโ โ๏ธ config/ # Configuration
โโโ ๐ data/ # Data and results
โโโ ๐พ models/ # Saved models
โโโ ๐ integrations/ # External integrations
โโโ ๐ฎ demos/ # Interactive demos
โโโ ๐ docs/ # Documentation
๐ Quick Start
Installation
# Clone the repository
cd CAs/CA24_multi_agent_systems
# Install dependencies
pip install -r requirements.txt
# Set up environment variables (optional)
export GEMINI_API_KEY='your_api_key_here'
Running Examples
1. Basic Multi-Agent System
cd scripts/
python main.py
2. Advanced Communication Demo
from core.advanced_communication import AdvancedCommunicationManager
from core.multi_agent_system import BaseAgent
# Create communication manager
comm_manager = AdvancedCommunicationManager("my_system")
# Register agents
await comm_manager.register_agent(agent1, ["topic_A"])
await comm_manager.register_agent(agent2, ["topic_B"])
# Send messages
await comm_manager.broadcast_message(
sender="coordinator",
content={"message": "Hello all agents!"},
priority=MessagePriority.HIGH
)
3. Coordination with Coalition Formation
from core.advanced_coordination import AdvancedCoordinationManager, CoordinationStrategy
# Create coordination manager
coord_manager = AdvancedCoordinationManager(
comm_manager,
strategy=CoordinationStrategy.COALITION
)
# Register agents with capabilities
await coord_manager.register_agent(agent, capabilities)
# Allocate tasks
assigned_agent = await coord_manager.allocate_task(task)
4. Multi-Agent Reinforcement Learning
from core.multi_agent_rl import MultiAgentRLSystem
# Create MARL system
marl = MultiAgentRLSystem(
num_agents=3,
state_dim=4,
action_dim=2,
algorithm="dqn"
)
# Train agents
marl.train(num_episodes=1000, batch_size=32)
# Evaluate performance
results = marl.evaluate(num_episodes=10)
๐ Comprehensive Examples
Example 1: Distributed Task Allocation
import asyncio
from core.multi_agent_system import MultiAgentSystem
from core.advanced_coordination import CoordinationTask, AgentCapability
async def distributed_task_allocation():
# Initialize system
mas = MultiAgentSystem(gemini_config)
await mas.initialize()
# Create task with requirements
task = CoordinationTask(
description="Analyze market data",
resource_requirements={
"capabilities": ["analysis", "visualization"],
"max_cost": 100.0
},
deadline=datetime.now() + timedelta(hours=1)
)
# Allocate task
assigned_agent = await coord_manager.allocate_task(task)
print(f"Task assigned to: {assigned_agent}")
# Monitor progress
status = await mas.get_system_status()
print(f"System status: {status}")
asyncio.run(distributed_task_allocation())
Example 2: Consensus-Based Decision Making
async def consensus_decision():
# Initial values from different agents
initial_values = {
"agent_1": 0.8,
"agent_2": 0.6,
"agent_3": 0.7,
"agent_4": 0.9
}
# Reach consensus
consensus_result = await coord_manager.reach_consensus(
topic="resource_allocation",
initial_values=initial_values,
max_iterations=10
)
print(f"Consensus reached: {consensus_result}")
asyncio.run(consensus_decision())
Example 3: Multi-Agent RL Training
# Create cooperative multi-agent environment
marl_system = MultiAgentRLSystem(
num_agents=4,
state_dim=8,
action_dim=4,
algorithm="a2c"
)
# Train with custom parameters
marl_system.train(
num_episodes=2000,
batch_size=64,
update_frequency=10
)
# Get training statistics
stats = marl_system.get_training_stats()
print(f"Training completed:")
print(f" Average reward: {stats['average_rewards'][-1]:.2f}")
print(f" Total steps: {stats['total_steps']}")
# Evaluate trained agents
eval_results = marl_system.evaluate(num_episodes=20)
print(f"Evaluation results: {eval_results}")
๐ Jupyter Notebooks
Explore comprehensive tutorials and examples:
- CA24.ipynb - Main comprehensive guide
- 01_Advanced_Communication_Systems.ipynb - Communication protocols
- 02_Advanced_Coordination.ipynb - Coordination mechanisms
- 03_Multi_Agent_RL.ipynb - Reinforcement learning
- 04_Complete_Projects.ipynb - End-to-end projects
๐งช Testing
# Run all tests
cd tests/
python -m pytest
# Run specific test
python test_communication.py
python test_coordination.py
python test_marl.py
๐ Performance Metrics
The system tracks various performance metrics:
- Communication: Message throughput, latency, delivery rate
- Coordination: Task allocation efficiency, coalition formation time
- Learning: Episode rewards, convergence rate, success rate
- System: CPU/memory usage, agent utilization
๐ง Configuration
Environment Variables
# API Keys
export GEMINI_API_KEY='your_gemini_key'
export OPENAI_API_KEY='your_openai_key'
# System Configuration
export MAX_AGENTS=10
export MESSAGE_TIMEOUT=5.0
export COORDINATION_STRATEGY='hierarchical'
Configuration Files
Edit config/system_config.yaml for advanced settings:
communication:
protocol: message_passing
max_retries: 3
ttl: 60
coordination:
strategy: hierarchical
allocation_method: capability_matching
reinforcement_learning:
algorithm: dqn
learning_rate: 0.001
gamma: 0.99
epsilon: 1.0
๐ Documentation
Detailed documentation available in docs/:
- Architecture Guide: System design and components
- API Reference: Complete API documentation
- Best Practices: Guidelines for multi-agent systems
- Troubleshooting: Common issues and solutions
๐ฏ Key Concepts Implemented
1. Cooperative Distributed Problem Solving (CDPS)
- Decentralized control and data storage
- Efficient communication protocols
- Loose coupling between agents
2. Consensus Dynamics
- Weighted average consensus
- Majority vote mechanisms
- Convergence guarantees
3. Distributed Constraint Optimization (DCOP)
- Constraint satisfaction
- Resource allocation
- Optimization algorithms
4. Algorithmic Game Theory
- Mechanism design
- Equilibrium analysis
- Strategic behavior modeling
5. Multi-Agent Reinforcement Learning (MARL)
- Independent learners
- Centralized training, decentralized execution
- Cooperative and competitive scenarios
๐ License
This project is part of the System2_in_AI CA collection.
๐ Acknowledgments
- Research Papers: Based on latest MAS research
- Frameworks: LangChain, Ray RLlib, PettingZoo
- Community: Open-source multi-agent systems community
Built with โค๏ธ for advanced multi-agent systems research and applications
- Total size
- 835 MB
- Files
- 10,492
- Last updated
- Jun 17
- Pre-warmed CDN
- US EU US EU