Skip to content

Add IsParadoxical and IsKParadoxical for tournaments - #947

Open
William-Kenyon wants to merge 1 commit into
digraphs:mainfrom
William-Kenyon:fix-issue-942
Open

William-Kenyon wants to merge 1 commit into
digraphs:mainfrom
William-Kenyon:fix-issue-942

Conversation

@William-Kenyon

Copy link
Copy Markdown

Fixes #942, for checking if a tournament is paradoxical (every vertex has an in-neighbour), or more generally if it is k-paradoxical (every set of k vertices has a common in-neighbor).

Notes:

  • The algorithm for IsKParadoxical(D, k) is brute-force: it checks every subset of size k for a common in-neighbour using list intersection, which has complexity O((n choose k) * k * n) where n is the number of vertices of D.
  • I went with the convention that if D has no vertices, then regardless of k, it is not paradoxical, though I don't have any reason for/against the convention.
  • Alternatively, if D has vertices but k is 0, then it is considered paradoxical, to not break the pattern that being k-paradoxical implies being (k-1)-, (k-2)-,...-paradoxical.

I made IsParadoxical(D) a property and IsKParadoxical(D, k) an operation, but am wondering if both should be operations, IsParadoxical should be removed, or is there a better option?

A possible follow-up is to add Paley digraphs, which give a way to construct k-paradoxical tournaments (Graham, R. H., Spencer, J. H., "A Constructive Solution to a Tournament Problem").

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Paradoxical tournaments

1 participant