-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Assumption tilings #353
Draft
enadeau
wants to merge
48
commits into
develop
Choose a base branch
from
assumption-tilings
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Assumption tilings #353
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* fix test that use expand_verified * Make the forward tiling map a class * add documentation * add a map_row and map_column method * update row map * fixing stuff I'm not sure I understand * remove dead stuff * good way to get preimage for grinding counter * Revert "fixing stuff I'm not sure I understand" This reverts commit 5688454. * remove some sum/skew import that no longer make sense * add remove requirements on tiling * fix a sort assumption not existing function * fix assumption map update * New tiling init map (#350) * Make the forward tiling map a class * add documentation * add a map_row and map_column method * remove print * cleaning after discussion with Christian * import sorting
* make is_identity param optional in map * add compose function for map * add __eq__ to map * make map hashable * make the tracking assumption use the cell map * move map outside of algo * adding test for non-crossing map Also using it in the init check of tracking assumption * improve map string * fix map is_identity
* fix some test for new assumption * shell of new ParameterCounter and PreimageCounter * making Tiling class work with the new param counter * probably fixed the html display * some doc and cleaning to preimage counter and param counter * fix tiling test to use new param counter * map can compute the preimage * add tilings contain method * implement preimage method on PreimageCounter * bunch of dunder method for PreimageCounter * clear assumption file * assumptions -> parameters in the main file * fix factor algorithm * fix row col algo * fix req placement * fix tilings tests * fix enumeration algorithm * fix counter * fix tilescope * ignore all broken file for mypy * fix guess obstruction test * fix algorithm test * xfail all broken test * fix some flake8 * ignore some flake8 error * fix small typo
* test for obs and req insertion on tiling with preimage * fix bug with req insertion on preimage
* typing rcs algo * introducing the cell map class * use the CellMap class in row col sep algorithm * add map_tiling method * allow crossing map for preimage counter * map preimage counter * make param counter iterable * implement map parameters * map inverse method and to_row_col_map - reverse -> inverse - implement inverse for cell map - implement conversion to row_col_map for CellMap * simplify projection computation * move param mapping stuff to the map class * fix the strategy * small cleaning * filter contradictory ob when mapping tiling * non map point obs when mapping tiling * cleaner map tiling method * Only mapping requirements that make sense
* update row col map test with new param * infer empty row and col on preimage based on underlying * map parameter properly * activate row col strategy test
* deleting comp fusion, and hopefully tests now "work" * remove DS_Store file Co-authored-by: Émile Nadeau <nadeau.emile@gmail.com>
* updated pp to use multiplex and rowcolmap * update forced obs/reqs to use multiplex map * update mapped assumption to use parameters * add a domain method to CellMap and RowColMap * handling special case of the empty perm tiling * fix map parameters to apply childs forward map * adding a couple tests * no need to redefine domain on row col map now * add multiplex map test, only init once while placing * enabling test for pp strategy * assumption -> parameter in a couple of places * add a multiplex map class * use already_minimized_obs for point placements * fix tests to not stretch obs into already empty cells in line with updated multiplex map * smarter pre-image gp that only create good gp * fix mypy and pylint * include forced ob when placing point Co-authored-by: Émile Nadeau <nadeau.emile@gmail.com>
* add map repr * fix parameter counter repr * fix extra_parameter with include empty * handle extra_param when include empty is emtpy * sort the param when adding parameters * avoid duplicate parameter on tiling * fix sanity_check test to use new assumptions * reactivate sanity check test * reactivating a bunch of test that are actually passing
* using initialiser only once for preimages * refactored with smaller method * remove todo Co-authored-by: Émile Nadeau <nadeau.emile@gmail.com>
* assumption -> parameter in req insertion * assumption -> parameter in inferral * remove magic VScode import * activate requirement insertion sanity check * activate inferral strategies test * should be applying row col map * add back inferral fixture Co-authored-by: Émile Nadeau <nadeau.emile@gmail.com>
* remove duplicated method * fix the initializer * remove prints
* added a restricted_by and map_gps method to maps * added active region to preimages and parameters, and updated factor code * convert factoring sanity check * activate factor strategy tests * closer to right, but still wrong - needs more thinking. * reducible factorization is broken with params * get rid of sub_tiling method * map param properly * activate mypy and interleaving not supported * restricted_by -> restriction Co-authored-by: Émile Nadeau <nadeau.emile@gmail.com>
* overwriting/deleting old fusion * fix factor bug * outline for fusing preimages * general fusion now just a test file to be removed later * add a first crack at a fusable method * add the remove identity preimage strategy * _row_map -> row_map * mypy for fusion * Revert "mypy for fusion" This reverts commit cda5218. * fix argument name to match parent class * remove empty preimages from parameter counter Co-authored-by: Émile Nadeau <nadeau.emile@gmail.com>
* fix map_preimage_counter * careful when copy pasting!!! * one less local variable
* Implementing the strategies to do req insertion on preimages * using disjoint union strategies on parameters * adding parameter strategies to tracked packs, added a verification stra for params * fix a bug in mapping the sub param to the right factor * restrict the fusion to something reasonable * ignore_parent for disjoint strategy on param * fix mypy and friends * better str for param strategy * ignore parent on remove identity preimage * simplify and fix the json * on/off tests Co-authored-by: Christian Bean <christianbean@ru.is>
* some counting fixes * remove identity preimage counting * ensure preimages map to unique child in factor * fix remove_parameters typing * fusion account for requirements * fix a bug in fusion counting * RemoveParamReq factory and add identity constructor * add remove req factory to strategy packs * row -> col * fixing sort for preimage counters * counting av1234 by making fused preimage appear at most once in a parameter * remove test- it was false :) * fix parameter disjoint strategy * jays alt fusion, left/right param determined only by preimage of maps * row -> col * Revert "row -> col" This reverts commit 97e3695. * Revert "jays alt fusion, left/right param determined only by preimage of maps" This reverts commit fcf3b20. * mypy and pylint * json method for remove req factory * add some typing * some typing * test for fusion strat * limit fusion to normal fusion * clean test_assumption so we can reactivate it * reactivate some tests * remove unused imports * skip a test instead of xfailing * remove comented code * apply child forward map in extra parameters of fusion Co-authored-by: Christian Bean <christianbean@ru.is>
* not account for extra when deciding side of param * some test for the new fusion * jays alt fusion, left/right param determined only by preimage of maps * row -> col * clean jay fusion criteria * sort import * pylint Co-authored-by: Christian Bean <christianbean@ru.is>
* handle positive fusion with new param * prevent fusion when out of bound * isort
* Change the remove req factory Only return rules where there is one identity preimage to remove on the child. * test that we get hennings weird 123 tree * isort * add conditions needed to find component tree verification * Revert "add conditions needed to find component tree verification" This reverts commit 2b07fb8. * making the test more consistent * remove unused import Co-authored-by: Christian Bean <christianbean@ru.is>
When we compare the tiling with its unfused fused version we do not look at parameters
We now also try to remove requirement which maps to a requirement on the parent but are not the full preimage of the requirement
* fix the add parameter strategy * update init * assumption_insertion -> parameter_insertion * add mypy back in * fixing test import
* updating rearrange to work with parameters * update tests, and fix small issues * rearrange_assumption -> rearrange_parameter * forgot to add the changed file names!! * revert adding rowcolmap, param, preim to init due to circular import
* only try to map params if they dont become empty * add a test for the fixes
* only fuse if param in region is exactly fuse param * pylint fix
This reverts commit c151284.
* only verify things without parameters (except points) * adding tests for our successful trees (with xfail for now) * start tests * some more tests * having to specify packs to make universes smaller * skipping the domino :(
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Mega PR for tiling assumption