diff --git a/docs/guide/archive.ipynb b/docs/guide/archive.ipynb index 764e4838..75d6bc11 100644 --- a/docs/guide/archive.ipynb +++ b/docs/guide/archive.ipynb @@ -49,7 +49,7 @@ "est = BrushClassifier(\n", " functions=['SplitBest','Add','Mul','Sin','Cos','Exp','Logabs'],\n", " use_arch=True,\n", - " objectives=[\"error\", \"linear_complexity\"],\n", + " objectives=[\"error\", \"complexity\"],\n", " max_gens=100,\n", " pop_size=200,\n", " verbosity=1\n", @@ -83,23 +83,23 @@ { "data": { "text/plain": [ - "{'fitness': {'complexity': 17688,\n", - " 'crowding_dist': 3.4028234663852886e+38,\n", + "{'fitness': {'complexity': 27,\n", + " 'crowding_dist': 0.0,\n", " 'dcounter': 0,\n", - " 'depth': 4,\n", + " 'depth': 3,\n", " 'dominated': [],\n", - " 'linear_complexity': 35,\n", - " 'loss': 0.6193585991859436,\n", - " 'loss_v': 0.6193585991859436,\n", + " 'linear_complexity': 10,\n", + " 'loss': 0.6931471228599548,\n", + " 'loss_v': 0.6931471228599548,\n", " 'rank': 1,\n", - " 'size': 12,\n", - " 'values': [0.6193585991859436, 35.0],\n", + " 'size': 7,\n", + " 'values': [0.6931471228599548, 27.0],\n", " 'weights': [-1.0, -1.0],\n", - " 'wvalues': [-0.6193585991859436, -35.0]},\n", - " 'id': 0,\n", - " 'objectives': ['log', 'linear_complexity'],\n", + " 'wvalues': [-0.6931471228599548, -27.0]},\n", + " 'id': 514,\n", + " 'objectives': ['log', 'complexity'],\n", " 'parent_id': [],\n", - " 'program': {'Tree': [{'W': 1043.1932373046875,\n", + " 'program': {'Tree': [{'W': 1.0,\n", " 'arg_types': ['ArrayF'],\n", " 'center_op': True,\n", " 'feature': '',\n", @@ -111,7 +111,7 @@ " 'ret_type': 'ArrayF',\n", " 'sig_dual_hash': 10617925524997611780,\n", " 'sig_hash': 13326223354425868050},\n", - " {'W': -4.594294548034668,\n", + " {'W': 0.0,\n", " 'arg_types': ['ArrayF'],\n", " 'center_op': True,\n", " 'feature': '',\n", @@ -123,27 +123,15 @@ " 'ret_type': 'ArrayF',\n", " 'sig_dual_hash': 10617925524997611780,\n", " 'sig_hash': 13326223354425868050},\n", - " {'W': 0.15913578867912292,\n", - " 'arg_types': ['ArrayF'],\n", - " 'center_op': True,\n", - " 'feature': '',\n", - " 'fixed': False,\n", - " 'is_weighted': True,\n", - " 'name': 'Logabs',\n", - " 'node_type': 'Logabs',\n", - " 'prob_change': 1.0,\n", - " 'ret_type': 'ArrayF',\n", - " 'sig_dual_hash': 10617925524997611780,\n", - " 'sig_hash': 13326223354425868050},\n", - " {'W': 2.4657511275838484e-12,\n", + " {'W': 0.0,\n", " 'arg_types': [],\n", " 'center_op': True,\n", - " 'feature': 'AIDS',\n", + " 'feature': 'MeanLabel',\n", " 'fixed': False,\n", " 'is_weighted': True,\n", - " 'name': 'Terminal',\n", - " 'node_type': 'Terminal',\n", - " 'prob_change': 0.3838988244533539,\n", + " 'name': 'MeanLabel',\n", + " 'node_type': 'MeanLabel',\n", + " 'prob_change': 0.19857122004032135,\n", " 'ret_type': 'ArrayF',\n", " 'sig_dual_hash': 509529941281334733,\n", " 'sig_hash': 17717457037689164349}],\n", @@ -177,33 +165,33 @@ { "data": { "text/plain": [ - "[{'id': 0,\n", - " 'y_pred': array([ True, True, True, True, True, True, True, True, True,\n", - " True, False, True, True, True, True, False, False, False,\n", - " False, False, False, False, False, False, False, False, True,\n", - " True, True, False, False, True, True, True, True, False,\n", - " True, True, True, False, False, False, False, False, False,\n", + "[{'id': 514,\n", + " 'y_pred': array([False, False, False, False, False, False, False, False, False,\n", + " False, False, False, False, False, False, False, False, False,\n", + " False, False, False, False, False, False, False, False, False,\n", + " False, False, False, False, False, False, False, False, False,\n", + " False, False, False, False, False, False, False, False, False,\n", " False, False, False, False, False])},\n", - " {'id': 546,\n", + " {'id': 428,\n", " 'y_pred': array([ True, True, True, True, True, True, True, True, True,\n", " True, True, True, True, True, True, True, True, True,\n", " True, True, True, True, True, True, True, True, True,\n", " True, True, True, True, True, True, True, True, True,\n", " True, True, True, True, False, True, True, True, True,\n", " False, True, True, True, False])},\n", - " {'id': 459,\n", + " {'id': 457,\n", " 'y_pred': array([ True, True, True, True, True, True, True, True, True,\n", " True, True, True, True, True, True, True, True, True,\n", " True, True, True, True, True, True, True, True, True,\n", " True, True, True, True, True, True, True, True, True,\n", " True, True, True, True, False, True, True, True, True,\n", " False, True, True, True, False])},\n", - " {'id': 466,\n", - " 'y_pred': array([False, False, False, False, False, False, False, False, False,\n", - " False, False, False, False, False, False, False, False, False,\n", - " False, False, False, False, False, False, False, False, False,\n", - " False, False, False, False, False, False, False, False, False,\n", - " False, False, False, False, False, False, False, False, False,\n", + " {'id': 0,\n", + " 'y_pred': array([ True, True, True, True, True, True, True, True, True,\n", + " True, False, True, True, True, True, False, False, False,\n", + " False, False, False, False, False, False, False, False, True,\n", + " True, True, False, False, True, True, True, True, False,\n", + " True, True, True, False, False, False, False, False, False,\n", " False, False, False, False, False])}]" ] }, @@ -224,19 +212,27 @@ { "data": { "text/plain": [ - "[{'id': 0,\n", - " 'y_pred': array([0.52221817, 0.8515583 , 0.9071904 , 0.80226165, 0.6996155 ,\n", - " 0.520049 , 0.78892744, 0.842689 , 0.7451944 , 0.6505222 ,\n", - " 0.47254738, 0.72843987, 0.76070005, 0.6610676 , 0.57487196,\n", - " 0.26737478, 0.42796203, 0.46070603, 0.4102002 , 0.3626234 ,\n", - " 0.25170955, 0.3872591 , 0.39140493, 0.32901868, 0.27749935,\n", - " 0.40157905, 0.5770795 , 0.5878265 , 0.5081532 , 0.49348217,\n", - " 0.47929123, 0.67033243, 0.69713384, 0.5947533 , 0.52153325,\n", - " 0.40196913, 0.5745975 , 0.5838619 , 0.5000032 , 0.44313556,\n", - " 0.19933364, 0.3027608 , 0.31477427, 0.29399228, 0.28357497,\n", - " 0.17851885, 0.2997828 , 0.29916808, 0.258853 , 0.2281006 ],\n", + "[{'id': 514,\n", + " 'y_pred': array([0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,\n", + " 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,\n", + " 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,\n", + " 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5],\n", " dtype=float32)},\n", - " {'id': 546,\n", + " {'id': 428,\n", + " 'y_pred': array([5.3191370e-01, 5.3191370e-01, 5.3191370e-01, 5.3191370e-01,\n", + " 5.3191370e-01, 5.3191370e-01, 5.3191370e-01, 5.3191370e-01,\n", + " 5.3191370e-01, 5.3191370e-01, 5.3191370e-01, 5.3191370e-01,\n", + " 5.3191370e-01, 5.3191370e-01, 5.3191370e-01, 5.3191370e-01,\n", + " 5.3191370e-01, 5.3191370e-01, 5.3191370e-01, 5.3191370e-01,\n", + " 5.3173161e-01, 5.3191370e-01, 5.3191370e-01, 5.3191370e-01,\n", + " 5.3191370e-01, 5.3191370e-01, 5.3191370e-01, 5.3191370e-01,\n", + " 5.3191370e-01, 5.3191370e-01, 5.3191370e-01, 5.3191370e-01,\n", + " 5.3191370e-01, 5.3191370e-01, 5.3191370e-01, 5.3191370e-01,\n", + " 5.3191370e-01, 5.3191370e-01, 5.3191370e-01, 5.3191370e-01,\n", + " 3.2011469e-06, 5.3191370e-01, 5.3191370e-01, 5.3191370e-01,\n", + " 5.3191370e-01, 1.5937661e-07, 5.3191370e-01, 5.3191370e-01,\n", + " 5.3191251e-01, 9.3743652e-03], dtype=float32)},\n", + " {'id': 457,\n", " 'y_pred': array([5.3191483e-01, 5.3191483e-01, 5.3191483e-01, 5.3191483e-01,\n", " 5.3191483e-01, 5.3191483e-01, 5.3191483e-01, 5.3191483e-01,\n", " 5.3191483e-01, 5.3191483e-01, 5.3191483e-01, 5.3191483e-01,\n", @@ -250,25 +246,17 @@ " 1.7524428e-32, 5.3191483e-01, 5.3191483e-01, 5.3191483e-01,\n", " 5.3191483e-01, 0.0000000e+00, 5.3191483e-01, 5.3191483e-01,\n", " 5.3191483e-01, 2.1774457e-04], dtype=float32)},\n", - " {'id': 459,\n", - " 'y_pred': array([5.3190923e-01, 5.3190923e-01, 5.3190923e-01, 5.3190923e-01,\n", - " 5.3190923e-01, 5.3190923e-01, 5.3190923e-01, 5.3190923e-01,\n", - " 5.3190923e-01, 5.3190923e-01, 5.3190923e-01, 5.3190923e-01,\n", - " 5.3190923e-01, 5.3190923e-01, 5.3190923e-01, 5.3190923e-01,\n", - " 5.3190923e-01, 5.3190923e-01, 5.3190923e-01, 5.3190923e-01,\n", - " 5.3172201e-01, 5.3190923e-01, 5.3190923e-01, 5.3190923e-01,\n", - " 5.3190923e-01, 5.3190923e-01, 5.3190923e-01, 5.3190923e-01,\n", - " 5.3190923e-01, 5.3190923e-01, 5.3190923e-01, 5.3190923e-01,\n", - " 5.3190923e-01, 5.3190923e-01, 5.3190923e-01, 5.3190923e-01,\n", - " 5.3190923e-01, 5.3190923e-01, 5.3190923e-01, 5.3190923e-01,\n", - " 3.1130648e-06, 5.3190923e-01, 5.3190923e-01, 5.3190923e-01,\n", - " 5.3190923e-01, 1.5499123e-07, 5.3190923e-01, 5.3190923e-01,\n", - " 5.3190798e-01, 9.1208434e-03], dtype=float32)},\n", - " {'id': 466,\n", - " 'y_pred': array([0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,\n", - " 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,\n", - " 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,\n", - " 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5],\n", + " {'id': 0,\n", + " 'y_pred': array([0.52221817, 0.8515583 , 0.9071904 , 0.80226165, 0.6996155 ,\n", + " 0.520049 , 0.78892744, 0.842689 , 0.7451944 , 0.6505222 ,\n", + " 0.47254738, 0.72843987, 0.76070005, 0.6610676 , 0.57487196,\n", + " 0.26737478, 0.42796203, 0.46070603, 0.4102002 , 0.3626234 ,\n", + " 0.25170955, 0.3872591 , 0.39140493, 0.32901868, 0.27749935,\n", + " 0.40157905, 0.5770795 , 0.5878265 , 0.5081532 , 0.49348217,\n", + " 0.47929123, 0.67033243, 0.69713384, 0.5947533 , 0.52153325,\n", + " 0.40196913, 0.5745975 , 0.5838619 , 0.5000032 , 0.44313556,\n", + " 0.19933364, 0.3027608 , 0.31477427, 0.29399228, 0.28357497,\n", + " 0.17851885, 0.2997828 , 0.29916808, 0.258853 , 0.2281006 ],\n", " dtype=float32)}]" ] }, @@ -312,7 +300,7 @@ }, { "data": { - "image/png": "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t0gpfUpp2+OPi4qK9BGnweOSA0RERFWPzpccCA0N1UlgRERERFWVrKKpa9eu+o6DiIiIyKBpPRGciIiI6FXEoomIiIhIBhZNRERERDKwaCIiIiKSQeui6cGDB8jLy5MeJyYmYs2aNTh06JBOAyMiIiIyJFoXTX379sWPP/4IAMjKyoKXlxdWrlyJvn37Yv369ToPkIiIiMgQaF00nT9/Hp07dwYA/Prrr7CxsUFiYiJ+/PFHfPnllzoPkIiIiMgQaF005eXlwdzcHABw6NAh9O/fH0ZGRujQoQMSExN1HiARERGRIdC6aGratCl2796N5ORkHDx4ED169ABQcsNe3j6EiIiIXlZaF00LFizAzJkz4ejoCC8vL3h7ewMoGXXy9PTUeYBEREREhkDWDXv/LjU1FSkpKfDw8ICRUUnddfbsWVhYWKB58+Y6D7Iq4A17iYiIqh6d37D372xtbWFra6vR1r59++c5FBEREVGVIKto6t+/PzZt2gQLCwv079//qX137typk8CIiIiIDImsosnS0hIKhUL6moiIiOhV81xzmqgszmkiIiKqerR5/+a954iIiIhkYNFEREREJAOLJiIiIiIZWDQRERERyaBV0fTo0SN0794d165d01c8RERERAZJq6LJxMQE0dHR+oqFiIiIyGBpfXnugw8+wPfff6+PWIiIiIgMlta3USksLMQPP/yAw4cPo02bNqhRo4bG/lWrVuksOCIiIiJDoXXRFBMTg9atWwMArl69qrGvdNVwIiIiopeN1kVTaGioPuIgIiIiMmjPveTA9evXcfDgQTx48AAAwLuxEBER0ctM66IpIyMD3bt3h5OTE3r37o2UlBQAQEBAAD766COdB0hERERkCLQumqZPnw4TExMkJSWhevXqUvvAgQNx4MABnQZHREREZCi0LpoOHTqEzz//HA0aNNBob9asGRITE7U61rFjx9CnTx/Y29tDoVBg9+7dGvuFEFiwYAHs7OxgZmYGHx+fMgtrZmZmwt/fHxYWFrCyskJAQABycnI0+kRHR6Nz584wNTWFg4MDVqxYUSaWHTt2oHnz5jA1NYWbmxv27dunVS5ERET0ctO6aMrNzdUYYSqVmZkJlUql9bE8PDywbt26cvevWLECX375JTZs2IAzZ86gRo0a8PX1xcOHD6U+/v7+iI2NRXBwMPbs2YNjx45h7Nix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RERERAZJ68tzX375JW7cuAEbGxs4OjqWmQh+/vx5nQVHREREZCi0Lpr69eunhzCIiIiIDJvWSw5Q+bjkABERUdWj1yUHSkVERODy5csAgJYtW8LT0/N5D0VERERk8LQumtLT0zFo0CAcOXJEulFuVlYW3nzzTWzdulVarZuIiIjoZaL1p+cmT56M+/fvIzY2FpmZmcjMzERMTAzUajWmTJmijxiJiIiIKp3Wc5osLS1x+PBhtGvXTqP97Nmz6NGjB7KysnQZX5XBOU1ERERVjzbv31qPNBUXF5dZZgAATExMUFxcrO3hiIiIiKoErYumbt26YerUqbhz547Udvv2bUyfPh3du3fXaXBEREREhkLrounrr7+GWq2Go6MjmjRpgiZNmqBRo0ZQq9X46quv9BEjERERUaXT+tNzDg4OOH/+PA4fPowrV64AAFq0aAEfHx+dB0dERERkKLi4pY5wIjgREVHVo5eJ4H/++SdcXFygVqvL7MvOzkbLli1x/Phx7aMlIiIiqgJkF01r1qzBmDFjyq3CLC0tMW7cOKxatUqnwREREREZCtlFU1RUFHr27PnE/T169EBERIROgiIiIiIyNLKLprS0tHLXZypVrVo13L17VydBERERERka2UVT/fr1ERMT88T90dHRsLOz00lQRERERIZGdtHUu3dvzJ8/Hw8fPiyz78GDB1i4cCHefvttnQZHREREZChkLzmQlpaG1q1bw9jYGJMmTYKzszMA4MqVK1i3bh2Kiopw/vx52NjY6DVgQ8UlB4iIiKoebd6/ZS9uaWNjg1OnTmHChAmYO3cuSmsthUIBX19frFu37pUtmIiIiOjlp9WK4A0bNsS+fftw7949XL9+HUIINGvWDLVq1dJXfEREREQGQevbqABArVq10K5dO13HQkRERGSwtL5hLxEREdGriEUTERERkQwsmoiIiIhkYNFEREREJAOLJiIiIiIZWDQRERERycCiiYiIiEgGFk1EREREMrBoIiIiIpKBRRMRERGRDAZdNAUFBaFdu3YwNzeHtbU1+vXrh7i4OI0+b7zxBhQKhcY2fvx4jT5JSUnw8/ND9erVYW1tjVmzZqGwsFCjz5EjR9C6dWuoVCo0bdoUmzZt0nd6REREVIUYdNF09OhRTJw4EadPn0ZwcDAePXqEHj16IDc3V6PfmDFjkJKSIm0rVqyQ9hUVFcHPzw8FBQU4deoUNm/ejE2bNmHBggVSn/j4ePj5+eHNN99EZGQkpk2bhtGjR+PgwYMVlisREREZNoUQQlR2EHLdvXsX1tbWOHr0KLp06QKgZKSpVatWWLNmTbnP2b9/P95++23cuXMHNjY2AIANGzYgMDAQd+/ehVKpRGBgIPbu3YuYmBjpeYMGDUJWVhYOHDggKza1Wg1LS0tkZ2fDwsLixRIlIiKiCqHN+7dBjzT9XXZ2NgCgdu3aGu1btmxB3bp14erqirlz5yIvL0/aFxYWBjc3N6lgAgBfX1+o1WrExsZKfXx8fDSO6evri7CwsCfGkp+fD7VarbERERHRy6taZQcgV3FxMaZNm4ZOnTrB1dVVah8yZAgaNmwIe3t7REdHIzAwEHFxcdi5cycAIDU1VaNgAiA9Tk1NfWoftVqNBw8ewMzMrEw8QUFB+PTTT3WaIxERERmuKlM0TZw4ETExMThx4oRG+9ixY6Wv3dzcYGdnh+7du+PGjRto0qSJ3uKZO3cuZsyYIT1Wq9VwcHDQ2/mIiIioclWJy3OTJk3Cnj17EBoaigYNGjy1r5eXFwDg+vXrAABbW1ukpaVp9Cl9bGtr+9Q+FhYW5Y4yAYBKpYKFhYXGRkRERC8vgy6ahBCYNGkSdu3ahT///BONGjV65nMiIyMBAHZ2dgAAb29vXLx4Eenp6VKf4OBgWFhYwMXFReoTEhKicZzg4GB4e3vrKBMiIiKq6gy6aJo4cSJ++ukn/PzzzzA3N0dqaipSU1Px4MEDAMCNGzewZMkSREREICEhAX/88QeGDRuGLl26wN3dHQDQo0cPuLi4YOjQoYiKisLBgwcxb948TJw4ESqVCgAwfvx43Lx5E7Nnz8aVK1fwzTffYPv27Zg+fXql5U5ERESGxaCXHFAoFOW2b9y4ESNGjEBycjI++OADxMTEIDc3Fw4ODnjnnXcwb948jctliYmJmDBhAo4cOYIaNWpg+PDhWL58OapV+9+UriNHjmD69Om4dOkSGjRogPnz52PEiBGyY+WSA0RERFWPNu/fBl00VSUsmoiIiKqel3adJiIiIqLKwqKJiIiISAYWTUREREQysGgiIiIikoFFExEREZEMLJqIiIiIZGDRRERERCQDiyYiIiIiGVg0EREREcnAoomIiIhIBhZNRERERDKwaCIiIiKSgUUTERERkQwsmoiIiIhkYNFEREREJAOLJiIiIiIZWDQRERERycCiiYiIiEgGFk1EREREMrBoIiIiIpKBRRMRERGRDCyaiIiIiGRg0UREREQkA4smIiIiIhlYNBERERHJwKKJiIiISIZqlR0AEb3ahACys4GCAkCpBCwtAYWisqMiIiqLRRMRVZq7d4FLl4A7d4D8fEClAuztARcXoF69yo6OiEgTiyYiqhR37wLHj5eMMllbA6amwMOHwM2bQEYG0LkzCyciMiyc00REFU6IkhGm7GzA0RGoUQMwNi7519GxpP3SpZJ+RESGgkUTEVW47OySS3LW1mXnLykUJe137pT0IyIyFCyaiKjCFRSUzGEyNS1/v6lpyf6CgoqNi4joaVg0EVGFUypLJn0/fFj+/ocPS/YrlRUbFxHR07BoIqIKZ2lZ8im59PSSeUtCADk5wL17wP37QFpayX5Ly8qOlIjof/jpOSKqcApFybICGRlAdDTw4EFJsZSXV7I1aAB4e3O9JiIyLBxpIqJKUa8e0KJFyWTv+PiSYql6daBRI8DCArh8uWRZAiIiIYCsrJLR6aysyvtkLUeaiKhSCFHyB7BBA8DTEygsBExMSpYdAICEhJJlB7p04YgT0avMkBbB5UjT36xbtw6Ojo4wNTWFl5cXzp49W9khEb2USpcdsLEBzM2BWrWAmjVLCiQuO0BEwP8Wwb15s2QE2sGh5N+bN0vaK3o0mkXTY7Zt24YZM2Zg4cKFOH/+PDw8PODr64v09PTKDo3opcNlB4joaQxxEVwWTY9ZtWoVxowZg5EjR8LFxQUbNmxA9erV8cMPP5Tpm5+fD7VarbERkXxcdoCInsYQF8Fl0fT/CgoKEBERAR8fH6nNyMgIPj4+CAsLK9M/KCgIlpaW0ubg4FCR4RJVeX9fduBxpfOduOwA0avLEEejWTT9v7/++gtFRUWwsbHRaLexsUFqamqZ/nPnzkV2dra0JScnV1SoRC+F0mUHLC1LJn3n5gJFRSX/JiSUtLu4cBI40avKEEej+em556RSqaBSqSo7DKIqrV49oHPn/30y5u7dkj+CjRtXzidjiMhwlI5G37xZMofp8f9AlY5GN25csaPRLJr+X926dWFsbIy0tDSN9rS0NNja2lZSVEQvv3r1SpYVyM4uGWZXKkv+CHKEiejV9vgiuAkJJXOYTE1LRpjS0ytnNJqX5/6fUqlEmzZtEBISIrUVFxcjJCQE3t7elRgZ0ctPoQCsrEr+KFpZsWAiohKlo9GNGwNqNZCcXPJv48Yl7RU9Gs2RpsfMmDEDw4cPR9u2bdG+fXusWbMGubm5GDlyZGWHRkRE9EoypNFoFk2PGThwIO7evYsFCxYgNTUVrVq1woEDB8pMDiciIqKKUzoaXdkUQlTWHVxeLmq1GpaWlsjOzoaFhUVlh0NEREQyaPP+zTlNRERERDKwaCIiIiKSgUUTERERkQwsmoiIiIhkYNFEREREJAOLJiIiIiIZWDQRERERycCiiYiIiEgGrgiuI6VrhKrV6kqOhIiIiOQqfd+Ws9Y3iyYduX//PgDAwcGhkiMhIiIibd2/fx+WlpZP7cPbqOhIcXEx7ty5A3Nzcyj0fBdBtVoNBwcHJCcnvzK3bGHOzPllxZyZ88uqquQshMD9+/dhb28PI6Onz1riSJOOGBkZoUGDBhV6TgsLC4P+QdQH5vxqYM6vBub8aqgKOT9rhKkUJ4ITERERycCiiYiIiEgGFk1VkEqlwsKFC6FSqSo7lArDnF8NzPnVwJxfDS9jzpwITkRERCQDR5qIiIiIZGDRRERERCQDiyYiIiIiGVg0EREREcnAoskArFu3Do6OjjA1NYWXlxfOnj371P5ZWVmYOHEi7OzsoFKp4OTkhH379kn7g4KC0K5dO5ibm8Pa2hr9+vVDXFycvtPQiq5zXr9+Pdzd3aVF1Ly9vbF//359p6EVXef8uOXLl0OhUGDatGl6iPz56TrnRYsWQaFQaGzNmzfXdxpa0cf3+fbt2/jggw9Qp04dmJmZwc3NDefOndNnGlrTdd6Ojo5lvtcKhQITJ07Udyqy6TrnoqIizJ8/H40aNYKZmRmaNGmCJUuWyLonWkXRdc7379/HtGnT0LBhQ5iZmaFjx44IDw/XdxrPT1Cl2rp1q1AqleKHH34QsbGxYsyYMcLKykqkpaWV2z8/P1+0bdtW9O7dW5w4cULEx8eLI0eOiMjISKmPr6+v2Lhxo4iJiRGRkZGid+/e4rXXXhM5OTkVldZT6SPnP/74Q+zdu1dcvXpVxMXFiY8//liYmJiImJiYikrrqfSRc6mzZ88KR0dH4e7uLqZOnarnTOTTR84LFy4ULVu2FCkpKdJ29+7dikrpmfSRc2ZmpmjYsKEYMWKEOHPmjLh586Y4ePCguH79ekWl9Uz6yDs9PV3j+xwcHCwAiNDQ0ArK6un0kfPSpUtFnTp1xJ49e0R8fLzYsWOHqFmzpli7dm1FpfVU+sj5/fffFy4uLuLo0aPi2rVrYuHChcLCwkLcunWrotLSCoumSta+fXsxceJE6XFRUZGwt7cXQUFB5fZfv369aNy4sSgoKJB9jvT0dAFAHD169IXj1YWKyFkIIWrVqiW+++67F4pVV/SV8/3790WzZs1EcHCw6Nq1q0EVTfrIeeHChcLDw0PXoeqMPnIODAwUr7/+us5j1aWK+J2eOnWqaNKkiSguLn7heHVBHzn7+fmJUaNGabT1799f+Pv76yboF6TrnPPy8oSxsbHYs2ePRnvr1q3FJ598orvAdYiX5ypRQUEBIiIi4OPjI7UZGRnBx8cHYWFh5T7njz/+gLe3NyZOnAgbGxu4urpi2bJlKCoqeuJ5srOzAQC1a9fWbQLPoSJyLioqwtatW5Gbmwtvb2+95KENfeY8ceJE+Pn5aRzbEOgz52vXrsHe3h6NGzeGv78/kpKS9JqLXPrK+Y8//kDbtm3x3nvvwdraGp6envj3v/+t93zkqojf6YKCAvz0008YNWqU3m+ILoe+cu7YsSNCQkJw9epVAEBUVBROnDiBXr166TchGfSRc2FhIYqKimBqaqrxPDMzM5w4cUJ/ybwA3rC3Ev31118oKiqCjY2NRruNjQ2uXLlS7nNu3ryJP//8E/7+/ti3bx+uX7+ODz/8EI8ePcLChQvL9C8uLsa0adPQqVMnuLq66iUPbegz54sXL8Lb2xsPHz5EzZo1sWvXLri4uOg1Hzn0lfPWrVtx/vx5g7z+r6+cvby8sGnTJjg7OyMlJQWffvopOnfujJiYGJibm+s9r6fRV843b97E+vXrMWPGDHz88ccIDw/HlClToFQqMXz4cL3n9SwV8Xds9+7dyMrKwogRI/SRgtb0lfOcOXOgVqvRvHlzGBsbo6ioCEuXLoW/v7/ec3oWfeRsbm4Ob29vLFmyBC1atICNjQ1++eUXhIWFoWnTphWRlvYqe6jrVXb79m0BQJw6dUqjfdasWaJ9+/blPqdZs2bCwcFBFBYWSm0rV64Utra25fYfP368aNiwoUhOTtZd4C9Anznn5+eLa9euiXPnzok5c+aIunXritjYWN0noSV95JyUlCSsra1FVFSUtN+QLs9VxM+2EELcu3dPWFhYGMRlWH3lbGJiIry9vTWeN3nyZNGhQwcdRv/8KuJ73aNHD/H222/rLugXpK+cf/nlF9GgQQPxyy+/iOjoaPHjjz+K2rVri02bNuknES3oK+fr16+LLl26CADC2NhYtGvXTvj7+4vmzZvrJ5EXxJGmSlS3bl0YGxsjLS1Noz0tLQ22trblPsfOzg4mJiYwNjaW2lq0aIHU1FQUFBRAqVRK7ZMmTcKePXtw7NgxNGjQQD9JaEmfOSuVSul/J23atEF4eDjWrl2Lf/3rX3rKRh595BwREYH09HS0bt1a2l9UVIRjx47h66+/Rn5+vsZzK5q+f7ZLWVlZwcnJCdevX9dtAs9BXznb2dmVGTFt0aIFfvvtN90n8Rz0/b1OTEzE4cOHsXPnTv0k8Bz0lfOsWbMwZ84cDBo0CADg5uaGxMREBAUFVfqoor5ybtKkCY4ePYrc3Fyo1WrY2dlh4MCBaNy4sV7zeV6c01SJlEol2rRpg5CQEKmtuLgYISEhT5yL06lTJ1y/fh3FxcVS29WrV2FnZyf9oRFCYNKkSdi1axf+/PNPNGrUSL+JaEFfOZenuLgY+fn5ugv+Oekj5+7du+PixYuIjIyUtrZt28Lf3x+RkZGVWjABFfd9zsnJwY0bN2BnZ6fbBJ6DvnLu1KlTmSVDrl69ioYNG+ohC+3p+3u9ceNGWFtbw8/PTz8JPAd95ZyXlwcjI823ZWNjY43nVBZ9f59r1KgBOzs73Lt3DwcPHkTfvn31k8iLquyhrlfd1q1bhUqlEps2bRKXLl0SY8eOFVZWViI1NVUIIcTQoUPFnDlzpP5JSUnC3NxcTJo0ScTFxYk9e/YIa2tr8dlnn0l9JkyYICwtLcWRI0c0PrKbl5dX4fmVRx85z5kzRxw9elTEx8eL6OhoMWfOHKFQKMShQ4cqPL/y6CPnvzOky3NC6Cfnjz76SBw5ckTEx8eLkydPCh8fH1G3bl2Rnp5e4fmVRx85nz17VlSrVk0sXbpUXLt2TWzZskVUr15d/PTTTxWe35Po6+e7qKhIvPbaayIwMLBC85FDHzkPHz5c1K9fX1pyYOfOnaJu3bpi9uzZFZ5fefSR84EDB8T+/fvFzZs3xaFDh4SHh4fw8vLS+tPSFYVFkwH46quvxGuvvSaUSqVo3769OH36tLSva9euYvjw4Rr9T506Jby8vIRKpRKNGzcWS5cu1bhmDKDcbePGjRWU0bPpOudRo0aJhg0bCqVSKerVqye6d+9uMAVTKV3n/HeGVjQJofucBw4cKOzs7IRSqRT169cXAwcONKj1ioTQz/f5v//9r3B1dRUqlUo0b95cfPvttxWRilb0kffBgwcFABEXF1cRKWhN1zmr1WoxdepU8dprrwlTU1PRuHFj8cknn4j8/PyKSumZdJ3ztm3bROPGjYVSqRS2trZi4sSJIisrq6LS0ZpCCANaapSIiIjIQHFOExEREZEMLJqIiIiIZGDRRERERCQDiyYiIiIiGVg0EREREcnAoomIiIhIBhZNRERERDKwaCIiIiKSgUUT0UtoxIgR6Nevn/T4jTfewLRp0576HEdHR6xZs+aFz62r4xiav7+m5Tly5AgUCgWysrL0Hk9GRgasra2RkJCg93M9jUKhwO7duwEACQkJUCgUiIyM1Pl55Lz+T1KR35cXNWfOHEyePLmyw6AnYNFEVc6L/PF8Ve3cuRNLlizR6TE3bdoEKyurMu3h4eEYO3asTs9VkZ70xr927Vps2rRJelxeIdqxY0ekpKTA0tJS73EuXboUffv2haOjo97PZQj+/vpXhvL+Q/Ck34PnNXPmTGzevBk3b97U2TFJd1g0Eb0CateuDXNz8wo5V7169VC9evUKOZeuFRQUPHGfpaXlM98clUolbG1toVAodByZpry8PHz//fcICAjQ63kqw5O+B3Je/6qsqKgIxcXFqFu3Lnx9fbF+/frKDonKwaKJXjpHjx5F+/btoVKpYGdnhzlz5qCwsFDa/+uvv8LNzQ1mZmaoU6cOfHx8kJubC6BkGL99+/aoUaMGrKys0KlTJyQmJj7xXBcvXkS3bt2kY40dOxY5OTnS/tJRsX/+85+ws7NDnTp1MHHiRDx69Kjc4129ehUKhQJXrlzRaF+9ejWaNGkCoOSPa0BAABo1agQzMzM4Oztj7dq1T31N/j4qkp6ejj59+sDMzAyNGjXCli1byjxn1apVcHNzQ40aNeDg4IAPP/xQyu3IkSMYOXIksrOzoVAooFAosGjRIgBl/zeelJSEvn37ombNmrCwsMD777+PtLQ0af+iRYvQqlUr/Oc//4GjoyMsLS0xaNAg3L9//4n5lP7vfvfu3WjWrBlMTU3h6+uL5ORkqc+NGzfQt29f2NjYoGbNmmjXrh0OHz6scRxHR0csWbIEw4YNg4WFBcaOHYtGjRoBADw9PaFQKPDGG28A0BzhHDFiBI4ePYq1a9dK+SckJJR7Gei3335Dy5YtoVKp4OjoiJUrV5aJYdmyZRg1ahTMzc3x2muv4dtvv31i7gCwb98+qFQqdOjQQWq7d+8e/P39Ua9ePZiZmaFZs2bYuHEjgP+Nnm3fvh2dO3eGmZkZ2rVrh6tXryI8PBxt27ZFzZo10atXL9y9e1c6Znh4ON566y3UrVsXlpaW6Nq1K86fP//U2P4uJiYGvXr1Qs2aNWFjY4OhQ4fir7/+kva/8cYbmDRpEqZNmyYVDOX5+wjz036Pn+TkyZNwd3eHqakpOnTogJiYGI39J06ckF4fBwcHTJkyRTrmG2+8gcTEREyfPl36nj/t9yA/Px8zZ85E/fr1UaNGDXh5eeHIkSPSuUp/hv/44w+4uLhApVIhKSkJANCnTx9s3bpV7ktMFYhFE71Ubt++jd69e6Ndu3aIiorC+vXr8f333+Ozzz4DAKSkpGDw4MEYNWoULl++jCNHjqB///4QQqCwsBD9+vVD165dER0djbCwMIwdO/aJowa5ubnw9fVFrVq1EB4ejh07duDw4cOYNGmSRr/Q0FDcuHEDoaGh2Lx5MzZt2vTEywxOTk5o27ZtmSJmy5YtGDJkCACguLgYDRo0wI4dO3Dp0iUsWLAAH3/8MbZv3y77dRoxYgSSk5MRGhqKX3/9Fd988w3S09M1+hgZGeHLL79EbGwsNm/ejD///BOzZ88GUHIZas2aNbCwsEBKSgpSUlIwc+bMMucpLi5G3759kZmZiaNHjyI4OBg3b97EwIEDNfrduHEDu3fvxp49e7Bnzx4cPXoUy5cvf2oOeXl5WLp0KX788UecPHkSWVlZGDRokLQ/JycHvXv3RkhICC5cuICePXuiT58+0htTqX/+85/w8PDAhQsXMH/+fJw9exYAcPjwYaSkpGDnzp1lzr127Vp4e3tjzJgxUv4ODg5l+kVEROD999/HoEGDcPHiRSxatAjz588v8/1fuXIl2rZtiwsXLuDDDz/EhAkTEBcX98Tcjx8/jjZt2mi0zZ8/H5cuXcL+/ftx+fJlrF+/HnXr1tXos3DhQsybNw/nz59HtWrVMGTIEMyePRtr167F8ePHcf36dSxYsEDqf//+fQwfPhwnTpzA6dOn0axZM/Tu3fupBe3jsrKy0K1bN3h6euLcuXM4cOAA0tLS8P7772v027x5M5RKJU6ePIkNGzY887hP+z1+mlmzZmHlypUIDw9HvXr10KdPH+k/MDdu3EDPnj0xYMAAREdHY9u2bThx4oT0+7xz5040aNAAixcvlr7nT/s9mDRpEsLCwrB161ZER0fjvffeQ8+ePXHt2jUpnry8PHz++ef47rvvEBsbC2trawBA+/btcevWrUqfr0blEERVzPDhw0Xfvn3L3ffxxx8LZ2dnUVxcLLWtW7dO1KxZUxQVFYmIiAgBQCQkJJR5bkZGhgAgjhw5IiuOb7/9VtSqVUvk5ORIbXv37hVGRkYiNTVVirVhw4aisLBQ6vPee++JgQMHPvG4q1evFk2aNJEex8XFCQDi8uXLT3zOxIkTxYABA6THf3+NunbtKqZOnapxvLNnz0r7L1++LACI1atXP/EcO3bsEHXq1JEeb9y4UVhaWpbp17BhQ+k4hw4dEsbGxiIpKUnaHxsbq3H+hQsXiurVqwu1Wi31mTVrlvDy8npiLBs3bhQAxOnTp8vkcObMmSc+r2XLluKrr77SiLVfv34afeLj4wUAceHCBY32p72mpUJDQwUAce/ePSGEEEOGDBFvvfWWRp9Zs2YJFxcXjRg++OAD6XFxcbGwtrYW69evf2Ieffv2FaNGjdJo69Onjxg5cmS5/Utz+u6776S2X375RQAQISEhUltQUJBwdnZ+4nmLioqEubm5+O9//yu1ARC7du3SOE/pa7dkyRLRo0cPjWMkJycLACIuLk4IUfI6enp6PvGcpR5//Z/2e1ye0u/L1q1bpbaMjAxhZmYmtm3bJoQQIiAgQIwdO1bjecePHxdGRkbiwYMHQgjNn+1S5f0eJCYmCmNjY3H79m2N9u7du4u5c+dKzwMgIiMjy8SbnZ2t1d8iqjgcaaKXyuXLl+Ht7a0xOtSpUyfk5OTg1q1b8PDwQPfu3eHm5ob33nsP//73v3Hv3j0AJfN+RowYAV9fX/Tp0wdr165FSkrKU8/l4eGBGjVqaJyruLhYY5SgZcuWMDY2lh7b2dmVGdV53KBBg5CQkIDTp08DKBllat26NZo3by71WbduHdq0aYN69eqhZs2a+Pbbb8uMoDwt7mrVqmmMVDRv3rzMfJHDhw+je/fuqF+/PszNzTF06FBkZGQgLy9P1nlKz+Xg4KAxCuPi4gIrKytcvnxZanN0dNSYc/Ws1wgAqlWrhnbt2pXJofS4OTk5mDlzJlq0aAErKyvUrFkTly9fLvM6tW3bVnY+2rp8+TI6deqk0dapUydcu3YNRUVFUpu7u7v0tUKhgK2t7VPzf/DgAUxNTTXaJkyYgK1bt6JVq1aYPXs2Tp06VeZ5j5/HxsYGAODm5qbR9vh509LSMGbMGDRr1gyWlpawsLBATk6O7J+1qKgohIaGombNmtJW+nN848YNqd/fR82e5Wm/x0/j7e0tfV27dm04OztLPy9RUVHYtGmTRqy+vr4oLi5GfHy8VvFdvHgRRUVFcHJy0jje0aNHNfJWKpUa35NSZmZmAKDV7xpVDBZN9EoxNjZGcHAw9u/fDxcXF3z11VdwdnaW/ihu3LgRYWFh6NixI7Zt2wYnJyepeHleJiYmGo8VCgWKi4uf2N/W1hbdunXDzz//DAD4+eef4e/vL+3funUrZs6ciYCAABw6dAiRkZEYOXLkUycxayshIQFvv/023N3d8dtvvyEiIgLr1q0D8PTJ0s9L29dIjpkzZ2LXrl1YtmwZjh8/jsjISLi5uZWJ//Git7Jom3/dunXLFAm9evWS5tzcuXMH3bt3L3PJ9PHzlP7H4u9tj593+PDhiIyMxNq1a3Hq1ClERkaiTp06sn8GcnJy0KdPH0RGRmps165dQ5cuXaR+2n4PnvV7/DxycnIwbtw4jTijoqJw7do1aT6hNscyNjZGRESExvEuX76sMf/QzMys3Mv/mZmZAEo+VEGGhUUTvVRatGiBsLAwjbkNJ0+ehLm5ORo0aACg5I2hU6dO+PTTT3HhwgUolUrs2rVL6u/p6Ym5c+fi1KlTcHV1lYqX8s4VFRWlMfn05MmTMDIygrOz8wvl4e/vj23btiEsLAw3b97UmKtz8uRJdOzYER9++CE8PT3RtGlTjf+9Pkvz5s1RWFiIiIgIqS0uLk5j8nJERASKi4uxcuVKdOjQAU5OTrhz547GcZRKpcZoSXlatGiB5ORkjQnaly5dQlZWFlxcXGTHXJ7CwkKcO3euTA4tWrQAUPI6jRgxAu+88w7c3Nxga2sra46IUqkEgGfmJjf/kydParSdPHkSTk5OGqOP2vL09MSlS5fKtNerVw/Dhw/HTz/9hDVr1jxzQvmznDx5ElOmTEHv3r2lyeyPT+J+ltatWyM2NhaOjo5o2rSpxvaixeqzfo/L8/h/gO7du4erV69KPy+tW7fGpUuXysTZtGlT6WeivO95eW2enp4oKipCenp6mWPZ2to+M7eYmBiYmJigZcuWsl4LqjgsmqhKys7OLvO/1+TkZHz44YdITk7G5MmTceXKFfz+++9YuHAhZsyYASMjI5w5cwbLli3DuXPnkJSUhJ07d+Lu3bto0aIF4uPjMXfuXISFhSExMRGHDh3CtWvXpD+qf+fv7w9TU1MMHz4cMTExCA0NxeTJkzF06FDp0sfz6t+/P+7fv48JEybgzTffhL29vbSvWbNmOHfuHA4ePIirV69i/vz5CA8Pl31sZ2dn9OzZE+PGjcOZM2cQERGB0aNHS5cEAKBp06Z49OgRvvrqK9y8eRP/+c9/ykzQdXR0RE5ODkJCQvDXX3+VeynBx8cHbm5u8Pf3x/nz53H27FkMGzYMXbt2feHLYiYmJpg8ebKUw4gRI9ChQwe0b98eQMnrtHPnTmnEYMiQIbJGr6ytrWFmZiZNWs7Ozi63n6OjI86cOYOEhAT89ddf5R77o48+QkhICJYsWYKrV69i8+bN+Prrr8udNK8NX19fxMbGaow2LViwAL///juuX7+O2NhY7Nmz54k/u3I1a9YM//nPf3D58mWcOXMG/v7+Gj8nzzJx4kRkZmZi8ODBCA8Px40bN3Dw4EGMHDnymQXn0zzt9/hpFi9ejJCQEMTExGDEiBGoW7eu9Im8wMBAnDp1CpMmTZJGw37//XeND3Y4Ojri2LFjuH37tlQ8lvd74OTkBH9/fwwbNgw7d+5EfHw8zp49i6CgIOzdu/eZ+R0/flz6FB8ZFhZNVCUdOXIEnp6eGtunn36K+vXrY9++fTh79iw8PDwwfvx4BAQEYN68eQAACwsLHDt2DL1794aTkxPmzZuHlStXolevXqhevTquXLmCAQMGwMnJCWPHjsXEiRMxbty4cmOoXr06Dh48iMzMTLRr1w7vvvsuunfvjq+//vqF8zM3N0efPn0QFRWlcWkOAMaNG4f+/ftj4MCB8PLyQkZGBj788EOtjr9x40bY29uja9eu6N+/P8aOHSt9cgcomTOyatUqfP7553B1dcWWLVsQFBSkcYyOHTti/PjxGDhwIOrVq4cVK1aUOY9CocDvv/+OWrVqoUuXLvDx8UHjxo2xbds2reItT/Xq1REYGIghQ4agU6dOqFmzpsZxV61ahVq1aqFjx47o06cPfH190bp162cet1q1avjyyy/xr3/9C/b29ujbt2+5/WbOnAljY2O4uLigXr165c7zad26NbZv346tW7fC1dUVCxYswOLFizFixIjnzhsomYdUeuxSSqUSc+fOhbu7O7p06QJjY+MX/tj6999/j3v37qF169YYOnQopkyZovFz8iz29vY4efIkioqK0KNHD7i5uWHatGmwsrKCkdHzv/087ff4aZYvX46pU6eiTZs2SE1NxX//+19pFMnd3R1Hjx7F1atX0blzZ3h6emLBggUa/2FZvHgxEhIS0KRJE+nS2ZN+DzZu3Ihhw4bho48+grOzM/r164fw8HC89tprz8xv69atGDNmzPO+PKRHCiGe8RlNIiIDs2nTJkybNq1K3BZDX/bu3YtZs2YhJibmhQoQMiz79+/HRx99hOjoaFSrVq2yw6G/4XeEiKgK8vPzw7Vr13D79u1y14iiqik3NxcbN25kwWSg+F0hIqqinnUTZqp63n333coOgZ6Cl+eIiIiIZOCFcCIiIiIZWDQRERERycCiiYiIiEgGFk1EREREMrBoIiIiIpKBRRMRERGRDCyaiIiIiGRg0UREREQkw/8Btpg+N7Mu+VEAAAAASUVORK5CYII=", + "image/png": "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VRGVWjTl5OQgMjISkZGRAID4+HhERkYiKSkJOTk5mDVrFk6fPo2EhASEhISgb9++aNKkCXx9fQEAzZs3R8+ePTFmzBicPXsWJ0+exKRJkzBo0CA4ODgAAIYMGQKlUomAgADExsZi27ZtWLt2rcaltalTp+LAgQNYuXIlrly5gkWLFuHcuXOYNGlShb8mREREZKBEJQoNDRUAymzDhw8XeXl5okePHqJu3brCxMRENGjQQIwZM0akpqZqHCMjI0MMHjxYmJubC0tLSzFy5Ehx//59jT5RUVHi9ddfFyqVStSrV08sX768TCzbt28Xzs7OQqlUihYtWoi9e/dqlUt2drYAILKzs7V/IYiIiKhSaPP+bTDrNFV1XKeJiIio6nmp1mkiIiIiMgQsmoiIiIhkYNFEREREJAOLJiIiIiIZWDQRERERycCiiYiIiEgGFk1EREREMrBoIiIiIpKBRRMRERGRDNWe50lJSUlITExEXl4e6tatixYtWkClUuk6NiIiIiKDIbtoSkhIwPr167F161bcunULj999RalUonPnzhg7diwGDBgAIyMOYBEREdHLRVZ1M2XKFHh6eiI+Ph6fffYZLl26hOzsbBQUFCA1NRX79u3D66+/jgULFsDDwwPh4eH6jpuIiIioQskaaapRowZu3ryJ2rVrl9lnY2ODbt26oVu3bli4cCEOHDiA5ORktGvXTufBEhEREVUWhXj8OpsMSUlJsLGxgampqb5iqpK0uUsyERERGQZt3r+1mnxUXFyMJk2aIDk5+YUCJCIiIqpqtCqajIyM0LRpU2RkZOgrHiIiIiKDpPXH3JYvX45Zs2YhJiZGH/EQERERGSSt5zTVrFkTeXl5KCwshFKphJmZmcb+zMxMnQZYVXBOExERUdWjzfu31otbrlmz5nnjIiIiIqqytC6ahg8fro84iIiIiAzacy3dfePGDcybNw+DBw9Geno6AGD//v2IjY3VaXBEREREhkLrouno0aNwd3fHmTNnsHPnTuTk5AAAoqKisHDhQp0HSERERGQItC6a5syZg88++wzBwcFQKpVSe7du3XD69GmdBkdERERkKLQumi5evIh33nmnTLuNjQ3++usvnQRFREREZGi0Lpqsra2RkpJSpv3ChQuoV6+eToIiIiIiMjRaF02DBg1CYGAgUlNToVAoUFxcjJMnT2LmzJkYNmyY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FimlTylte/xxUVGRPuI0eFxygIiIqOrR+ZIDoaGhOgmMiIiIqKqSVTR17dpV33EQERERGTStJ4ITERERvYpYNBERERHJwKKJiIiISAYWTUREREQyaF00PXjwAHl5edLjxMRErFmzBocOHdJpYERERESGROuiqW/fvvjxxx8BAFlZWfDy8sLKlSvRt29frF+/XucBEhERERkCrYum8+fPo3PnzgCAX3/9Fba2tkhMTMSPP/6IL7/8UucBEhERERkCrYumvLw8WFhYAAAOHTqE/v37w8jICB06dEBiYqLOAyQiIiIyBFoXTU2aNMHu3buRnJyMgwcPokePHgBKbtjL24cQERHRy0rromnBggWYOXMmnJyc4OXlBW9vbwAlo06tWrXSeYBEREREhkDWDXv/LjU1FSkpKfD09ISRUUnddfbsWVhaWqJZs2Y6D7Iq4A17iYiIqh6d37D37+zs7GBnZ6fR1r59++c5FBEREVGVIKto6t+/PzZt2gRLS0v079//qX137typk8CIiIiIDImsosnKygoKhUL6moiIiOhV81xzmqgszmkiIiKqerR5/+a954iIiIhkYNFEREREJAOLJiIiIiIZWDQRERERyaBV0fTo0SN0794d165d01c8RERERAZJq6LJxMQE0dHR+oqFiIiIyGBpfXnugw8+wPfff6+PWIiIiIgMlta3USksLMQPP/yAw4cPo02bNqhRo4bG/lWrVuksOCIiIiJDoXXRFBMTg9atWwMArl69qrGvdNVwIiIiopeN1kVTaGioPuIgIiIiMmjPveTA9evXcfDgQTx48AAAwLuxEBER0ctM66IpIyMD3bt3h7OzM3r37o2UlBQAQEBAAD766COdB0hERERkCLQumqZPnw4TExMkJSWhevXqUvvAgQNx4MABnQZHREREZCi0LpoOHTqEzz//HPXr19dob9q0KRITE7U61rFjx9CnTx84ODhAoVBg9+7dGvuFEFiwYAHs7e1hZmYGHx+fMgtrZmZmwt/fH5aWlrC2tkZAQABycnI0+kRHR6Nz584wNTWFo6MjVqxYUSaWHTt2oFmzZjA1NYW7uzv27dunVS5ERET0ctO6aMrNzdUYYSqVmZkJlUql9bE8PT2xbt26cvevWLECX375JTZs2IAzZ86gRo0a8PX1xcOHD6U+/v7+iI2NRXBwMPbs2YNjx45h7Nix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", "text/plain": [ "
" ] @@ -334,6 +322,92 @@ "plt.xlabel(\"Loss on validation partition (smaller is better)\")\n", "plt.ylabel(\"Complexity (smaller is better)\")" ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Storing the population (unique individuals)\n", + "\n", + "If not using archive, then the unique individuals from the final population will be stored. Notice that, while the archive contains only the Pareto front (when `use_arch=True`), this will contain all individuals, even dominated ones." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Completed 100% [====================]\n", + "saving final population as archive...\n", + "Best model: 0.53*Logistic(Sum(-44.52416,2.68*AIDS))\n", + "score: 0.56\n" + ] + } + ], + "source": [ + "est = BrushClassifier(\n", + " # functions=['SplitBest','Add','Mul','Sin','Cos','Exp','Logabs'],\n", + " use_arch=False,\n", + " objectives=[\"error\", \"complexity\"],\n", + " max_gens=5,\n", + " pop_size=200,\n", + " verbosity=1\n", + ")\n", + "\n", + "est.fit(X,y)\n", + "\n", + "print(\"Best model:\", est.best_estimator_.get_model())\n", + "print('score:', est.score(X,y))" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3\n" + ] + }, + { + "data": { + "text/plain": [ + "Text(0, 0.5, 'Complexity (smaller is better)')" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAGwCAYAAABPSaTdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABGfElEQVR4nO3dd3wU1f7/8fcmpEFIQkkhUkKHQMDQA2IBJAJy4YJX0EhRFMUA0pWrgoIUuTZQxGu5gFe9eFFEBaVeQAihhV6kQygpSEkIJYFkfn/ky/5cE2CX7KaMr+fjsQ+yZ2ZnPmcny74zc2bGYhiGIQAAAJNyK+oCAAAAXImwAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATK1UURdQHOTk5Oj06dMqW7asLBZLUZcDAADsYBiGLl68qNDQULm53Xz/DWFH0unTp1WlSpWiLgMAANyBEydOqHLlyjedTtiRVLZsWUm5b5afn18RVwMAAOyRnp6uKlWqWL/Hb4awI1kPXfn5+RF2AAAoYW43BIUBygAAwNQIOwAAwNQIOwAAwNQIOwAAwNQIOwAAwNQIOwAAwNQIOwAAwNQIOwAAwNQIOwAAwNS4grKLGIaUliZlZUmenpK/v8Q9RgEAKHyEHRc4c0bau1c6fVrKzJS8vKTQUCk8XAoMLOrqAAD4cyHsONmZM9Latbl7dYKCJG9v6epV6cgR6exZqW1bAg8AAIWJMTtOZBi5e3TS0qSwMKlMGcndPfffsLDc9r17c+cDAACFg7DjRGlpuYeugoLyjs+xWHLbT5/OnQ8AABQOwo4TZWXljtHx9s5/urd37vSsrMKtCwCAPzPCjhN5euYORr56Nf/pV6/mTvf0LNy6AAD4MyPsOJG/f+5ZV6mpecflGEZue2ho7nwAAKBwEHacyGLJPb3c3186dky6dEnKzs7999ix3PbwcK63AwBAYeLUcycLDMw9vfzGdXbOnMk9dFWjBtfZAQCgKBB2XCAwULr3Xq6gDABAcUDYcRGLRQoIKOoqAABAkY7Zee2112SxWGwe9erVs06/evWqYmNjVaFCBfn6+qpnz55KSUmxWUZiYqK6dOmi0qVLKygoSKNHj9b169cLuysAAKCYKvI9Ow0aNNCKFSusz0uV+v8lDR8+XIsXL9b8+fPl7++vwYMHq0ePHoqLi5MkZWdnq0uXLgoJCdH69euVlJSkvn37ysPDQ5MnTy70vgAAgOKnyMNOqVKlFBISkqc9LS1Nn332mb766iu1a9dOkjR79mzVr19fGzZsUKtWrbRs2TLt3btXK1asUHBwsO6++25NnDhRL774ol577TV5ckEbAAD+9Ir81PODBw8qNDRUNWrUUExMjBITEyVJCQkJunbtmjp06GCdt169eqpatari4+MlSfHx8YqIiFBwcLB1nujoaKWnp2vPnj03XWdmZqbS09NtHgAAwJyKNOy0bNlSc+bM0ZIlSzRr1iwdPXpUbdu21cWLF5WcnCxPT08F/GGUb3BwsJKTkyVJycnJNkHnxvQb025mypQp8vf3tz6qVKni3I4BAIBio0gPY3Xq1Mn6c6NGjdSyZUtVq1ZN//3vf+Xj4+Oy9Y4dO1YjRoywPk9PTyfwAABgUkV+GOv3AgICVKdOHR06dEghISHKysrShQsXbOZJSUmxjvEJCQnJc3bWjef5jQO6wcvLS35+fjYPAABgTsUq7GRkZOjw4cOqVKmSmjZtKg8PD61cudI6ff/+/UpMTFRUVJQkKSoqSrt27VJqaqp1nuXLl8vPz0/h4eGFXj8AACh+ivQw1qhRo9S1a1dVq1ZNp0+f1vjx4+Xu7q7HHntM/v7+GjBggEaMGKHy5cvLz89PQ4YMUVRUlFq1aiVJ6tixo8LDw9WnTx9NmzZNycnJeuWVVxQbGysvL6+i7BoAACgmijTsnDx5Uo899pjOnj2rwMBA3XPPPdqwYYMC/+8GUu+++67c3NzUs2dPZWZmKjo6Wh9++KH19e7u7lq0aJEGDRqkqKgolSlTRv369dOECROKqksAAKCYsRiGYRR1EUUtPT1d/v7+SktLY/wOAAAlhL3f38VqzA4AAICzEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICpEXYAAICplbqTFyUmJur48eO6fPmyAgMD1aBBA3l5eTm7NgAAgAKzO+wcO3ZMs2bN0rx583Ty5EkZhmGd5unpqbZt22rgwIHq2bOn3NzYYQQAAIoHu1LJ0KFD1bhxYx09elRvvPGG9u7dq7S0NGVlZSk5OVk//fST7rnnHo0bN06NGjXS5s2bXV03AACAXezas1OmTBkdOXJEFSpUyDMtKChI7dq1U7t27TR+/HgtWbJEJ06cUPPmzZ1eLAAAgKMsxu+PR9khMTFRQUFB8vb2dlVNhS49PV3+/v5KS0uTn59fUZcDAADsYO/3t0ODa3JyclSrVi2dOHGiwAUCAAAUBofCjpubm2rXrq2zZ8+6qh4AAACncvi0qalTp2r06NHavXu3K+oBAABwKofH7JQrV06XL1/W9evX5enpKR8fH5vp586dc2qBhYExOwAAlDz2fn87fFHB9957ryB13dTUqVM1duxYvfDCC9Z1XL16VSNHjtS8efOUmZmp6OhoffjhhwoODra+LjExUYMGDdKqVavk6+urfv36acqUKSpV6o6ulwgAAEzG4UTQr18/pxexefNm/fOf/1SjRo1s2ocPH67Fixdr/vz58vf31+DBg9WjRw/FxcVJkrKzs9WlSxeFhIRo/fr1SkpKUt++feXh4aHJkyc7vU4AAFDy3NGljg8fPqxXXnlFjz32mFJTUyVJP//8s/bs2ePwsjIyMhQTE6NPPvlE5cqVs7anpaXps88+0zvvvKN27dqpadOmmj17ttavX68NGzZIkpYtW6a9e/fqiy++0N13361OnTpp4sSJmjlzprKysu6kawAAwGQcDjtr1qxRRESENm7cqAULFigjI0OStGPHDo0fP97hAmJjY9WlSxd16NDBpj0hIUHXrl2zaa9Xr56qVq2q+Ph4SVJ8fLwiIiJsDmtFR0crPT39lsErMzNT6enpNg8AAGBODoedl156SW+88YaWL18uT09Pa3u7du2se1zsNW/ePG3dulVTpkzJMy05OVmenp4KCAiwaQ8ODlZycrJ1nt8HnRvTb0y7mSlTpsjf39/6qFKlikN1AwCAksPhsLNr1y799a9/zdMeFBSk3377ze7lnDhxQi+88IK+/PLLQr8a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ABSUw2Fn9+7datKkiSTpwIEDNtNuXGUZAACguHA47KxatcoVdQAAALjEHZ96fujQIS1dulRXrlyRJHHXCQAAUBw5HHbOnj2r9u3bq06dOurcubOSkpIkSQMGDNDIkSOdXiAAAEBBOBx2hg8fLg8PDyUmJqp06dLW9l69emnJkiVOLQ4AAKCgHB6zs2zZMi1dulSVK1e2aa9du7aOHz/utMIAAACcweE9O5cuXbLZo3PDuXPn5OXl5ZSiAAAAnMXhsNO2bVt9/vnn1ucWi0U5OTmaNm2aHnjgAYeWNWvWLDVq1Eh+fn7y8/NTVFSUfv75Z+v0q1evKjY2VhUqVJCvr6969uyplJQUm2UkJiaqS5cuKl26tIKCgjR69Ghdv37d0W4BAACTcvgw1rRp09S+fXtt2bJFWVlZGjNmjPbs2aNz584pLi7OoWVVrlxZU6dOVe3atWUYhubOnatu3bpp27ZtatCggYYPH67Fixdr/vz58vf31+DBg9WjRw/rerKzs9WlSxeFhIRo/fr1SkpKUt++feXh4aHJkyc72jUAAGBCFuMOzhlPS0vTBx98oB07digjI0NNmjRRbGysKlWqVOCCypcvr3/84x965JFHFBgYqK+++kqPPPKIJOnXX39V/fr1FR8fr1atWunnn3/Www8/rNOnTys4OFiS9NFHH+nFF1/UmTNn5Onpme86MjMzlZmZaX2enp6uKlWqKC0tTX5+fgXuAwAAcL309HT5+/vf9vvb4T07kuTv76+XX375jovLT3Z2tubPn69Lly4pKipKCQkJunbtmjp06GCdp169eqpatao17MTHxysiIsIadCQpOjpagwYN0p49exQZGZnvuqZMmaLXX3/dqfUDAIDiya6w48idzhs1auRQAbt27VJUVJSuXr0qX19ffffddwoPD9f27dvl6empgIAAm/mDg4OVnJwsSUpOTrYJOjem35h2M2PHjtWIESOsz2/s2QEAAOZjV9i5++67ZbFYbnuVZIvFouzsbIcKqFu3rrZv3660tDR988036tevn9asWePQMhzl5eXFmWMAAPxJ2BV2jh496rICPD09VatWLUlS06ZNtXnzZk2fPl29evVSVlaWLly4YLN3JyUlRSEhIZKkkJAQbdq0yWZ5N87WujEPAAD4c7Mr7FSrVs3VdVjl5OQoMzNTTZs2lYeHh1auXKmePXtKkvbv36/ExERFRUVJkqKiojRp0iSlpqYqKChIkrR8+XL5+fkpPDy80GoGAADFl11h54cffrB7gX/5y1/snnfs2LHq1KmTqlatqosXL+qrr77S6tWrtXTpUvn7+2vAgAEaMWKEypcvLz8/Pw0ZMkRRUVFq1aqVJKljx44KDw9Xnz59NG3aNCUnJ+uVV15RbGwsh6kAAIAkO8NO9+7d7VqYo2N2UlNT1bdvXyUlJcnf31+NGjXS0qVL9eCDD0qS3n33Xbm5ualnz57KzMxUdHS0PvzwQ+vr3d3dtWjRIg0aNEhRUVEqU6aM+vXrpwkTJthdAwAAMLc7us6O2dh7nj4AACg+7P3+dvh2EQAAACXJHV1U8NKlS1qzZo0SExOVlZVlM23o0KFOKQwAAMAZHA4727ZtU+fOnXX58mVdunRJ5cuX12+//Wa9ESdhBwAAFCcOH8YaPny4unbtqvPnz8vHx0cbNmzQ8ePH1bRpU7311luuqBEAAOCOORx2tm/frpEjR8rNzU3u7u7KzMxUlSpVNG3aNP397393RY0AAAB3zOGw4+HhITe33JcFBQUpMTFRUu7NQU+cOOHc6gAAAArI4TE7kZGR2rx5s2rXrq377rtP48aN02+//aZ///vfatiwoStqBAAAuGMO79mZPHmyKlWqJEmaNGmSypUrp0GDBunMmTP6+OOPnV4gAABAQXBRQXFRQQAASiIuKggAAKA7GLNz9uxZjRs3TqtWrVJqaqpycnJspp87d85pxQEAABSUw2GnT58+OnTokAYMGKDg4GBZLBZX1AUAAOAUDoedtWvXat26dWrcuLEr6gEAAHAqh8fs1KtXT1euXHFFLQAAAE7ncNj58MMP9fLLL2vNmjU6e/as0tPTbR4AAADFicOHsQICApSenq527drZtBuGIYvFouzsbKcVBwAAUFAOh52YmBh5eHjoq6++YoAyAAAo9hwOO7t379a2bdtUt25dV9QDAADgVA6P2WnWrBk3/AQAACWGw3t2hgwZohdeeEGjR49WRESEPDw8bKY3atTIacUBAAAUlMP3xnJzy7szyGKxlOgBytwbCwCAksfe72+H9+wcPXq0QIUBAAAUJofDTrVq1VxRBwAAgEs4PEB57ty5Wrx4sfX5mDFjFBAQoNatW+v48eNOLQ4AAKCgHA47kydPlo+PjyQpPj5eH3zwgaZNm6aKFStq+PDhTi8QAACgIBw+jHXixAnVqlVLkrRw4UI98sgjGjhwoNq0aaP777/f2fUBAAAUiMN7dnx9fXX27FlJ0rJly/Tggw9Kkry9vblBKAAAKHYc3rPz4IMP6umnn1ZkZKQOHDigzp07S5L27NmjsLAwZ9cHAABQIA7v2Zk5c6aioqJ05swZffvtt6pQoYIkKSEhQY899pjTCwQAACgIhy8qaEZcVBAAgJLH3u9vu/bsJCYmOrTyU6dOOTQ/AACAq9gVdpo3b65nn31Wmzdvvuk8aWlp+uSTT9SwYUN9++23TisQAACgIOwaoLx3715NmjRJDz74oLy9vdW0aVOFhobK29tb58+f1969e7Vnzx41adJE06ZNsw5aBgAAKGoOjdm5cuWKFi9erHXr1un48eO6cuWKKlasqMjISEVHR6thw4aurNVlGLMDAEDJY+/3NwOURdgBAKAkcuoAZQAAgJKKsAMAAEyNsAMAAEyNsAMAAEzN4bBz6dIlV9QBAADgEg6HneDgYD311FNat26dK+oBAABwKofDzhdffKFz586pXbt2qlOnjqZOnarTp0+7ojYAAIACczjsdO/eXQsXLtSpU6f03HPP6auvvlK1atX08MMPa8GCBbp+/bor6gQAALgjTrmo4Pvvv6/Ro0crKytLFStW1HPPPaeXXnpJpUuXdkaNLsdFBQEAKHns/f62695Y+UlJSdHcuXM1Z84cHT9+XI888ogGDBigkydP6s0339SGDRu0bNmyO108AACAUzgcdhYsWKDZs2dr6dKlCg8P1/PPP68nnnhCAQEB1nlat26t+vXrO7NOAACAO+Jw2HnyySfVu3dvxcXFqXnz5vnOExoaqpdffrnAxQEAABSUw2N2Ll++XGLG4tiLMTsAAJQ8LrsRaNmyZZWampqn/ezZs3J3d3d0cQAAAC7lcNi52Y6gzMxMeXp6FrggAAAAZ7J7zM6MGTMkSRaLRZ9++ql8fX2t07Kzs/XLL7+oXr16zq8QAACgAOwOO++++66k3D07H330kc0hK09PT4WFhemjjz5yfoUAAAAFYHfYOXr0qCTpgQce0IIFC1SuXDmXFQUAAOAsDp96vmrVKlfUAQAA4BJ2hZ0RI0Zo4sSJKlOmjEaMGHHLed955x2nFAYAAOAMdoWdbdu26dq1a9afb8ZisTinKgAAACdxyo1ASzouKggAQMnjsosKnjlz5qbTdu3a5dCypkyZoubNm6ts2bIKCgpS9+7dtX//fpt5rl69qtjYWFWoUEG+vr7q2bOnUlJSbOZJTExUly5dVLp0aQUFBWn06NG6fv26Q7UAAABzcjjsREREaPHixXna33rrLbVo0cKhZa1Zs0axsbHasGGDli9frmvXrqljx466dOmSdZ7hw4frxx9/1Pz587VmzRqdPn1aPXr0sE7Pzs5Wly5dlJWVpfXr11vvxD5u3DhHuwYAAMzIcNCbb75peHl5Gc8995xx+fJl4+TJk0a7du2MwMBAY8GCBY4uzkZqaqohyVizZo1hGIZx4cIFw8PDw5g/f751nn379hmSjPj4eMMwDOOnn34y3NzcjOTkZOs8s2bNMvz8/IzMzEy71puWlmZIMtLS0gpUPwAAKDz2fn87vGdnzJgxio+P19q1a9WoUSM1atRIXl5e2rlzp/76178WKHilpaVJksqXLy9JSkhI0LVr19ShQwfrPPXq1VPVqlUVHx8vSYqPj1dERISCg4Ot80RHRys9PV179uzJdz2ZmZlKT0+3eQAAAHNyOOxIUq1atdSwYUMdO3ZM6enp6tWrl0JCQgpUSE5OjoYNG6Y2bdqoYcOGkqTk5GR5enoqICDAZt7g4GAlJydb5/l90Lkx/ca0/EyZMkX+/v7WR5UqVQpUOwAAKL4cDjtxcXFq1KiRDh48qJ07d2rWrFkaMmSIevXqpfPnz99xIbGxsdq9e7fmzZt3x8uw19ixY5WWlmZ9nDhxwuXrBAAARcPhsNOuXTv16tVLGzZsUP369fX0009r27ZtSkxMVERExB0VMXjwYC1atEirVq1S5cqVre0hISHKysrShQsXbOZPSUmx7kkKCQnJc3bWjec329vk5eUlPz8/mwcAADAnh8POsmXLNHXqVHl4eFjbatasqbi4OD377LMOLcswDA0ePFjfffed/ve//6l69eo205s2bSoPDw+tXLnS2rZ//34lJiYqKipKkhQVFaVdu3YpNTXVOs/y5cvl5+en8PBwR7sHAABM5o4vKnjo0CEdPnxY9957r3x8fGQYhsNXUH7++ef11Vdf6fvvv1fdunWt7f7+/vLx8ZEkDRo0SD/99JPmzJkjPz8/DRkyRJK0fv16Sbmnnt99990KDQ3VtGnTlJycrD59+ujpp5/W5MmT7aqDiwoCAFDy2Pv97XDYOXv2rB599FGtWrVKFotFBw8eVI0aNfTUU0+pfPnyeuutt+xe1s3C0ezZs9W/f39JuRcVHDlypP7zn/8oMzNT0dHR+vDDD20OUR0/flyDBg3S6tWrVaZMGfXr109Tp05VqVL23eeUsAMAQMnjsrDTt29fpaam6tNPP1X9+vW1Y8cO1ahRQ0uXLtWIESNuerp3cUbYAQCg5LH3+9u+XR+/s2zZMi1dutRmILEk1a5dW8ePH3e8UgAAABdyeIDypUuXVLp06Tzt586dk5eXl1OKAgAAcBaHw07btm31+eefW59bLBbl5ORo2rRpeuCBB5xaHAAAQEE5fBhr2rRpat++vbZs2aKsrCyNGTNGe/bs0blz5xQXF+eKGgEAAO6Yw3t2GjZsqAMHDuiee+5Rt27ddOnSJfXo0UPbtm1TzZo1XVEjAADAHbvj6+yYCWdjAQBQ8jj1bKydO3faveJGjRrZPS8AAICr2RV27r77blksFt1uJ5DFYlF2drZTCgMAAHAGu8LO0aNHXV0HAACAS9gVdqpVq+bqOgAAAFzC4VPPpdw7j7///vvat2+fJKl+/foaMmSIzc08AQAAigOHTz3/9ttv1bBhQyUkJKhx48Zq3Lixtm7dqoYNG+rbb791RY0AAAB3zOFTz2vWrKmYmBhNmDDBpn38+PH64osvdPjwYacWWBg49RwAgJLH3u9vh/fsJCUlqW/fvnnan3jiCSUlJTm6OAAAAJdyOOzcf//9Wrt2bZ72devWqW3btk4pCgAAwFkcHqD8l7/8RS+++KISEhLUqlUrSdKGDRs0f/58vf766/rhhx9s5gUAAChKDo/ZcXOzb2dQSbrAIGN2AAAoeZx6u4jfy8nJKVBhAAAAhcnhMTsAAAAlyR1dVHDz5s1atWqVUlNT8+zpeeedd5xSGAAAgDM4HHYmT56sV155RXXr1lVwcLAsFot12u9/BgAAKA4cDjvTp0/Xv/71L/Xv398F5QAAADiXw2N23Nzc1KZNG1fUAgAA4HQOh53hw4dr5syZrqgFAADA6Rw+jDVq1Ch16dJFNWvWVHh4uDw8PGymL1iwwGnFAQAAFJTDYWfo0KFatWqVHnjgAVWoUIFByQAAoFhzOOzMnTtX3377rbp06eKKegAAAJzK4TE75cuXV82aNV1RCwAAgNM5HHZee+01jR8/XpcvX3ZFPQAAAE7l8GGsGTNm6PDhwwoODlZYWFieAcpbt251WnEAAAAF5XDY6d69uwvKAAAAcA2LYRhGURdR1Oy9RfydMAwpLU3KypI8PSV/f4kT2AAAKDh7v7/v6EagkpSQkKB9+/ZJkho0aKDIyMg7XZRpnTkj7d0rnT4tZWZKXl5SaKgUHi4FBhZ1dQAA/Dk4HHZSU1PVu3dvrV69WgEBAZKkCxcu6IEHHtC8efMUyLe4pNygs3Zt7l6doCDJ21u6elU6ckQ6e1Zq25bAAwBAYXD4bKwhQ4bo4sWL2rNnj86dO6dz585p9+7dSk9P19ChQ11RY4ljGLl7dNLSpLAwqUwZyd0999+wsNz2vXtz5wMAAK7l8J6dJUuWaMWKFapfv761LTw8XDNnzlTHjh2dWlxJlZaWe+gqKCjv+ByLJbf99Onc+f5v5xgAAHARh/fs5OTk5DndXJI8PDyUk5PjlKJKuqys3DE63t75T/f2zp2elVW4dQEA8GfkcNhp166dXnjhBZ0+fdradurUKQ0fPlzt27d3anElladn7mDkq1fzn371au50T8/CrQsAgD8jh8POBx98oPT0dIWFhalmzZqqWbOmqlevrvT0dL3//vuuqLHE8ffPPesqNTXvuBzDyG0PDc2dDwAAuJbDY3aqVKmirVu3asWKFfr1118lSfXr11eHDh2cXlxJZbHknl5+9qx07Jjt2VipqbkhJzyc6+0AAFAYuKigXHdRQa6zAwCA69j7/W33Yaz//e9/Cg8PV3p6ep5paWlpatCggdauXXtn1ZpUYKB0771Sp05S5865/957L0EHAIDCZHfYee+99/TMM8/km5z8/f317LPP6p133nFqcWZgseSeXh4UlPsvh64AAChcdoedHTt26KGHHrrp9I4dOyohIcEpRQEAADiL3WEnJSUl3+vr3FCqVCmdOXPGKUUBAAA4i91h56677tLu3btvOn3nzp2qVKmSU4oCAABwFrvDTufOnfXqq6/qaj5Xyrty5YrGjx+vhx9+2KnFAQAAFJTdp56npKSoSZMmcnd31+DBg1W3bl1J0q+//qqZM2cqOztbW7duVXBwsEsLdgVXnXoOAABcx97vb7svKhgcHKz169dr0KBBGjt2rG5kJIvFoujoaM2cObNEBh0AAGBuDl1BuVq1avrpp590/vx5HTp0SIZhqHbt2ipXrpyr6gMAACgQh28XIUnlypVT8+bNnV0LAACA0zl8I1AAAICShLADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMrUjDzi+//KKuXbsqNDRUFotFCxcutJluGIbGjRunSpUqycfHRx06dNDBgwdt5jl37pxiYmLk5+engIAADRgwQBkZGYXYCwAAUJwVadi5dOmSGjdurJkzZ+Y7fdq0aZoxY4Y++ugjbdy4UWXKlFF0dLTNzUhjYmK0Z88eLV++XIsWLdIvv/yigQMHFlYXAABAMWf3jUBdzWKx6LvvvlP37t0l5e7VCQ0N1ciRIzVq1ChJUlpamoKDgzVnzhz17t1b+/btU3h4uDZv3qxmzZpJkpYsWaLOnTvr5MmTCg0NtWvd3AgUAICSx97v72I7Zufo0aNKTk5Whw4drG3+/v5q2bKl4uPjJUnx8fEKCAiwBh1J6tChg9zc3LRx48abLjszM1Pp6ek2DwAAYE7FNuwkJydLUp47qQcHB1unJScnKygoyGZ6qVKlVL58ees8+ZkyZYr8/f2tjypVqji5egAAUFwU27DjSmPHjlVaWpr1ceLEiaIuCQAAuEixDTshISGSpJSUFJv2lJQU67SQkBClpqbaTL9+/brOnTtnnSc/Xl5e8vPzs3kAAABzKrZhp3r16goJCdHKlSutbenp6dq4caOioqIkSVFRUbpw4YISEhKs8/zvf/9TTk6OWrZsWeg1AwCA4qdUUa48IyNDhw4dsj4/evSotm/frvLly6tq1aoaNmyY3njjDdWuXVvVq1fXq6++qtDQUOsZW/Xr19dDDz2kZ555Rh999JGuXbumwYMHq3fv3nafiQUAAMytSMPOli1b9MADD1ifjxgxQpLUr18/zZkzR2PGjNGlS5c0cOBAXbhwQffcc4+WLFkib29v62u+/PJLDR48WO3bt5ebm5t69uypGTNmFHpfAABA8VRsrrNTlLjODgAAJU+Jv84OAACAMxB2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2AACAqRF2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2Wef6Y033pAkJSUl6bHHHtNTTz2lffv2afXq1erRo4cMw9D169fVvXt33Xfffdq5c6fi4+M1cODAm/6VfunSJUVHR6tcuXLavHmz5s+frxUrVmjw4ME2861atUqHDx/WqlWrNHfuXM2ZM+emu+Pr1KmjZs2a5QkfX375pR5//HFJUk5OjipXrqz58+dr7969GjdunP7+97/rv//9r93vU//+/XXixAmtWrVK33zzjT788EOlpqbazOPm5qYZM2Zoz549mjt3rv73v/9pzJgxknIP17z33nvy8/NTUlKSkpKSNGrUqDzrycnJUbdu3XTu3DmtWbNGy5cv15EjR9SrVy+b+Q4fPqyFCxdq0aJFWrRokdasWaOpU6fesg+XL1/WpEmT9PnnnysuLk4XLlxQ7969rdMzMjLUuXNnrVy5Utu2bdNDDz2krl27Wr9QbnjrrbfUuHFjbdu2Ta+++qo2bdokSVqxYoWSkpK0YMGCPOuePn26oqKi9Mwzz1j7X6VKlTzzJSQk6NFHH1Xv3r21a9cuvfbaa3r11VfzbP+3335bzZo107Zt2/T8889r0KBB2r9//037vnbtWjVt2tSm7dVXX9XevXv1888/a9++fZo1a5YqVqxoM8/48eP1yiuvaOvWrSpVqpQef/xxjRkzRtOnT9fatWt16NAhjRs3zjr/xYsX1a9fP61bt04bNmxQ7dq11blz51sG0d+7cOGC2rVrp8jISG3ZskVLlixRSkqKHn30UZv55s6dK09PT8XFxemjjz667XJv9Tm+ldGjR+vtt9/W5s2bFRgYqK5du1r/8Dh8+LAeeugh9ezZUzt37tTXX3+tdevWWT/PCxYsUOXKlTVhwgTrNr/V52Dw4MGKj4/XvHnztHPnTv3tb3/TQw89pIMHD1rruXz5st588019+umn2rNnj4KCgiRJLVq00MmTJ4t8PBb+oGhvuo4/m379+hndunXLd9rf//53o27dukZOTo61bebMmYavr6+RnZ1tJCQkGJKMY8eO5Xnt2bNnDUnG6tWr7arj448/NsqVK2dkZGRY2xYvXmy4ubkZycnJ1lqrVatmXL9+3TrP3/72N6NXr143Xe67775r1KxZ0/p8//79hiRj3759N31NbGys0bNnT+vzP75H9913n/HCCy/YLG/Tpk3W6fv27TMkGe++++5N1zF//nyjQoUK1uezZ882/P3988xXrVo163KWLVtmuLu7G4mJidbpe/bssVn/+PHjjdKlSxvp6enWeUaPHm20bNnyprXMnj3bkGRs2LAhTx82btx409c1aNDAeP/9921q7d69u808R48eNSQZ27Zts2m/1Xt6w6pVqwxJxvnz5w3DMIzHH3/cePDBB23mGT16tBEeHm5TwxNPPGF9npOTYwQFBRmzZs26aT+6detmPPXUUzZtXbt2NZ588sl857/Rp08//dTa9p///MeQZKxcudLaNmXKFKNu3bo3XW92drZRtmxZ48cff7S2STK+++47m/XceO8mTpxodOzY0WYZJ06cMCQZ+/fvNwwj932MjIy86Tpv+P37f6vPcX5ubJd58+ZZ286ePWv4+PgYX3/9tWEYhjFgwABj4MCBNq9bu3at4ebmZly5csUwDNvf7Rvy+xwcP37ccHd3N06dOmXT3r59e2Ps2LHW10kytm/fnqfetLQ0h/4vQuFgzw6KjX379ikqKspmb0ybNm2UkZGhkydPqnHjxmrfvr0iIiL0t7/9TZ988onOnz8vKXdcS//+/RUdHa2uXbtq+vTpSkpKuuW6GjdurDJlytisKycnx+av8gYNGsjd3d36vFKlSnn2ovxe7969dezYMW3YsEFS7l6dJk2aqF69etZ5Zs6cqaZNmyowMFC+vr76+OOP8+yxuFXdpUqVstkzUK9evTzjIVasWKH27dvrrrvuUtmyZdWnTx+dPXtWly9ftms9N9ZVpUoVm70e4eHhCggI0L59+6xtYWFhNmOKbvceSVKpUqXUvHnzPH24sdyMjAyNGjVK9evXV0BAgHx9fbVv374871OzZs3s7o+j9u3bpzZt2ti0tWnTRgcPHlR2dra1rVGjRtafLRaLQkJCbtn/K1euyNvb26Zt0KBBmjdvnu6++26NGTNG69evz/O6368nODhYkhQREWHT9vv1pqSk6JlnnlHt2rXl7+8vPz8/ZWRk2P27tmPHDq1atUq+vr7Wx43f48OHD1vn++Neqtu51ef4VqKioqw/ly9fXnXr1rX+vuzYsUNz5syxqTU6Olo5OTk6evSoQ/Xt2rVL2dnZqlOnjs3y1qxZY9NvT09Pm21yg4+PjyQ59FmD6xF2UGK4u7tr+fLl+vnnnxUeHq73339fdevWtf5nNnv2bMXHx6t169b6+uuvVadOHWvouFMeHh42zy0Wi3Jycm46f0hIiNq1a6evvvpKkvTVV18pJibGOn3evHkaNWqUBgwYoGXLlmn79u168sknbzm41lHHjh3Tww8/rEaNGunbb79VQkKCZs6cKenWg3jvlKPvkT1GjRql7777TpMnT9batWu1fft2RURE5Kn/92G1qDja/4oVK+b5cu/UqZN1TMnp06fVvn37PIcWf7+eG38Q/LHt9+vt16+ftm/frunTp2v9+vXavn27KlSoYPfvQEZGhrp27art27fbPA4ePKh7773XOp+j2+B2n+M7kZGRoWeffdamzh07dujgwYPW8XKOLMvd3V0JCQk2y9u3b5/N+DofH598D5OfO3dOUu5gfxQfhB0UG/Xr11d8fLzNsfu4uDiVLVtWlStXlpT7H3qbNm30+uuva9u2bfL09NR3331nnT8yMlJjx47V+vXr1bBhQ2voyG9dO3bssBkUGRcXJzc3N9WtW7dA/YiJidHXX3+t+Ph4HTlyxGYsSlxcnFq3bq3nn39ekZGRqlWrls1fi7dTr149Xb9+XQkJCda2/fv32wyqTUhIUE5Ojt5++221atVKderU0enTp22W4+npabN3Ij/169fXiRMnbAYO7927VxcuXFB4eLjdNefn+vXr2rJlS54+1K9fX1Lu+9S/f3/99a9/VUREhEJCQuwaA+Hp6SlJt+2bvf2Pi4uzaYuLi1OdOnVs9vY5KjIyUnv37s3THhgYqH79+umLL77Qe++9d9uBzrcTFxenoUOHqnPnztZB1r8fXHw7TZo00Z49exQWFqZatWrZPAoaMm/3Oc7P7/9wOX/+vA4cOGD9fWnSpIn27t2bp85atWpZfyfy2+b5tUVGRio7O1upqal5lhUSEnLbvu3evVseHh5q0KCBXe8FCgdhB4UuLS0tz1+LJ06c0PPPP68TJ05oyJAh+vXXX/X9999r/PjxGjFihNzc3LRx40ZNnjxZW7ZsUWJiohYsWKAzZ86ofv36Onr0qMaOHav4+HgdP35cy5Yt08GDB63/Gf5RTEyMvL291a9fP+3evVurVq3SkCFD1KdPH+shgjvVo0cPXbx4UYMGDdIDDzyg0NBQ67TatWtry5YtWrp0qQ4cOKBXX31VmzdvtnvZdevW1UMPPaRnn31WGzduVEJCgp5++mnrrnNJqlWrlq5du6b3339fR44c0b///e88A0fDwsKUkZGhlStX6rfffst3l3uHDh0UERGhmJgYbd26VZs2bVLfvn113333FfjwkYeHh4YMGWLtQ//+/dWqVSu1aNFCUu77tGDBAutf6I8//rhde4uCgoLk4+NjHUyblpaW73xhYWHauHGjjh07pt9++y3fZY8cOVIrV67UxIkTdeDAAc2dO1cffPBBvoO5HREdHa09e/bY7N0ZN26cvv/+ex06dEh79uzRokWLbvq7a6/atWvr3//+t/bt26eNGzcqJibG5vfkdmJjY3Xu3Dk99thj2rx5sw4fPqylS5fqySefvG1QvJVbfY5vZcKECVq5cqV2796t/v37q2LFitYzvF588UWtX79egwcPtu59+v77721OOAgLC9Mvv/yiU6dOWUNffp+DOnXqKCYmRn379tWCBQt09OhRbdq0SVOmTNHixYtv27+1a9dazwpD8UHYQaFbvXq1IiMjbR6vv/667rrrLv3000/atGmTGjdurOeee04DBgzQK6+8Ikny8/PTL7/8os6dO6tOnTp65ZVX9Pbbb6tTp04qXbq0fv31V/Xs2VN16tTRwIEDFRsbq2effTbfGkqXLq2lS5fq3Llzat68uR555BG1b99eH3zwQYH7V7ZsWXXt2lU7duywOYQlSc8++6x69OihXr16qWXLljp79qyef/55h5Y/e/ZshYaG6r777lOPHj00cOBA65kgUu6YiHfeeUdvvvmmGjZsqC+//FJTpkyxWUbr1q313HPPqVevXgoMDNS0adPyrMdisej7779XuXLldO+996pDhw6qUaOGvv76a4fqzU/p0qX14osv6vHHH1ebNm3k6+trs9x33nlH5cqVU+vWrdW1a1dFR0erSZMmt11uqVKlNGPGDP3zn/9UaGiounXrlu98o0aNkru7u8LDwxUYGJjvOJYmTZrov//9r+bNm6eGDRtq3LhxmjBhgvr373/H/ZZyx9ncWPYNnp6eGjt2rBo1aqR7771X7u7uBT59+bPPPtP58+fVpEkT9enTR0OHDrX5Pbmd0NBQxcXFKTs7Wx07dlRERISGDRumgIAAubnd+VfHrT7HtzJ16lS98MILatq0qZKTk/Xjjz9a99o0atRIa9as0YEDB9S2bVtFRkZq3LhxNn9oTJgwQceOHVPNmjWth5hu9jmYPXu2+vbtq5EjR6pu3brq3r27Nm/erKpVq962f/PmzdMzzzxzp28PXMRiGLc53w8AnGjOnDkaNmxYibj8v6ssXrxYo0eP1u7duwsUHFC8/Pzzzxo5cqR27typUqVKFXU5+B22BgAUsi5duujgwYM6depUvtf4Qcl06dIlzZ49m6BTDLFFAKAI3O7mrih5HnnkkaIuATfBYSwAAGBqHCwGAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACmRtgBAACm9v8A35c6Ltrgj2EAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "xs, ys = [], []\n", + "for ind in est.archive_:\n", + " xs.append(ind['fitness']['loss_v'])\n", + " ys.append(ind['fitness']['complexity'])\n", + "\n", + "print(len(xs))\n", + "plt.scatter(xs, ys, alpha=0.25, c='b', linewidth=1.0)\n", + "plt.xlabel(\"Loss on validation partition (smaller is better)\")\n", + "plt.ylabel(\"Complexity (smaller is better)\")" + ] } ], "metadata": {