How s-nitya/perishable-goods-paper works
This repository contains several generations of an LLM-based perishable-goods pricing simulator. The documented benchmark workflow is a runner pairing catalog items and private buyer states, executing each item encounter through a market environment under either hierarchical seller reasoning or LinearDecay, then summarizing outcomes and token use. The graph emphasizes the revised benchmark and preserves the earlier simulator implementations. Internal orchestration details for the revised MAS are based on the README; unsampled source limits finer call-flow claims.
Main entry points: runner.py Benchmark runner · kanishka_revised_mas/environment.py Negotiation and expiry · mas_agents.py Hierarchical seller MAS · final_architecture/environment.py Final environment
Components 26
Revised benchmark
- Benchmark runner
kanishka_revised_mas/runner.py - Product catalog
kanishka_revised_mas/catalog.py - Private-state buyer
kanishka_revised_mas/buyer.py - Negotiation and expiry
kanishka_revised_mas/environment.py - Trial metrics
kanishka_revised_mas/runner.py
Seller policies
- Hierarchical seller MAS
kanishka_revised_mas/mas_agents.py - Strategic pricing debate
kanishka_revised_mas/mas_agents.py - Tactical negotiation
kanishka_revised_mas/mas_agents.py - LinearDecay policy
kanishka_revised_mas/linear_decay.py
Earlier simulators
- Final environment
final_architecture/environment.py - Final agent set
final_architecture/agents.py - Final baselines
final_architecture/baselines.py - Final LLM client
final_architecture/llm_client.py - Hive benchmark entry
kanishka_src/main.py - Hive environment
kanishka_src/environment.py - Hive agents
kanishka_src/agents.py - Hive results visualizer
kanishka_src/visualizer.py - Hive LLM client
kanishka_src/llm_client.py - Alternate benchmark entry
src/main.py - Alternate environment
src/environment.py - Alternate agents
src/agents.py - Alternate visualizer
src/visualizer.py - Alternate LLM client
src/llm_client.py
Model services
- Tracked LLM client
kanishka_revised_mas/llm_client.py - LLM API providers
Other components
- Benchmark operator
Connections 23
- Benchmark operator → Benchmark runner: starts
- Benchmark runner → Product catalog: loads
kanishka_revised_mas/runner.py - Benchmark runner → Negotiation and expiry: runs encounters
kanishka_revised_mas/runner.py - Benchmark runner → Private-state buyer: uses buyer states
kanishka_revised_mas/runner.py - Negotiation and expiry → Private-state buyer: requests decisions
kanishka_revised_mas/environment.py - Negotiation and expiry → Hierarchical seller MAS: invokes seller
kanishka_revised_mas/environment.py - Negotiation and expiry → LinearDecay policy: evaluates offers
kanishka_revised_mas/environment.py - Benchmark runner → Trial metrics: summarizes trials
kanishka_revised_mas/runner.py - Hierarchical seller MAS → Strategic pricing debate: formulates policy
kanishka_revised_mas/mas_agents.py - Hierarchical seller MAS → Tactical negotiation: coordinates negotiation
kanishka_revised_mas/mas_agents.py - Benchmark runner → Tracked LLM client: creates client
kanishka_revised_mas/runner.py - Tracked LLM client → LLM API providers: sends API requests
kanishka_revised_mas/llm_client.py - Final environment → Final agent set: uses agents
final_architecture/environment.py - Final environment → Final baselines: uses baseline
final_architecture/environment.py - Final agent set → Final LLM client: calls client
final_architecture/agents.py - Hive benchmark entry → Hive environment: runs simulation
kanishka_src/main.py - Hive environment → Hive agents: uses agents
kanishka_src/environment.py - Hive agents → Hive LLM client: calls client
kanishka_src/agents.py - Hive benchmark entry → Hive results visualizer: displays results
kanishka_src/main.py - Alternate benchmark entry → Alternate environment: runs simulation
src/main.py - Alternate environment → Alternate agents: uses agents
src/environment.py - Alternate agents → Alternate LLM client: calls client
src/agents.py - Alternate benchmark entry → Alternate visualizer: displays results
src/main.py