Releases: yasserfarouk/scml
Supporting NegMAS 0.10.0
- Upgrading to be compatible with NegMAS 0.10.0
- Adding step_with() to oneshot allowing for single counter-offer set stepping of the simulation (to be used to expose the simulation as RL and MARL environments later).
- Adding current_negotiation_details to OneShotAWI to get details of running negotiation
- Adding managed sales, supplies, total_sales, total_supplies, needed_sales, and needed_supplies to the OneShotAWI
- Extending OneShotState returned from awi.state and awi.default_state_encoder(mechanism_states) to expose more information about the simulation
Bugfixes
This update has few bugfixes. Check the changelog for details.
All participants in SCML 2022 are required to upgrade to this release (which will automatically upgrade their negmas version to 0.9.3)
ANAC 2022 base release
This release is the base for ANAC 2022 competition. Only bugfixes are allowed at this point.
One shot bugfix
This is a hot fix for the one shot track. The utility function was sometimes incorrectly using exogenous contract information from the previous step.
All participants in the one shot game should upgrade to this version
Bugfixes
This release contains mostly bug-fixes. Nevertheless, these bugs are important enough that all users are advised to upgrade to this version.
Minor bug fixes
v0.4.7 v0.4.7
Bug fixes and API Improvements
All Tracks
- Adding convenience methods to AWIs. closes #49
- Reducing production cost range
- Casting offers to ints explicitly to avoid bugs in agents offering fractional quantities/unit_prices
- [speedup] Avoiding saving negotiations online
Oneshot
- Avoiding ultimatum in oneshot (was disabled)
- Adding current-inventory to OneshotAWI which will always return zero for compatibility with the other tracks
- Adding public_* to summary.
- Correcting penalty scaling to use the trading price
Std/Collusion
- Adding satisficer agent. A simple example of a monolithic agent.
- Adding guarnteed_profit method of world generation
- Better handling of predictions in builtin
- Experimentally better decentralizing agent
- Increasing profit potential
Bugfixes and API improvements
The most important change is the addition of before_step()
callback to the system called at the beginning of every day to augment step()
which is called at the end of every day. The tutorials have been updated to show how to use this new callback.
Note that you do not need to implement before_step()
but it may be a good place to add any code that should be executed after the public information of the day (trading prices and exogenous contract summaries) are announced. For the one-shot track, self.ufun
will refer to the newly created ufun for the day in before_step()
which is another reason so use it.
Detailed changes
- [oneshot] refactoring using before_step in greedy
- [minor] formating update
- [bugfix] production costs were not increasing. closes #38
- [API] Adding before_step() to all agents.
- If a method called
before_step()
is defined for an agent, it will be
called once every simulated day before any other calls to the agent but
after all exogenous contracts and ufun parameters are fixed.
Note thatstep()
is called at the end not the beginning of the day.
- If a method called
- [oneshot] limiting exogenous quantities to n lines. This closes #37
- [oneshot] Aspiration negotiator gets more agreements
- [oneshot] allowing agents to skip their turn. Agents can skip their turn now by returning REJECT_OFFER, None
- [oneshot] GreedyOneShotAgent is more rational now
- [bugfix] avoiding an inconsistency in path names for logs
- [oneshot] improved builtin agents (aspiration)
- [tournament] avoiding a possible edge case that would have led to competitor agents appearing as non-competitors
- [tournament] Saving negotiatinos by default in the CLI and utils
- [std/coll] defaulting to narrower worlds
Description Matching Improvement
Default world generation parameters match the game description document more closely.
v0.4.3 Bugfixes and minor improvements
This release consists of bugfixes and minor improvements