ArrowFlow: Hierarchical Machine Learning in the Space of Permutations
Organizations: Department of Artificial Intelligence Adana Science and Technology University, Adana, Turkey
Abstract
We introduce ArrowFlow, a machine learning architecture that operates entirely in the space of permutations. Its computational units are ranking filters, learned orderings that compare inputs via Spearman's footrule distance and update through permutation-matrix accumulation, a non-gradient rule rooted in displacement evidence. Layers compose hierarchically: each layer's output ranking becomes the next layer's input, enabling deep ordinal representation learning without any floating-point parameters in the core computation. We connect the architecture to Arrow's impossibility theorem, showing that violations of social-choice fairness axioms (context dependence, specialization, symmetry breaking) serve as inductive biases for nonlinearity, sparsity, and stability. Experiments span UCI tabular benchmarks, MNIST, gene expression cancer classification (TCGA), and preference data, all against GridSearchCV-tuned baselines. ArrowFlow beats all baselines on Iris (2.7% vs. 3.3%) and is competitive on most UCI datasets. A single parameter, polynomial degree, acts as a master switch: degree 1 yields noise robustness (8-28% less degradation), privacy preservation (+0.5pp cost), and missing-feature resilience; higher degrees trade these for improved clean accuracy. ArrowFlow is not designed to surpass gradient-based methods. It is an existence proof that competitive classification is possible in a fundamentally different computational paradigm, one that elevates ordinal structure to a first-class citizen, with natural alignment to integer-only and neuromorphic hardware.
Figures & tables
| Dataset | Feat | Cls | ArrowFlow Config | AF Err | RF | SVM | MLP | KNN | XGB | |
|---|---|---|---|---|---|---|---|---|---|---|
| Iris | 150 | 4 | 3 | [64,128] e=16 p=3 | 2.7 0.6 | 3.3 | 3.3 | 3.3 | 3.3 | 3.3 |
| Wine | 178 | 13 | 3 | [128] e=64 p=1 | 2.8 0.0 | 0.0 | 2.8 | 2.8 | 0.0 | 2.8 |
| Breast C. | 569 | 30 | 2 | [64,128] e=32 p=2 | 2.8 0.3 | 4.4 | 1.8 | 4.4 | 2.6 | 4.4 |
| Wine Q. | 1599 | 11 | 3 | [128] e=16 p=3 | 35.9 1.3 | 25.9 | 30.6 | 30.3 | 29.7 | 24.1 |
| Vehicle | 846 | 18 | 4 | [64] e=32 p=2 | 17.4 0.6 | 27.1 | 14.1 | 12.4 | 27.1 | 21.8 |
| Segment | 2310 | 19 | 7 | [128,256] e=32 p=2 | 5.2 0.3 | 2.8 | 3.2 | 3.7 | 4.1 | 2.6 |
| Dataset | kNN 1-view | kNN 7-view | ArrowFlow | Gain |
|---|---|---|---|---|
| Iris | 10.0% | 9.3% | 2.7% | 3.4 |
| Wine | 45.0% | 31.1% | 2.8% | 11.1 |
| Breast C. | 17.5% | 12.1% | 2.8% | 4.3 |
| Wine Qual. | 37.0% | 33.4% | 35.9% | 0.9 |
| Vehicle | 49.5% | 42.8% | 17.4% | 2.5 |
| Segment | 20.8% | 14.4% | 5.2% | 2.8 |
| Dataset | =64 | =128 | =256 | =512 |
|---|---|---|---|---|
| Iris (e=16) | 6.0 | 6.0 | 7.3 | — |
| Wine (e=32) | 4.4 | 3.3 | 4.4 | — |
| Breast C. (e=32) | 4.4 | 3.7 | 3.7 | — |
| Segment (e=32) | 7.1 | 7.1 | 6.8 | — |
| Digits (e=32) | 14.4 | 13.8 | 11.7 | 12.9 |
| Dataset | =1 [128] | =2 [64,128] | =2 [128,256] |
|---|---|---|---|
| Iris | 6.0 | 2.7 | 4.0 |
| Wine | 3.3 | 6.1 | 4.4 |
| Breast C. | 3.7 | 2.8 | 3.5 |
| Segment | 7.1 | 6.2 | 5.2 |
| Digits | 13.8 | 15.9 | 12.8 |
| Dataset | =8 | =16 | =32 | =64 |
|---|---|---|---|---|
| Iris | 8.0 | 6.0 | 6.7 | — |
| Wine | — | 6.7 | 3.3 | 2.8 |
| Breast C. | — | 3.9 | 3.7 | 5.4 |
| Digits | — | 16.3 | 13.8 | 5.8 |
| Dataset | =3 | =5 | =7 | =11 |
|---|---|---|---|---|
| Iris | 6.0 | 6.0 | 6.0 | 5.3 |
| Segment | 9.9 | — | 7.1 | 7.0 |
| Digits | 18.7 | — | 13.8 | 9.9 |
| Dataset | lr=0.01 | lr=0.05 | lr=0.1 | lr=0.2 |
|---|---|---|---|---|
| Iris [64,128] | — | 4.7 | 2.7 | 4.0 |
| Wine [128] | — | 3.3 | 3.3 | 3.3 |
| Vehicle [128] | — | 18.8 | 18.2 | 37.1 |
| Digits [128] e=64 | 11.7 | 6.2 | 5.8 | 4.6 |
| Dataset | llu=True | llu=False | Change |
|---|---|---|---|
| Iris | 6.0% | 4.0% | 33% |
| Wine | 3.3% | 3.3% | 0% |
| Breast C. | 3.7% | 3.5% | 5% |
| Wine Qual. | 39.2% | 37.0% | 6% |
| Vehicle | 18.2% | 18.2% | 0% |
| Segment | 7.1% | 6.6% | 7% |
| Dataset | Sort-Only Best | Hybrid llu=F | Degradation |
|---|---|---|---|
| Iris | 2.7% | 11.3% | 4 |
| Wine | 2.8% | 30.6% | 11 |
| Breast C. | 2.8% | 14.6% | 5 |
| Wine Qual. | 35.9% | 50.0% | 1.4 |
| Vehicle | 17.4% | 51.2% | 3 |
| Segment | 5.2% | 34.2% | 7 |
| Component | Iris | Wine | Breast C. | Digits |
|---|---|---|---|---|
| Baseline (single net) | 21.3 | 13.3 | 6.8 | 17.8 |
| + Polynomial expansion | 14.7 | 8.3 | 5.2 | 17.8 |
| + Multi-view ensemble (7v) | 7.3 | 5.6 | 4.0 | 5.4 |
| + Diverse projection cycling | 7.3 | 5.6 | 3.3 | 5.4 |
| + Per-dataset tuning | 2.7 | 2.8 | 2.8 | 4.6 |
| Method | =0 | =0.1 | =0.25 | =0.5 | =1.0 | =2.0 |
|---|---|---|---|---|---|---|
| ArrowFlow | 4.6 | 5.0 | 5.7 | 7.8 | 13.9 | 29.1 |
| SVM-RBF | 2.8 | 2.8 | 5.6 | 6.7 | 29.4 | 59.4 |
| RF | 0.0 | 0.0 | 1.7 | 7.2 | 10.6 | 31.1 |
| MLP | 2.8 | 2.8 | 3.3 | 6.1 | 10.6 | 25.6 |
| XGBoost | 2.8 | 2.8 | 6.7 | 12.2 | 18.3 | 36.7 |
| KNN | 0.0 | 0.6 | 1.7 | 5.6 | 10.6 | 25.0 |
| Method | =0 | =0.1 | =0.25 | =0.5 | =1.0 | =2.0 |
|---|---|---|---|---|---|---|
| ArrowFlow | 4.8 | 4.4 | 5.8 | 10.0 | 25.8 | 54.6 |
| SVM-RBF | 1.7 | 1.7 | 1.9 | 3.9 | 17.2 | 87.3 |
| RF | 2.8 | 2.7 | 3.3 | 6.6 | 18.0 | 49.7 |
| MLP | 1.9 | 2.3 | 2.3 | 5.2 | 14.6 | 46.8 |
| XGBoost | 4.2 | 4.7 | 7.2 | 12.9 | 30.5 | 58.4 |
| KNN | 2.2 | 2.1 | 2.4 | 3.9 | 10.9 | 41.0 |
| Dataset | pol_deg | AF | SVM | RF | MLP | XGB | KNN | Avg BL |
|---|---|---|---|---|---|---|---|---|
| Wine | 1 | 24.5 | 56.6 | 31.1 | 22.8 | 33.9 | 25.0 | 33.9 |
| Digits | 1 | 49.8 | 85.6 | 46.9 | 44.9 | 54.2 | 38.8 | 54.1 |
| Iris | 3 | 46.7 | 48.7 | 47.4 | 48.7 | 47.4 | 43.4 | 47.1 |
| Breast C. | 2 | 20.0 | 18.9 | 18.8 | 18.8 | 26.5 | 16.5 | 19.9 |
| Vehicle | 2 | 49.1 | 58.7 | 38.6 | 52.2 | 42.8 | 29.6 | 44.4 |
| Segment | 2 | 74.1 | 55.4 | 61.1 | 59.7 | 63.6 | 50.6 | 58.1 |
| Dataset | Method | Raw | Ranked | |
|---|---|---|---|---|
| Iris | ArrowFlow | 4.4 | 2.2 | 2.2 |
| RF | 3.3 | 3.3 | +0.0 | |
| SVM-RBF | 3.3 | 3.3 | +0.0 | |
| KNN | 3.3 | 6.7 | +3.3 | |
| Segment | ArrowFlow | 4.8 | 5.3 | +0.4 |
| SVM-RBF | 3.2 | 3.0 | 0.2 |
| Method | =0% | =10% | =30% | =50% |
|---|---|---|---|---|
| ArrowFlow | 4.4 | 11.8 | 16.0 | 24.7 |
| RF | 3.3 | 9.3 | 10.0 | 29.3 |
| SVM-RBF | 3.3 | 10.7 | 15.3 | 36.0 |
| MLP | 3.3 | 15.3 | 20.7 | 33.3 |
| KNN | 3.3 | 10.7 | 14.0 | 37.3 |
| XGBoost | 3.3 | 15.3 | 14.7 | 34.7 |
| Method | =0% | =10% | =30% | =50% |
|---|---|---|---|---|
| ArrowFlow | 4.8 | 6.5 | 13.1 | 23.7 |
| SVM-RBF | 1.7 | 2.3 | 7.3 | 25.0 |
| RF | 2.8 | 4.2 | 12.2 | 34.7 |
| MLP | 1.9 | 3.3 | 6.3 | 13.4 |
| KNN | 2.2 | 2.7 | 5.8 | 16.6 |
| XGBoost | 4.2 | 7.8 | 19.4 | 38.9 |
| Dataset | Feat | AF | RF | SVM | MLP | XGB | Avg BL |
|---|---|---|---|---|---|---|---|
| Iris | 4 | 20.3 | 26.0 | 32.7 | 30.0 | 31.4 | 30.8 |
| Wine | 13 | 6.5 | 7.2 | 8.9 | 9.4 | 7.2 | 8.8 |
| Breast C. | 30 | 3.8 | 1.6 | 3.3 | 1.4 | 5.3 | 2.6 |
| Vehicle | 18 | 42.2 | 27.0 | 36.8 | 35.7 | 27.5 | 29.4 |
| Segment | 19 | 46.5 | 37.6 | 45.9 | 36.7 | 36.8 | 38.1 |
| Digits | 64 | 18.9 | 31.9 | 23.3 | 11.5 | 34.7 | 23.2 |
| Method | =20 | =50 | =100 | =200 | =455 |
|---|---|---|---|---|---|
| ArrowFlow | 8.8 | 7.3 | 4.7 | 3.5 | 2.9 |
| SVM-RBF | 6.1 | 7.9 | 3.5 | 3.5 | 1.8 |
| RF | 7.0 | 8.8 | 8.8 | 8.8 | 4.4 |
| MLP | 9.7 | 7.0 | 2.6 | 7.9 | 4.4 |
| XGBoost | 7.9 | 7.0 | 7.9 | 11.4 | 4.4 |
| KNN | 7.9 | 6.1 | 5.3 | 6.1 | 1.8 |
| Method | =20 | =50 | =100 | =200 | =1437 |
|---|---|---|---|---|---|
| ArrowFlow | 58.1 | 26.1 | 17.4 | 14.7 | 4.8 |
| SVM-RBF | 27.2 | 21.9 | 13.6 | 10.6 | 1.7 |
| RF | 29.2 | 26.7 | 13.3 | 10.6 | 3.6 |
| MLP | 31.1 | 25.0 | 13.9 | 15.0 | 2.5 |
| XGBoost | 62.8 | 56.1 | 28.9 | 19.2 | 3.6 |
| KNN | 26.9 | 22.5 | 14.4 | 14.4 | 3.3 |
| Method | Encoding | Error |
|---|---|---|
| Random Forest | numeric | 35.2% |
| SVM-RBF | numeric | 35.3% |
| XGBoost | numeric | 35.9% |
| KNN | numeric | 37.6% |
| ArrowFlow (native) | native | 38.6 0.4% |
| MLP | numeric | 38.7% |
| Method | Encoding | 10 genes | 15 genes | 20 genes |
|---|---|---|---|---|
| RF | raw | 1.2 | 0.6 | 0.6 |
| SVM-RBF | raw | 1.9 | 0.6 | 0.0 |
| MLP | raw | 2.5 | 1.2 | 0.0 |
| KNN | raw | 1.9 | 1.2 | 0.0 |
| XGBoost | raw | 1.2 | 1.2 | 2.5 |
| RF | ranked | 3.7 | 1.9 | 0.0 |
| Transform | SVM (raw) | RF (raw) | SVM (ranked) | AF native |
|---|---|---|---|---|
| None | 0.6 | 0.6 | 2.5 | 2.5 |
| 82.6 | 45.3 | 2.5 | 2.5 | |
| 82.6 | 45.3 | 2.5 | 2.5 | |
| (signed) | 82.6 | 20.5 | 2.5 | 2.5 |
| global | 82.6 | 62.7 | 2.5 | 2.5 |
| global | 82.6 | 55.9 | 2.5 | 2.5 |
| SVM (raw) | RF (raw) | SVM (ranked) | RF (ranked) | AF native | |
|---|---|---|---|---|---|
| 0.0 (clean) | 0.6 | 0.6 | 2.5 | 1.2 | 2.5 |
| 0.3 (mild) | 0.0 | 1.2 | 1.2 | 1.2 | 2.9 |
| 0.5 (moderate) | 16.8 | 9.3 | 0.6 | 1.9 | 2.5 |
| 0.7 (cross-pl.) | 59.0 | 7.5 | 9.3 | 8.1 | 10.3 |
| 1.0 (severe) | 71.4 | 16.8 | 9.3 | 20.5 | 12.7 |
| 1.5 (extreme) | 82.6 | 51.5 | 43.5 | 34.2 | 60.8 |
| PCA | Method | |||
|---|---|---|---|---|
| 16 | Best baseline (SVM/MLP) | 11.2 | 6.9 | 6.0 |
| ArrowFlow best | 15.9 0.3 | 12.2 0.2 | 9.8 0.1 | |
| Gap | 4.7pp | 5.3pp | 3.8pp | |
| 32 | Best baseline (MLP/SVM) | 10.5 | 5.7 | 4.6 |
| ArrowFlow best | 15.6 0.2 | 11.4 0.0 | 9.3 0.1 | |
| Gap | 5.1pp | 5.7pp | 4.7pp |
| Architecture | Views | Error (%) | Params (filters) |
|---|---|---|---|
| [128] 2L | 1 | 18.7 0.4 | 128 |
| [128] 2L | 7 | 13.3 0.1 | |
| [256] 2L | 7 | 12.5 0.1 | |
| [512] 2L | 7 | 12.6 0.1 | |
| [256,128] 3L | 7 | 11.0 0.1 | |
| [512,64] 3L | 7 | 10.2 0.1 |
| Property | pol_deg=1 | pol_deg 1 |
|---|---|---|
| Clean accuracy | (magnitude lost) | (3 on low-dim) |
| Noise robustness | (8–28% less degrad.) | (noise amplified) |
| Rank-only (rank transform) | ( 0.5pp cost) | (up to 7pp cost) |
| Missing features | (beats BL on Iris) | (poly amplifies zeros) |
| Batch-effect invariance | (perfect, monotone) | (poly breaks ranks) |
| Sample efficiency | (richer features) |
| Operation | Energy (pJ) | Used by |
| 8-bit integer ADD | 0.03 | ArrowFlow |
| 32-bit integer ADD/CMP | 0.1 | ArrowFlow |
| 32-bit integer MUL | 3.1 | — |
| 32-bit FP ADD | 0.9 | MLP |
| 32-bit FP MUL | 3.7 | MLP |
| 32-bit FP MAC | 4.6 | MLP |
| Operations | Energy (pJ) | Op type | |
| ArrowFlow sort layer | |||
| Displacement (3NV) | 24,576 | 2,458 | INT32 @ 0.1 pJ |
| Argsort ( ) | 896 | 90 | INT32 @ 0.1 pJ |
| Total | 25,472 | 2,547 | |
| MLP layer | |||
| Matrix multiply ( MACs) | 8,192 | 37,683 | FP32 @ 4.6 pJ |
| Component | ArrowFlow (pJ) | MLP (pJ) |
|---|---|---|
| Hidden, dist.+sort ( 7) | ||
| Output, dist.+ ( 7) | ||
| Majority vote | 70 | — |
| Total arithmetic | 41,293 | 43,571 |
| Ratio | in favor of ArrowFlow | |
Representation Learning
Representation learning develops data transformations that expose useful structure for prediction, transfer, generation, and control.
See all 799 papers