Answer argument-acceptance queries with grounded reasoning and a graph convolutional network. AFGCN combines structural node features, residual graph convolutions and semantic-specific thresholds to approximate credulous and skeptical decision problems.
Research lineage: the AFGCN approach won four of six approximate-track categories at ICCMA 2021. See the official results and the research paper by Lars Malmqvist, Tangming Yuan and Peter Nightingale. The current smoke tests establish execution correctness, not a rerun of the competition.
Use Python 3.11 in an activated virtual environment, from the repository root. The pinned environment supports CPU execution on Linux and Windows.
python -m pip install -r requirements-cpu.txt pytest
python Solver/solver.py --filepath Solver/testaf1.txt --task DC-CO --argument 1
python -m pytest -q testsThe query prints YES: argument 1 is unattacked in the supplied framework. Tests also load a real supplied checkpoint and exercise the neural path, including a one-argument self-attacking graph.
On Linux or Git Bash, the adapter accepts the same query:
bash Solver/solver.sh -p DC-CO -f Solver/testaf1.txt -a 1 -fo i23Use --help, --formats or --problems to inspect the wrapper. Paths containing spaces are supported; failures return a nonzero exit code.
The solver accepts the ICCMA-style numeric format i23:
p af 3
# argument identifiers are 1, 2 and 3
1 2
2 3
Blank lines and full-line comments are ignored. Invalid headers, undeclared attacks and queries for nonexistent arguments produce actionable errors. TGF and APX are different formats and require conversion.
Supported tasks: DC-CO, DS-CO, DC-PR, DS-PR, DC-ST, DS-ST, DC-SST, DS-SST, DC-STG, DS-STG and DS-ID. These match thresholds.json; tasks needing neural inference have corresponding checkpoints.
flowchart LR
F[Validated framework and query] --> G[Grounded extension]
G -->|Already accepted| Y[YES]
G -->|Unresolved| X[Structural features and seeded padding]
X --> N[Four graph convolutions and classification head]
N --> T[Semantic-specific threshold]
T --> R[YES or NO]
Inference disables dropout and uses seed 42 for random feature padding; --seed changes that seed explicitly. Numerical reproducibility is scoped to the same software/runtime environment. Neural decisions remain approximations and are not proofs of acceptance.
| Path | Responsibility |
|---|---|
| Solver/solver.py | Model architecture, features and inference. |
| Solver/af_input.py | Dependency-free input parser. |
| Solver/thresholds.json | Per-task decision thresholds. |
| Training/train.py | Research training pipeline. |
| tests | Input, checkpoint, deterministic-inference and CLI regressions. |
The CPU manifest covers the solver. Training additionally uses the GEM HOPE embedding implementation, framework files and matching solution files. Review the loader and provide separate training/validation directories before running:
cd Training
python train.py --training_dir /path/to/training_data --validation_dir /path/to/validation_data --checkpoint_dir ./checkpoints --model_type AFGCNModelEpoch count and learning rate are configured in the training script. The solver smoke test does not recreate the historical training environment.
For a change, include a small reproducer and run the tests above. Report the task, framework, queried argument, seed and dependency versions. New performance claims should include dataset splits and run logs.
Cite the software and the linked research paper as appropriate. MIT license.
Related: AFGraphLib · ExplainableArgGCN · FastAFGCN.