Skip to content

Instantly share code, notes, and snippets.

@UmarZein
Created November 22, 2023 11:12
Show Gist options
  • Save UmarZein/5daf80872503f50c5290ec044a3395e3 to your computer and use it in GitHub Desktop.
Save UmarZein/5daf80872503f50c5290ec044a3395e3 to your computer and use it in GitHub Desktop.
Tugas Besar GA
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "7e173f7d-fe0a-4df2-9fee-517fa750b19c",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from matplotlib import cm\n",
"from matplotlib.ticker import LinearLocator\n",
"import seaborn as sns\n",
"import pandas as pd\n",
"from typing import Callable\n",
"import time"
]
},
{
"cell_type": "markdown",
"id": "16fa2db9-163a-4280-99fd-47878b48ee6a",
"metadata": {},
"source": [
"### Pernyataan fungsi\n",
"\n",
"$$\n",
"f(x_1,x_2)=-(sin(x_1)cos(x_2)+\\frac{4}{5}exp{(1-\\sqrt{x_1^2+x_2^2})})\n",
"$$"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "dbaf1fee-74da-43b5-befe-968f49123a3a",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"def f(x1,x2):\n",
" return -(np.sin(x1)*np.cos(x2) + (4/5)*np.exp(1-np.sqrt(x1**2+x2**2)))"
]
},
{
"cell_type": "markdown",
"id": "70887524-f236-435e-a289-8242be81e8ea",
"metadata": {},
"source": [
"### Illustrasi Ruang Solusi"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "799107e1-9eb0-472f-955a-e954d56c3581",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"Text(50.722222222222214, 0.5, 'x2')"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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I51169ap4cOHK8dxlOu6auLEidpu6+UcP8dx1OjRo9WkSZO0H8dx1NFHH60mTZqkTjjhhLL0TSmlxowZo/7whz8opZT64Q9/qKqrq9Ull1yili5dqubOnav69OmjfvzjH5etf1dddZWqqalRn/nMZ1RDQ4O69tpr1YABA9TVV1+tFi9erPbbbz/17W9/u2z9U0qp5uZmddttt6kZM2aoKVOmqKlTp6oZM2aoH/7wh6q5ubmsfatU9vnJyrRp09QnPvEJ7YvuQzZt2qQ+8YlPqOnTp3d/x5RShx9+uLrtttuUUkr94Q9/UFVVVeoHP/hB+/E77rhDHX744WXpm1JK1dTUqPXr1yullBo/fry69tprteM33XSTGjNmTBl69gGO46gDDjhAjRgxQvtxHEftv//+asSIEWrkyJFl6ds555yjPv7xj6tVq1ap5cuXq3HjxqmxY8eqrVu3KqU++M/WcZyy9E0ppaqqqtQrr7xS9PjLL7+sqqqqurFHOqeddpo65ZRT1Lvvvqv+8Y9/qFNPPVWNHDlSvfnmm0qp8k5WFi9erEaOHKn+53/+R/t9IpFQL774Yln6VEivXr3ax2nMmDHq1ltv1Y7fc8896ogjjihH15RSSh144IHq/vvvV0optXbtWuV5nrr77rvbj//6179WBx10ULm6p1588UU1ZMgQVVdXp6ZPn64uuugideGFF6rp06eruro6tf/++8fCzpXGPj9Z6d27t1q7dm3R488++6zq3bt3N/ZoN9XV1e1fKkoplUwm1QsvvNDeXr9+verVq1c5uqaUUqq2tlY9//zzSimlBg0a1P7vD3nttdfK2r+LLrpIjR49Wr300kva7+Pwn8aQIUPUM888095ua2tT06dPV6NHj1bvv/9+2VdWRo4cqW6//faix2+//fayTfSU+uB9+9vf/qb9bvbs2WrYsGHqn//8Z9nH769//as65JBD1Ne+9jWVzWaVUvF475RSasCAAWr16tVKqQ/GEb//XnvtNVVdXV2OrimlOv7e+/vf/97efuONN8r6vTJp0iR11llnqUwmYxzLZDLq85//vJo0aVIZelbZ7PPZQNXV1bJ169aix7dt2ybV1dXd2KPdDBgwQN58800REdm0aZPk83nZsGFD+/E333xT+vfvX5a+iYhMnDhRfvazn4mIyJgxY+SJJ57Qjq9YsUL233//MvTsA2699VZZsGCBnHTSSfLf//3fZetHRzQ1NUm/fv3a2+l0Wn71q1/JiBEj5IQTTpAtW7aUsXcil112mcyaNUvmzJkjv/nNb+Tpp5+WZ555Rn7zm9/InDlz5Ctf+YpcccUVZetfa2uroVn4wQ9+INOmTZOJEyfKq6++WqaefcDRRx8ta9askXfffVfGjRsnL7zwQlm1b4VMnTpVli5dKiIf+PCvfvUr7fgvfvELOeigg8rRNRERaWhokJdeeklERP7xj3+I7/vtbRGRF198UQYNGlSu7skzzzwj3/rWtySVShnHUqmUfPOb35RnnnmmDD2rcMo9W+pq5syZo4YOHap++ctfqu3bt7f/fvv27eqXv/ylGjZsmLrkkkvK0reLL75YHXzwwerqq69WH/vYx9S5556rDjvsMPXII4+oRx99VB111FHqvPPOK0vflFLqpZdeUgMGDFDnnHOO+n//7/+pPn36qC9+8YvqmmuuUeecc45Kp9PqjjvuKFv/PmTjxo3qE5/4hJoyZYp65513YvEX7lFHHaV+9atfGb/P5XLqtNNOU8OGDSvryoBSSv385z9X48ePV4lEQjmOoxzHUYlEQo0fP17dd999Ze3b0UcfrX7yk590eOziiy9WdXV1ZR+/D/nZz36m6uvrleu6ZX/vlFLq7bffViNGjFDHH3+8mjdvnqqurlbHHXecuvDCC9Xxxx+vUqmUeuihh8rWvyuvvFLtt99+6oILLlAjR45U8+fPV8OGDVNLly5Vt9xyixo6dKi69NJLy9a/IUOGqAceeKDo8WXLlqkhQ4Z0Y4+IUhUQBspkMmrWrFkqlUop13VVVVWVqqqqUq7rqlQqpb7yla90uNzXHTQ3N6sLLrhAjRo1Ss2aNUtls1n13e9+V6VSKeU4jpo0aZL617/+VZa+fchrr72mzjrrLFVTU9P+H1oymVTHHHOMWrZsWVn7VkgQBGrx4sWqoaFBeZ5X9v80rrjiCjV58uQOj+VyOTVt2rTY/GebzWbVpk2b1KZNm9pDGuVm8eLFaurUqUWPf+UrXymr5gd566231AMPPBAb8eW2bdvU17/+dXXEEUeoqqoqlUql1PDhw9XZZ5+tVq1aVda+5fN5dfXVV6tTTjmlXQf3s5/9TA0dOlQNGDBAzZgxo6zjuGDBAlVbW6u++93vqrVr16p33nlHbd68Wa1du1Z997vfVf369VOLFi0qW/8qlYpIXRYR2bFjh6xZs0Y2b94sIh8sRY4dO1b69u1b5p7p/OUvf5GxY8dKLpeTmpqacnenHfW/aa3r1q2T0aNHx27cPuSPf/yjrFy5UmbOnKmFYbqbfD4vLS0t2jj95S9/kXHjxkk6nRbf92Xjxo0yfPjwsvWRENIx1113ndx4443tpS5EPvgObGhokLlz55Y1RFqpVMxkpafQt29fWbt2rRx44IHl7kqHsH97T5z7RggxWb9+vfYH7oe1a0j3s88LbG3861//kquuuqrc3Wgn7nNH9m/viXPfCCEmI0eOlAkTJsiECRPaJypvvfWWnHfeeWXuWeVR8ZOVzZs3y6JFi8rdDUIIIT2ArVu3yl133VXublQc+3w947/97W+hx9etW9dNPdkzbr31Vqmvry93N4rC/u09ce4bIeQDHnzwwdDjr7/+ejf1hBSyz2tWXNcVx3E6XIL/8PeO44jv+2XoHSGEkDgR9n/Gh/D/jO5nnw8DDRgwQH74wx/K+vXrjZ/XX39dfve735W7i4QQQmLC4MGD5f7775cgCDr8efbZZ8vdxYpknw8DjR07VjZt2lQ0RXT79u0UPhJCCBGRD/7PePbZZ+W0007r8Lht1YV0Dfv8ZGXmzJmya9euoseHDRsmd9xxRzf2iBBCSFy5/PLLQ//POOigg2TFihXd2CMiUgGalY4oLM5FCCGEkHhTkZMVFucihBBCeg77vMC2IypwfkYIIYT0WCpyskIIIYSQnkNFTlZYnIsQQgjpOVSkZoUQQgghPYeKXFkhhBBCSM+BkxVCCCGExBpOVgghhBASazhZIYQQQkis4WSFEEIIIbGGkxVCSDvvvPOOnH322XLooYeK67oyd+7ccneJEEI4WSGE7CaTych+++0nV155pXz0ox8td3cIIUREOFkhpKJ49913paGhQRYvXtz+u2eeeUZSqZQ8/vjjMmLECLnxxhvlnHPOkdra2jL2lBBCdpModwcIId3HfvvtJ7fffrucdtppMnnyZDnssMPki1/8osyePVsmT55c7u4RQkiHcLJCSIXx6U9/Wi688EL5whe+IEcffbRUVVXJtddeW+5uEUJIURgGIqQCuf766yWfz8svfvELueeee6SqqqrcXSKEkKJwskJIBfL666/Lpk2bJAgCefPNN8vdHUIICYVhIEIqjGw2K1/4whfkzDPPlMMOO0zOP/98eeGFF7gTOSEktnCyQkiFceWVV0pTU5N8//vflz59+sgjjzwi559/vvzud78TEZG1a9eKiEhzc7O8++67snbtWkmlUnLEEUeUsdeEkErGUUqpcneCENI9PPHEE3LiiSfKihUr5LjjjhMRkQ0bNshHPvIRaWxslK985SviOI7xueHDh8sbb7zRzb0lhJAP4GSFEEIIIbGGAltCCCGExBpOVgghhBASazhZIYQQQkis4WSFEEIIIbGGkxVCCCGExBpOVgghhBASazhZIYQQQkis4WSFEEIIIbGGkxVCCCGExBpOVgghhBASazhZIYQQQkis+f/Qb8z8CswF2AAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"X_ = np.arange(-10, 10, 0.2)\n",
"Y_ = np.arange(-10, 10, 0.2)\n",
"X, Y = np.meshgrid(X_, Y_)\n",
"Z = f(X,Y)\n",
"\n",
"sns.heatmap(Z,center=0)\n",
"plt.xticks(range(0, 101, 10), range(-10, 11, 2))\n",
"plt.yticks(range(0, 101, 10), range(-10, 11, 2))\n",
"plt.xlabel('x1')\n",
"plt.ylabel('x2')"
]
},
{
"cell_type": "markdown",
"id": "0bf87f74-434f-4c21-8972-9ce166ae52eb",
"metadata": {},
"source": [
"Untuk fungsi minimum, \n",
"$$\n",
"x_1=x_2=0\n",
"$$\n",
"___\n",
"untuk fitness, kami gunakan \n",
"$$\n",
"-f(x_1,x_2)\n",
"$$"
]
},
{
"cell_type": "code",
"execution_count": 220,
"id": "07bcc946-fcf1-4b0a-8d91-c614d71ae5ae",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"def fitness(x1,x2):\n",
" return -f(x1,x2)\n",
"\n",
"def fitness2(x1,x2):\n",
" return 1/(f(x1,x2)+np.finfo(np.float32).eps)"
]
},
{
"cell_type": "markdown",
"id": "12fb33de-50b4-40c9-953b-051336eaa3dc",
"metadata": {},
"source": [
"### Proses Encoding\n",
"\n",
"1. scale: $\\mathbb{R}^2 \\in [-10,10] \\Rightarrow \\mathbb{Z}^2 \\in [-2^{31},2^{31}-1] $\n",
"\n",
"2. binarize with int-32 encoding and concatenate: $\\mathbb{Z}^2 \\in [-2^{31},2^{31}-1] \\Rightarrow \\{0,1\\}^{64}$\n",
"\n",
"### Proses Decoding\n",
"\n",
"1. decompose and revert to integer: $\\{0,1\\}^{64} \\Rightarrow \\mathbb{Z}^2 \\in [-2^{31},2^{31}-1]$\n",
"\n",
"2. unscale: $\\mathbb{Z}^2 \\in [-2^{31},2^{31}-1] \\Rightarrow \\mathbb{R}^2 \\in [-10,10]$\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "823a4025-fcda-4943-a31c-8bf170888f90",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"def scale(x: np.ndarray):\n",
" I32MAX=np.iinfo(np.int32).max\n",
" return (x/10*I32MAX).astype(np.int32)\n",
"\n",
"def unscale(x: np.ndarray):\n",
" I32MAX=np.iinfo(np.int32).max\n",
" return x/I32MAX*10\n",
"\n",
"def int_to_bin(arr: np.ndarray, n_bytes=1): \n",
" arr_ = np.fliplr(arr[:, None].view(np.uint8))[:, -n_bytes:] \n",
" return np.unpackbits(arr_, axis=1)\n",
"\n",
"def bin_to_int(x: np.ndarray):\n",
" return x.dot(2**np.arange(x.shape[-1],dtype=np.int32)[::-1])"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "b951ab92-8603-4ae9-b64c-10d23a0755b3",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"def encode_(x: np.ndarray):\n",
" return int_to_bin(scale(x),4)\n",
"\n",
"def decode_(x: np.ndarray):\n",
" return unscale(bin_to_int(x))"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "f542f2a5-cda1-4e09-8b58-ec7bf633e6a3",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"def encode(x1: np.ndarray,x2: np.ndarray):\n",
" return np.concatenate([encode_(x1),encode_(x2)],axis=1)\n",
"\n",
"def decode(c: np.ndarray):\n",
" return decode_(c[...,:32]),decode_(c[...,32:])"
]
},
{
"cell_type": "markdown",
"id": "e397e2fb-a601-4a94-a63a-f2c421cbc031",
"metadata": {},
"source": [
"___\n",
"> fungsi softmax ini akan digunakan nanti"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "ca087ebb-9ca9-4bef-87a6-e05d77e079a4",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"def softmax(x):\n",
" return np.exp(x)/np.exp(x).sum()"
]
},
{
"cell_type": "markdown",
"id": "80909cdc-4b8f-4cbd-af39-7b698445f753",
"metadata": {},
"source": [
"## Seleksi Orang Tua\n",
"\n",
"### Roulette Wheel\n",
"\n",
"Probabilitas kromosom proporsional dengan fitnessnya. Untuk merubah kumpulan fitness menjadi kumpulan probabilitas, kami aplikasikan fungsi softmax"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "5316b839-3165-40fc-be7f-9cc4c0d57f31",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"def roulette_wheel_selection(k: np.ndarray):\n",
" scores=fitness(*decode(k))\n",
" probs=softmax(scores)\n",
" chosen_idx=np.random.choice(k.shape[0],k.shape[0],p=probs)#index\n",
" chosen=k[chosen_idx]\n",
" return chosen.copy()"
]
},
{
"cell_type": "markdown",
"id": "5846bbd4-f17a-4bc0-8029-8aeb5b67e45e",
"metadata": {},
"source": [
"### Tournament Selection\n",
"\n",
"Mensimulasikan turnamen sebanyak $N$ ronde dimana $N$ adalah jumlah populasi dan setiap ronde mempertarungkan $k$ kromosom"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "f0fbad6c-c0cf-43c7-869a-633b03237987",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"def tournament_selection(k: np.ndarray, poolsize: int):\n",
" chosen_idx=np.random.choice(k.shape[0],k.shape[0]*poolsize)#index\n",
" return k[chosen_idx][fitness(*decode(k[chosen_idx].reshape(-1,poolsize,64))).argmax(-1)+np.arange(k.shape[0])*poolsize]"
]
},
{
"cell_type": "markdown",
"id": "7a12aff8-5f9b-40b4-af1a-3af5638db521",
"metadata": {},
"source": [
"## Crossover\n",
"\n",
"### Rekombinasi Seragam (Varian _generalized_)\n",
"\n",
"Rekombinasi terjadi pada level gen: pertukaran gen dapat terjadi pada posisi $i$ dengan probabilitas $P_c$ atau `z` dalam fungsinya"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "5af92cae-f423-4624-9bfd-a3ad9a9d6a8f",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"def rekombinasi_seragam(x: np.ndarray,y: np.ndarray,z: np.ndarray):\n",
" return np.concatenate([(1-z)*x+z*y,z*x+(1-z)*y])"
]
},
{
"cell_type": "markdown",
"id": "0884c76d-88b6-41db-bf22-e0b59cc8e1b9",
"metadata": {},
"source": [
"Kami lakukan shuffle sebelum melakukan rekombinasi"
]
},
{
"cell_type": "code",
"execution_count": 226,
"id": "ffa19cea-0618-4da7-b37d-6dc04ae5e5f4",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"def rekombinasi(k: np.ndarray,pc=0.5):\n",
" x1=k[:k.shape[0]//2]\n",
" np.random.shuffle(k) # metode alternatif (tidak digunakan): split menjadi 2 (kanan & kiri) kemudian silang\n",
" x2=k[:k.shape[0]//2]\n",
" z=np.random.random(x1.shape)<pc\n",
" return rekombinasi_seragam(x1,x2,z)"
]
},
{
"cell_type": "markdown",
"id": "ce615815-8d50-4be6-9264-f8be5c55f3ca",
"metadata": {},
"source": [
"## Mutasi\n",
"\n",
"Mutasi terjadi pada level gen atau sub-kromosom. Suatu gen/bit pada kromosom biner dapat mem-_flip_ dari 0 ke 1 atau sebaliknya dengan probabilitas $P_m$ atau `p` pada fungsinya"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "6060e9e7-4165-4b2d-8fd9-ab13e41eaf8e",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"def mutasi(k: np.ndarray, p: float = 0.05):\n",
" mutation_points=np.random.random(k.shape)<p\n",
" return k^mutation_points # XOR = bit flip"
]
},
{
"cell_type": "markdown",
"id": "4f6cdb1d-382e-47d1-9642-2401edcfa962",
"metadata": {},
"source": [
"___\n",
"fungsi `best_chromosom` mengambil matrix $k: \\{0,1\\}^{N,64}$ dan mengeluarkan $x_1, x_2: \\mathbb{R}^2 \\in [-10,10]$ terbaik dari $N$ kromosom pada matrix tersebut"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "c2136cc2-563e-4b5f-81ca-72cdef3049b5",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"def best_chromosome(k):\n",
" return decode(k[np.argmax(fitness(*decode(k)))])"
]
},
{
"cell_type": "code",
"execution_count": 227,
"id": "beb45537-5e8b-4140-90b1-b7316eda8ac1",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"def GA(npop: int, max_epochs: int, pm: float, pc: float, \n",
" selection: str, elitism: bool,stopping_predicate: str):\n",
" #start timer\n",
" START=time.time()\n",
" \n",
" #inisialisasi populasi\n",
" k: np.ndarray=(np.random.random((npop,64))>0.5)\n",
" #best chromosome at initialization\n",
" best=best_chromosome(k)\n",
" \n",
" # seleksi orang tua\n",
" if selection.startswith(\"tournament-\"):\n",
" tournament_k=abs(int(selection.split(\"tournament-\")[1]))\n",
" selection=lambda k: tournament_selection(k,tournament_k)\n",
" else:\n",
" selection=roulette_wheel_selection\n",
" \n",
" # acc = \"hype\" untuk memberhentikan loop saat \"hype\"-nya mati\n",
" acc=None\n",
" prev_best=None #digunakan untuk kalkulasi hype\n",
" \n",
" graph=[].copy()#perekaman graph fitness\n",
" for e in range(1,max_epochs+1):\n",
" old_k=k.copy()#perekaman previous batch\n",
" k=selection(k)#seleksi orang tua\n",
" k=rekombinasi(k,pc)\n",
" k=mutasi(k,pm)\n",
" if elitism:#(optional) elitisme\n",
" k=np.concatenate([\n",
" old_k,k\n",
" ],axis=0)\n",
" k=np.unique(k,axis=0) #filter unik untuk mencegah oversaturized gene-pool\n",
" k=k[np.argsort(fitness(*decode(k)))][-len(old_k):]#filter top N kromosom berdasarkan fitness\n",
" \n",
" tmp_best_idx=best_chromosome(k)#rekam best new x1,x2\n",
" cur_best_fitness=fitness(*tmp_best_idx)#rekam best new fitness\n",
" \n",
" graph.append(cur_best_fitness)\n",
" \n",
" if cur_best_fitness>fitness(*best):#update best overall fitness \n",
" best=tmp_best_idx\n",
" \n",
" #implementasi hype\n",
" if acc is None:\n",
" acc=cur_best_fitness\n",
" prev_best=acc\n",
" \n",
" acc=acc*0.7+(fitness(*best)-prev_best)*0.3 #hype akan mendekati 0 jika fitness terbaik tidak meningkat\n",
" prev_best=fitness(*best)\n",
" \n",
" \n",
" if stopping_predicate=='converge' and acc<0.001: # break loop jika hype < epsilon\n",
" break\n",
" \n",
" if time.time()-START > 4: #stop GA jika terlalu lama (4 detik)\n",
" break\n",
" \n",
" #beres-beres\n",
" graph=np.array(graph)\n",
" best_fitness=fitness(*best)\n",
" duration=time.time()-START\n",
" \n",
" return npop, max_epochs, pm, pc, selection, elitism,graph,e,best_fitness,duration,stopping_predicate\n",
" "
]
},
{
"cell_type": "markdown",
"id": "25fc6f87-b003-4f6a-892e-a06f1192346b",
"metadata": {},
"source": [
"### Tes fungsi GA"
]
},
{
"cell_type": "code",
"execution_count": 232,
"id": "8e72548d-de71-46c7-b3e9-7313b197260b",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"<Axes: >"
]
},
"execution_count": 232,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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X7BggT7++GOTqrKPPXv2KC8vT0VFRfrOd76jL7/80uySbKempkaNjY0DzmGXy6Wrr76aczgM1q9fr6ysLE2dOlXf//731dTUZHZJltPS0iJJyszMlMQ5G05/fWwDrHzexmQYaW5uVl9fn7Kzswe8np2drcbGRpOqsodLL71UL7/8st577z09//zzamxs1OWXX66jR4+aXZqtBM5TzuHwKy0t1SuvvKJ169bpySef1Keffqprr71WPp/P7NIswzAMlZWV6YorrtCsWbMkcc6Gy5mOrWT989YSd+2NFIfDMeC5YRinvYbQlJaWBn8/e/ZszZs3T+edd55eeukllZWVmViZPXEOh99tt90W/P2sWbN08cUXa+LEifrjH/+oW265xcTKrGP58uXatm2bPvroo9Pe45wdmcGOrdXP25gcGRk3bpzi4+NPS+NNTU2npXaMTGpqqmbPnq09e/aYXYqtBK5Q4hyOvNzcXE2cOJFzeIjuvfderVmzRh988IHy8/ODr3POjtxgx/ZMrHbexmQYSUxM1Jw5c7R27doBr69du1aXX365SVXZk8/n065du5Sbm2t2KbZSVFSknJycAedwd3e3NmzYwDkcZkePHlVdXR3n8DkYhqHly5frzTff1Lp161RUVDTgfc7Z4TvXsT0Tq523MTtNU1ZWpjvuuEMXX3yx5s2bp1/96leqra3V0qVLzS7N0h544AEtXLhQhYWFampq0qOPPiqv16vFixebXZrltLW1ae/evcHnNTU1qqysVGZmpgoLC3X//ffrscce05QpUzRlyhQ99thjSklJ0e23325i1dHvbMc1MzNTjzzyiG699Vbl5uZq//79evDBBzVu3Dh985vfNLHq6Lds2TK9+uqrevvtt+V2u4MjIB6PR8nJyXI4HJyzw3SuY9vW1mb989bEK3lM98wzzxgTJ040EhMTjYsuumjAZVIYnttuu83Izc01nE6nkZeXZ9xyyy1GVVWV2WVZ0gcffGBIOu2xePFiwzD6L5V8+OGHjZycHMPlchlXXXWVsX37dnOLtoCzHdeOjg5jwYIFxvjx4w2n02kUFhYaixcvNmpra80uO+qd6ZhKMl588cXgNpyzw3OuY2uH89ZhGIYxmuEHAADgq2KyZwQAAEQPwggAADAVYQQAAJiKMAIAAExFGAEAAKYijAAAAFMRRgAAgKkIIwAAwFSEEQAAYCrCCAAAMBVhBAAAmIowAgAATPX/AZ9zIjX7ezypAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"npop_, max_epochs_, pm_, pc_, selection_, elitism_,graph_,epoch_,best_fitness_,duration_,stopping_predicate_=GA(\n",
" 500, 100, 0.1,0.1, 'roulette', True,'converge')\n",
"pd.Series(graph_).plot()"
]
},
{
"cell_type": "markdown",
"id": "1b13c7b3-fbd3-48fe-9f9c-9df70442563f",
"metadata": {},
"source": [
"### Pendataan hyperparameter dan output GA (durasi, best fitness, num epochs)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "45030a4f-6cfb-412c-aa0b-8f8bd42fa807",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"npops=[]\n",
"pms=[]\n",
"pcs=[]\n",
"selections=[]\n",
"elitisms=[]\n",
"graphs=[]\n",
"epochs=[]\n",
"best_fitnesses=[]\n",
"durations=[]\n",
"stopping_predicates=[]\n",
"for npop in (500,100,200):\n",
" for pm in (0.0,0.001,0.01, 0.1, 0.2, 0.3):\n",
" for pc in (0.0,0.1,0.2,0.5):\n",
" for selection in ('roulette','tournament-5'):\n",
" for elitism in (True, False):\n",
" for stopping_predicate in ('converge',):\n",
" npop_, max_epochs_, pm_, pc_, selection_, elitism_,graph_,epoch_,best_fitness_,duration_,stopping_predicate_=GA(\n",
" npop, 100, pm,pc, selection, elitism,stopping_predicate)\n",
" npops.append(npop_)\n",
" pms.append(pm_)\n",
" pcs.append(pc_)\n",
" selections.append(selection)\n",
" elitisms.append(elitism_)\n",
" graphs.append(graph_)\n",
" epochs.append(epoch_)\n",
" best_fitnesses.append(best_fitness_)\n",
" durations.append(duration_)\n",
" stopping_predicates.append(stopping_predicate_)"
]
},
{
"cell_type": "markdown",
"id": "5e60dc74-bb8f-4f9d-8dd2-fb6d656a8278",
"metadata": {},
"source": [
"### Convert ke `pandas.DataFrame` agar mudah ditransformasi"
]
},
{
"cell_type": "code",
"execution_count": 233,
"id": "8f2cd150-5835-4958-8418-5d44516bca01",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"recordings=pd.DataFrame({'npops':npops,\n",
"'pms':pms,\n",
"'pcs':pcs,\n",
"'selections':selections,\n",
"'elitisms':elitisms,\n",
"'graphs':graphs,\n",
"'epochs':epochs,\n",
"'best_fitnesses':best_fitnesses,\n",
"'durations':durations,\n",
"'stopping_predicates':stopping_predicates,})"
]
},
{
"cell_type": "code",
"execution_count": 235,
"id": "e2d7dda1-f5f9-4fb9-8f8e-e5e105793c83",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"recordings.to_csv(\"hyper_params_res_new.csv\") #save to csv file"
]
},
{
"cell_type": "code",
"execution_count": 174,
"id": "5012a647-f36a-4a7a-a767-776fed886a0a",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"<Axes: xlabel='best_fitnesses', ylabel='Density'>"
]
},
"execution_count": 174,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.kdeplot(data=recordings[recordings['stopping_predicates']=='converge'],x='best_fitnesses',hue='pms')"
]
},
{
"cell_type": "markdown",
"id": "91a79fe9-bf1b-474f-a025-76b3a68b2947",
"metadata": {},
"source": [
"### Matrix korelasi (lower-triangle)"
]
},
{
"cell_type": "code",
"execution_count": 204,
"id": "42b40e62-eebf-4f11-b82e-0858150e563e",
"metadata": {
"tags": []
},
"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>npops</th>\n",
" <th>pms</th>\n",
" <th>pcs</th>\n",
" <th>elitisms</th>\n",
" <th>epochs</th>\n",
" <th>best_fitnesses</th>\n",
" <th>durations</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>npops</th>\n",
" <td>0.000000e+00</td>\n",
" <td>0.000000e+00</td>\n",
" <td>0.000000e+00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>pms</th>\n",
" <td>-1.805991e-16</td>\n",
" <td>0.000000e+00</td>\n",
" <td>0.000000e+00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>pcs</th>\n",
" <td>8.806313e-17</td>\n",
" <td>-7.347463e-17</td>\n",
" <td>0.000000e+00</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>elitisms</th>\n",
" <td>-3.890157e-16</td>\n",
" <td>2.047074e-16</td>\n",
" <td>2.472663e-17</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>epochs</th>\n",
" <td>-8.057474e-02</td>\n",
" <td>-5.164779e-02</td>\n",
" <td>-1.106142e-02</td>\n",
" <td>0.191294</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>best_fitnesses</th>\n",
" <td>2.229390e-01</td>\n",
" <td>3.377727e-01</td>\n",
" <td>4.941080e-02</td>\n",
" <td>0.081799</td>\n",
" <td>0.409325</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>durations</th>\n",
" <td>5.837515e-01</td>\n",
" <td>-1.187228e-01</td>\n",
" <td>-4.871711e-02</td>\n",
" <td>0.566687</td>\n",
" <td>0.364726</td>\n",
" <td>0.245542</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" npops pms pcs elitisms epochs \\\n",
"npops 0.000000e+00 0.000000e+00 0.000000e+00 0.000000 0.000000 \n",
"pms -1.805991e-16 0.000000e+00 0.000000e+00 0.000000 0.000000 \n",
"pcs 8.806313e-17 -7.347463e-17 0.000000e+00 0.000000 0.000000 \n",
"elitisms -3.890157e-16 2.047074e-16 2.472663e-17 0.000000 0.000000 \n",
"epochs -8.057474e-02 -5.164779e-02 -1.106142e-02 0.191294 0.000000 \n",
"best_fitnesses 2.229390e-01 3.377727e-01 4.941080e-02 0.081799 0.409325 \n",
"durations 5.837515e-01 -1.187228e-01 -4.871711e-02 0.566687 0.364726 \n",
"\n",
" best_fitnesses durations \n",
"npops 0.000000 0.0 \n",
"pms 0.000000 0.0 \n",
"pcs 0.000000 0.0 \n",
"elitisms 0.000000 0.0 \n",
"epochs 0.000000 0.0 \n",
"best_fitnesses 0.000000 0.0 \n",
"durations 0.245542 0.0 "
]
},
"execution_count": 204,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tmp=recordings.select_dtypes(exclude='object').corr()\n",
"pd.DataFrame(tmp-np.triu(tmp),index=tmp.index,columns=tmp.columns)"
]
},
{
"cell_type": "markdown",
"id": "8dde6722-c615-4d78-9c4c-248faa11ec1e",
"metadata": {},
"source": [
"### Boxplot relasi metode survival dengan durasi"
]
},
{
"cell_type": "code",
"execution_count": 213,
"id": "d21f7b12-a331-4993-8eb2-4325e3838ab0",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 0, 'metode survival\\nTrue=Elitisme\\nFalse=Generational')"
]
},
"execution_count": 213,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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QdKN5wK98sorevrpp21jTp06VX379tWiRYs0ZMgQvffee/rXv/6l3bt33/kTBAAAVZJDA1BYWJjOnTun+fPnKysrS507d1ZiYqL8/PwkSVlZWXbPBCosLNSMGTOUkZGhWrVqqU2bNnr55Zf15JNP2vqEhIRow4YNmjVrlmbPnq02bdooISFBPXv2vOPnBwAAqiaHPgeoquI5QAAAVD/V4jlAAAAAjkIAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApuPwABQbGyt/f3+5ubkpKChIu3btKrHv5s2bdf/996tJkyby9PRUcHCwPvzwQ7s+8fHxslgsRZarV69W9qkAAIBqwqEBKCEhQZGRkZo5c6bS0tLUp08fDRo0SJmZmcX2T05O1v3336/ExESlpqZqwIAB+sMf/qC0tDS7fp6ensrKyrJb3Nzc7sQpAQCAasBiGIbhqIP37NlT3bt314oVK2xtHTt21EMPPaTo6OhSjXHXXXcpLCxML7zwgqQbM0CRkZG6cOFCuevKzc2V1WpVTk6OPD09yz0OAAC4c8ry89thM0DXrl1TamqqQkND7dpDQ0O1Z8+eUo1RWFioixcvqmHDhnbtly5dkp+fn1q2bKnf//73RWaIfikvL0+5ubl2CwAAqLkcFoDOnj2rgoICeXl52bV7eXkpOzu7VGMsXrxYly9f1ogRI2xtHTp0UHx8vLZu3ar169fLzc1NvXv31tGjR0scJzo6Wlar1bb4+PiU76QAAEC14PCboC0Wi926YRhF2oqzfv16zZ07VwkJCWratKmtvVevXnrsscd09913q0+fPtq4caMCAgL02muvlTjWjBkzlJOTY1tOnDhR/hMCAABVXi1HHbhx48ZydnYuMttz+vTpIrNCv5SQkKAxY8bonXfe0X333XfLvk5OTrrnnntuOQPk6uoq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apXFYrGtX716VfXr19fGjRvVv39/ubm5ae3atZo7d666detmN87SpUvVqlUru7ZVq1apY8eOcnNzU4cOHRQbG3vnTgwOQwBCjebk5KTly5frq6++0ltvvaWPPvpIzz33XIn9w8PD1bJlS33++edKTU3V9OnTbb9Ffvnllxo4cKCGDh2qAwcOKCEhQbt379ZTTz11p04HwC08//zzmjJlig4fPqyBAweWap+//e1vmjlzphYuXKjDhw/rpZde0uzZs/XWW29VcrVwNC6BocZ4//33VbduXdv6oEGD9M4779jW/f39tWDBAk2cOLHE3/AyMzP17LPPqkOHDpKkdu3a2bb99a9/1ciRIxUZGWnbtnz5cvXr108rVqyQm5tbJZwVgNKKjIzU0KFDy7TPggULtHjxYtt+/v7+OnTokN544w09/vjjlVEmqggCEGqMAQMGaMWKFbZ1Dw8P7dixQy+99JIOHTqk3Nxc5efn6+rVq7p8+bI8PDyKjBEVFaWxY8dqzZo1uu+++zR8+HC1adNGkpSamqpvvvlG69ats/U3DEOFhYXKyMhQx44dK/8kAZSoR48eZep/5swZnThxQmPGjNG4ceNs7fn5+aV+oziqLwIQagwPDw+1bdvWtn78+HENHjxYEyZM0IIFC9SwYUPt3r1bY8aM0fXr14sdY+7cuRo5cqT++c9/atu2bZozZ442bNighx9+WIWFhXryySc1ZcqUIvv5+vpW2nkBKJ1f/lLj5OSkX77t6eff+4WFhZJuXAbr2bOnXT9nZ+dKqhJVBQEINda+ffuUn5+vxYsXy8npxu1uGzdu/NX9AgICFBAQoGnTpunRRx/VqlWr9PDDD6t79+46ePCgXcgCUHU1adJE2dnZMgxDFotFkpSenm7b7uXlpRYtWui7775TeHi4g6qEoxCAUGO1adNG+fn5eu211/SHP/xBn3zyiVauXFli/59++knPPvushg0bJn9/f33//ff6/PPP9cgjj0i6cYNlr169NHnyZI0bN04eHh46fPiwkpKS9Nprr92p0wJQSv3799eZM2f03//93xo2bJg++OADbdu2TZ6enrY+c+fO1ZQpU+Tp6alBgwYpLy9P+/bt048//qioqCgHVo/KxqfAUGN169ZNS5Ys0aJFi9S5c2etW7dO0dHRJfZ3dnbWuXPnNGrUKAUEBGjEiBEaNGiQ5s2b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FhAQoPDwcI0aNUqbN29WRkaGPv/8cy1atEiJiYnF1hsfH68333xTX331lb777jutWbNG7u7u8vPzkyT99re/1euvv64vvvhC+/bt04QJE4rMipWkX79+8vLyUnh4uFq1aqVevXrdsr+/v79CQkI0ZswY5efna8iQIbZtbdq0UX5+vl577TVbnb/81BiAsiEAAagwzZs31yeffKKCggINHDhQnTt31tSpU2W1Wm1h5ZlnnpGzs7M6deqkJk2aKDMzUy1atFBiYqI+++wz3X333ZowYYLGjBmjWbNm2cb+61//qr59++qPf/yj7rvvPv3mN79RUFCQ3fFXrVqlUaNG6c9//rPat2+vP/7xj9q7d698fHyKrbd+/fr629/+pt69e6tr167697//rX/84x9q1KiRJGnx4sXy8fFR3759NXLkSD3zzDOqU6dOqb4WFotFjz76qPbv3/+rsz83hYeHa//+/Ro6dKjc3d1t7d26ddOSJUu0aNEide7cWevWrVN0dHSpxgRQPItRmovrAAAANQgzQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQABMbfTo0XrooYds6/3791dkZOQt94mPj1f9+vUrtS4AlYsABKDMbr7JvaRl9OjRji5RkvTxxx+XWGN2dnax+2zevFkLFiywrbdq1UpLly616xMWFmb3EEYA1U/Jz2UHgBL8/OnICQkJeuGFF3TkyBFb28+fYSPdeF1DaR8gWBmOHDkiT09Pu7amTZsW27dhw4a/Op67u3uRcwRQvTADBKDMvL29bYvVapXFYrGtX716VfXr19fGjRvVv39/ubm5ae3atZo7d666detmN87SpUvVqlUru7ZVq1apY8eOcnNzU4cOHRQbG3vb9TZt2tSuZm9vb7unSP/czy+B9e/fX8ePH9e0adNsM0dS0Utg+/fv14ABA1SvXj15enoqKChI+/bts+v7/vvvq3379qpTp46GDRumy5cv66233lKrVq3UoEEDPf3003avCLl27Zqee+45tWjRQh4eHurZs6c+/vjj2/5aALiBGSAAleL555/X4sWLtWrVKrm6uiouLu5X9/nb3/6mOXPm6PXXX1dgYKDS0tI0btw4eXh46PHHH5ck3XXXXTp+/HiJY/j5+engwYMVcg6bN2/W3XffrfHjx2vcuHEl9gsPD1dgYKBWrFghZ2dnpaen2814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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.boxplot(data=recordings,x='elitisms',y='durations')\n",
"plt.xlabel('metode survival\\nTrue=Elitisme\\nFalse=Generational')"
]
},
{
"cell_type": "markdown",
"id": "62c06496-9e0e-4d87-9591-ff9cd792732f",
"metadata": {},
"source": [
"### Scatterplot + Regresi Linear `best_fitnesses` (variabel dependen) terhadap `durations` (variabel independen)"
]
},
{
"cell_type": "code",
"execution_count": 219,
"id": "85eef8ba-b31f-4778-9658-96907ef1612b",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"<seaborn.axisgrid.FacetGrid at 0x7f5bc671d8b0>"
]
},
"execution_count": 219,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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3e/njDG88MIL/W4rKyvDo48+CgA4ePAgGGN4+umnce6558Jms+FPf/oTurq6cMUVV2DixIlwOByYM2cO1q5dG3uMq6++Ghs2bMBvfvMbMMbAGMPBgwcTTn0/99xzmD17NqxWK6ZMmTLoHKdMmYK77roL3/jGN+ByuTBp0iT8z//8T+zn4XAYN9xwA+rr62Gz2TBlyhSsWrUqO39AQooABWpCititt96Kf/7zn1i3bh1eeeUVvPbaa3jvvffSfpzvf//7+M53voPdu3fjwgsvRCgUwumnn46//vWv+PDDD/H//t//w9e//nW8/fbbAIDf/OY3WLRoEa699lq0traitbUVjY2Ngx73vffew2WXXYbLL78cO3bswB133IEf/ehHsQ8KUXfffTfmz5+PrVu34vrrr8e///u/46OPPgIA3HfffXjppZfw9NNP4+OPP8af/vQnTJkyJe1rJKRYSfk+AUJIZvx+Px555BE8/vjjOP/88wEAjz32GCZOnJj2Y91000344he/2O+2W265JfbfN954I15++WU888wzOPPMM+F2u2GxWOBwOFBXV5f0ce+55x585jOfwY9+9CMAwIwZM7Br1y788pe/xNVXXx077uKLL8b1118PwPzQcO+99+K1117DSSedhJaWFpxwwgk466yzwBjD5MmT074+QooZjagJKVLNzc0Ih8NYtGhR7LaKigqceOKJaT/W/Pnz+32v6zp+9rOf4ZRTTkFlZSWcTideeeUVtLS0pPW4u3fvxpIlS/rdtmTJEuzduxe6rsduO+WUU2L/zRhDXV0d2tvbAZjT7Nu2bcOJJ56I73znO3jllVfSvTxCihoFakKKVCqt5Bljg45LtFmspKSk3/d333037r33Xnzve9/Dq6++im3btuHCCy9EOBxO+xwHbixLdN6yLA86b8MwAACnnXYaDhw4gJ/85CcIBoO47LLL8OUvfzmt8yCkmFGgJqRITZ8+HbIs46233ord1tPTgz179sS+r66uRmtra+z7vXv3IhAIDPvYr7/+Oj7/+c/j3/7t3zB37lxMmzYNe/fu7XeMxWLpNypOZNasWXjjjTf63bZp0ybMmDEDoigOex5RpaWl+OpXv4qHH34YTz31FJ577jl0d3enfH9CihmtURNSpJxOJ775zW/i1ltvRWVlJWpra3H77bdDEI5//v70pz+N+++/HwsXLoRhGPj+978/aPSayPTp0/Hcc89h06ZNKC8vxz333IO2tjbMnDkzdsyUKVPw9ttv4+DBg3A6naioqBj0OP/xH/+BBQsW4Cc/+Qm++tWvYvPmzbj//vvx4IMPpnyd9957L+rr63HqqadCEAQ888wzqKurQ1lZWcqPQUgxoxE1IUXsl7/8Jc4++2z867/+Kz772c/irLPOwumnnx77+d13343GxkacffbZWLZsGW655RY4HI5hH/dHP/oRTjvtNFx44YU499xzUVdXh0svvbTfMbfccgtEUcSsWbNQXV2dcP36tNNOw9NPP40///nPOPnkk/HjH/8Y//Vf/9VvI9lwnE4nfv7zn2P+/PlYsGABDh48iL/97W/9PpAQMpYxnspCFyGEEELygj6SEkIIIQWMAjUhhBBSwChQE0IIIQWMAjUhhBBSwChQE0IIIQWMAjUhhBBSwChQE0IIIQWMAjUhhBBSwChQE0IIIQWMAjUhhBBSwChQE0IIIQXs/wfbAq8JcQpZGAAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 500x500 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.lmplot(data=recordings,x='durations',y='best_fitnesses')"
]
},
{
"cell_type": "markdown",
"id": "b3806f23-c3ef-4b8e-9f57-6453add2346c",
"metadata": {},
"source": [
"### Heatmap `best_fitnesses` (diaggregasi dengan median) terhadap $P_m$ dan $P_c$"
]
},
{
"cell_type": "code",
"execution_count": 177,
"id": "bb581e90-e523-49be-8c41-13d4b29c64ab",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"<Axes: xlabel='pcs', ylabel='pms'>"
]
},
"execution_count": 177,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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vlznzp3TlClTrAgxaHjzLlwul9auXavt27frvffeU9++fTVu3Djl5OT4ImT4mdZ2BxDMHA5Hrd+GYVx27ErX13UcTdfUdwHrePsutmzZomeeeUbvv/++unTpYlV4QaUp76Jv377q27dvze+RI0fq+PHjeumll3TzzTdbGif8D5ULG3Tq1EkhISGX/QugoqLisn8p/Kxr1651Xt+6dWt17NjRslhbOm/eBazRnHexbds2zZ49W++8845uu+02K8MMCmb9dzFixAh98cUXZoeHAEByYYM2bdooJiZGWVlZtY5nZWUpNja2zntGjhx52fV79+7V0KFDFRoaalmsLZ037wLW8PZdbNmyRTNnztTbb7+tO+64w+owg4JZ/10UFRXJ5XKZHR4Cga3TSYPY1q1bjdDQUGPDhg3Gp59+aiQnJxtXXXWVceTIEcMwDOOxxx4z7r///prrv/rqK6Ndu3bGokWLjE8//dTYsGGDERoaarz77rt2/QktRlPfhWEYRlFRkVFUVGTExMQY06dPN4qKioxPPvnEjvBblKa+i7ffftto3bq1sWrVKqOsrKymff/993b9CS1GU99FWlqasWPHDuPzzz83SkpKjMcee8yQZGzfvt2uPwE2Irmw0apVq4yePXsabdq0MX79618b2dnZNecSExONMWPG1Lp+//79xpAhQ4w2bdoYUVFRRnp6uo8jbrma+i4kXdZ69uzp26BbqKa8izFjxtT5LhITE30feAvUlHexbNky4/rrrzfatm1r/OpXvzJGjRpl/OlPf7IhavgDPrkOAABMxZwLAABgKpILAABgKpILAABgKpILAABgKpILAABgKpILAABgKpILAABgKpILAABgKpILAABgKpILAABgKpILAABgKpILIMCNHTtWDz/8sB5++GFde+216tixo5588kn9/Nkgj8ejpUuXqnv37nI6nerTp482bNggSfruu+907733qnPnzgoLC1OfPn20adMmO/8cAC1Aa7sDANB8b7zxhmbPnq3//u//VkFBgR588EH17NlTc+fO1YwZM5Sfn69XX31V0dHRKi0tVWVlpSTpqaee0qeffqrdu3erU6dOOnz4sM6fP2/zXwMg0PFVVCDAjR07VhUVFfrkk0/kcDgkSY899ph27typzMxM9e3bV1lZWbrtttsuu/euu+5Sp06dtHHjRl+HDaAFY1gEaAFGjBhRk1hI0siRI/XFF1+oqKhIISEhGjNmTJ33zZ8/X1u3btXgwYO1dOlS5eXl+SpkAC0YyQXQgrVt27bB8wkJCTp69KiSk5N16tQpjRs3TosXL/ZRdABaKpILoAU4cODAZb/79Omj6OhoVVdXKzs7u957O3furJkzZ+rNN9/UihUrtHbtWqvDBdDCkVwALcDx48eVkpKiQ4cOacuWLVq5cqUeffRRRUVFKTExUQ888IAyMzNVWlqq/fv365133pEkPf3003r//fd1+PBhffLJJ/q3f/s39evXz+a/BkCgY7UI0ALMmDFD58+f1/DhwxUSEqKFCxfqwQcflCSlp6fr8ccf14IFC/TNN9+oR48eevzxxyVJbdq0UWpqqo4cOaKwsDCNHj1aW7dutfNPAdACsFoECHBjx47V4MGDtWLFCrtDAQBJDIsAAACTkVwAAABTMSwCAABMReUCAACYiuQCAACYiuQCAACYiuQCAACYiuQCAACYiuQCAACYiuQCAACYiuQCAACY6v8H6tzq5euAJV4AAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.heatmap(recordings[['pms','pcs','best_fitnesses']].groupby(['pms','pcs']).median().reset_index().pivot(index='pms',columns='pcs',values='best_fitnesses'))"
]
},
{
"cell_type": "markdown",
"id": "f129891a-8a2d-4038-b000-d313630ad19d",
"metadata": {},
"source": [
"### Boxplot jumlah populasi ($N$) dan `durations`"
]
},
{
"cell_type": "code",
"execution_count": 191,
"id": "b5794386-533c-42db-b02d-f55f985827ce",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"<Axes: xlabel='npops', ylabel='durations'>"
]
},
"execution_count": 191,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAGwCAYAAABB4NqyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA6JUlEQVR4nO3dfXRU1b3/8c9kIDOQmpGIZkIhaUCQxyAEhZASrJYoVa9UW1KLUXu1CAEF0T5QQkO40Giv8qRJMK62FIsQvUK1XbESqxIoEStNiCIXXTUSijMgD8mASAKT8/uDX+Z2TMAwJDmTnPdrrVky++zZ8z067XzYc/Y+NsMwDAEAAFhIhNkFAAAAdDQCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsJxuZhcQjhobG/Xpp5/qkksukc1mM7scAADQCoZh6Pjx4+rTp48iIs4/x0MAasGnn36qfv36mV0GAAAIwf79+9W3b9/z9iEAteCSSy6RdPZfYHR0tMnVAACA1vD5fOrXr1/ge/x8CEAtaPrZKzo6mgAEAEAn05rLV7gIGgAAWA4BCAAAWA4BCAAAWA4BCAAAWA4BCAAAWA4BCAAAWA4BCAAAWA4BCAAAWI7pAaigoECJiYlyOp1KTk7W1q1bz9l327ZtSk1N1WWXXaYePXpo8ODBWr58eVCfNWvWyGazNXucOnWqvU8FAAB0EqbuBF1cXKy5c+eqoKBAqampeuaZZzR58mR98MEHio+Pb9Y/KipKs2fPVlJSkqKiorRt2zY98MADioqK0vTp0wP9oqOjtXfv3qDXOp3Odj8fAAAulN/vV1VVlY4ePaqYmBglJSXJbrebXVaXZzMMwzDrzceOHavRo0ersLAw0DZkyBBNmTJFeXl5rRrj9ttvV1RUlJ577jlJZ2eA5s6dq9ra2lbXUV9fr/r6+sDzpnuJ1NXVcSsMAEC7KSsrU0FBgbxeb6DN7XYrKytLaWlpJlbWOfl8PrlcrlZ9f5v2E1hDQ4N27typ9PT0oPb09HRt3769VWNUVFRo+/btmjhxYlD7iRMnlJCQoL59++qWW25RRUXFecfJy8uTy+UKPLgTPACgvZWVlSknJ0f9+/dXfn6+SkpKlJ+fr/79+ysnJ0dlZWVml9ilmRaADh8+LL/fr9jY2KD22NjYoCTckr59+8rhcGjMmDGaNWuW7r///sCxwYMHa82aNXrllVe0fv16OZ1Opaam6qOPPjrnePPnz1ddXV3gsX///os7OQAAzsPv96ugoEApKSlasmSJhg0bpp49e2rYsGFasmSJUlJSVFhYKL/fb3apXZbpF0F/+Y6thmF85V1ct27dqnfffVerV6/WihUrtH79+sCxcePG6a677tLIkSM1YcIEvfDCCxo0aJCeeuqpc47ncDgCd37nDvAAgPZWVVUlr9eradOmKSIi+Ks4IiJC06ZNk8fjUVVVlUkVdn2mXQTdu3dv2e32ZrM9hw4dajYr9GWJiYmSpBEjRujgwYNatGiR7rzzzhb7RkRE6JprrjnvDBAAAB3p6NGjkv7v++zLmtqb+qHtmTYDFBkZqeTkZJWWlga1l5aWavz48a0exzCMoAuYWzpeWVmpuLi4kGsFAKAtxcTESJKqq6tbPN7U3tQPbc/UZfDz5s1TZmamxowZo5SUFBUVFammpkYzZsyQdPbanAMHDmjt2rWSpPz8fMXHx2vw4MGSzu4L9MQTT+jBBx8MjJmbm6tx48Zp4MCB8vl8WrVqlSorK5Wfn9/xJwgAQAuSkpLkdru1bt06LVmyJOhnsMbGRq1bt05xcXFKSkoyscquzdQAlJGRoSNHjmjx4sXyeDwaPny4SkpKlJCQIEnyeDyqqakJ9G9sbNT8+fNVXV2tbt26acCAAXrsscf0wAMPBPrU1tZq+vTp8nq9crlcGjVqlMrKynTttdd2+PkBANASu92urKws5eTkKDs7W9OmTVNiYqKqq6u1bt06lZeXKzc3l/2A2pGp+wCFqwvZRwAAgFC1tA9QXFycZs6cyT5AIbiQ728CUAsIQACAjsJO0G3nQr6/Tf0JDAAAq7Pb7Ro1apTZZViO6fsAAQAAdDQCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsJxuZhcAAICV+f1+VVVV6ejRo4qJiVFSUpLsdrvZZXV5BCAAAExSVlamgoICeb3eQJvb7VZWVpbS0tJMrKzr4ycwAABMUFZWppycHPXv31/5+fkqKSlRfn6++vfvr5ycHJWVlZldYpdmMwzDMLuIcOPz+eRyuVRXV6fo6GizywEAdDF+v1/Tpk1T//79tWTJEkVE/N98RGNjo7Kzs1VdXa0//OEP/Bx2AS7k+5sZIAAAOlhVVZW8Xq+mTZsWFH4kKSIiQtOmTZPH41FVVZVJFXZ9BCAAADrY0aNHJUmJiYktHm9qb+qHtkcAAgCgg8XExEiSqqurWzze1N7UD22PAAQAQAdLSkqS2+3WunXr1NjYGHSssbFR69atU1xcnJKSkkyqsOsjAAEA0MHsdruysrJUXl6u7Oxs7d69WydPntTu3buVnZ2t8vJyzZw5kwug2xGrwFrAKjAAQEdoaR+guLg4zZw5k32AQnAh398EoBYQgAAAHYWdoNvOhXx/sxM0AAAmstvtGjVqlNllWA7XAAEAAMshAAEAAMshAAEAAMsxPQAVFBQoMTFRTqdTycnJ2rp16zn7btu2TampqbrsssvUo0cPDR48WMuXL2/W76WXXtLQoUPlcDg0dOhQbdq0qT1PAQAAdDKmBqDi4mLNnTtXCxYsUEVFhSZMmKDJkyerpqamxf5RUVGaPXu2ysrKtGfPHmVnZys7O1tFRUWBPuXl5crIyFBmZqZ27dqlzMxMTZ06VTt27Oio0wIAAGHO1GXwY8eO1ejRo1VYWBhoGzJkiKZMmaK8vLxWjXH77bcrKipKzz33nCQpIyNDPp9Pr776aqDPTTfdpF69emn9+vWtGpNl8AAAdD6d4m7wDQ0N2rlzp9LT04Pa09PTtX379laNUVFRoe3bt2vixImBtvLy8mZj3njjjecds76+Xj6fL+gBAAC6LtMC0OHDh+X3+xUbGxvUHhsbG7QjZkv69u0rh8OhMWPGaNasWbr//vsDx7xe7wWPmZeXJ5fLFXj069cvhDMCAACdhekXQdtstqDnhmE0a/uyrVu36t1339Xq1au1YsWKZj9tXeiY8+fPV11dXeCxf//+CzwLAADQmZi2E3Tv3r1lt9ubzcwcOnSo2QzOlyUmJkqSRowYoYMHD2rRokW68847JUlut/uCx3Q4HHI4HKGcBgAA6IRMmwGKjIxUcnKySktLg9pLS0s1fvz4Vo9jGIbq6+sDz1NSUpqNuXnz5gsaEwAAdG2m3gts3rx5yszM1JgxY5SSkqKioiLV1NRoxowZks7+NHXgwAGtXbtWkpSfn6/4+HgNHjxY0tl9gZ544gk9+OCDgTHnzJmjtLQ0Pf7447rtttv08ssv6/XXX9e2bds6/gQBAEBYMjUAZWRk6MiRI1q8eLE8Ho+GDx+ukpISJSQkSJI8Hk/QnkCNjY2aP3++qqur1a1bNw0YMECPPfaYHnjggUCf8ePHa8OGDcrOztbChQs1YMAAFRcXa+zYsR1+fgAAIDyZug9QuGIfIAAAOp9OsQ8QAACAWQhAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAcghAAADAckwPQAUFBUpMTJTT6VRycrK2bt16zr4bN27UpEmTdPnllys6OlopKSl67bXXgvqsWbNGNput2ePUqVPtfSoAAKCTMDUAFRcXa+7cuVqwYIEqKio0YcIETZ48WTU1NS32Lysr06RJk1RSUqKdO3fqW9/6lm699VZVVFQE9YuOjpbH4wl6OJ3OjjglAADQCdgMwzDMevOxY8dq9OjRKiwsDLQNGTJEU6ZMUV5eXqvGGDZsmDIyMvTLX/5S0tkZoLlz56q2tjbkunw+n1wul+rq6hQdHR3yOAAAoONcyPe3aTNADQ0N2rlzp9LT04Pa09PTtX379laN0djYqOPHjysmJiao/cSJE0pISFDfvn11yy23NJsh+rL6+nr5fL6gBwAA6LpMC0CHDx+W3+9XbGxsUHtsbKy8Xm+rxnjyySf1+eefa+rUqYG2wYMHa82aNXrllVe0fv16OZ1Opaam6qOPPjrnOHl5eXK5XIFHv379QjspAADQKZh+EbTNZgt6bhhGs7aWrF+/XosWLVJxcbGuuOKKQPu4ceN01113aeTIkZowYYJeeOEFDRo0SE899dQ5x5o/f77q6uoCj/3794d+QgAAIOx1M+uNe/fuLbvd3my259ChQ81mhb6suLhY9913n1588UV9+9vfPm/fiIgIXXPNNeedAXI4HHI4HK0vHgAAdGqmzQBFRkYqOTlZ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0urVq/WTn/xEdXV1qqysVHJysj755BMlJCR07L8AAG2OGSAAnUJSUlLQ87i4OB06dCjwPCUlJeh4SkpKYAZoz549GjlyZCD8SFJqaqoaGxu1d+/eQNvIkSMD4adpjBMnTmj//v0aOXKkbrjhBo0YMULf//739eyzz+rYsWNteo4AOg4BCECn0L1796DnNptNjY2N532NzWaTJBmGEfjzufp81Th2u12lpaV69dVXNXToUD311FO66qqrVF1d3cozABBOCEAAuoS333672fPBgwdLkoYOHarKysqgC5b/9re/KSIiQoMGDQq07dq1S1988UXQGF/72tfUt29fSWeDUGpqqnJzc1VRUaHIyEht2rSpPU8LQDshAAHoEl588UX99re/1YcffqicnBy98847gYucp02bJqfTqXvuuUfvv/++3nzzTT344IPKzMxUbGxsYIyGhgbdd999+uCDD/Tqq68qJydHs2fPVkREhHbs2KFf/epXevfdd1VTU6ONGzfqs88+05AhQ8w6ZQAXoZvZBQBAW8jNzdWGDRuUlZUlt9utdevWaejQoZKknj176rXXXtOcOXN0zTXXqGfPnrrjjju0bNmyoDFuuOEGDRw4UGlpaaqvr9cPfvCDwHL76OholZWVacWKFfL5fEpISNCTTz6pyZMnd/SpAmgDrAID0OnZbDZt2rRJU6ZMCXmMe++9V7W1tfrjH//YZnUBCF/8BAYAACyHAAQAACyHn8AAAIDlMAMEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAs5/8BjybG89+hAKMAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.boxplot(data=recordings,x='npops',y='durations',legend=False)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.9.16"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment