{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## The Curse of Dimensionality\n",
    "\n",
    "A hypercube with side length `1`, in `d` dimensions is defined to be the set of points `(x1, x2, ..., xd)` such that `0 <= xj <= 1` for all `j = 1, 2, ..., d`. The boundary of the hypercube is defined to be the set of all points such that there exists a `j` for which `0 <= xj <= 0.05`  or `0.95 <= xj <= 1` (namely, the boundary is the set of all points that have at least one dimension in the most extreme `10%` of possible values). What proportion of the points in a hypercube of dimension `50` are in the boundary?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Answer: 0.19\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x117181710>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "def proportion_in_boundry(bndry, dim):\n",
    "    return 1 - (1 - bndry) ** dim\n",
    "\n",
    "# Answer\n",
    "print('Answer: {}'.format(np.around(proportion_in_boundry(0.1, 2), decimals=3)))\n",
    "\n",
    "# Chart of proportion in a 10% boundry with exponents 1 - 50.\n",
    "\n",
    "x = pd.Series(np.arange(1,50))\n",
    "y = pd.Series([proportion_in_boundry(0.1, dim) for dim in x])\n",
    "df = pd.DataFrame([x,y], index=['dimension', 'proportion located in most extreme 10% of volume']).T\n",
    "_, ax = plt.subplots(figsize=(20,10))\n",
    "sns.lineplot(ax=ax, x='dimension', y='proportion located in most extreme 10% of volume', data=df)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "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.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}