Skip to main content

Crate argumentation_weighted

Crate argumentation_weighted 

Source
Expand description

§argumentation-weighted

Weighted argumentation frameworks (Dunne, Hunter, McBurney, Parsons & Wooldridge 2011) built on top of the argumentation crate’s Dung semantics.

A weighted framework attaches an f64 weight to each attack edge. Under the inconsistency-budget semantics of Dunne et al., a budget β permits attacks whose cumulative weight is at most β to be tolerated for the purposes of computing Dung extensions. The budget acts as a single knob: β = 0 runs standard Dung semantics over every attack; increasing β progressively tolerates more attacks and accepts more arguments.

§Quick example

use argumentation_weighted::framework::WeightedFramework;
use argumentation_weighted::sweep::min_budget_for_credulous;

let mut wf = WeightedFramework::new();
wf.add_weighted_attack("attacker", "target", 0.6).unwrap();

// At what budget does `target` become accepted?
let min = min_budget_for_credulous(&wf, &"target").unwrap();
assert_eq!(min, Some(0.6));

§Semantics

Implements the inconsistency-budget semantics of Dunne et al. 2011 via exact subset enumeration: a budget β permits any subset S of attacks whose cumulative weight is at most β to be tolerated, and an argument is accepted at β iff it is accepted in the Dung sense on some (credulous) or all (skeptical) of the resulting residual frameworks. Enumeration is O(2^m) in the number of attacks m; see reduce::ATTACK_ENUMERATION_LIMIT for the guard.

§References

  • Dunne, P. E., Hunter, A., McBurney, P., Parsons, S., & Wooldridge, M. (2011). Weighted argument systems: Basic definitions, algorithms, and complexity results. Artificial Intelligence 175(2).
  • Bistarelli, S., Rossi, F., & Santini, F. (2018). A collective defence against grouped attacks for weighted abstract argumentation frameworks. IJAR 92.
  • Coste-Marquis, S. et al. (2012). Weighted attacks in argumentation frameworks. KR 2012.

Re-exports§

pub use error::Error;
pub use framework::WeightedFramework;
pub use reduce::ATTACK_ENUMERATION_LIMIT;
pub use reduce::dunne_residuals;
pub use semantics::complete_at_budget;
pub use semantics::grounded_at_budget;
pub use semantics::is_credulously_accepted_at;
pub use semantics::is_skeptically_accepted_at;
pub use semantics::preferred_at_budget;
pub use semantics::stable_at_budget;
pub use sweep::AcceptanceMode;
pub use sweep::SweepPoint;
pub use sweep::acceptance_trajectory;
pub use sweep::flip_points;
pub use sweep::min_budget_for_credulous;
pub use types::AttackWeight;
pub use types::Budget;
pub use types::WeightedAttack;
pub use weight_source::ClosureWeightSource;
pub use weight_source::WeightSource;
pub use weight_source::populate_from_source;

Modules§

error
Crate error types.
framework
WeightedFramework<A>: arguments and weighted attack edges.
reduce
Dunne 2011 β-inconsistent residual enumeration.
semantics
β-acceptance under Dunne 2011 inconsistency-budget semantics.
sweep
Threshold-sweep API: compute acceptance trajectories for one argument across the full budget range.
types
Foundational types for weighted argumentation.
weight_source
WeightSource trait for computing attack weights from external state (relationship metadata, personality traits, etc.).