And to make this easily demonstrable, I implemented the algorithm in Haskell, albeit I haven't yet been able to test it enough to make sure it properly works for all cases (in particular, the single test case that's in the repo currently only tests SymmetricExchanges).
https://codeberg.org/fogti/nwc-decomb

#matroid #matroids

nwc-decomb

Neil White conjecture instance decombinator.

Codeberg.org
Positroid Structure in ReLU Networks - Harrison Totty

'Deletion Robust Non-Monotone Submodular Maximization over Matroids', by Paul Dütting, Federico Fusco, Silvio Lattanzi, Ashkan Norouzi-Fard, Morteza Zadimoghaddam.

http://jmlr.org/papers/v26/23-1219.html

#matroid #matroids #algorithms

Deletion Robust Non-Monotone Submodular Maximization over Matroids

Great introductory article on #matroid s:

Neel, David L., and Nancy Ann Neudauer. 2009. “Matroids You Have Known.” Mathematics Magazine 82 (1): 26–41. https://doi.org/10.1080/0025570X.2009.11953589.

#Matroid s are a specific kind of sets that contain other sets, but for any set they contain, they also need to contain its subsets. For more look here:

https://en.wikipedia.org/wiki/Matroid

Looking oddly specific, they're in fact an interesting structure which pops out in the study of many combinatorial subjects like graph theory, and, as I just learned, #homology!

Matroid - Wikipedia

Watch "Pure Exploration of Multi-armed Bandit Under #Matroid Constraints" on YouTube - https://youtu.be/Ol8z1j2vs3Q
Pure Exploration of Multi-armed Bandit Under Matroid Constraints

YouTube
- algorithm does not need to know anything about the details of the matroid's definition, as long as it has access to #matroid through an independence oracle, a #subroutine for testing whether a set is independent.
#greedyalgorithm can be used to find a max-weight basis of #matroid, by starting from empty set and repeatedly adding one element at a time, at each step choosing a max-weight element among elements whose addition would preserve the independence of the augmented set
Oracle X is poly reducible r (=> equivalent e) to Y
if any call to { X} may be simulated by an algo A that accesses #matroid w/ {Y} ,takes p(t) in terms of n(matroid); #Turing reduction
e => \forall that proves non/existence of a A * for a matroid problem M w/ X also * for Y
Oracle X is poly reducible r (=> equivalent e) to Y
if any call to { X} may be simulated by an algo A that accesses #matroid w/ {Y} ,takes p(t) in terms of n(matroid); #Turing reduction
e => \forall that proves non/existence of a A * for a matroid problem M w/ X also * for Y