mirror of
https://github.com/open-thought/reasoning-gym.git
synced 2026-05-03 17:53:26 +00:00
417 lines
79 KiB
Text
417 lines
79 KiB
Text
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "e81636e0-fa3c-462d-ae2e-2bb35cafd544",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Investigating collisions in reasoning-gym datasets\n",
|
|
"\n",
|
|
"This notebook helps to investigate collisions in training and validation datasets generated with different seeds as intended to be used for RL training."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "9c1c61c0",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# !pip install aiofiles nest_asyncio pandas"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"id": "42323371-404e-4e86-b8b8-a420b4c79303",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import reasoning_gym"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"id": "f06e7932-6c77-4609-8a33-7c4d815841d6",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Total number of data: 2\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"with open(\"./collisions/data.txt\") as f:\n",
|
|
" data_names = f.readlines()\n",
|
|
" data_names = [name.strip() for name in data_names]\n",
|
|
" print(\"Total number of data: \", len(data_names))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"id": "89158b8f",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"['maze', 'sokoban']"
|
|
]
|
|
},
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"data_names"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"id": "d7a5a5bf-7428-46f5-a7f5-a46238df2543",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"TOTAL = 10000\n",
|
|
"collisions = []"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "7138aced-d61a-4e2a-9935-a9b251e6d554",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"%%time\n",
|
|
"for name in data_names:\n",
|
|
" data_1 = reasoning_gym.create_dataset(name, size=TOTAL, seed=1)\n",
|
|
" data_2 = reasoning_gym.create_dataset(name, size=TOTAL, seed=2)\n",
|
|
" count = 0\n",
|
|
" for item_1, item_2 in zip(data_1, data_2):\n",
|
|
" if item_1[\"question\"] == item_2[\"question\"]:\n",
|
|
" count += 1\n",
|
|
"\n",
|
|
" # Add name, count to collisions.txt\n",
|
|
" with open('./collisions/collisions_1.txt', 'a') as file:\n",
|
|
" file.write(f\"{name}, {count}\\n\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "73297817-0eda-4bb4-9850-1375b2fcfa4d",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "86d9535a-73fd-4930-a2df-393efd73cb75",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Report on collisions data generated"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"id": "d41efd7a-3d23-4433-98d5-617b5aa66f07",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import matplotlib.pyplot as plt\n",
|
|
"import seaborn as sns\n",
|
|
"import pandas as pd"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"id": "2f6974bd",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"with open('./collisions/collisions.txt', 'r') as file:\n",
|
|
" lines = file.readlines()\n",
|
|
"\n",
|
|
"data = [lines.strip().split(\", \") for lines in lines]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"id": "36054684-470c-4ea4-8a60-25efb8218926",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"df = pd.DataFrame([[name, collision] for name, collision in data], columns=[\"name\", \"collisions\"])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"id": "0d2e6752-8d04-46c9-8057-3e71a39819f9",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Change collision to int\n",
|
|
"df[\"collisions\"] = df[\"collisions\"].astype(int)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"id": "a2b05dc7-4319-4709-ae57-b3a6637bc66a",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>name</th>\n",
|
|
" <th>collisions</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>complex_arithmetic</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>intermediate_integration</td>\n",
|
|
" <td>12</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>polynomial_equations</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>polynomial_multiplication</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>simple_equations</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" name collisions\n",
|
|
"0 complex_arithmetic 0\n",
|
|
"1 intermediate_integration 12\n",
|
|
"2 polynomial_equations 0\n",
|
|
"3 polynomial_multiplication 0\n",
|
|
"4 simple_equations 0"
|
|
]
|
|
},
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"df.head(5)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"id": "f817273d-3875-4b7f-9f7e-a8ea2cb0b455",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Total number of data: 99\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"print(\"Total number of data: \", len(df))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"id": "5c056fd2-2f05-443e-8ccc-17811d810852",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Filter out non-zero collision entries\n",
|
|
"df_zero_collision = df[df[\"collisions\"] == 0]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"id": "6c8df99f-9d20-4d06-852f-98e4576e1a1d",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"The number of data with zero collision: 76\n",
|
|
"Percentage of data with zero collision: 0.7676767676767676\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"print(\"The number of data with zero collision: \", len(df_zero_collision))\n",
|
|
"print(\"Percentage of data with zero collision: \", len(df_zero_collision) / len(df))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"id": "f09f6190-0436-4a76-9acf-0f775d0b8c2a",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Filter out zero collision entries\n",
|
|
"df_non_zero_collision = df[df[\"collisions\"] > 0]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"id": "9a260c44-e492-43e5-8e55-77b78457e142",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"The number of data with non-zero collision: 23\n",
|
|
"Percentage of data with non-zero collision: 0.23232323232323232\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"print(\"The number of data with non-zero collision: \", len(df_non_zero_collision))\n",
|
|
"print(\"Percentage of data with non-zero collision: \", len(df_non_zero_collision) / len(df))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "5a59e38b-5914-4dbd-b6fc-4be425f28d4b",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Visualize datasets with collisions data"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"id": "1906a0a9-264c-4b45-8def-e94ed69a7c44",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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xYpFev/exbKCkB69T1q3bm3169d373u9r1Qap2CSxuEdp45b50Zj1cW+zouCDfqpjCgvAKlMKb0P9RooYKKAwHfffeeCh3fffbdbxztm/W2NGDHCvafHjx/vjln79M96UyBIY1NfLAX19N5T4FZBjueee+6mx9yiRQv3XtB+9N5U2Z2CEDpWj94jCsbo/a9g6+rVq12QLKL0GaLPlDJlyrj9KMCnQKUCOx6dHwXB9D47deqU+7zxfPnll643lX/Gl2hb+jzR55/e1/ob03tCnyXah/72dO51PnWMCuqE54MPPnDvH31+KCij11OfGxpL/vz5fetpLDpPer/pvaa/Ez1Xr8PGjRtddqeCQ3qf6DXQZ47+dqRs2bLR/n6JyGep9q/AvzLk1EfNy9zzglgAEO2CAABAjJs6daqiI0GbNm0KOnToUFDy5MmDunbt6nu8Zs2aQaVKlfLdPnz4sFtfzwtJ9w8cONB3W7/rvo4dO/ruu3r1alC+fPmCkiRJEjRy5Ejf/f/8809QmjRpglq3bu27b+XKle75efPmDTp79qzv/s8++8zdP378eHf7+vXrQUWKFAmqX7+++91z8eLFoNtvvz2oXr16N4zpySefjND56d69u1t/7dq1vvvOnTvntluoUKGga9euBTv+F1544abbfOSRR9y6OuaIKF++fFCOHDmCTp486btvx44dQUmTJg1q1arVDa+lXiP/109LWK+fxqDbo0ePDncMIbczbtw497yPP/7Yd99///0XVLVq1aD06dP7Xi9vf1mzZg06deqUb90FCxa4+7/88stIjSM03mu6b9++oL/++svtc8qUKUGpUqUKypkzZ9CFCxfc66d1Zs6cGey5S5YsueH+ggULuvv0WEToPZsuXTq3by0HDx4MevPNN917vHTp0r73pN43mTNnDnr22WeDPf+PP/4IypQpU7D79d4N6dNPP3XjWrNmje8+PS+895xeE713NI5Lly757l+0aJHb1oABA4Idh+4bMmRIsG3cddddQRUqVIjQ33q7du1ueK/rtfds2bLFrae/K39t2rS5YZthKVOmjPsM0fn0rFq1yj1fr51H7wfdN3ny5GDPf/jhh93frve6eJ8zOkc6Xx59Rug1bNiwYbDn6z3uv5/wzrv+di9fvuy7/7333nP78v9b0mei/zre34Peu/7nU++tsM5RdL1fIvNZ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WwEUBbtU5qTyE53n8C6k1aRbAUSVxmzZssUFyxS48zI0ItKAOzrGEVEKWKncS5lbasSrc69+MDrf6kujad/V/Dw6qZeM3osKhigYo75EmqpcAQtlbei4FEQ4evSo6zej7KZJkya596vXg0mBJL2XFQwMWWKloGm+fPncuJWRosCcsqQ2bdrksq5Ex6hMQI1D50ANsr1p7vWaKcspNikA0axZM/ceURNkb5p77/MjIlkpCrA1adLEnS8dlzJodN4UOAotqKEgmF4Lvc76O1JQJKbpvA8bNsy955RBpCbtev3UnypkD6JGjRq57CFNX6+xaj0FlvR34H88ynzTfQrKqgG3Pot0zFqi6/0Smc9Sr7+X/q3Qe1nHrM+y6MhoBIAbxNj8aAAAINRp7kPypr32n+bem/K4ffv2bsrkDBkyBLVo0SLoxIkTYU59remZQ5sWPCRN/ey/L2/6aU3X3LdvXzdtdJo0aYIeeuihoF9++eWG52/bti3o0UcfddNqa4pzTUWtsa1YseKmYwrPoUOHgpo3b+6mKE+dOnVQ5cqV3TThIUV0mnv/86jp0CtVquSmhk+ZMqWbYvrFF190U6X7W758eVC1atXc8WfMmDGocePGQXv27Am2TlSmuf/777/dmIsXL+5eE72mVapUCfrss8+CbTvkduTPP/8Matu2bVC2bNnc2DX9uLfdkPsLbfp6//dLRMcRmsi8pppmXFO26zzqvasx9+7dO+j333/3raP3jd5jERXW+9l77yRLlsyt4/++1jTiOka9n+688043zfvmzZt96/z6669uini957TeY4895sbof840NfrLL78cVK5cOXcsGoN+f+edd24Yx+zZs9109fq7yJIlS1DLli3dPiJyHN759RfRv/XQ3pMXLlxwr7XGofd906ZNfVPSjxw5MigiZs2a5d4rOh5NT79w4cKgZs2auftC8/zzz7vtf/LJJzc85n3OfP755xH6bIzM+02vhaaH1zgrVqzoppwP+bek6eRff/11977Tenqd9Pmi10P3+fv+++/d+1d/b/6vQXS/XyLyWSpDhw4Nyps3b1DSpEmZ8h5AjEqi/9wYNgIAAACQkCirS43I1WtKvYKiQqWYysgK2btIlCn1wQcfuLJIr1QLABB/0IMIAAAASGBUIhmSSs5U3qRSqZtRGZX6RvlbtWqV7dixw2rVqnXD+upt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Nm2aZc6cOdDDABDPTZ482cqWLetme9BStWpVW7x4se/xWrVqWZIkSYItnTt3DuiYAQAAgJhCgAgJ3qlTp+zFF1+0YsWKudnYChQoYF27dnXTAIbm5MmTli9fPncxePr06VgfL4DYob/zkSNH2pYtW2zz5s1Wu3Zta9Kkie3evdu3zrPPPmvHjx/3LaNGjQromAEAAICYQpNqJHi///67W958800rWbKk/fLLLy4LQPd98cUXN6zfvn17l1Xw22+/BWS8AGJH48aNg90ePny4yypav369lSpVyt2XNm1ay5UrV4BGCAAAAMQeMogQJSq96NKli1syZcpk2bJls/79+1tQUJB7XNk38+fPD/YclYWpPEwGDRp0Q+mGFj1+5MiRUB/TPsOyYMECu/vuuy116tR2xx132ODBg+3q1avusdKlS9ucOXPcxeCdd97psgR0Ifjll1/61vHo4lBZQ7169YqBswYgrrp27ZrNmjXLLly44ErNPDNnznSfb/oc6du3r128eDGg4wQAAABiChlEiLLp06e7bJuNGze68oyOHTu68i2VZNyMAjD+vTx0ETZgwACrWLGi5c+f35VyeP744w+rW7eu1ahRI9RtrV271lq1amUTJkyw6tWr26FDh9xYZODAgaE+R+Vl6jmSPPn/+xPYs2ePDRkyxDZs2GA///zzTY/h8uXLbvGcPXv2ps8BELfs2rXLBYT+/fdfS58+vc2bN89lGspTTz1lBQsWtDx58tjOnTvtlVdesX379tncuXMDPWwAAAAg2hEgQpQpkPPWW2+57B7199GFlm5HJECkCzEtonKO1157zQWc9C29eCUdumhr2rSpu4BT1lFolC3Up08fa926tbutDKKhQ4da7969Qw0Q/f333+5xL4gkCvQ8+eSTNnr0aBfkikiAaMSIEW7fAOIvfXZt377dBY1VcqrPkdWrV7sgkf9nRJkyZSx37txWp04dF4RWNiIAAACQkFBihii75557XHDIoyDOgQMHXKlGRB09etQFgJRR1KJFixseb9eunZ07d84++eQTS5o09Lfrjh07XOaPF3TS4jWWDVkOoiyfhx56yF38+QecVDpSokQJe/rppyM8dj1HF5XecuzYsQg/F0DckDJlSitcuLBVqFDBBX3LlStn48ePD3XdKlWquJ8HDx6M5VECAAAAMY8MIsQIBY68fkSeK1eu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f0vbOHLkSJSODbgVFy5csHLlytnbb78d6uPHjx8Ptnz44YfufdqsWbNYHysAAAAARAVNqhOQJUuW2LRp02zVqlV2xx13WLZs2SL1/E2bNrlgkOett95yF7sKxmTKlMniIh3r/fffb//880+wINbcuXMtRYoUAR0bEo6GDRu6JSy5cuUKdnvBggXufam/QwAAAACIDwgQJSCHDh2y3Llz27333hul52fPnv2G7VWoUMGKFCli8Y2yqIBA+PPPP+2rr76y6dOnB3ooAAAAABBhibLE7Ny5c9ayZUuXLaOAijJl/EuSZsyYYRUrVrQMGTK4zICnnnrKTpw4ESxrReUjS5cutbvuusvSpEljtWvXdussXrzYSpQoYRkzZnTPu3jxou95169ftxEjRtjtt9/unqOSlS+++CLC4169erVVrlzZUqVK5cbdp08fu3r1qnusTZs29uKLL9rRo0fd2FQuFln+JWb6fc6cOfbRRx+57Wn7cvr0aevQoYMLJukYddw7duyI1H50frV9ZSU98cQT7vXwz4K67777XDZQ1qxZrVGjRi5QFVa5mbI05Lbbbgs2ztDK515//XVr166de10LFChg7733XrDtff/9964ELnXq1O71V5+Z8MrZLl++bGfPng22AAoM6T326KOPBnooAAAAABBhiTJA1LNnT1u3bp0tXLjQvvnmG1u7dq1t3brV9/iVK1ds6NChLvChIIECEV7gIWRPnUmTJrnAwrFjx6xFixYuwPLJJ5+4DIJly5bZxIkTfesrOKSAy7vvvmu7d++2Hj162NNPP+0CPzfz22+/2YMPPmiVKlVy45o8ebJ98MEHNmzYMPf4+PHjbciQIZYvXz5XFqZysVuh5zdo0MAdk7an7ctjjz3mC4Rt2bLF7r77bqtTp46dOnUqQttVsEfndNGiRW7RsY8cOTJYrxe9Pps3b7YVK1ZY0qRJ7ZFHHnHBtZDy58/vgliyb9++YOMMzZgxY1zgZ9u2bfb888/bc889554nCu6oCXGZMmXce0Gv/yuvvBLusej1VJDLWzQeQP2HFIBWoBEAAAAA4otEV2KmbBV9w68gjgIbMnXqVDc7kUdZJh71EJkwYYILzJw/f97Sp0/ve0zBmWrVqrnf27dvb3379nUBEK/vSPPmzW3lypUu0KBsE2WwLF++3KpWrerb9nfffWdTpkyxmjVrhjvu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mbIp1MOFGcsQ19SuXdumTZtmjRs3tsyZM7vgQrJkyXyPq3RM79vWrVvbqFGjXJPq1157zVceKWPHjnUzmCn4oIykzz//3JWkaXuIObVq1boh+ytk6Z8WAAAAAEAcCRBNmjTJlZitXbvWypQpYylSpAj2eNeuXaNzfECEqSeQMobUN0gz7alMzD+DSMEiTWffoUMHq1Spkt1xxx02evRoF1DSlPaSIUMGFzw6cOCAW1/rff311y5YBAAAAABAQpUkKLyv7UPxwQcfWOfOnd0FddasWX2ZF25jSZLYzz//HBPjBEL15JNPukDOxx9/HKXnr1u3zs1YdvDgwVvOilNJmwJTd7/4qiVL9X8BJ9xo4+j+gR4CAAAAACQIZ///69AzZ87ccl/cSGcQ9evXz03t3adPH7IqEDBXr161/fv32w8//GCdOnWK8PPmzZtn6dOnd1PZKyjUrVs3q1atGiWTAAAAAIBELdIBov/++8818CU4hED68ccf7d5777X777/fZbRFlPoOvfLKK252rGzZslndunVtzJgx0Tq2lcNeYUYzAAAAAEDCLjHr0aOHmy3q1VdfjblRAYk8tQ8AAAAAgDhdYnbt2jXXxHfp0qVWtmzZG5pUaxYoAAAAAAAAxB+RDhDt2rXLTQHulfn4829YDQAAAAAAgAQaIFq5cmXMjARIIKoPHZmgZjHbOmxAoIcAAAAAAIhhdJoGAAAAAABI5CKdQSSbN2+2zz77zM0EpVnN/M2dOze6xgYgDlIfskGDBtnHH39sf/zxh+XJk8fatGljr732GmWmAAAAAJBYMohmzZrlphffu3evzZs3z65cuWK7d++2b7/91nXORsyoVauWde/ePdDDAOyNN96wyZMn26RJk9zngG6rcf3EiRMDPTQAAAAAQGxlEL3++uv21ltv2QsvvGAZMmSw8ePH2+23326dOnWy3LlzR3UcAOKJ77//3po0aWIPPfSQu12oUCH79NNPbePGjYEeGgAAAAAgtjKIDh065LswTJkypV24cMGVlfTo0cPee++9qI4DASoVun79eqCHgXhGGYQrVqyw/fv3u9s7duyw7777zho2bBjooQEAAAAAYitAdNttt9m5c+fc73nz5vVNdX/69Gm7ePGiJYZSr65du1rv3r0tS5YslitXLtePRY4cOeKCZdu3b/etr/Oi+1atWuVu66duL1261O666y5LkyaN1a5d206cOGGLFy+2EiVKWMaMGe2pp5664XxevXrVunTp4kr5smXLZv3797egoCDf45cvX7ZevXq51yVdunRWpUoV335l2rRpljlzZlu4cKGVLFnSUqVK5fpIhUfPr1y5stuenlutWjX75ZdffI8vWLDA7r77bkudOrXdcccdNnjwYDdOz4EDB6xGjRruce3zm2++ccc/f/78YOdD58mj86f7dD49CkBUr17dna/8+fO710DBSY+yWJTd1q5dO5fZVqBAgRsClr/++qs9+eST7nXT8VSsWNE2bNgQ4WPB/+nTp4898cQTVrx4cUuRIoV7H6v8sWXLloEeGgAAAAAgtgJEutjXRb489thj1q1bN3v22WfdhXedOnUsMZg+fboLMCi4oN4rQ4YM8Z2TiFJQST1cVK5z7Ngxa9GihY0bN84++eQT++qrr2zZsmU39HTRfpMnT+5KeVTaN3bsWPvf//7ne1zBox9++MH1idq5c6d7fRo0aOCCNB4FndQzRs9T76gcOXKEOUYFR5o2bWo1a9Z029O2O3bs6GtEvHbtWmvVqpV7D+zZs8emTJniglDDhw93jys76dFHH3WZZjpX7777rr3yyisWlaw1HUezZs3cOGbPnu0CRjpef2PGjHFBn23bttnzzz9vzz33nO3bt889dv78eXccv/32mwuQKetFQT4vg+pmxxIaBeTOnj0bbEkM1KB+5syZ7r26detW975888033U8AAAAAQPyUJMg/BSUCTp06Zf/++6+buUgX1wqQKMhRpEgRN4uRMowSegaRSrMUUPAow0ZZQJ07d3b9mBSgKF++vHtMmTE6JytXrnTPVcbM/fffb8uXL/cF1EaOHGl9+/Z1gRBlroi2pQyaJUuW+ParLCMFdbwAjTI5FOxQQEOZQHqufuq18dStW9eNT9k1Cni0bdvWZeiUK1cuQq911qxZ3ZgVXAlJ29YxaOwezWylwMvvv//uglwqR1TGkTcmHY9KkdTgXMEn73z8888/LkNJND5lpRw+fNhlBnXo0MGSJUvmgjYeBYg0JmURKeNH6ynDaMaMGe5xva2V3aUsIJ1LZRMpu0rnVBlEkT2WsIJ82n5IZXv1tWSpUltCsXXYgGC3lcGl9576kHmGDRvmztdPP/0UgBECAAAAQOJ09uxZV2V05swZV40Uq02q/S+ukyZN6i4U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vvXr11tCoRJBZYDpPH7//fcuoKsg4JNPPhnooQEAAAAA4lOASAGhV1991TdDlb/atWu7ni7K4EDsUDmVAjHK2lEmjxpOq1FzRLJzWrdu7WacW7lype3evdv1oEmaNKkvq0alR5rlqlWrVi74c/jwYdu4caPrufPVV1+5dTTj2NKlS91jyvbRthRkEZWHaVuLFi2yv/76y2WrRIaepz5CylpShpoCj8r08S+Du9XzEFK3bt1c+aR6LClYprI5nZuE4tdff3XBIJ3DFi1aWNasWV0ATA27AQAAAACIcIBIWRyaxSq8JrjKJkLs0IW9sro+//xzK1mypMug0UxlETF27FjXX0e9pJSloz5CCu6oWbNHgRIFiJQZpKBC06ZNXdaRAjJedpBmMtPz9L5QUElT00vevHld82YFDTVLmmZEi2x/HAWmFHjU9t99910XoFRJY3SeB3+PP/649e/f33r37m0VKlRwgannnnvOEgpl+/3+++9u1jUFi3T7zjvvDPSwAAAAAABxRJKgCHaXVpaGLprD6lmii8/bb7892LTfiB/Ux0dBHU0Bz4xWUadp7tXwu+zo3pYsTaqAjWPrC0MCtm8AAAAAQOxfh6p1zK32xY3wNPfKGFFfmLCon8nVq1dvaTCIHeohpd49mslMb6IhQ/4voNCkSZNADw0AAAAAAARAhANESjTSbGWauSk0ZA7FLyrD2rdvn8sMU0nV2rVrLVu2bDGyL003r/KvsOzZs8dXupYQrO3YL17NaAYAAAAAQIRLzNq2bRuhDap3DeBPmWWaPSsshQoVCjc7LTGm9gEAAAAAEJvXoREOEAEIHwEiAAAAAEB8vQ6N8CxmAAAAAAAASJjif10PEMfU/XioJY+FWcy+bzssxvcBAAAAAEgcyCACAAAAAABI5AgQAQAAAAAAJHIEiIAEauTIkZYkSRLr3r17oIcCAAAAAIjjCBABCdCmTZtsypQpVrZs2UAPBQAAAAAQDxAgAhKY8+fPW8uWLe3999+32267LdDDAQAAAADEAwSIECG1atWyrl27Wu/evS1LliyWK1cuGzRoUISee+DAAatRo4alTp3aSpYsad98840rfZo/f757fNWqVe726dOnfc/Zvn27u+/IkSO++7777jurXr26pUmTxvLnz+/Gc+HCBd/jly9ftl69elnevHktXbp0VqVKFbdtz7Rp0yxz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O3e2tGnT2tKlS10QSAEb3W7WrJkLAvkHc9SHSIEeZRa1a9fOHnnkEd9U8KJAjxphazazn3/+2TWivvvuu+3VV18NdTx67LPPPnPj0XM1niFDhgQsGEPveAAAAABAbGIWMyCau8dH9yxmAAAAAACEhlnMAAAAAAAAEG0oMQOi2WvVJt5y5BYAAAAAgNhEBhEAAAAAAEAiR4AIAAAAAAAgkSNABAAAAAAAkMjRgwiIZu+sb2Op06WI8Prdq82O0fEAAAAAAHAzZBABAAAAAAAkcgSIAAAAAAAAEjkCREAcNGLECKtUqZJlyJDBcuTIYU2bNrV9+/YFelgAAAAAgASKAFECN23aNMucOfNN10uSJInNnz/fYtOqVavcfk+fPh1txxEZR44ccfvfvn27xTWrV6+2F154wdavX2/ffPONXblyxR544AG7cOFCoIcGAAAAAEiAaFKdwD3++OP24IMP+m4PGjTIBYJCBkWOHz9ut912myUm+fPnd8edLVs2i2uWLFlyQ4BMmURbtmyxGjVqBGxcAAAAAICEiQBRDPnvv/8sZcqUgR6GpUmTxi03kytXLktskiVLFm+O+8yZM+5nlixZAj0UAAAAAEACRIlZBNWqVcu6dOnilkyZMrmsk/79+1tQUJB7vFChQjZ06FBr1aqVZcyY0Tp27OjunzNnjpUqVcpSpUrl1hkzZkyw7XrPe/LJJy1dunSWN29ee/vtt4Otc/ToUWvSpImlT5/ebbtFixb2559/+h7fsWOH3X///a5fjR6vUKGCbd68+YbSLP0+ePBgt75Kq7TovtBKzHbt2mW1a9d2waWsWbO64zl//rzv8TZt2ri+OG+++ablzp3braOSKJVCeWbMmGEVK1Z041Ig5qmnnrITJ05E22syefJku/POO10grlixYm5//n766Se77777LHXq1FayZElbvnx5sOMMrcRs9+7d1qhRI3ceNe7q1avboUOHQt3/5cuX7ezZs8GWmHD9+nXr3r27VatWzUqXLh0j+wAAAAAAJG4EiCJh+vTpljx5ctu4caONHz/exo4da//73/98jytYUq5cOdu2bZsLHqkcSMGcJ554wgVcVN6l+72gjGf06NG+5/Xp08e6devm+s54wQEFh06dOuX60uj+n3/+2ZWOeVq2bGn58uWzTZs2uX1qGylSpLhh/HrOSy+95AJWKq3S4r8d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",
|
|
"text/plain": [
|
|
"<Figure size 1200x600 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"# Sort values for better visualization\n",
|
|
"df_non_zero_collision = df_non_zero_collision.sort_values(by=\"collisions\", ascending=False)\n",
|
|
"\n",
|
|
"# Plot\n",
|
|
"plt.figure(figsize=(12, 6))\n",
|
|
"ax = sns.barplot(\n",
|
|
" y=\"name\", \n",
|
|
" x=\"collisions\", \n",
|
|
" hue=\"name\", # Assign hue to the y-variable\n",
|
|
" data=df_non_zero_collision, \n",
|
|
" palette=\"viridis\", \n",
|
|
" legend=False # Hide legend since hue is just for color mapping\n",
|
|
")\n",
|
|
"\n",
|
|
"# Annotate bars with their values\n",
|
|
"for index, value in enumerate(df_non_zero_collision[\"collisions\"]):\n",
|
|
" ax.text(value + 0.5, index, str(value), va='center', fontsize=10, color='black')\n",
|
|
"\n",
|
|
"# Labels and title\n",
|
|
"plt.xlabel(\"Collisions\")\n",
|
|
"plt.ylabel(\"Dataset Name\")\n",
|
|
"plt.title(\"Number of Collisions Per Reasoning-gym dataset\")\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "b3c11508-0a4a-4578-82f5-3908c5a45604",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "51263e94-0867-4b2a-b205-ebafb316f811",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "reasoning",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.11.11"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|