Add ordinal representation generator for closed Hamiltonian tours - #13647
Open
Naman-Vasudev wants to merge 2 commits into
Open
Add ordinal representation generator for closed Hamiltonian tours #13647Naman-Vasudev wants to merge 2 commits into
Naman-Vasudev wants to merge 2 commits into
Conversation
for more information, see https://pre-commit.ci
priya-sundaram-dev
left a comment
Contributor
There was a problem hiding this comment.
Thanks @Naman-Vasudev — the shrinking-reference ordinal encoding is correct and the doctests demonstrate it well.
Two small things:
reference.index(city)will raise a bareValueErrorif apathcity isn't innodes. Consider validatingset(path) == set(nodes)at the top with an explicit message, so the failure mode is clear.- The module docstring is a bit thinner than its sibling #13645 — adding a reference link and a note about the inverse operation (reconstructing the path from the ordinal vector) would round it out.
Nice pair of contributions.
This file contains hidden or 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
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.
Describe your change:
This pull request adds a new algorithm that converts a closed Hamiltonian
tour (path) into its ordinal representation based on a fixed reference
order of cities. Each position in the resulting list represents the
1-indexed position of the corresponding city in the reference list,
which shrinks as each city is removed — ensuring a unique and reversible
representation.
Key Features:
ordinal_representation_closed()with descriptive variable namespython -m doctest -vlist[str],int)Checklist: