Class DefaultCoalition
java.lang.Object
com.tnsai.coordination.groups.DefaultAgentGroup
com.tnsai.coordination.groups.coalition.DefaultCoalition
- All Implemented Interfaces:
com.tnsai.agents.groups.AgentGroup,Coalition
Default implementation of Coalition.
Provides goal-oriented temporary alliance with:
- Multiple formation strategies
- Negotiation protocol
- Contribution tracking
- Configurable reward distribution
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.tnsai.coordination.groups.coalition.Coalition
Coalition.NegotiationStatus, Coalition.RewardRecord -
Constructor Summary
ConstructorsConstructorDescriptionDefaultCoalition(String id, String name, String description, String goal, CoalitionFormation formation, RewardDistribution rewardDistribution, double coalitionValue, com.tnsai.agents.groups.GroupPolicy policy) Creates a new DefaultCoalition. -
Method Summary
Modifier and TypeMethodDescriptionachieve()Attempts to achieve the coalition goal.Achieves with additional context.Async goal achievement.voiddissolveCoalition(boolean goalAchieved) Dissolves the coalition (with or without goal achieved).distributeRewards(double totalValue) Calculates and distributes rewards to members.Gets all member contributions.doubleGets the current coalition value (total reward pool).Gets list of committed members.doublegetContribution(String agentId) Gets an agent's contribution score.Gets list of members who declined.doublegetEstimatedReward(String agentId) Gets estimated reward for an agent.Gets the formation strategy.getGoal()Gets the coalition goal.Gets negotiation status.Gets the reward distribution strategy.Gets reward history.booleanhasCommitted(String agentId) Checks if an agent has committed.booleanChecks if coalition has dissolved.booleanChecks if goal has been achieved.booleanInitiates coalition negotiation.Async negotiation.voidrecordContribution(String agentId, double contribution) Records a contribution from an agent.voidsetCoalitionValue(double value) Sets the coalition value.toString()Methods inherited from class com.tnsai.coordination.groups.DefaultAgentGroup
addLifecycleListener, addMember, addMembershipListener, assignTask, broadcast, dissolve, electLeader, electLeader, findMembers, getDescription, getEventBus, getId, getLeader, getLifecycle, getMember, getMembers, getMembershipManager, getMetrics, getName, getPolicy, hasMember, notifyTaskComplete, notifyTaskFailed, removeLifecycleListener, removeMember, removeMembershipListener, scatter, scatter, scatterAsync, setPolicy, start, stop, stopNowMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.tnsai.agents.groups.AgentGroup
addLifecycleListener, addMember, addMembershipListener, assignTask, broadcast, broadcast, dissolve, electLeader, electLeader, findMembers, getDescription, getEventBus, getId, getLeader, getLifecycle, getMember, getMemberCount, getMembers, getMembershipManager, getMetrics, getName, getPolicy, hasMember, isActive, removeLifecycleListener, removeMember, removeMembershipListener, scatter, scatter, scatterAsync, setPolicy, start, stop, stopNow
-
Constructor Details
-
DefaultCoalition
public DefaultCoalition(String id, String name, String description, String goal, CoalitionFormation formation, RewardDistribution rewardDistribution, double coalitionValue, com.tnsai.agents.groups.GroupPolicy policy) Creates a new DefaultCoalition.- Parameters:
id- coalition IDname- coalition namedescription- descriptiongoal- coalition goalformation- formation strategyrewardDistribution- reward distributioncoalitionValue- initial valuepolicy- group policy
-
-
Method Details
-
getGoal
Description copied from interface:CoalitionGets the coalition goal. -
getFormation
Description copied from interface:CoalitionGets the formation strategy.- Specified by:
getFormationin interfaceCoalition- Returns:
- formation strategy
-
getRewardDistribution
Description copied from interface:CoalitionGets the reward distribution strategy.- Specified by:
getRewardDistributionin interfaceCoalition- Returns:
- reward distribution
-
getCoalitionValue
public double getCoalitionValue()Description copied from interface:CoalitionGets the current coalition value (total reward pool).- Specified by:
getCoalitionValuein interfaceCoalition- Returns:
- coalition value
-
setCoalitionValue
public void setCoalitionValue(double value) Description copied from interface:CoalitionSets the coalition value.- Specified by:
setCoalitionValuein interfaceCoalition- Parameters:
value- new value
-
getContribution
Description copied from interface:CoalitionGets an agent's contribution score.- Specified by:
getContributionin interfaceCoalition- Parameters:
agentId- agent ID- Returns:
- contribution score (0.0 to 1.0)
-
recordContribution
Description copied from interface:CoalitionRecords a contribution from an agent.- Specified by:
recordContributionin interfaceCoalition- Parameters:
agentId- agent IDcontribution- contribution amount
-
getAllContributions
Description copied from interface:CoalitionGets all member contributions.- Specified by:
getAllContributionsin interfaceCoalition- Returns:
- map of agent IDs to contributions
-
getEstimatedReward
Description copied from interface:CoalitionGets estimated reward for an agent.- Specified by:
getEstimatedRewardin interfaceCoalition- Parameters:
agentId- agent ID- Returns:
- estimated reward
-
negotiate
public boolean negotiate()Description copied from interface:CoalitionInitiates coalition negotiation.During negotiation:
- Potential members evaluate the goal
- Members commit or decline participation
- Coalition forms if minimum threshold met
-
negotiateAsync
Description copied from interface:CoalitionAsync negotiation.- Specified by:
negotiateAsyncin interfaceCoalition- Returns:
- future with formation result
-
getNegotiationStatus
Description copied from interface:CoalitionGets negotiation status.- Specified by:
getNegotiationStatusin interfaceCoalition- Returns:
- negotiation status
-
getCommittedMembers
Description copied from interface:CoalitionGets list of committed members.- Specified by:
getCommittedMembersin interfaceCoalition- Returns:
- committed member IDs
-
getDeclinedMembers
Description copied from interface:CoalitionGets list of members who declined.- Specified by:
getDeclinedMembersin interfaceCoalition- Returns:
- declined member IDs
-
hasCommitted
Description copied from interface:CoalitionChecks if an agent has committed.- Specified by:
hasCommittedin interfaceCoalition- Parameters:
agentId- agent ID- Returns:
- true if committed
-
achieve
Description copied from interface:CoalitionAttempts to achieve the coalition goal. -
achieve
Description copied from interface:CoalitionAchieves with additional context. -
achieveAsync
Description copied from interface:CoalitionAsync goal achievement.- Specified by:
achieveAsyncin interfaceCoalition- Returns:
- future result
-
isGoalAchieved
public boolean isGoalAchieved()Description copied from interface:CoalitionChecks if goal has been achieved.- Specified by:
isGoalAchievedin interfaceCoalition- Returns:
- true if achieved
-
distributeRewards
Description copied from interface:CoalitionCalculates and distributes rewards to members.- Specified by:
distributeRewardsin interfaceCoalition- Parameters:
totalValue- total value to distribute- Returns:
- map of agent IDs to rewards
-
getRewardHistory
Description copied from interface:CoalitionGets reward history.- Specified by:
getRewardHistoryin interfaceCoalition- Returns:
- list of reward distributions
-
dissolveCoalition
public void dissolveCoalition(boolean goalAchieved) Description copied from interface:CoalitionDissolves the coalition (with or without goal achieved).- Specified by:
dissolveCoalitionin interfaceCoalition- Parameters:
goalAchieved- whether goal was achieved
-
isDissolved
public boolean isDissolved()Description copied from interface:CoalitionChecks if coalition has dissolved.- Specified by:
isDissolvedin interfacecom.tnsai.agents.groups.AgentGroup- Specified by:
isDissolvedin interfaceCoalition- Returns:
- true if dissolved
-
toString
- Overrides:
toStringin classDefaultAgentGroup
-