Skip to content

Instantly share code, notes, and snippets.

@arana89
Created May 31, 2022 20:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save arana89/2071557bac0160f99bba3ece9f5e9ad0 to your computer and use it in GitHub Desktop.
Save arana89/2071557bac0160f99bba3ece9f5e9ad0 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"id": "77bd7413-83d8-4ea1-bfb2-c18138a47aee",
"metadata": {},
"source": [
"Discussion about hypothetical fight outcomes will often devolve into arguments backed by \"mma math\" - e.g. fighter A defeated fighter B, fighter B defeated fighter C, therefore fighter A will defeat fighter C. In reality, MMA bouts are complex affairs in which the outcomes usually don't follow a transitive relation. This is related to the study of *paradoxical tournaments*. Round-robin tournaments can be represented as complete directed graphs, with players represented as vertices and edges representing bouts. For example, shown here is a 3-player tournament. Every competitor has faced every other competitor once, and player 1 is the unambiguous winner:"
]
},
{
"attachments": {
"f4e31289-6a53-4fc6-82e6-5b8e38c8852d.png": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAAFUCAYAAACHh+9/AAAABHNCSVQICAgIfAhkiAAAIABJREFUeF7tnQeUFEX39i8iIhlJEhR8EQEliSRBJEoGkSUqWZLknCWJEgRJEiTKwq6AApJEkCBBySsSFEFeESRIlCAiiu43z/2/w7csM7MzO9Mz3T1PnbMHtqeruup35zwU1VX3EWEhARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIIEwJJPI0zY8aMsU888YSnW/gZCZAACZBAPAIxMTGXHJcyuwLzoKuLzmsQ3H379nm6hZ+RAAmQAAnEI5AkSZKT7qA84O4DXicBEiABEgg8AYpu4JmyRRIgARJwS4Ci6xYNPyABEiCBwBOg6AaeKVskARIgAbcEKLpu0fADEiABEgg8AYpu4JmyRRIgARJwS4Ci6xYNPyABEiCBwBOg6AaeKVskARIgAbcEKLpu0fADEiABEgg8AYpu4JmyRRIgARJwS4Ci6xYNPyABEiCBwBOg6AaeKVskARIgAbcEKLpu0fADEiABEgg8AYpu4JmyRRIgARJwS8Bjake3tQz44M6dO/Lzzz/Ln3/+KQ8//LAgreSDD5qmewaMmE2SAAmEI4GQqtrly5dl/vz5snTpUjl06JBkzpxZUqVKJTdv3pQLFy5I4cKFpUGDBtK6dWvJkCFDOMaHYyYBErAZgZAsL/z1118yfPhwyZMnjxw4cEDefvttOXv2rJw4cUIOHz6sf547d06v4/Mnn3xS70c9FhIgARKwMoGgz3RPnToldevWlezZs6vA5siRwyW/tGnTSuXKlfXn9OnT0qFDBylVqpSsXLlScubM6bIOL5IACZCA2QkEdaYLwS1Xrpw0b95c1qxZ41Zw40N77LHH9H7UQ320w0ICJEACViQQtJkulgYww+3WrZv06tXLZ1YOz6G79dDOnj17JFmyZD63wwokQAIkEEoCQZvpjho1Sme2PXv29Gu8qI+lCbTHQgIkQAJWIxAU0cUuhcmTJ8vMmTMFM1ZXZerUqVK8eHFJnjy5tGrVytUteg310c6kSZPkypUrbu/jByRAAiRgRgJBEV1sC6tTp47HNVzMXt988015/fXXE+SENd7atWvrdjMWEiABErASgaCILvbhtmzZ0iOXiIgIeeWVVyRjxowe73N+iNkw2mUhARIgASsRMFx0cdIMBx9KliwZUC4lSpSQgwcPCtpnIQESIAGrEDBcdHG0FyfN0qRJE1Am2MebKVMmPTrMQgIkQAJWIWC46CKXAo72GlHQLtpnIQESIAGrEDBcdJG8BrkUjChoF+2zkAAJkIBVCBguusgWdvHiRblx44ZHJlibxaz1n3/+0R/83dN67fXr1+XSpUuajYyFBEiABKxCwHDRRXrGQoUK6QkyTwXJbVKkSCFjxoyRqKgo/TuuuSt79+7VLGRM/+iOEK+TAAmYkYDhootBIz1jZGSkx/Eji1hsbOw9P7jmruCARPny5d19zOskQAIkYEoCQcm9gHy4SM+IbGE42OBvQTuff/65PPTQQ3Ly5EkZPHiwFChQwN9mWZ8ESIAEDCcQlJkuEpB3795d0zNiNutPQf327dtLnz59dLtYkSJFNP1j/fr1Zf/+/f40zbokQAIkYDiBoIguRjFo0CBNVD5x4kS/BoX6SHCO9rD3t3///vLf//5XypYtq0eDcdx49+7dfj2DlUmABEjAKAJBE10sBSAB+ZQpU2TChAk+z3gxw0U91Ec7cdM6Yr8uso9BfGvUqCGNGjWSqlWryvbt243ixnZJgARIIFEEgia66B0cH7Zt2yYLFy7UWSnWZr0puA/3ox7qu3OOwJ7dTp06yY8//iiNGzfWbGV42bZx40afRd6bfvEeEiABEvCVQFBFF52DYOK//8idgK1kcIPYtGmTYN9t3ILfcR2f4z7kbsC2M3eCG7cuZtVt2rSRo0ePStu2baVLly5SpkwZ+eyzzyi+vn5DeD8JkEBACbhObvu/RxQrVix23759AX1g3MaQD9fpBozkNY888ogkTZpUb8HBB6cbMGas/rgB47DFsmXLdN8vliWQQhLuEw88EPR/cwxjyYZJgATMQ8CR9zvG0ZvirnoUUtGN2yGcPluyZIm+aFu8eLGeNAv0wYd///1XVq1apeJ7+/Zt3WrWsGHDu0LvChCvkQAJkICvBDyJrmmmehBY7OHFSzFYswdacAENM1vk7MVptnfffVdfymF/74IFCzweOfYVOO8nARIgAXcETCO67jpoxHVY/mCXw9dffy3Tp0+XDz/8UPLmzSuzZ88WGGiykAAJkIBRBMJSdJ0wIb6VKlWSL7/8Ume7WPfFLHvatGlMGWnUN47tkkCYEwhr0Y0bexyuWLdunVoArV+/XnLnzq37go1KSxnm3zsOnwTClgBFN17osTUNL9vWrl0rO3fuVPEdPXr0fVvawvYbw4GTAAn4RYCi6wbfs88+K5988okuPRw+fFgT9owYMUJ+++03NzV4mQRIgAQSJkDRTYDRM888I9HR0bJjxw7NaIY1X+R9QGJ2FhIgARLwlQBF10tiTz31lMybN09iYmJ0tps/f37NdIbkOywkQAIk4C0Biq63pP53Hw5tzJgxQw4cOCB///237vPt2rWr/PLLLz62xNtJgATCkQBFN5FRx0GOyZMny5EjR9RaCGvAyPP7008/JbJFViMBEggHAhRdP6P86KOP6uk2JNfJkiWLJuZBrgj8zkICJEAC8QlQdOMTSeTvmTJl0pwOx48f150OL774orz66qu684GFBEiABJwEKLoB/i6kT59ehgwZognVixYtKi+99JJERETIN998E+AnsTkSIAErEqDoGhQ1WAn169dP13jLlSunNkJIxL5r1y6DnshmSYAErECAomtwlFKmTCk9evTQmW+tWrXU0aJKlSrqgMFCAiQQfgQoukGKOayEOnbsqFZCWOt9/fXXdQa8YcMGulkEKQZ8DAmYgQBFN8hRgJUQBPeHH37QLWbdunWT0qVL00ooyHHg40ggVAQouiEijyTtzZo1090NvXv31qPFDnskWb58ucDhgoUESMCeBCi6IY4rPOFgGbR//34ZNmyYZjQrUqSIWhbB242FBEjAXgQouiaJJ6yEYJYJx+Nx48bJ+++/L0i2ExkZqceNWUiABOxBgKJrsjjCzaJ69ery1VdfaY4HiG6+fPlk1qxZaqbJQgIkYG0CFF2Txs9pJbR582ZZuHChrvUi09nUqVPl1q1bJu01u0UCJJAQAYpuQoRM8PkLL7ygVkLwcMMWMxwzfu+992glZILYsAsk4CsBiq6vxEJ4f4kSJWTlypXy+eefy+7du2klFMJY8NEkkFgCFN3EkgthPexu+Pjjj9VK6LvvvtOZ7/Dhw2klFMKY8NEk4C0Biq63pEx4H3Y3REVFqYEmkqjDSmjgwIG0EjJhrNglEnASoOja4LsAsZ07d65aCV29elV3O+DABa2EbBBcDsF2BCi6Ngqp00ro0KFDerACVkJdunShlZCNYsyhWJ8ARdf6MbxvBDly5JBJkyaplVCqVKnUSqhdu3a0ErqPFC+QQPAJUHSDzzxoT4SV0NixY+XYsWOSNWtWtRJq2bIlrYSCFgE+iATuJ0DRvZ+J7a5kzJhRRo4cqVZCOGABK6EmTZoIliFYSIAEgkuAohtc3iF9GqyE3nzzTU2ojoxmSKZer149WgmFNCp8eLgRoOiGW8Qd44WVUN++fXWNt0KFCvLyyy+rqwWthMLwy8AhB50ARTfoyM3zQFgJde/eXWe+8HDDkgOMNLdu3WqeTrInJGAzAhRdmwU0McNJnjy5vPHGG2ol9Nprr0mbNm1oJZQYkKxDAl4QoOh6ASlcbkmWLNldK6EOHTroLBhWQmvWrKGPW7h8CThOwwlQdA1HbL0HwEqoadOmaiXUp08fffn23HPPaZYzWglZL57ssbkIUHTNFQ9T9QZuFg0aNFAroREjRsiYMWOkcOHCsmjRIloJmSpS7IyVCFB0rRStEPUVCdWxwwFWQsjjO23aNHn66adl/vz5tBIKUUz4WOsSoOhaN3ZB7znEt1q1arJ9+3aZOXOmOlrkzZtX/04roaCHgw+0KAGKrkUDF8puQ3wrVqwomzZtkujoaFmxYoWmlYSZJq2EQhkZPtsKBCi6VoiSiftYpkwZdbL49NNPVYRz584t48ePl99//93EvWbXSCB0BCi6oWNvqycXL15cZ7zr16/XtV+4WYwaNUquXbtmq3FyMCTgLwGKrr8EWf8eAtjdACuhLVu2aGpJiO+wYcPkypUrJEUCJOAgQNHl18AQAtjdgBdtyOdw5swZzW42YMAAuXDhgiHPY6MkYBUCFF2rRMqi/cQLtjlz5mgms+vXr0v+/PmlV69etBKyaDzZbf8JUHT9Z8gWvCCQK1cumT59up5yi42NVSuhzp07y6lTp7yozVtIwD4EKLr2iaUlRpI9e3aZOHGi/PDDD5pismjRomolhExnLCQQDgQouuEQZROOMUuWLHqsGFZC2bJlk1KlSkmLFi1UjFlIwM4EKLp2jq4FxgYrobfeektnurCOL1eunDRu3JhWQhaIHbuYOAIU3cRxY60AE0iXLp0MHjxY3Syw57dq1apqJRQTExPgJ7E5EggtAYpuaPnz6fEIpE6d+q6VEI4a161bV2rWrCk7d+4kKxKwBQGKri3CaL9BpEiRQrp166bLDhDeV199VSpXrqyHLrD7gYUErEqAomvVyIVJv2ElBBcLWAk1a9ZMdzpg3feLL76g+IbJd8Buw6To2i2iNh0PrIRat26tR4s7duwoPXr0kOeff15Wr15N8bVpzO06LIquXSNr03HBSgjmmThkARv5IUOG6F7fpUuX0krIpjG327AounaLaJiMJ66V0MiRI+Xdd9+VQoUKyUcffUQroTD5Dlh1mBRdq0aO/VYCSKhep04d2b17t550mzFjhloJffjhh7QS4nfElAQouqYMCzvlKwGIL/b2btu2TWbNmiVRUVG0EvIVIu8PCgGKblAw8yHBIgDxrVChwl0roZUrV2pO3ylTptBKKFhB4HM8EqDoesTDD61MAFZCa9euFQjvl19+qVZC48aNo5WQlYNqg75TdG0QRA7BM4FixYqphxushPbt26fi+84779BKyDM2fmoQAYquQWDZrPkIwEpoyZIluu579OhRXXYYOnQorYTMFypb94iia+vwcnCuCMC9YsGCBbrj4dy5c2ol1L9/f1oJuYLFawEnQNENOFI2aBUCmOnOnj1b9u/fr+u8EOOePXvK2bNnrTIE9tOCBCi6FgwauxxYAjlz5pRp06bpKTfsfihYsKB06tRJTp48GdgHsTUScBCg6PJrQAL/IwAroQkTJqh7Rdq0aeW5556Ttm3byvHjx8mIBAJGgKIbMJRsyC4EnFZCyGyWI0cOTazTvHlzTbbDQgL+EqDo+kuQ9W1LIEOGDDJixAjN6YujxeXLl5dGjRrJwYMHbTtmDsx4AhRd4xnzCRYnACuhQYMGqZVQyZIlpVq1avLKK6/onl8WEvCVAEXXV2K8P2wJwEqoT58+Kr5wsYCHW40aNWTHjh1hy4QD950ARdd3ZqwR5gRgJdS1a1d9wQbhbdq0qVSqVEmPGtNKKMy/HF4Mn6LrBSTeQgKuCMBKqH379nLs2DFp0aKF2gq9+OKLetyY4uuKGK+BAEWX3wMS8JMArIRatWqluxs6d+4svXr1klKlSsmqVasovn6ytWN1iq4do8oxhYRA0qRJ1bX40KFDeqx42LBhaiX0ySef0EooJBEx50MpuuaMC3tlYQKwEqpfv75888038vbbb8v48eP1lFt0dLTcuXPHwiNj1wNBgKIbCIpsgwRcEMCR4tq1a8uuXbtk8uTJMnPmTN3vO2/ePFoJueAVLpcouuESaY4zZAQgvlWqVNGUknPmzFHzTGQ2++CDD+T27dsh6xcfHBoCFN3QcOdTw5QATrVt3LhRFi1aJKtXr9acvpgF//HHH2FKJPyGTdENv5hzxCYgULp0afnss8/USmjr1q3qZgEb+Rs3bpigd+yCkQQoukbSZdskkAABWAktX75cNmzYoC/eMPPFy7erV68mUJMfW5UARdeqkWO/bUWgUKFCsnjxYtm+fbsgu1mePHlkyJAhcvnyZVuNk4Ph4Qh+B0jAVATy5csnkZGRsmfPHjl//rzkzZtX+vXrp39nsQcBznTtEUeOwmYEsMY7a9YstRLCSzZsNevRo4ecOXPGZiMNv+FQdMMv5hyxhQjASmjq1Kny3XffCU68YRmiY8eOtBKyUAzjd5WiG58IfycBExLIli2bvPfee2odnz59erUSatOmDa2ETBirhLpE0U2IED8nARMRyJw5s4wePVpftj3++ONqJdSsWTNaCZkoRgl1haKbECF+TgImJAAroeHDh6uVUIECBaRChQrSsGFDOXDggAl7yy7FJUDR5feBBCxMAFZCAwcOVDcLzHrhZFG3bl3Zu3evhUdl765TdO0dX44uTAikSpVKevfurTNf5HmIiIiQ6tWry9dffx0mBKwzTIqudWLFnpJAggRgJdSlSxd9wQbhhXV8xYoVZfPmzUyoniC94NxA0Q0OZz6FBIJKwGklhN0OcLXANrOyZcvKunXrKL5BjcT9D6Po3s+EV0jANgRgJdSyZUv5/vvv1UwTbsawkUeinX///dc247TSQCi6VooW+0oCiSSAgxVNmjSRgwcP6ou3ESNGqJXQxx9/LP/8808iW2W1xBCg6CaGGuuQgEUJwEoIa70xMTEyatQomTBhgloJRUVF0UooSDGl6AYJNB9DAmYiADeLWrVqyc6dO2XKlCma5yF//vwyd+5c+euvv8zUVdv1haJru5ByQCTgPYG4VkLwbkN6SWQ2mzFjhvz555/eN8Q7vSZA0fUaFW8kAXsTKFeunCZTh/DC1QIJ1SdNmkQroQCHnaIbYKBsjgSsTgAn29asWaMebjDTRJrJsWPH0kooQIGl6AYIJJshAbsRQCYzWAnBSPPbb7/Vme/IkSNpJeRnoCm6fgJkdRKwOwHsboB7MayEcMwYVkJvvvmmXLp0ye5DN2R8FF1DsLJRErAfAVgJzZ8/X62ELly4oC/c+vbtK7/++qv9BmvgiCi6BsJl0yRgRwJOKyGkkcQOh2eeeUa6d+9OKyEvg03R9RIUbyMBEriXAJKov//++2olhOPGsBJ644035OeffyYqDwQouh7g8CMSIIGECcBKaPz48WolhOTqxYoVk9dff13dLVjuJ0DRvZ8Jr5AACSSCAKyEcLQYaSVz5colZcqUkaZNm2qyHZb/T4Ciy28DCZBAQAk88sgjMmzYMN3pgCUH5PNt0KCBbjvzpSxbtkyio6N9qWKJeym6lggTO0kC1iOQNm1aGTBggFoJYdZbs2ZNefnll3X3Q0Ll9u3b0r59e2nbtq3s27cvodst9TlF11LhYmdJwHoEYCXUq1cvnflWq1ZNZ73486uvvnI7GGxNg/BidwQS81y5csXtvVb7gKJrtYixvyRgUQKwEurcubOu+UJ4W7RooS7GmzZtusfN4u+//5ahQ4fKzZs3daRXr17V++2SdJ2ia9EvMLtNAlYl8NBDD0m7du10twN2OXTq1EleeOEFWbt2rYov1nGdgosxItUkliTeeecdn4Z8584dFfjDhw/rn/jdDCWJp044tn7EBnM9ZevWrfovHP5kIQESCA8CcK5YunSpvP322wJBxj5fV8sJmClDmDE7dlcuX76sp+bQ3qFDhwQ7KrC8ARHHKbrChQvrrLl169a6vc2o4kiZGeNou7ir9jnTdUWF10iABIJGAFZCjRs3FpxwK1++vNuEOrdu3ZJ69erJuXPn7usbZsPDhw/XvBBoBwJ+9uxZOXHihM508Sfq4To+R/Ie3B+KhO0P3td7XiABEiCBEBFAVjNPa7e///671KlTR3bt2iUPPvh/8nXq1CmpW7euZM+eXQU2R44cLnuP3RSVK1fWn9OnT0uHDh2kVKlSatKZM2dOl3WMuMiZrhFU2SYJkIDPBFasWCFYHvBUsC575MgRTbSDAsFF8vXmzZtrDmB3ghu/zccee0zvRz3URzvBKpzpBos0n0MCJOCWAF6gYU8vZrIJlT/++ENmzpypL9/wcq1bt266Jc3XAqsiZz3MlPGyDjkkjC6c6RpNmO2TAAkkSAAvyFyt1bqriPXdZs2aCfI+9OzZ091tXl1HfSxN4AhzMApFNxiU+QwSIAGPBLDjADNY7F7AbBPrtXjBhtmos8A+HtfwGX7w2ezZs++5J+5DnKKMtVzk/p0zZ47LPqAdzJzhB+dq14TLSn5cpOj6AY9VSYAEAkMgKipKLl68qNu6IHzXrl3TbV7YXYAtZVh+wJ9Y08XhiTFjxkjDhg09ruEOHDhQt59dv35dVq1apW4XMTHYyXV/wRpv7dq1dbuZ0YWiazRhtk8CJJAggeTJk+u+2XTp0knq1KklZcqUgmuY0WKGG79gH27Lli3jX77n9wIFCmgbKJjN4gdHkd2VVq1a6f5eo8v9ozH6iWyfBEiABPwggNkuDj6ULFkywVZw2g0Cnj9/fl3/RdIdd6VEiRJy8OBBw0+uUXTdRYDXSYAETEkASwY4aZYmTZoE+zd9+nS1joepZkRExN2Zr6uKWPvNlCmTLkkYWSi6RtJl2yRAAgEngMxjONrrbcHLt7Jly+qBiBkzZnishnbRvpGFomskXbZNAiQQcAIPP/zwPQlxvH0AliU8remiHby8Q/tGFoqukXTZNgmQQMAJPPHEE7rTAcsG7gp2QSxevFgPW2DXw/r162XRokV6BNhdwS6HS5cuCdo3slB0jaTLtkmABAJOADsaYAPkyYECOxWwlICtYLAP6tOnj+7DhXOFu7J3717NQubM6eDuPn+v8xiwvwRZnwRIIGgEsF938+bNOiP94IMP3M5c8aLN1xSx2KOLtI9GF850jSbM9kmABPwmALHFUWF4rcF9AjkTNm7cqC/HAlHQDhLgYK+u0YUzXaMJs30SIIFEE0CaR6ReRB5cnETDqbL69evrceDz589rekaIZdzjwr4+DIIOE8wePXoYmtjc2S/OdH2NEO8nARIwnABefi1ZskSKFCmigjtkyBC1cG/UqJEKLsqgQYM0UfnEiRP96g/qI9kO2gtG4Uw3GJT5DBIgAa8IYFvXRx99pBm/cCz43XfflerVq7ucySI5DmbByIeLgmxhvsx4McOF4E6ZMkW2bdsWlLSO6CdF16uvAm8iARIwkgAS20RGRmoim8cff1ymTZsmlSpVSlBE4fgAwUQ+XLgKI1sYdiwkVJzOEZgpoz6dIxIixs9JgARsQQCnvyCw8DZDshnsINiyZYvuSvB21grB3L17tyB3AraSwQ0CAox9t3ELfsd1fI77kLsB286CKbjoD2e6tvjqchAkYC0COPmFWen48eOlePHiKrjeJLBxN0osNcBoEi4SEG6sASN5DXIpON2Asc3M6QY8efLkoLw0c9Vfiq4rKrxGAiRgCAHMNpGEBmupL774om4De/bZZwP2LKwDYzsZfrA+jOQ1mE3jaC9Omhl98MGbgVB0vaHEe0iABPwi8Ntvv+kLq6lTp0rVqlX1gAPy3RpZILBYtjBb4ZYxs0WE/SEBGxHAf+mxFQvid/LkSdmxY4dER0cbLrhmRkjRNXN02DcSsCiBX3/9VfMdwJsM9juwyZk3b5489dRTFh1R4LpN0Q0cS7ZEAmFP4JdffpGuXbvKM888oyfI8DILORKMztxlJfAUXStFi30lAZMSOHHihB6lxQkyvLT6/vvvBTsEvNkza9IhGdYtiq5haNkwCdifwLFjxzRJDLZ9ZcmSRfD7uHHjJGvWrPYffCJHyN0LiQTHaiQQzgQOHz4s77zzjmb6wt5YODKkT58+nJF4PXbOdL1GxRtJgAT279+vWb5eeukl3V/7008/6UEECq733w2KrveseCcJhC0BHLOtXbu2/uBQA8S2f//+Xjnyhi00NwPn8oIbMLxMAiQgmgwGqRWPHj0qAwYM0OO6Rhs32p07RdfuEeb4SMBHAkh5iMQwI0eOlDNnzsjAgQM1SQzyG7D4T4Ci6z9DtkACtiDgtMSB2F67dk0GDx4sTZo0MUW+AlsA/t8gKLp2iibHQgKJIABLnBUrVugyApLExLXESURzrJIAAYpuAoD4MQnYlQAscT755BPd+pU8eXIZNmyY1KlTRx54gO/XjYw5RddIumybBExIAMdznZY4yDeLwwzVqlXzOmm4CYdkqS5RdC0VLnaWBBJPwGmJM3r0aMmVK5fMmDFDKlasSLFNPNJE1aToJgobK5GAdQjcunVL5s6dqyaPSESzYMECKVu2rHUGYLOeUnRtFlAOhwScBGCJgwxf7733nvqH+WuJQ7KBIUDRDQxHtkICpiEASxyYPU6aNEntyQNtiWOagVq0IxRdiwaO3SaB+ARgiYN0ihBcvBj78ssvdTmBxVwEuDfEXPFgb0jAZwIXL17UU2OwxEEScVjiREVFUXB9JhmcChTd4HDmU0gg4ATOnTsnvXv3lnz58snVq1fVEgcvzGiJE3DUAW2QohtQnGyMBIwngNlsly5d1NwRBxwOHTqk279oiWM8+0A8gaIbCIpsgwSCQADpFGGJgzy2KVOmlCNHjujLshw5cgTh6XxEoAhQdANFku2QgEEEkFaxZcuWUrJkSXn00UfVEgd7bvF3FusR4O4F68WMPQ4TAk5LHKRZhCXO8ePH6dBgg9hzpmuDIHII9iLwzTffSEREhFriFC1aVP3HkPmLljj2iDNF1x5x5ChsQGDXrl1Sq1Ytefnll6V8+fJqidOvXz9a4tggtnGHwOUFmwWUw7Eega1bt2ou2x9//FEtcZYtW0ZLHOuF0eseU3S9RsUbSSBwBODSAPtyuDScPXtWBg0apJY4yZIlC9xD2JIpCVB0TRkWdsquBCC2n332mc5skSMBljiNGzemJY5dA+5qnLFtAAARFElEQVRiXBRdF1B4iQQCTSCuJQ4ONDgtcejSEGjS5m+Pomv+GLGHFiYAgf3444/VEidFihQyfPhwqV27Ni1xLBxTf7tO0fWXIOuTgAsCsMSJjo6WUaNGSebMmWX8+PG0xHHBKRwvUXTDMeocs2EEbt++LZGRkTJmzBjNhTBz5kypUKECLXEMI269him61osZe2xCArDEmTNnjh7PLViwoCxcuFBeeOEFE/aUXQo1AYpuqCPA51uawO+//37XEqdUqVKyfPlytcZhIQF3BCi67sjwOgl4IIDtXlOnTlWnBpweW7dunRQpUsRDDX5EAv9HgKLLbwIJ+EDgypUrdy1xatSoIVu2bJGnn37ahxZ4a7gTYO6FcP8GcPxeEbhw4YJa4sCV4fTp04I8CVi3peB6hY83xSFA0eXXgQQ8EIAlTq9evSR//vxy7do1QQYwWOLAj4yFBBJDgKKbGGqsY3sCp06dks6dO6slDo7uwhJn+vTpkitXLtuPnQM0lgBF11i+bN1iBJBOsV27dprHNnXq1GqJM3HiRFriWCyOZu4uRdfM0WHfgkbghx9+kBYtWqglTrZs2dQSZ+zYsbTECVoEwudBFN3wiTVH6oIAlg2aNGki5cqVUytzWOK89dZbkjFjRhd38xIJ+E+Aous/Q7ZgQQIxMTFSr149qVq1qhQrVkxdGpBmkZY4FgymxbpM0bVYwNhd/wjs3LlTLXHq1q0rFStWVP+xvn376votCwkEgwAPRwSDMp8RUgLYfeC0xMHyASxxcFw3efLkIe0XHx6eBCi64Rn3sBg1xHbDhg1qifPrr7+qJU6zZs1oiRMW0TfvICm65o0Ne5ZIAhDbNWvWqCXOjRs3aImTSI6sZgwBiq4xXNlqCAjAEufTTz9VsYXwwhInIiKCLg0hiAUf6Z4ARdc9G35iEQKwxFmyZIla4qRKlUq3fMESJ0mSJBYZAbsZTgQouuEUbZuNNa4lTpYsWWTChAm6BYxia7NA22w4FF2bBTQchgNLnPnz56slTu7cuWXWrFma05ZiGw7Rt/4YKbrWj2HYjACWOLNnz5Zx48ZJoUKF1PixTJkyYTN+DtQeBCi69oijrUcR1xLn+eef15dlxYsXt/WYOTj7EqDo2je2lh8Z8tc6LXFwemz9+vVSuHBhy4+LAwhvAjwGHN7xN+XoYYkzdOhQefLJJ+Xo0aN6mgy7Eyi4pgwXO+UjAYquj8B4u3EEYImDI7qwxDl79qzs3r1bFixYQEsc45Cz5RAQoOiGADofeS8BCGzPnj3VEgcnyPbv3y9z5szRmS4LCdiNAEXXbhG10HhOnjypljgFCxbU7V6HDx+WadOmSc6cOS00CnaVBHwjQNH1jRfvDgABpFNs27atPPfcc5ImTRqBawMONmTPnj0ArbMJEjA3AYquueNjq945LXFKlSqlnmOwxMEBB5wmYyGBcCFA0Q2XSIdwnAcPHpTGjRvftcTBTHfEiBG0xAlhTPjo0BGg6IaOve2fDEucV155RapVqyYlSpS4a4mTLl0624+dAyQBdwQouu7I8HqiCezYsUNq1qypglu5cmUV2z59+tASJ9FEWdFOBHgizU7RDOFYnJY4cGmAyGK/LY7r0hInhEHho01JgKJryrBYp1MQ2y+++EITh58/f14tcZo2bUpLHOuEkD0NMgGKbpCB2+VxTksczGxv3rx51xInadKkdhkix0EChhCg6BqC1b6NwhIHTrqY2eJAAyxx6tWrR0sc+4acIwswAYpugIHatbk7d+7ctcTBgQaIbq1atZg43K4B57gMI0DRNQytPRqGJU5UVJSMGjVKsmbNKpMmTZIqVapQbO0RXo4iBAQouiGAboVHwhLnww8/1BNjefLk0QQ0sMRhIQES8I8ARdc/frar/ccff9y1xClSpIgsWrRISpcubbtxckAkECoCFN1QkTfZc2GJM2PGDE08A0uclStXSrFixUzWS3aHBKxPgKJr/Rj6NQJY4rz//vsyZcoUqVSpku65hekjCwmQgDEEeAzYGK6mb/Xy5ct3LXF+/PFH2bZtmyxevJiCa/rIsYNWJ0DRtXoEfew/LHH69+8vefPmlXPnzqklTmRkpLo2sJAACRhPgKJrPGNTPOHMmTPSo0cPFVecIIMlzuzZs2mJY4rosBPhRICia/NowxKnU6dOumzwwAMPqCUObM1piWPzwHN4piVA0TVtaPzr2PHjx6VNmzZqiYP8tbTE8Y8na5NAoAhw90KgSJqknSNHjujpsXXr1qnpI16SZciQwSS9YzdIgAQ407XJdwCWOI0aNZIKFSrI008/LZjpDh8+nIJrk/hyGPYhQNG1eCz37dunDg3Vq1cXGD7Cfww5bWmJY/HAsvu2JUDRtWhov/76a6lRo4amVYQlDsS2d+/etMSxaDzZ7fAhwDVdC8UaicO3bNkiSBx+4sQJGThwoKxYsYKWOBaKIbtKAhRdC3wHILbr16/XHLY43DB48GB57bXXaIljgdixiyQQnwBFNz4RE/0OsV29erXObG/duqVii5dltMQxUZDYFRLwkQBF10dgwbgdljjLli3TmS0EFpY4eFmGww0sJEAC1iZA0TVR/GCJg6Qz2GebNm1a/bNmzZp0aTBRjNgVEvCXAEXXX4IBqP/XX3+pJc7o0aMlW7ZsMnnyZHnppZcotgFgyyZIwGwEKLohjAgscebNmydjx46Vp556SubOnSvlypULYY/4aBIgAaMJUHSNJuyi/biWOM8++ywtcVww4iUSsCsBim4QI3vjxo27ljhlypSRVatWaUIaFhIggfAhQNENQqyvXr2qljj4wemxDRs20KEhCNz5CBIwIwHuQTIwKrDEGTJkiFqY45ju9u3bdSmBHmQGQmfTJGByAhRdAwJ0/vx56devn1ri4O979uyR+fPnS758+Qx4GpskARKwEgGKbgCj5bTEQWpFnCCDJc6sWbMkd+7cAXwKmyIBErAyAYpuAKIHS5yOHTvqsgFOkH333Xe6fktLnADAZRMkYDMCIXmRdvr0aalTp47OBuMWbKW6dOmSS2faBg0a6LFYMxUkCsepsZUrV0qHDh3k6NGjkjlzZjN1kX0hARIwGYGQiG6mTJkEs8PffvvNJQ6IV9ySPHlyU4nZ999/r2KLzF+0xHEZQl4kARJwQyAkywsPP/ywjBgxQlKlSuWmW/deTpkypc4kQ10OHDggDRs2lIoVK0qBAgV0RwItcUIdFT6fBKxFICSiC0Tt2rWThx56KEFaEOZhw4YJhDpUZe/evVK3bl11aihdurT89NNPmkAcSWlYSIAESMAXAiETXW9nuxDmUM1yYYkD77GIiAipUqWKzmx79erl9Qzdl0DwXhIggfAgEDLRBd6EZruhmOUicfjmzZt1CaF58+ZSv359FdsuXbpIihQpwuNbwVGSAAkYRiCkopvQbDeYs1yI7eeffy5ly5bV7V+tWrXS3QgJ/cNgWGTYMAmQgC0JhFR0QdSdqCV2lhsZGakOud4WuDRgy1fJkiWlb9++0rVrV8HuhJYtW9KDzFuIvI8ESCAwBIoVK+aYABpfpkyZEusQ2VhHr+/+PPLII7GOfbw+PdxxAizWsdMh1jGDjt21a5fHug6XhtglS5bEFi5cOLZo0aKxy5cvj/3nn3881uGHJEACJOANAYeW7XOnwiGf6aJj8We7iZnlXrt2Ta1tcMDizz//lAEDBrgcMyxxFi5cKAULFpQJEyboftuYmBidHdODzCUyXiQBEgggAVOILtZ2hw4dencLGY7StmnTxuthOv7lkcaNG8uVK1fu1tm9e7fmPnAWWOLAmSF//vwyZ84cPaa7c+dOqVWrFm1xvCbNG0mABPwlEJITac5OI/Uhsm8tXbpUDh06JOnSpdP9uFhnffTRR8XxX3/B8d/WrVtLhgwZ3I513Lhx8tVXXwnsb5wFs13spV2xYsVdSxxk+YI9Di1x3KLkByRAAqEkYNSarkMcYx0HHmLTp08f69iWFbtx48ZYx/LAPUsl+B3X8Tnuw/2oF784ctTGOrZy3bMe7GCmvydLlizWkQshtnbt2rGOWW38qvydBEiABAwh4NAft2u6STyJOkR33z63dT1VdfvZqVOn9HRX9uzZNe1hjhw53N7r/AAJcnBA4uzZs7rTwJm968KFC4I0inGXFeI3Vr58edmyZUv8y/ydBEiABAwjkCRJkhhH48VdPSCoa7oQXPzXHocO1qxZ45XgotOPPfaY3o96qI92HDsNVLzhO+apYG332LFjnm7hZyRAAiQQNAJBW9PFiyyIZLdu3fQora/F8S/H3XpoB15jBw8elL///ttjU/gcljmO7WEe7+OHJEACJBAMAkFbXkA2LixVrF692q/dAo4FGE08s3XrVt0a5k3ByzkcePjPf/7jze28hwRIgAT8IhDy5QXsUpg8ebLMnDnTL8EFBcx4seXLl4LZLkSfhQRIgARCTSAoywvYFganCHcvzbDVq1OnTuLYraAvxZ588kkZPXq0zmhdFazxOnYkCNZrsZUM67vYZhb/T+c1zI6xDsxCAiRAAqEmEBTRxT5cT1Y7OCX2+OOP65IBdiasXbtWGjVqpHt3n3jiCZeM3njjDYER5I4dO1x+zoskQAIkYEYChq/pQlAd+2zl3LlzkiZNGq8Z4GAEkpcjtaKrcv36dd12dvXqVXnwwaD82+GqG7xGAiRAAvcRCOma7s8//6z+Zr4I7vnz53WbFyxx3BW4NsBrDe2zkAAJkIBVCBi+Txc7DLz1QgM0vPRq2rSpplZEngRPBe16u4PBUzv8jARIgASCRcBw0cV2rZs3b3o1Hrz4wgEIJC+fOnVqgnXQbii90xLsIG8gARIggXgEDBddvAi7ePFigifHsMMAmcWwtLBs2bIEE4hjTffSpUtuX7Qx0iRAAiRgRgKGiy5echUqVEj27NnjcfywyDly5IgenvDGiwwOvXjZxpdoHrHyQxIgAZMRMFx0MV6kZ4SNjrty8uRJPTjx7bffStasWSV16tT6Ex0d7a6KpoREuywkQAIkYCUChm8ZAwzngQfsu8XBBn8Lso5h9gyXXk95dv19DuuTAAmQQGIIhHTLGDoMYezevbumZ8TarT8F9du3by89evSg4PoDknVJgARCQiAoywsY2aBBgzQf7sSJE/0aKOrjoAXaYyEBEiABqxEI2lEubANDAnKnVU7Pnj19Sn6DGS4E1+EcLNu2bUtwd4PVAsH+kgAJhAeBoM10gRN5FSCYcONFwhqszXpTcB/uRz3UdzpHeFOX95AACZCAmQgEVXQxcAgmsoOVKFFCX4bhMMSmTZsE+27jFvyO6/gc95UsWVK3nVFwzfT1YV9IgAR8JRCU3QvuOoVdDU43YLhAIJcCjvbipBkOPjjdgFu1asWXZu4g8joJkIDpCHjavRBS0Y1LCtnIkLwGuRRwtBcn2XjwwXTfJXaIBEjACwKeRDdoL9IS6icENk+ePAndxs9JgARIwNIEgr6ma2la7DwJkAAJ+EmAousnQFYnARIgAV8IUHR9ocV7SYAESMBPAhRdPwGyOgmQAAn4QoCi6wst3ksCJEACfhKg6PoJkNVJgARIwBcCFF1faPFeEiABEvCTAEXXT4CsTgIkQAK+EKDo+kKL95IACZCAnwQoun4CZHUSIAES8IUARdcXWryXBEiABPwkQNH1EyCrkwAJkIAvBCi6vtDivSRAAiTgJwGKrp8AWZ0ESIAEfCFA0fWFFu8lARIgAT8JeExi7mj7ouPnpJ/PYHUSIAESCDcCuRwDzhxug+Z4SYAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAErEDg/wFXGH/n8hO4EQAAAABJRU5ErkJggg=="
}
},
"cell_type": "markdown",
"id": "fe3ae7b0-f54a-4c2d-85fd-07f05b4c2c74",
"metadata": {},
"source": [
"![image.png](attachment:f4e31289-6a53-4fc6-82e6-5b8e38c8852d.png)"
]
},
{
"cell_type": "markdown",
"id": "16b5f550-29b1-4760-adf8-5fe9676a868d",
"metadata": {},
"source": [
"A *paradoxical* tournament is one in which every player has lost at least once, making it impossible to declare an undisputed winner. If for any subset of *k* players, there exists another player who defeats all of them, the tournament is considered *k*-paradoxical. A famous 1-paradoxical tournament is rock-paper-scissors: "
]
},
{
"attachments": {
"00cb8322-b200-4fbd-a76d-142965499c84.png": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAAFUCAYAAACHh+9/AAAABHNCSVQICAgIfAhkiAAAIABJREFUeF7tnQm8ldP3/xdSmTIkUXybEE3St5kmGpAGpFCkkQZFg9J0G1SaSDRojkYSKiVKhZQGfSUp+qKofkmTipS+5/98Fqf/dTvn3PM85xnP+ezX676695zn2Xvt9z6tu+569l4fETYSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIIEUIXBWrHnmzJkzlD9//liX8D0SIAESIIEMBDZs2PCL8VKuSGCyRHox/Boc7vr162NdwvdIgARIgAQyEDjrrLN2RINydrQ3+DoJkAAJkID9BGJGuvYP91ePx44dky+++EKMEPz0148//ijHjx+XEydOSNasWSV79uxyzTXXyL///e/TXyVLlpTzzz/fKbPYLwmQAAk4TsC1SPfUqVOyaNEiufvuuyVXrlzSoUMH2bx5s1SsWFGmTZsm3333nRw8eFD+/PNP/Rc/43W8j+tw/eWXX673L168WP73v/85DocDkAAJkIDdBGI+SDOizFCiOd1ffvlFJk+eLOPGjRPjwZy0bdtWGjVqZCli/e2332TOnDkyevRoOXDggLRp00aaNWumzpiNBEiABPxCwMjpbjBsKR3JHsci3VAoJJMmTZIbb7xRvv76a3WW69atUydpNUWA+3A/fhGgvy1btmj/GAfjsZEACZCA3wk4EukiP9uqVSvZt2+fTJ06VYoXL+4Yh02bNqkjRspiwoQJmgdmIwESIAEvCbga6cLJlipVSm699VZZs2aNow4XUEuUKKHjYDyMi/HZSIAESMCvBGzbvYA/7/v27SuzZs2SZcuWqTN0q5177rnSq1cvqVu3rjRo0EB++OEHSUtLE+O3jVsmcBwSIAESiIuALU4XDrdLly7qbD/++GPJnTt3XIPbfREcPcavVauWHD16VIYNG0bHazdk9kcCJJAQAVsepPXr108+/PBDWb58uWcON0wBDh92LF26VPr3758QHN5MAiRAAnYTSDjSRQ515syZGmFeeumldttnqT/YsWTJEqlUqZLky5dPHn30UUv98CYSIAESsJtAQpEudil07dpV3nzzTc8j3IxgEPHOnTtX7YOdbCRAAiTgBwKWnS7yuNgW1rFjR8d3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"
}
},
"cell_type": "markdown",
"id": "e62940fd-7d5e-4240-ae37-067159efba2a",
"metadata": {},
"source": [
"![image.png](attachment:00cb8322-b200-4fbd-a76d-142965499c84.png)"
]
},
{
"cell_type": "markdown",
"id": "2e39b44b-6da2-4e15-8f8c-dcc6309df821",
"metadata": {},
"source": [
"Graham and Spencer<sup>[1]</sup> showed that a *k*-paradoxical tournament must consist of at least *V* total players, where \n",
"\n",
"$$V > k^2 2^{2k-2}$$\n",
"\n",
"They also gave a method for explicit construction of paradoxical tournaments, using quadratic residues. The project thumbnail shows the largest paradoxical tournament I can clearly plot, k=4, V=47. (For reference, k=5 requires V=127)\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "210f172e-ff9e-4873-94f5-34c68f6a2ad0",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"import networkx as nx\n",
"import sympy\n",
"from matplotlib import pyplot as plt\n",
"from itertools import permutations"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "f6de75d1-638e-403b-97e6-f6a2af8804f3",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment