/
variational-opt.ipynb
1583 lines (1583 loc) · 762 KB
/
variational-opt.ipynb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Vary Much Optimal\n",
"\n",
"This document was inspired by [this blogpost](http://www.inference.vc/evolution-strategies-variational-optimisation-and-natural-es-2/) by Ferenc Huszár which was in turn inspired by [this paper](http://www.jmlr.org/papers/volume15/wierstra14a/wierstra14a.pdf) by Wiersta et al and [this paper](https://www.elen.ucl.ac.be/Proceedings/esann/esannpdf/es2013-65.pdf) by Barber et al. I was a fascinated by all of this and I just had to reproduce it myself. I'm sharing some personal findings based on that work here but any proper attribution should also link to the previously mentioned documents as I am largely just repeating their work.\n",
"\n",
"Let's demonstrate the maths behind the idea. \n",
"\n",
"$$\n",
"\\begin{split}\n",
"\\frac{d}{d\\theta} \\mathbb{E}_{x \\sim p(x|\\theta)} f(x) &= \\frac{d}{d\\theta}\\int p(x|\\theta)f(x)dx \\\\\n",
" &= \\int \\frac{d}{d\\theta} p(x|\\theta)f(x)dx\n",
"\\end{split}\n",
"$$\n",
"\n",
"So far so good. Let's now apply a trick. We will rewrite the contents of the last integral in a bit. To understand why we are able to do that, please remember the chain rule of derivatives;\n",
"\n",
"$$\n",
"\\frac{d}{dx} f(g(x)) = g'(x) f'(g(x))\n",
"$$\n",
"\n",
"We will now apply the chain rule on the following statement. \n",
"\n",
"$$ \n",
"\\frac{d}{d\\theta} \\log p(x|\\theta) = \\frac{\\frac{d}{d\\theta}p(x|\\theta)}{p(x|\\theta)}\n",
"$$ \n",
"\n",
"You may begin to wonder why this is such a useful step. Hopefully it comes clear when we multiply both sides by $p(x|\\theta)$. \n",
"\n",
"$$\n",
"\\begin{split}\n",
"\\frac{d}{d\\theta} \\log p(x|\\theta) & = \\frac{\\frac{d}{d\\theta}p(x|\\theta)}{p(x|\\theta)} \\\\\n",
"p(x|\\theta) \\frac{d}{d\\theta} \\log p(x|\\theta) & = p(x|\\theta) \\frac{\\frac{d}{d\\theta}p(x|\\theta)}{p(x|\\theta)} \\\\\n",
"p(x|\\theta) \\frac{d}{d\\theta} \\log p(x|\\theta) & = \\frac{d}{d\\theta} p(x|\\theta)\n",
"\\end{split}\n",
"$$\n",
"\n",
"Let us now use this to continue our train of thought. \n",
"\n",
"$$\n",
"\\begin{split}\n",
"\\frac{d}{d\\theta} \\mathbb{E}_{x \\sim p(x|\\theta)} f(x) &= \\frac{d}{d\\theta}\\int p(x|\\theta)f(x)dx \\\\\n",
" &= \\int \\frac{d}{d\\theta} p(x|\\theta)f(x)dx \\\\ \n",
" &= \\int p(x|\\theta)\\frac{d}{d\\theta} \\log p(x|\\theta)f(x)dx\n",
"\\end{split}\n",
"$$\n",
"\n",
"That seems useful, let's rearrange and conclude! \n",
"\n",
"$$\n",
"\\begin{split}\n",
"\\frac{d}{d\\theta} \\mathbb{E}_{x \\sim p(x|\\theta)} f(x) &= \\frac{d}{d\\theta}\\int p(x|\\theta)f(x)dx \\\\\n",
" &= \\int \\frac{d}{d\\theta} p(x|\\theta)f(x)dx \\\\ \n",
" &= \\int p(x|\\theta)\\frac{d}{d\\theta} \\log p(x|\\theta)f(x)dx \\\\ \n",
" &= \\int p(x|\\theta) f(x) \\frac{d}{d\\theta} \\log p(x|\\theta)dx \\\\\n",
" &= \\mathbb{E}_{x \\sim p(x|\\theta)} \\left< f(x) \\frac{d}{d\\theta} \\log p(x|\\theta) \\right>\n",
"\\end{split}\n",
"$$\n",
"\n",
"The implications of this are pretty interesting. Suppose we have a naughty $f(x)$ that is hard to optimise then we may look for a variational distribution $p(x|\\theta)$ and perform a gradient search on that instead. The above formula shows that we'll always be able to derive a gradient (even in cases where $f(x)$ is not continous).\n",
"\n",
"The easiest variational function to work with should be the gaussian. \n",
"\n",
"..."
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pylab as plt\n",
"import numba as nb\n",
"\n",
"from matplotlib.patches import Ellipse\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 126,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def integrate(f, minval, maxval, granualarity=100):\n",
" x = np.linspace(minval, maxval, granualarity)\n",
" return np.sum(f(x)) * (maxval - minval) / granualarity\n",
"\n",
"def variationalizer(f, mu, sigma, minval=-4, maxval=4):\n",
" const = 1/np.sqrt(2*np.pi*sigma**2)\n",
" to_opt = lambda x: f(x)*np.exp(-(x-mu)**2/(2.*sigma**2))\n",
" return const * integrate(to_opt, -6, 6, 1000)\n",
"\n",
"@nb.jit\n",
"def make_variational(f_orig, f_variational, \n",
" extend_mu = [-2, 10], \n",
" extend_sigma = [0.1, 2], \n",
" grid_param = 40):\n",
" res = []\n",
" for s in reversed(np.linspace(extend_sigma[0], extend_sigma[1], grid_param)):\n",
" row = []\n",
" for m in np.linspace(extend_mu[0], extend_mu[1], grid_param):\n",
" if(s == 0.0):\n",
" row.append(f_orig(m))\n",
" else:\n",
" if f_variational(f_orig, m, s) > 10:\n",
" print(m, s, f_variational(f_orig, m, s))\n",
" row.append(f_variational(f_orig, m, s))\n",
" res.append(row)\n",
" return res"
]
},
{
"cell_type": "code",
"execution_count": 334,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x1108dcda0>]"
]
},
"execution_count": 334,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10fef8fd0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# f = lambda x: np.sinc(x)\n",
"f = lambda x: np.floor(np.sinc(x) * 10 + 4*np.sin(x))\n",
"xs = np.arange(-5, 5, 0.01)\n",
"\n",
"plt.plot(xs, f(xs))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$ \\mathbb{E}[f(x)] = \\int f(x) p(x) dx = \\int f(x) p(x|\\mu, \\sigma) dx$$ "
]
},
{
"cell_type": "code",
"execution_count": 335,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAEKCAYAAAACS67iAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXuwbVdV5r/vnPtKIBD0AkndXAwW0ZKnYAwUqdYoYIeY\nMlY1RQXl3d0paLCDQilCldhqV9vahYChiVdIQwoaRIiYpqIQFAVsA3mQ3LxAI41wY3gEJA/I456z\nR/+x19p7rL3H3HPO9drrrDt+qZW7zprP9TjzjDnmGGNSROA4juPsfDbW3QHHcRynHXxAdxzHGQk+\noDuO44wEH9Adx3FGgg/ojuM4I8EHdMdxnJHQ24BOch/Jz5G8geTNJP+LkYck30byNpKHST6tr/45\njuP0DclLSH6D5E3q2veRvJLkPxb/PiK1vj4l9AcA/LSIPAXAjwI4m+QzFvI8F8BpxXEBgHf02D/H\ncZy+eTeAsxeuvR7AX4nIaQD+qvg5id4GdJlyb/Hj7uJY9Go6D8ClRd6rAJxI8uS++ug4jtMnIvIp\nAN9euHwegPcU5+8B8POp9e1qqV9JkNwEcC2AxwF4u4h8diHLAQBfVT8fKa7dsVDPBZhK8ODuPT+2\n55GP6qzPTgSuuwNrYt0O1h23zz7vr8e27v/6kTtF5JFN6vi3P/UQ+da3t5PyXnv4gZsB3K8uHRKR\nQ5FijxaRcsz7GoBHp/at1wFdRLYB/CjJEwH8GcknishNsXJGPYcAHAKAfQcOymNe8SvtdLDXrzgf\n6WLwbFpnRwN6J/eqaPyqY+Uj6cH2Izc+Kxcsn9iWBM5XlVnVbmJb0b5ErkffW6TMTW/+lX+O1BDl\nW9/exuc+9pikvJsn/+P9InJ63bZERMj0r3UtVi4i8h0An8Sy7uh2AAfVz6cU1/pB2P1I0gDK/Bgj\n5ePv4xXotmq1SXXUSA+2m/qCQ/Wv6tNYEXX01Nwk8b+afL1UNRf/fiO1YJ9WLo8sJHOQPA7AcwB8\nYSHb5QBeXFi7PAPAXWrq4TiOs3YEgqOynXTU5HIALynOXwLgz1ML9qlyORnAewo9+gaAD4rIR0m+\nAgBE5GIAVwA4B8BtAL4H4GU99s9ZE0OZFOl+ZM2CynKhMvr+hji76qJ/Ld5n3RlplzPZBtJ3BZLv\nB3AWgP0kjwB4E4DfBfBBkv8ewD8DeH5qfb0N6CJyGMBTjesXq3MB8Kq++uQ4jpOLQLDdUthxEXlB\nIOlZderrdVHUcRxnDEwGOdXyAd0mpAMY0Gpk2ZWhqCtyGXq/rf519fpNVY9uTGUoT3P6UluVtA5y\n+lfHCqYFBMC2D+iO4zjjwCX0MVBHPHJGQ1TSTVlcjC2g1mHoi64h+upry+0IgKMD3brTB3THcZwM\nBOIql1ExIB17QNWaju5yx3rtVvXmbdZV47W1Iq2vqHcnTQJjfW3V7HBNevPFPmwP9P34gO44jpPB\n1FN0mPiA3iZ9mkYYNJbWh05X9xSrN/IKo1K1Ja3nSPB1XuxO0qt31b/O7pvYHmh8BR/QHcdxMpgu\nivqAfmwyIH37jmXdvzuJlil92ns3bmsEEnxW5MYWmdqhr/ujtPEB3XEcJ5OJS+gdshPdJjvWt9d6\nJD1avERZd/sWGVJtUIK2pH2j3h3l3ZlDRxYxTdqsU51L6I7jOCNAQGyvZyuJKD6gO47jZOIqlz6w\n5msDffAmI51nJ7+CdW+HVycGem65puVjurQuQgvksI69Tmtul1cXAfGgbHZTeUPGNaA7juN0zNSx\nyFUuTg4t+YCP3tkIaG8Bta6DkVUu8Nyjr9OQsGPlc+qv9Vmty/FnwJPUoS6KDvPPjOM4zkARIbZl\nI+mIQfKXSd5M8iaS7ye5r0nfxj+gl7uo71SdtLU9/WhF7QxCu94PvE3z9a3jXjom59culjeYLliW\n4iVwvWUmYNKxCpIHAPxnAKeLyBMBbAI4v0m/XOXiOI6TwXRRtLWhcxeA40geBXA8gH9pWpmzE6mh\nDM3Sp1tBpLqiLysYRWMfqojevHMrmJyXuW43/zVPjtuenGcuiu4neY36+ZCIHAIAEbmd5P8A8BUA\n9wH4uIh8vEnffEB3HMfJZDtd7XmniJxuJZB8BIDzADwWwHcA/CnJF4rIe+v2a/w6dM1O1qWHqKlX\n31GPooZ+WSJHTt5klWxIF25cD762yL0mv+qh6uVjD7ROeqBMV9946SmackR4NoD/JyLfFJGjAC4D\n8MwmfXMJ3XEcJ5NJggVLAl8B8AySx2OqcnkWgGtWF1mND+iO4zgZTINzNR/QReSzJD8E4DoAWwA+\nD+BQkzp9QB8TIw0dEKOvO83xKwouRNZwHKoT5XEnvP7Ge5Ea6X3ct4A42pLrv4i8CcCbWqkMPqA7\njuNkIYIkp6F10FuvSB4k+UmStxSeURcaec4ieRfJ64vjN/rq3+hIXD2LOoD05KixRJ+Lek2dhdDB\n48m5/zU4z7XaZNOF0qb1Z5PmVBRzLOqCPiX0LQCvFZHrSJ4A4FqSV4rILQv5Pi0i5/bYL8dxnGQE\nw5XQexvQReQOAHcU5/eQvBXAAQCLA/qoaCrBNPby71qvXtdDp+F9Zd1JF45LVpCsUFWWDjygF0/V\ngQ9quaTF9lvVm3f4XIa6wcVaekXyVABPBfBZI/mZJA+T/AuST+i1Y47jOBEExETSjr7pfVGU5EMB\nfBjAa0Tk7oXk6wA8RkTuJXkOgI8AOM2o4wIAFwDAroc/okYncnzg69GW1BSqp4tuDz3UbvSR9h2o\nq6SOtJ4TJiAWZmBAzL6htnTrKW1FynTh+n+0vVgurdKrhE5yN6aD+ftE5LLFdBG5W0TuLc6vALCb\n5H4j3yEROV1ETt98yEM677fjOM4cYjvx6Jve/syQJIB3AbhVRN4cyHMSgK+LiJA8A9M/ON/qq49N\n6VOXWWu3vaaK18YRrSKsS8KOEXtUsQ0urKwxCX9IOvKmqP7XupeB3b+gNU/R1ulz3nAmgBcBuJHk\n9cW1NwB4DACIyMUAngfglSS3MHWFPV9EBvY6Hcc51hnqjkV9Wrl8BhG5SEQuAnBRPz1qhyFJT3nh\ncVebU8T2Iu6TxrrzrjefzvDutIxczHIZ31VFmi8KimrBbGsI323Rh5zfoZxNorv63RShS+iO4zhj\nYLoo2o7rf9v4gO44jpMF3bHI6ZchqUw6oWs1Sw4xNUmOWWLDBdhUBrvouhjnPDVvQY5Kpi7TRdFh\n/mL5gO44jpPJUD1FRzGg9x0ytLN26khnsSKxhdLBimo1iDyfroQqWiudMdd9Xd6sNJC3i1e07j1H\nI9QOs9vVoijW4wWawigGdMdxnD7J2CS6V0Y1oNeS1Nfl796Fg0Vs8/ca0nqwTEwq7SL4VqjONUnm\ni/UzdP/W9ZDjUQ2zxUFhuP5Xnot1Pedea+jV20YEODppZ0AneSKAdwJ4Iqa9f7mI/H3d+kY1oDuO\n43TNVOXSmoT+VgB/KSLPI7kHwPFNKvMBvU+6lh4yJOSxW8FE76tNZXTRWHA5ImdmY2Ho04O3twbJ\nvlW9fkaYgOR2O3gmbXiKknw4gJ8A8FIAEJEHATzYpM5hKoIcx3EGSmm22EL43McC+CaA/0Xy8yTf\nSbJRtMFRDujl7muDkD5FHetqd0X7wa3EjAfY2U5ndbaAM7Zoi773rm7AqDPYF+te1b3MXlXNLfhm\nbXa9LV2f37Vqy7ytUF86699U5ZJyANhP8hp1XKAq2gXgaQDeISJPBfBdAK9v0jNXuTiO42SSsV/o\nnSJyeiDtCIAjIlJu9PMh+IA+UJpKBqnl64aBbWv2klBnY3194+BaMWVsw/pnim27nUqgrDo69IYM\nydXAtHjJ0JtXSPQKZcsBW6dWLs1juYjI10h+leQPi8gXATwLDbfk9AHdcRwng5Ydi34JwPsKC5cv\nAXhZk8p8QHccx8kkQ+WyEhG5HkBIJZPN6Af0IU03TbpSzaTG8A48n9lzG9IDDNyTKSxZfe1qkTwW\nMEv1pVS/BB9lUZfWEtCov/NwAAFS2wo5E2UhiW0GF/y7eTCllcsQGf2A7jiO0za+wcVOoOnqXZsu\nzE2x6m9RqBikY1JIlOs4NIDZbND1X4pLgR2F6nwXdZyUuvr++vyuUxdAW+6TCLHlA7rjOM44cJVL\nlyRKHU3D7DbWVdYoH2sz67uyTAwDZoemBJ6jT69hIpk1wamxwUXWs8rYR9SqNylQl1HeVMfL6vRq\nw+F2OqPuzNTSkVsmjNEQAIEMHfpU+YDuOI4zEnxA74MdHnq0zgygtgQfc3AxZjPRb7hNx6UsaXr1\nQ6gjzcfbtBqy27Sl9ZwHm95utP2+qOsslFVvmr687fv3DS4cx3FGRFt26G0zzgE9R2e5DmsTRdft\nxze10JmN64lheIP1t0FqvU0l8br9jzyrqM24ZaceqsCqfw3SeBvtWDryWGgAk6Ader1+xRABtlra\n4KJtxjmgO47jdIirXBzHcUaA69BHQlOzR03nu63ETOnK6iOLoqHyYq2adkylrzkLoWZogDZ6tKKu\nwLM0tTOpzkCYmzAGu2+aoxp6sY6iPdZ100+vv/IRprXfwScqPqA7juOMg6Euivam2Sd5kOQnSd5C\n8maSFxp5SPJtJG8jeZjk0+IVq6NOullG5kcMUUebNK1TjMMgeqtd3V+blLv9qGNVvsVvQdjOkdKW\n2dfKMX0Zde+lc6xvwfhGKt9VzjdoHBSZHdHysb62gEhrW9C1Tp8S+haA14rIdSRPAHAtyStFRAd0\nfy6A04rj6QDeUfzrOI4zEIjtY93KRUTuAHBHcX4PyVsBHEB1h47zAFwqIgLgKpInkjy5KBsn5lhk\npHdm8lXHwaFN/WOOieKqtoY5s4wT0aEnh9xNoagsJJBl6cujFRj1xMxNBzS7ahxWN+aw1INjEeA6\n9AokTwXwVACfXUg6AOCr6ucjxbXKgF5stHoBAOw68RFdddNxHGcJgZstziD5UAAfBvAaEbm7Th0i\ncgjAIQDYd8rB5b+/A5VOTLqyCjAdWIz0wAwl5oQ0n+xQXRMrq91+U7TlR2K9YX10zPvLqixSXjUW\nDb5lNrX6ZeRMtjph1ZpLal4rvSKBS355RWcGWAK0uXcGyU0A1wC4XUTObVJXrwM6yd2YDubvE5HL\njCy3Aziofj6luOY4jjMYWrZyuRDArQAe1rSiPq1cCOBdAG4VkTcHsl0O4MWFtcszANyVrD/P6ow6\n1kVsBT6Srlf2rWNlnaHDqL9NK5cc4yHN3BokUsGSxQgqFiXBzgTKJVtPmYfdV9uyZXVbUYsXq/6a\n6fOMaPbeE8rX+RZMi5hQekZfcpBiUTTliN4PeQqAnwXwzjb61qeEfiaAFwG4keT1xbU3AHgMAIjI\nxQCuAHAOgNsAfA8Nd8B2HMfpggyVy36S16ifDxUq45K3APhVACe00a8+rVw+g4hMXFi3vCq77qLW\nrK3AcuupSVZdLa7QJ4fVjVkEVQqtztbqOlEXsyf9UEwrl4b1BxXbscWJ5eSgZYz13iLfeFNLrugS\nQ056RMdueYLGyreyIXUmGVYud4rI6VYCyXMBfENEriV5Vhv9ck9Rx3GcDERaM1s8E8DPkTwHwD4A\nDyP5XhF5Yd0Kh2kd7ziOM2Da8BQVkV8XkVNE5FQA5wP46yaDOTAyCT2qMompGcwy6dPlWtQ1uUq9\nh5CzS2kRFpmuZ6lUegzMbQbfCpkyln1ZtcCZcq0VpPi/NvcMZisyGN9gTJXYkeluU/VLhYb9iu45\n2uEn2KbZYpuMakB3HMfpGgExadn1X0T+BsDfNK1nlAN6lqDYpxNSHemmaZ8is5U6zkTBvLr6jHpb\n25Eoh0hoAI1EPiLGpOaICF6R1o2ZkymgtzkLrUPNGaTV71BI3OQdjSLtduL6336VrTDKAd1xHKcz\n2lsUbZ3kAZ3kPwK4EcANAK4HcIOIfLmjfuWx+GwD0uHsL3XHZl5JtKUjb9p+SBLEcrpZXhPL29Xv\nQFFvcAMMQ8duB+xa4bC0lHl1OVYU+kZdOeai1veqq49YY3ZODal55fWF9LrrSZ0u4wxURM9RBP0R\ngK8B+BamYW5vInkjyd8qXPodx3GOCUSYdPRNjsrlhSLyo+UPJC8G8HIAdwN4M4Bfarlv9QlI4J3r\nHztw2mhaV9wyRVewXFewe0a9nRkEmYrXWBnjvGIFU6POjLyinpwprQc8h0p9euhZ0jRPGh4rw0+s\nuJYljTeU4OsiACaTYT7/nAH9LpJPFpHDACAi15P8SRF5CsnrOuqf4zjOsBAM9g9qzoD+CgDvLeKw\nXA/ghzGNtwIAe9ruWBZNJOs+rVxiZLSfKtmH8jW1PDEl+JAZjJW5RdvvWVO14yQ0az9GUFq3My/3\nJbbOY64HqPRoDyNEpOK6rv/mlnIRK5eoNN/T7/BQ7dCTdegiciuAMwD8JYBHYRpA61ySDwHwgW66\n5ziOM0Ak8eiZHCuXnwbwiwC+A+AmAIcB3CsiDwD4nW665ziOMzTWs+CZQo7K5RIArwGwG8CTAfw8\ngCcAeFwH/apHYiS6PswSY9PF7HpCNNQyVKoynlVUI5XgTNPWOl5WeWNRVCxTxsXztgjUWapfwmaN\n1kdq1Jvz3vsce3K++9iiplXXqnwLHItmizkD+j+LyEeK8z/tojOO4ziDRwAZgZXLp0j+MoC3FHHL\nh0tMaoz1PugTIsW1QGClOouaOU8yZ/HJKh5xUDFN5QJCrWUCGnNXb5VY8C3LRDFHKq8j3oVu1Fq0\n1Aulxqpmj3HOeiV5ITRYfrlc32aLRatdVNqYnAH98QCeBODXSF6LqaXL9SLi0rrjOMcWA/0jmzyg\ni8i/AwCSx2E+uD8Da1a/WIvJDP0QM/9aka9vYhJ8slQSkfRCZodRvXfMvK5NfXnT4F0xs8SmTkYz\nEmxEE9d5qnaB8wyzmVEo3ZiMVDDjXxjJIRJNCVN2EYqaHUbqWqfZ4hDGCIvogE7yN0XkN0meCeCw\niNwD4NricBzHObYQ7GjHoo8V/14I4IlF3JZbMDVbPDxElUtQUIw50zSlYyelWhJJTCcZyhp5VjNB\nM0UqLz/+pksvFb346nZjIW8731+02ht1WorYOtXQpw9IAmxVh5+hA4+Gz7XqtMp3wFBXEaMDuoj8\nffHv8wGA5F5MzRWfBODpcIsXx3GONXa6lUvAsWgYHqKLz1bM06jQFd1xvU0stW2G/nDltZpEjGDi\nG2Do5x558Gao3qaEpPaYBG6m1+lVwi/5ahW2qe833fyjVjrxrrSG9Y1Wvgs1A0nUm+e0uw4rlzak\nf5IHAVwK4NGY9vKQiLy1SZ3jcixyHMfpGssSox5bAF4rIteRPAHAtSSvFJFb6lY4TseigGJ4JhzF\nLDcCdVkGCGsjVTpJq2aJVGOMViTBmNRqtWXowGvrzbuwcgnapK82HyrvoWKbztBbWK6qLcE8ptdu\nRUJtOEtdn5ULW1kUFZE7ANxRnN9D8lYABzBdo6xFNDgXyUtJvgbAVSR/pW5DjuM4o0ESD2A/yWvU\ncYFVHclTATwVwGebdCtFQn83gKdgquf5GZIXYroN3Q0YqJWL4zhOp0ySc94pIqevykDyoQA+DOA1\nInJ3k26lWLn8NYC/JnmqiHyZ5C4AP4LpIP/jWLf6hVi5KNqJKWFNv/acxZu+YkHHHk9sUTS4EGr0\nte7jrzW7jYYG6NpsMbYcH0iPPaSZeilQe53gXU2tSTO+29gCaux3IGYkYIYWaBtBa3bohRn4hwG8\nT0Qua1pfzp6ilwGAiGyJyI0i8t7yWgokLyH5DZI3BdLPInkXyeuL4zcy+uY4jtMblLRjZR3ThZJ3\nAbhVRN7cRr9SPEWfD+BpAE4g+SMAvigi5YTjEKYWLym8G8BFmJrphPi0iJybWN+MpUBREXf0yi7p\nZuCkpSLLCS1RS2rPSU+vPj6ZMYRaCaRbtGqqaJkd5rj+1zBb1N+KLQimrLYnfnC1A4lZ06hI+Rg1\nZoMhU8XoQqjRRm2pvEthvZ26zwTwIgA3FjvBAcAbROSKuhWm6ND/DsA+AP8B082gf5jkdwD8C4D7\nUhsSkU8Vin/HcZxjHhH5DFr2GEjRod8O4FKS/yQifwcAJL8fwKkAvtBmZwA8k+RhALcDeJ2I3Gxl\nKlaKLwCAzUc8Yt7XRUkdiIqdMU1nteHlQm2GOU0JaLSYnlXGajNQ3DRbzFg6COrWkzu2XCjUph0e\n15hORMwWg+asEWm97JgkfU2G2aLxwWoTTL0Zxjw4V6D6WPNNiUnrdXT3NWeZM8m8F1PFxbb7bzOF\nHDv0W0n+Nqb7id4C4FIR+W6LfbkOwGNE5F6S5wD4CIDTrIwicghTdQ/2Hjw40EfrOM4oEQzW9T9n\nUfQDAO4B8H8AHA/gMyTPaKsjInK3iNxbnF8BYDfJ/UmFF1YghPYB66jUE0lfA5UFFnVY15oeVluh\n9i1vuWBei1h6pWKsflerylB3zLomIAuJN7i6tVifXX9ZDwlwQ2ZHtHzq/efkrUvqO8l5v5HvLVTO\n/u5ldsS+wdxFyixSf696JkdCf6SI/F5x/lGSfwLgf2MaE70xJE8C8HURkeIPxQaAb7VRt+M4TpuM\nQeXybZJPEpEbAUBEvkTy+NTCJN8P4CxMPaeOAHgTpnFhICIXA3gegFeS3MJ0sfX87K3urKdsGk/b\nxa3NASxVZ4re3NTnmxnTr5v68pr6x1jzMSsWy0Y42Pwsb0OngKAO3MprnOv3FrFTZ8bDnG1JGDLj\nsQzFK/di2KEHLXKMDF3MJK1vLUDcCiU93Xb9t5/r+lz/e2wnk5wB/VUAPkTy0wBuxHTXon9KLSwi\nL4ikX4SpWaPjOM6wGeiAnqxDF5EvYGqP/klMF0ZvALBykHYcxxkbqU5F61DL5EjoEJEHAXywo77U\nZ3HKWZnuirrMxUvx+qypc0xPsSrPKiIqDStvY7PFgGpgpjLSf/L1zNfqX9P7r4tplmioZyLpDKl0\nos0v36yoCqoaFVm+GFOp2I2uhaj3Y/FhJA1mkW/cMkvM+d47HVAHauWSs8HF9wH4ZVTNFv+1q445\njuMMlTEsin4AwCcwDe/4JEzNFl8mIp/rpGcZrHT9r+Ys/q+kp3C25QzmgpUWW9v/qx2SSCwJPmuR\nyOiqORkJSUTGDCEwMTIlsazfB2NR04x9HllI5IYtgc8k89CiaWL/KiEl1B1WA2lx6Zq5QFr5rEQl\nD0MyjErKse9WnQfrSpyFrmVwHcGA3qnZouM4zo5gTfrxFHozW+yDWHjXuQS2rFfXeStFLL1yiy8z\nJp1UqGESFjWLDKhyZekEoI4BbUmlOZOVnHWM1PSAhG7tw6n15bN1gsCLtZqyclZc9EMVzJ57aBqY\nhgRnI3VrbIkMad3+no2LQzFVXHebCTQxW3wCMswWHcdxxgLTN7joleQBXUS+QPJpmG4O/SMAPg9g\n/VvSWa7OAUkxy7rFqKtNkqX82Ap/UFeZ1oBUFNOqfCm1qg9XlMVL+UEHfYUaWt9U+mhI2BUsZaxx\nbkrlOl1firygym2Xwbl0/bA/vNm9hHaoyJh5rKKZ/B9+lLHvziwTI0HfvqrcUNUf6yDHyuWPAfws\npr/i/4KpHfpxAP6wm645juMMlIH+EclRufwEgIMisk3yAKZb0KVubtEti/bhIdd+M3lZnx603DCt\nLYx+hLuQjGmHHrVyWW1GYum4WTXNmKcXdrYxO/SQDr/SvHUvdYjojcOu/VYZWU4OiqWJ3VIfQ8UK\nx7A5t9ZmqpXmLEisJrhdXQeYxkdRKxcx02NWLvPfgZ5H1wEviuZEW/wsgO8HABG5XUSuEJHf7aZb\njuM4A0YSjwgkzyb5RZK3kXx9027lSOh/BOBvSb4L08H9sIjc1bQDrRLTgS+b+NrSuhUsKVR/Tl9i\nRWroHaOBiwJ1Wjb71Vud/iSTgHiXOoMId8HolCpT51mHJPDC/lzboVeybkwXBEIm3qXkLoFOld6f\nldSgjlyWku2ZR0TH3tBKpilVSXu1ZUr0PGsWqvMut5san68xLUjoJDcBvB3AcwAcAXA1yctF5Ja6\ndeZI6O/FdD/QXQD+E4D/S9KtXBzHOaYgpkYBKUeEMwDcJiJfKsKqfADAeU36liOhHxGR/6YvkNzb\npHHHcZwdR54OfT/Ja9TPh4od1wDgAICvqrQjAJ7epGs5A/r1JC8UkbeWF0TkgSaNt8WqKVWOf4sZ\n79xQMwTT6xD6MCKWeNZ0NbqgFGvfmtprd3lL/WIslIb6FXRCivVxpqZYvboWdu1fujRTs1TSKy72\nRje0+WGlz4XZorrpkDWn2ZnlqlZUsKJMV4RUJqvyxlR9mKtqgt+ouSgaWEBdQScLmOl13ikip3fQ\nA5OcAf3RAJ5N8tcw3f/zBgDXi8ifdtIzx3GcodLOH4nbARxUP59SXKtNjmPR84GZmuUJmAboejqA\n9Q/oi3+CK+ZjRraQ9GOEBtCi2sxUL+bgstRIA4JSryHdxBZFrY8w4Hg1cyIK1W84FkVD7dbFXPS0\n0pcXQvV1SyoHgI1y0TRLlDP9+dUVLUkuz2wqX0pgYboWqeF3NU0bjZSPSeChWaZlltg0XHRbtCT1\nXw3gNJKPxXQgPx/ALzSpMHlRlOSnSD6sULOcAeARAN7QpHHHcZwdiSQeq6oQ2QLwagAfA3ArgA+K\nyM1NupWjcnm4iNxN8scA/EcAHwXwxwBe0qQDnRD482lucGFIRyGfDlPmiQlCOYJ6TPrI0aFPjGuR\nNiv3aq7QKx0yDSesSP+zTBlzXOAjjkUbM9d/dU2bMFqhAYz2K2sAKu9ksjydCZk4WuUr4Res2Yju\nw6yvkQ8rWH5lsspYLz01JG5Svamz0L6RJAuWtKpErgBwRTu15Q3oR0nuAvBiAP9dRD64sHrrOI5z\nbLBGdc8qcgb0t2G6ELoPQOnR9NDWe1SHZCm4sJaIbXAR1bEHam/T+qWsJ0cSmiynZ0k0IQnYujYp\nnuWGepaBQF7zi/o8w4wj4hpPQwduufFbUrm+Hg3IpWdzqv8bhW5+LqkvvP+KNG5kaLr20qNfUfKM\nL/jdLuvDY6EBYpZc62Corv85i6KXkrwMwLaI3EfycQD+vruuOY7jDJSdPqADgIjcq85vA/Cy1nuU\nC1FDQrHRaUCcAAAc5klEQVT1lzPT6oqkbVi85OjYW8R0849ILyFdn2lzH7FyqUjgNK7p8LpGv1r9\nHTAkYG1lE5PAozp0VX2831wuHwhjUFq8BOucia1L1Vs/9IIpjWbM/KL6dENvrq+HdehpX5S0vW1f\nwoLnusga0B3HcY51iBGoXBzHcZwpPqB3SaMZ1bL6xYylDZghBkKz4WTzMF08siCUbMqIuSoktogU\nXI8zVDWVrKX2KaBmMU0Ymy7QVh7Q6nTtWFSqVzYq15STUXkt0qlJZPuryjqn+sFyHIrGQw9Rx0y2\nTy1NzGxRUW9R1FA7RmAX+hEf0B3HcUbCsT6gk7wEwLkAviEiTzTSCeCtAM4B8D0ALxWR63LaEEtq\nylm1nIlPuk6jeMy8r9Kn9OZz6ES6qdxXmuMKJ6oiFbzL3plmdfMhSVXMhcJlaVxL2JYJo5bKN0Mm\njsa10kRRW2Ja0nrU2UfVG3M8ilfUrHjtumKzxFhT5swt8GHMvhs7PdW5xzShbYIMV+XS9q2u4t0A\nzl6R/lwApxXHBQDe0UOfHMdx8pHEo2d6k9BF5FMkT12R5TwAl4qIALiK5IkkTxaROyI1L0vmFZ2l\nIX2FRJJSego5HlmBj5pK67GXHjFLDOrYZ2aLShKN6TVNCdi+11mgssnytZX9SsTc0Ud3pWJ2uHxt\nwzgPSeWbG5EOFnkn+gaVE9G2IW0HTRg7UGhHZ5EdEDIZzJkZxmeZslxGS+WpOvSW3PS7rrMN+pTQ\nY1jB3g9YGUleQPIaktds3/vdXjrnOI5TQkk7+mZHLooWO34cAoC9P3DKaqHHCrKkQ5taEmjI8sMK\nnBR6aXXCmGpiuspE6SYrsJF537qQYbmhrVz0bGBSEUuX64/1RROxcrEcgyoSuqFD3zDKh6xcJjMd\n+ryQnhWW6zTh4F6WeVQgb/FDcM/RpljfcNMqjcdW+7szZ5mhulZ/OGI4ArbCmtQpKQxpQG892Lvj\nOE4n+IAe5XIAryb5AUw3zrgrrj8vaCBtVKT1mTLWlkolJt10oMuMujeHJKFJ9d+l9FSpuNqZ+Wkp\nSYZ0mjltme0bhQKu/eXGFSE7883ifNOQ2nVd+pq2Yimb1bdqheet9nj1Ok3tregj36Dp/7AGO/RK\n80EJfHkWWQneNVkuk2OH3on9OeCeogBA8v0AzsJ009QjAN4EYDcAiMjFmMYEPgfAbZiaLb6sr745\njuPkUDHXHRB9Wrm8IJIuAF7VS2diEnbMDj2BOp6iMUL68vk1Q3qpSO0BixezsaWTavLMDl3Xv/q8\ncejTilS+3BctoWuLllIy36zo0PU6yjK6/ExfrixbpDJzWy11tx0barmB5cWPrv0fsjyY69Y1WycK\nSOXrGlMHrEMfkpWL4zjOjqAPKxeSv0/yCyQPk/wzkifGyviA7jiOk4skHs24EsATReTJAP4BwK/H\nCgxpUbQ5qX8SA/NRc79Ga4E0sGjaeG6bs5A4m46uLh9U01jlNabnkzJbLNQ32jwx6PRhqX+sdoPB\nt8r3oi4ZJooVs0R1vmtzG0BVjbJrY7VniF4UnZhmifZzmaevrL47Yu2Wlnydh6Sw1ST2N2gshOrr\nNRfbZ8kdvIs+FkVF5OPqx6sAPC9WZlwDuuM4Th+kD+j7F/ZePlT40eTycgB/Esu08wd0bUOU/JdY\nSw+GqBJy6oilx6gjKWQsPpnSz8SWfswFJ00hYuo6J6qxje1i8a3iWKTPl59xllSjn1XZhnb3N6Rx\nLXXv3lwOxLXLMGUMNq+/i2IxVHd/W+ctZxAra+wZvaibs4euReJsMZS3+l0aC/ORRdHwN766Y6XT\nYOvCtCDH9f9OETk9lEjyEwBOMpLeKCJ/XuR5I4AtAO+LNbbzB3THcZweadMOXUSevbIt8qWYRql9\nVmEJuJJxDOiN3Jktky9t0rbsWJTUTB0HkAxiLtQx6WeuAw80UErDFb318mwm5O5vmjDGJLEQhmu/\n7srm5rLj0GZFWp/K01pC34g0ugVtojjNW3E2Un3ZjrzFatAyQ4ldg8o32uY6TiKpazyL5/YsUqcv\nVxyTykN9KZ0Gg8H4mpC4n2kTSJ4N4FcB/KSIfC+lzDgGdMdxnB7pyVP0IgB7AVxZ/NG+SkResarA\nOAZ0K3hTUoEFxEg2soYCJ63DsoGWThJo7FZdpouKYqWl2lIYL3XpACCbqq6K1LXcVlwqXz7XzkSW\nE1FpzQIAu7WVS+n6T9uxyET1f1K82NAGGhY5Alx0s4s631XgG53NDCNWOllNRayrKgS+Nyt9rkMP\nfOMler1Gfa8zf6+2teiC+PfbRjMij8stM44B3XEcp0eGGg99HAN6EyuXiohtiOiGPfT6jIwVEQnB\nkoqpTDNmuu+ohYL9rGhIzdy29emltGtK7QEqm5YYUuXm5rKVi7Yz312R1tN06FvKZGdi2KxvTwbk\nhxeTwBPyLpYJJC9kTukcENKbm34TEX17pYwRQ0Wni5W+0f7vqw/ojuM4Y0DQy6JoHcYxoLdl5WIE\nxA9aE8wuBux9uxDiI5YtUQk7YmFgfqSVG5mnl7JqxQ59M2TlUurztShpVBu0/y/KBzxBS5tzSyoH\ngD0zCV1bjxvoZ6HuS7aXdegWQbWxuu/yPDQeRMeJxPC7Mam7sadojsVSZJPn2DoQMoLKWemW1N6U\nYz58ruM4zmjwAd1xHGfn06ZjUduMa0A3nnJlx/VZcmCSaZk/mmqWOp3rGWtR1DBLrLjom1NTdW1z\neZ6utRiiTBgnlmNRzkKSbqowUaw4ExmLlnsMNQsA7NncmuYLrGRNjBc60U5ShmNTjKqaRV03MydX\nOyeinjJ32tKXY+EtamLtZRs1YQykm4uiOc+qq99TEd/gwnEcZzQMczwfwYBOKLM2K11JpbOMaiFT\nm9dZZoktSi99EgsNYC44GS7YElgUnQXvqgTnUnVVTCSXg3PVCdSlnYl2bS679utF0VIqB+bS+u7A\noujRSeERpe5lIvO8D2ITKViLn8uZlhfem2Iu3FtSO+YL99FPOebrFHuXQVPEmDNRbMYYqatSbeK9\n1sBVLo7jOGNAEP1jsy7GMaAvKttCf5LnvsDqmj6PRMwy4ioNwceoxJIaQptOzB5VIOTtTBeqCmmp\nc1IoxLkxF2updOjmnqKRvoQodejamUgH3yol8D0by1I5AOwtrmuzxYmyt5xJ/pP5r8OWmnpEzRVn\npoi23hzG9YoEHzq3KJOD3/ByNTTSa888Y+OYofcOb8KyWt9uOsdFFyRU3iKDdCGjD3M8H8mA7jiO\n0yOucumQxZX7aOCkgANQw4img8dyoa5Yvmxr6cewGFIS9syxSJXZ2FLnWlovBeOQ678YYqcRKnfD\nCLgFzHXn+5Te/LjNo7PzUkLfUDegJfSjxbm2dnlwMtebp0voy9embRkOVasfdZWKb/vyOlDVJGi5\njF4HoSHBa5J/B4JS9+q85iwtpDefSfurpXKdXlnzmU3YO3AscpWL4zjOCBC4yqVTFu2Eo2pI9Rdd\nx1uSWQadeZ5sWtPU86GuNWWrM4OI2fhWrFwMsVGMQgBKGV1bnsimLe3PrFyMbemCVHTAhQ49EHyr\n1J3vVRL63g19PpXWtaRdkZonuwEAWzq0Ae3zWfcNCTxNh26IyKGQCBamH7+uqvxdsL9L6xtuGgbA\nDrgVuBEjb47FTMyyJSittwgT+rEuxjGgO47j9MlAoy0OKB6o4zjOzoAiSUcrbZGvJSkk98fy7nwJ\nXTkWrXQwUlSXk5adZUI7EjW2fmpzlmb0JbqgZS0uBaItcitNBFGaDUx2zTuwoRdLi/PgnqPWc6m4\n/k8zbximigCwp1C/6IXQ4zYfnJ1r9cusr8bDOqpNGbfTX9Zcy6BUKyp2uhhqhtq/62bMflVZGftb\nPd9KREyrfAxL5RFT5QXUJMHIimZdkQyRT7Q0d23dbLFHHTrJgwB+BsBXUvL3KqGTPJvkF0neRvL1\nRvpZJO8ieX1x/Eaf/XMcx4kzjeWScrTAH2C6UXRSZb1J6CQ3AbwdwHMAHAFwNcnLReSWhayfFpFz\nmzWmpAAzfX5acf2fOZik/0WXgKDUGzWFj7mkZS+Kznc0Wp7BAABKCV5d02aLEyUUxxyLZlJrwF29\nbGK34e4PzCVz7Vh0vJLQdxd2k3qXoqNqA9TtQq7ZPdFmkatjp0+MhU4d0Ktye/p6eV53IXQmYAfe\nS/ksN/S7xHLewLNO9ZSLBswKpVfOy9+3gFmiZbaYo7suv7uNDn4x06dY+0leo34+JCKHUgqSPA/A\n7SJyg7kXg0GfKpczANwmIl8CAJIfAHAegMUB3XEcZ7jIwh/J1dwpIqeHEkl+AsBJRtIbAbwBU3VL\nMn0O6AcAfFX9fATA0418zyR5GMDtAF4nIjevrlZUeNPplao3v/GXNGSnVeSVkMRiuU2Hu1X9N5C+\nNo8zS9ep9cal3ttSAAPzULobWkLXzkQ6JMBqHbqJnjiVrv8VHfrW0vnxG0pvznn6vo25bn3WfVFO\nRkVjD2zMfx20iaS1/2hsF6LKzE+fl+Uy7j96fcOQcCNmiwGryjjG92o5/lS+q5iuO8MssdqXmBK+\nQ0/BlhY8ReTZ1nWSTwLwWACldH4KgOtIniEiXwvVN7RF0esAPEZE7iV5DoCPADhtMRPJCwBcAACb\n3//wfnvoOI7TsSAmIjcCeFT5M8kvAzhdRO5cVa7PAf12AAfVz6cU12aIyN3q/AqS/5Pk/sWbKHRQ\nhwBg7w8emC9iWxsRWJte6LoqCdT/TNNDLtY1iErjGbrUuX+KrcRPd+EW85ylPjlg7UHDQ4WbtpVI\nqY6O6dBDlNYtWmreY+jQtd78+M0HZuf7uCyh3y+7Z+elPn1Tic0xqbyyL0ghgVcsWyy9OTCXzEMv\nyIywZmc1mcVkCJTPmWWu6FLU9T9Bh55s5RLb9zbErHz7kjonwzRE79PK5WoAp5F8LMk9AM4HcLnO\nQPIkFvMLkmcU/ftWj310HMdZjWD6RyblaKtJkVNj0jnQo4QuIlskXw3gYwA2AVwiIjeTfEWRfjGA\n5wF4JcktAPcBOF8k/id5SXduWEhU+mLsXg8Ak5kdev6qf5CIvW6UHHNhK29QEDTsifWjnum9J3a6\nIfVwl9KbK4uX0mKmuumF7svqfs+tXJbd/YG5nbnWoevzfZyeTyo7WMxPH+BUWtcBv2LYOvSA3lxX\nG5UWy48548OxqgzaoVsLTUb5LDtzXW557SVoez6xvkG73SFBtOc01Da96tBF5AoAVyxcu1idXwTg\noj775DiOk40P6N2zaO2ir+nrFUGzYqMr1YyALb3kWLnUuRaq0pBas6whrGyB8Lmz61t6F+jlmYu2\nj+XRed6N7bmdN7em51U794gdtrYyKSRnvcnzXmUnXkrje5U1y0M25jr03Vz2FNXcL0eLfKr/hiRs\n2Z4DWoc+zxu2cin/DTgwmN+bMeO0Qurq08rUczlr7VDRER25qUOvlDfWtEKD42y9IbSOE2ijLFbe\nYxeDrw/ojuM4I6DUoQ8QH9Adx3EyGaqVyzgG9IWVGkvNUr1OO30p36JZ43L5SvKKri1hOmgE8lrF\nramzZdYYs2OyYqADc12U+nC5rVcyywVk9Sy3AouiswVWfQPL5zF/Lr0oqgNulY5DWs1iqVy21cOY\nqD1DS1XLpurghuENo1Uu29Y+oXUXQithAKK2fMW/xjV1WSqqREu9E1ErVvpnNhXNu/JaoK42Fxtn\nWwi3brUornJxHMcZBQIf0PtgZpEVXBQ1FmSsvAFnnRwbwlRJJsv1P7JA21gSqZgtTkW8ilRuTTM3\ntISuFkJVuQ1DQq8skFodVw9m01wUPbp0frySyo/n/HxPIYE/iHn/jnL+6VvBu2JYoXKjC6GL5yWR\nWRSNWVho39z5omjgGy6vZ3zXtiS9+jw0G7N3N1rZfLQvXZSJMkyNy7gGdMdxnD5wO/QOWZQvQlL5\nXNLR15YlmarUPj+PCJI2Mf1j3e8iZk5JQxIznKSqjh66X0WClsq3lkPKVsIobGpTRa17n9a1sR2Q\nymNq46KTOqStdgIqzRa1i78OyLUHhQSuxMajSlrfU8T61WaLm8bLqvrPGCaMAQndNNGsqM0T9eZQ\nprlBqb5UHKt1oDoB5mJrP7FZR93v2vgG1xbAbhU+oDuO44wAkZlKcmiMakCfOxblWLkY0nobIoEZ\np1T1JSbVzFbobV3ozEmqMoPQDib591ANg1qc6w9329j0QfdPpVsSelWHHuvM/HRzo5TQ54W0BF66\n9lesXKg3uCi2sFOmH0e5qdKXrVwsJoYzEaAsSkJ6c0ufvGFcWzy3sByLdPJG6eSk9eZaWpfiX8MZ\nKYRpkaRnW4G8Vnpl7UQq/+4oBtrnUQ3ojuM4veADejeQWjK30ldbuWzoeE1lEKlKBVqsjnQmXRVa\na4W/0pRh0VNtrMxX0XIn1z+zUtG6WC2tF2JpRW2vrFzElND1DCC5KzM3/IqVi7GBRUWHrvThuw3J\n+36tLy9EaK1j1xYv5QYYpt5cn+tPJWTxMrumJejl5FDwrPJ1WqEJpn1dyLiirjrY4XFblLozNpFe\nG4Lq+xsQO35AdxzH6RdZ8NwaDj6gO47j5CDwRdE+CToWzU6UGkFNneeOSRE1S8K01YobHUuPTjGN\ndkOu/9a1+OKXtSiqFkIn+rxYXMNc9cHt+S5AOtYFjbjXsXjolqpstzJb3K33FC3UJ/u0GqaicinP\nVDx16PRiUTTLsUj9UKpUAq7/lqpNtENWRROVqLcLfCyzDYsqC6FWPWnNFJ1amd5YNTLMsXE1A9Wh\n97ljkeM4zjgQSTsaQvKXSH6B5M0kfy+WfxwS+oK5oimV6+z6PLJo2iptVm84iEiGNC7B1dSFfJVw\nAMsSeoUtFXe8EjKgeC/a6jHDVK9cANQLldoJqFwM1VL5XnV7e4p73Ra7fMxcsSQUD31WrSW1A6YE\nWpXKV2N9z6FZaDkxqoYLyFjYt9oXo7OhTtcxDAilD5Z2BusYJH8KwHkAniIiD5B8VKzMOAZ0x3Gc\nvhDYcY3a55UAfldEHgAAEflGrMAoB/SQpG2ZeukrNPSTwVC6Fjlmiab5l5Gv4qtihCmIdSnHZM3S\noVe2t1fPopDGK0aR+iM3wu5WA3JF+mJY3WnX/82KtF667ivHIyWibhY17NYBvyr7yi6bLVqYUjlg\nOpFVhGKj2sp7yRD24s5zRgfMigLnsfatapsKqwPVR68kvc/7SV6jfj4kIocSy/4QgH9D8r8CuB/A\n60Tk6lUFRjmgO47jdIfkWLncKSKnhxJJfgLASUbSGzEdn78PwDMA/DiAD5L8QVkR/GdUA7rpOBSR\nVMx4Vk3D0IYwpPHaOsNYkKW27kHZ24rSoc/O9QYXWgLfXm3lkrNpQvkOdcAsvU9oKW3vrkjtmyp9\n2sc9lfR5/0odekVqV+kTa0HCCC4WCjimnYzmWZpJpfob3VAhEcTY0YR2t5q1X3c2UqlDlsrvCASQ\nluzQReTZoTSSrwRwWTGAf47kBMB+AN8MlXErF8dxnFwmknY04yMAfgoASP4QgD0A7lxVYBwSeiEC\nzCTsjKJagp9E9Y4NX5AVZyunSlOfnqErzSH2MRoSenXb+2V9fI7tckUCNaxc9HsrpelNVWY3dPCt\n6fn9YgQXQ7r9efCRxPTKxn1XilT06eVHbEuApR5fS+UbyubcXKurYzQeWttJvNfK1oShNnei/XlJ\nP3r/SwBcQvImAA8CeMkqdQswlgHdcRynL0R6sXIRkQcBvDCnzI4f0Kf2+6WEXkhyNSXpslztP745\nlgtN/8Ab4XMrts1Gepa0HnkIMx263tQiVD727SfOVrRee1NVqr0+Z+lKQiwl9E3Vw4q0X0NUlIjR\nf0gorvXaDR24NYOpdjAQnMtIbgpjs7nQo9qJ1i0lA+37jh/QHcdx+kUqBgJDwgd0x3GcHAQePrdL\nZgtFDRctZyqXiTL+MRasKrsBBfLS+AMumyq9JRWctlKrTH3NabZaqCpilMtmYO49W/QMGEJZjkfh\njS6rZYBazjQa7a5fqmKOqmx7uXuxyEJ5tZBoGHtN1IMtzRYrjkU682wh0NB5LWBdrX5PRb5N+wHJ\nxFgUtRzmKq9F1PVy0VVnsEww1SUVSGyjMEetfHcRYTUUZmLHmStqBho+t1ezRZJnk/wiydtIvt5I\nJ8m3FemHST6tz/45juPEEAAykaSjb3qT0EluAng7gOcAOALgapKXi8gtKttzAZxWHE8H8I7i35WU\n0khTCb1kYu0wAwBHl69vBKSTHAeLJlQl7OX731ZRqnbdpxx/yvC3m/bfdNlavjEef/z8h+9+d5rv\n6INL+QBAvnvf7HzjuL0AgMnuh8zrUiLkZFchdW7N+7qtpe3NqRPRA5P55/rNrRNm5yceN+3DdmTV\n95uBX7AHpTRrnNd/NCah629ky/gujGuayd7VEp6Wqi02A9/6vj3TQGUPPhD41S43otplly+/2w39\nWq3ZXk1RcHvffJq6675h6qGjiLiEDuAMALeJyJcKc5wPYBpJTHMegEtlylUATiR5co99dBzHiSLb\n20lH3/SpQz8A4Kvq5yNYlr6tPAcA3KEzkbwAwAXFj/d++Rff+MV2uxpkPyKeWjuUdu4rFAuuvH5L\nID3ClyPpS7q7KRn3VH5eh9Oyr5cxfoN93tMPNK3gHvzrxz4hH9qfmL3Xd7UjF0WLaGWpEctag+Q1\nqwLt7FTGeF9jvCdgnPe10+5JRM5edx9C9KlyuR3AQfXzKcW13DyO4ziOQZ8D+tUATiP5WJJ7AJwP\n4PKFPJcDeHFh7fIMAHeJyB2LFTmO4zjL9KZyEZEtkq8G8DEAmwAuEZGbSb6iSL8YwBUAzgFwG4Dv\nAXhZX/1LpHc1T0+M8b7GeE/AOO9rjPe0FhgJ3uU4juPsEDweuuM4zkjwAd1xHGck+IBeE5KvJSkk\nU+1RBwvJ3yf5hSLcwp+RPHHdfWpCLMTEToPkQZKfJHkLyZtJXrjuPrUJyU2Snyf50XX3ZafjA3oN\nSB4E8DMAvrLuvrTElQCeKCJPBvAPAH59zf2pjQox8VwAjwfwApKPX2+vGrMF4LUi8nhMNwx+1Qju\nSXMhgFvX3Ykx4AN6Pf4AwK+ivT1314qIfFxEyl2Xr8LU/n+nkhJiYkchIneIyHXF+T2YDn4H1tur\ndiB5CoCfBfDOdfdlDPiAngnJ8wDcLiI3rLsvHfFyAH+x7k40IBQ+YhSQPBXAUwF8dr09aY23YCoc\nDTPa1Q5jR7r+dw3JTwA4yUh6I4A3YKpu2VGsuicR+fMizxsxnd6/r8++OWmQfCiADwN4jYjcve7+\nNIXkuQC+ISLXkjxr3f0ZAz6gG4jIs63rJJ8E4LEAbuA0aP8pAK4jeYaIfK3HLmYTuqcSki8FcC6A\nZ8V2Fh84owwfQXI3poP5+0TksnX3pyXOBPBzJM8BsA/Aw0i+V0SyNkZ25rhjUQNIfhnA6SKyo6Pf\nkTwbwJsB/KSIfHPd/WkCyV2YLuw+C9OB/GoAvyAiN6+1Yw3gVHp4D4Bvi8hr1t2fLigk9NeJyLnr\n7stOxnXoDgBcBOAEAFeSvJ7kxevuUF2Kxd0yxMStAD64kwfzgjMBvAjATxfv5/pCqnWcCi6hO47j\njASX0B3HcUaCD+iO4zgjwQd0x3GckeADuuM4zkjwAd1xHGck+IDuOI4zEnxAdxzHGQk+oDujoogb\n/pzi/HdI/uG6++Q4feGxXJyx8SYAv0XyUZhGJfy5NffHcXrDPUWd0UHybwE8FMBZRfxwxzkmcJWL\nMyqKiJgnA3jQB3PnWMMHdGc0kDwZ01ju5wG4t4gi6TjHDD6gO6OA5PEALsN0781bAfw2pvp0xzlm\ncB264zjOSHAJ3XEcZyT4gO44jjMSfEB3HMcZCT6gO47jjAQf0B3HcUaCD+iO4zgjwQd0x3GckfD/\nAbemQfScTzJKAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x110a36748>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"min_mu, max_mu, min_sigma, max_sigma, grid_param = -5, 5, 0, 3, 100\n",
"mat_v = make_variational(f, variationalizer, \n",
" extend_mu=[min_mu, max_mu], \n",
" extend_sigma=[min_sigma, max_sigma],\n",
" grid_param=grid_param)\n",
"plt.imshow(mat_v, aspect='auto', extent=[min_mu, max_mu, min_sigma, max_sigma], interpolation='none')\n",
"# plt.title(\"region to optimise variationally\")\n",
"plt.xlabel(\"$x$\")\n",
"plt.ylabel(\"$smoothing$\")\n",
"_ = plt.colorbar();"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Contour Plot"
]
},
{
"cell_type": "code",
"execution_count": 336,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"y_v = np.linspace(max_sigma, min_sigma, grid_param)\n",
"x_v = np.linspace(min_mu, max_mu, grid_param)\n",
"z_v = mat_v"
]
},
{
"cell_type": "code",
"execution_count": 337,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x1111a80f0>"
]
},
"execution_count": 337,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10ca349e8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"contour = plt.contourf(x_v,y_v,z_v, 20)\n",
"_ = plt.colorbar();\n",
"plt.xlabel(\"$x$\")\n",
"plt.ylabel(\"smoothing\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What is happening internally? "
]
},
{
"cell_type": "code",
"execution_count": 415,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x11510bbe0>"
]
},
"execution_count": 415,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11124a390>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sigma = 1\n",
"mu = 0\n",
"xs = np.arange(-5, 5, 0.01)\n",
"\n",
"n = lambda xs: 1/np.sqrt(2*np.pi*sigma**2)*np.exp(-(xs-mu)**2/(2.*sigma**2))\n",
"\n",
"fx, = plt.plot(xs, f(xs), label=\"$f(x)$\")\n",
"gx, = plt.plot(xs, n(xs)*20, label=\"$N(\\mu={}, \\sigma={})$\".format(mu, sigma))\n",
"hx, = plt.plot(xs, f(xs)*n(xs), label=\"$f(x) N(\\mu={}, \\sigma={})$\".format(mu, sigma))\n",
"plt.fill_between(xs, f(xs)*n(xs), facecolor='green')\n",
"plt.legend(handles=[fx, gx, hx])\n",
"plt.xlabel(\"$x$\")"
]
},
{
"cell_type": "code",
"execution_count": 409,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"3.4891078209656023"
]
},
"execution_count": 409,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.sum(f(xs)*n(xs)*0.01)"
]
},
{
"cell_type": "code",
"execution_count": 436,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0 [8.6285780231890907]\n"
]
},
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x11804fa90>"
]
},
"execution_count": 436,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x117f54e48>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sigma = 0.25\n",
"xs = np.arange(-5, 5, 0.01)\n",
"\n",
"g = lambda xs: [variationalizer(f, x, sigma) for x in xs]\n",
"\n",
"plt.figure(figsize=(6, 3))\n",
"fx, = plt.plot(xs, f(xs), label=\"$f(x)$\")\n",
"gx, = plt.plot(xs, g(xs), label=\"$E(f(x|\\sigma={}))$\".format(sigma), c=\"darkred\")\n",
"# plt.scatter([mu], g([mu]), c=\"green\")\n",
"print(mu, g([mu]))\n",
"plt.legend(handles=[fx, gx])\n",
"plt.xlabel(\"$x$\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Another way to look at it is to see how $E_{p(x|\\mu, \\sigma)}[f(x)]$ behaves as we increase the variance. \n",
"\n",
"Remember that; \n",
"\n",
"$$ E[f(x)] = \\int p(x) f(x) dx $$ \n",
"\n",
"So for us; \n",
"\n",
"$$\n",
"\\begin{split}\n",
"E_{p(x|\\mu, \\sigma)}[f(x)] = & \\int p(x|\\mu, \\sigma) f(x) dx\\\\\n",
"& \\int \\frac{1}{\\sqrt{2\\pi\\sigma^2}} \\exp{-\\frac{(x-\\mu)^2}{2\\sigma^2}} f(x) dx \\\\\n",
"& \\frac{1}{\\sqrt{2\\pi\\sigma^2}} \\int \\exp{-\\frac{(x-\\mu)^2}{2\\sigma^2}} f(x) dx\n",
"\\end{split}\n",
"$$\n",
"\n",
"The larger $\\sigma$ is, the less peaky $E_{p(x|\\mu, \\sigma)}[f(x)]$ will be, effectively any spot where the search space has a large value for $sigma$ is a region where we describe to be uncertain of being near an optimum. "
]
},
{
"attachments": {
"image.png": {
"image/png": "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/fbYf+xYpzV1wqRJdOnWjWef1Ywm/rg5KoUE4iOgADU+jgnPpSIV6Uxn13W+4ztXmhIkIAEJxBKwAUa33HKLM33TcutrOnQovPUW1KkT65Typds1VqyAVasgnoObbDEAa00dM4atTZty9dVX06dvX9asWVO+8upsCUjAFwIKUH1xG0pWiB70cB04n/nMY54rXQkSkIAECgvYNE2H9ezJI4884qz6FBo/Hs48s/Bh5fu8cSO88orTKuusKlWjRrjLQP36YO+7dYPLL3cGPRGPhQz324/Q7787fWc/GDmSTp07awBV+e6g++y1a+HBByH/krbuo5QigbgKKECNK2diMzuEQzwv8C3feqYrUQISkEBE4Msvv2SfLl0Y8/334cn2v/sOWraM7C7/67p1cPPN0LQp3H//jlcbcLVkCfz1V3ge1UsvhS1b4PTToV07+M9/KHegWrNmuO/siy+yYOlSDjz4YJ577rny10k5hAWWL4fbbw/fr86dwWxXrpSOBBIqoJWkEsob38zXspZ61GM72wtkfAmX8CIvFkjTBwlIQAImEAqFePjhh7n9n/+EmjUJvfoqnHRSfHG++AIuuggaN4Y77gDry1qhmPaPv/8Oz3N6zz3QoUO41TUeAfOECWSdcgqhmTM599xzGTRoENWqVYtvfTMxtyuugBdeCNfculfYZvf5wgvhuOOgSpVwmv5XAnESUIAaJ8hkZWP9UMczvsDlbJWpqUwtkKYPEpCABGxFqPPOP5/33n0XOnaE996D3XePL8zzz8P114f7g950U+mnprKWOAt+LMi1365dy18+eyR93nkwciT7dO7MiPffp0WLFuXPN5NzsH9QNGwI1qc4slmgun071KoF55wD55/vdB2J7NarBMojUMw/ccuTtc5NhIDXY/5pTGMJSxJxOeUpAQkEVGDatGns1717ODg96yz44YfEBKc33ggffAC33lr64NRsrW/q22+Hg9SjjoJffy2/+E47wfvvwz33MP6PP5yuDV9Y8Kut7ALWjeLYYwve423bwt0zrHvHSy/B/vuHv2MPPAALFpT9WjpTAoAC1IB9DbwGSlkVPuKjgNVExZWABBIl8PHHH7Pv/vszxQa1/Pvf8N//hgcoxfOC1pf1uuvApqk6+ugics6FV++F656GnCIOu+8+uOQS6NsXrAW0vFtWFvzrX84qVGtDIY7p3ZvH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"
}
},
"cell_type": "markdown",
"metadata": {},
"source": [
"You may be able to imagine that searching the $\\mu, \\sigma$-space is actually rather pleasant because;\n",
"\n",
"![image.png](attachment:image.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Gradients!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's try to code this up with numpy."
]
},
{
"cell_type": "code",
"execution_count": 348,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.97837521 0.96007795]\n"
]
},
{
"data": {
"image/png": "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\nrkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11241ccf8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"mus, sigmas = [], []\n",
"mu, sigma = -2, 1\n",
"\n",
"def mcmc_gradient_step(f, mu, sigma, n=50): \n",
" theta = np.array([mu, sigma])\n",
" noise = theta + np.random.normal(0, scale=0.01, size=(n,2))\n",
" reward = [variationalizer(f, m, s) for m,s in noise]\n",
" direction = (np.array(reward) - np.mean(reward))/np.std(reward)\n",
" return theta + 0.1*np.dot(noise.T, direction)\n",
"\n",
"print(mcmc_gradient_step(f, mu=1, sigma=1))\n",
"\n",
"\n",
"for _ in range(200):\n",
" mu, sigma = mcmc_gradient_step(f, mu, sigma)\n",
" mus.append(mu)\n",
" sigmas.append(sigma)\n",
"\n",
"plt.plot(mus)\n",
"plt.plot(sigmas);"
]
},
{
"cell_type": "code",
"execution_count": 349,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nhmGkzP8HvF12Kdpu7N8AAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x110641978>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"contour = plt.contourf(x_v,y_v,z_v, 20)\n",
"_ = plt.colorbar()\n",
"plt.ylim(0, 3)\n",
"plt.scatter(mus, sigmas, c='red', s=1);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Higher Dimensions \n",
"\n",
"This trick looks nice for 1 dimensional problems. But what about the higher dimensions?"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nA9rMLFH/H/UBQL5rbdVbAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10a382c50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# h stands for hard-function\n",
"def hard_func(args):\n",
" x, y = args\n",
" return np.sqrt(np.abs(np.sinc(2*x))) * np.sqrt(np.abs(np.sinc(y)))\n",
"\n",
"xs = np.arange(-3, 3, 0.1)\n",
"ys = np.arange(-3, 3, 0.1)\n",
"zs = [] \n",
"\n",
"for i in xs:\n",
" row = []\n",
" for j in ys: \n",
" row.append(hard_func([i,j]))\n",
" zs.append(row)\n",
"\n",
"contour = plt.contourf(xs,ys,np.array(zs), 6)\n",
"plt.title(\"a two dimensional x-space\")\n",
"_ = plt.colorbar();"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To make a general solution for this, let us first consider that we can also use sampling for our integration technique."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"$$\n",
"\\begin{split}\n",
"\\frac{d}{d\\theta} \\mathbb{E}_{x \\sim p(x|\\theta)} f(x) = \\mathbb{E}_{x \\sim p(x|\\theta)} f(x) \\frac{d}{d\\theta} \\log p(x|\\theta)\n",
"\\end{split}\n",
"$$\n",
"\n",
"For a [gaussian](http://www.notenoughthoughts.net/posts/normal-log-likelihood-gradient.html)\n",
"\n",
"$$\n",
"\\frac{d}{d\\theta} \\log p(x|\\theta) \\to \\\\\\\\\n",
"\\frac{dp(x|\\theta)}{d\\mu} = \\frac{1}{\\sigma}(x-\\mu) \\\\\\\\\n",
"\\frac{dp(x|\\theta)}{d\\sigma^2} = -\\frac{1}{2\\sigma^2}\\left(1-\\frac{1}{\\sigma^2}(x-\\mu)^2 \\right)\n",
"$$\n",
"\n",
"Moar maths! Thanks to the matrix cookbook!\n",
"\n",
"$$ \n",
"\\begin{split}\n",
"\\theta^{\\text{new}} & = \\theta - \\frac{\\alpha}{S} \\sum_S f(x^s) \\frac{d}{d\\theta} \\log p(x^s|\\theta)\\\\\n",
"\\begin{bmatrix} \\mu \\\\ \\Sigma \\\\\\end{bmatrix}^{\\text{new}}\n",
" & = \\begin{bmatrix} \\mu \\\\ \\Sigma \\\\\\end{bmatrix} \n",
" - \\frac{\\alpha}{S} \\sum_S f(x^s) \n",
" \\begin{bmatrix} \n",
" \\Sigma^{-1}(x^s-\\mu) \\\\ \n",
" -\\frac{1}{2}(\\Sigma^{-1} - \\Sigma^{-1}(x^s-\\mu)(x^s-\\mu)^T\\Sigma^{-1}) \\\\\n",
" \\end{bmatrix}\n",
"\\end{split}\n",
"$$"
]
},
{
"cell_type": "code",
"execution_count": 469,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def formula_update_orig(f, mu, sigma, alpha=0.05, n=50, max_sigma=10):\n",
" mu_arr = np.array(mu).reshape(2)\n",
" dmu, dsigma = np.zeros(shape=mu.shape).T, np.zeros(shape=sigma.shape)\n",
" for i in range(n):\n",
" xs = np.random.multivariate_normal(mu_arr, sigma)\n",
" inv_sigma = np.linalg.inv(sigma)\n",
" dmu += np.matrix(alpha/n * f(xs) * inv_sigma * (xs-mu).T)\n",
" sigma_part = -alpha/n * f(xs)*(inv_sigma - inv_sigma*(xs-mu).T*(xs-mu)*inv_sigma)/2 \n",
" dsigma += sigma_part\n",
" new_mu = (mu.T + dmu).reshape((1,2))\n",
" new_sigma = sigma + dsigma\n",
" # now comes the dirty numerics \n",
" new_sigma[new_sigma > max_sigma] = max_sigma\n",
" new_sigma[new_sigma > sigma*2] = 0.1\n",
" # TODO! new_sigma[new_sigma > sigma*2] = sigma[new_sigma > sigma*2]\n",
" new_sigma[new_sigma < 0.05] = 0.05\n",
" return new_mu, new_sigma\n",
"\n",
"def hard_func(args):\n",
" x, y = args\n",
" return np.sqrt(np.abs(np.sinc(2*x))) * np.sqrt(np.abs(np.sinc(y)))"
]
},
{
"cell_type": "code",
"execution_count": 475,
"metadata": {},
"outputs": [],
"source": [
"def apply_algorithm(func, start_mu, start_sigma, formula_update, iterations=2000, stop_early=False, **kwargs):\n",
" mus = [start_mu] \n",
" sigmas = [start_sigma] \n",
" alpha = kwargs.get(\"alpha\") if kwargs.get(\"alpha\") else 0.1\n",
" n_sim = kwargs.get(\"n_sim\") if kwargs.get(\"n_sim\") else 25\n",
" for _ in range(iterations):\n",
" mu, sigma = formula_update_orig(func, mus[-1], sigmas[-1], alpha=alpha, n=n_sim)\n",
" if stop_early: \n",
" if np.max(sigma) < stop_early:\n",
" print(\"stopping early after {} iterations\".format(len(mus)))\n",
" break\n",
" mus.append(mu)\n",
" sigmas.append(sigma)\n",
" return mus, sigmas\n",
"\n",
"def plot_func_space(func, axis_range=[-5, 5], axis_resolution=0.1, n_countour=10):\n",
" ticks = np.arange(axis_range[0], axis_range[1], step=axis_resolution)\n",
" zs = [] \n",
"\n",
" for i in ticks:\n",
" row = []\n",
" for j in ticks: \n",
" row.append(func([i,j]))\n",
" zs.append(row)\n",
"\n",
" contour = plt.contourf(ticks, ticks, np.array(zs), n_countour)\n",
" _ = plt.colorbar();\n",
" return contour\n",
"\n",
"def plot_mu_space(mus, alpha=0.1, plot_every=1):\n",
" to_plot = mus[::plot_every]\n",
" sigmas = [[1] for _ in mus]\n",
" plt.scatter(x=[_[:,0] for _ in to_plot], \n",
" y=[_[:,1] for _ in to_plot], s=sigmas, c=\"r\", alpha=alpha)\n",
"\n",
"mu = np.matrix([-3,2])\n",
"sigma = np.matrix([[4,0], [0,4]])\n",
"mus, sigmas = apply_algorithm(hard_func, mu, sigma, formula_update_orig, \n",
" alpha=0.05, n_sim=100, iterations=5000, stop_early=0.1)\n",
"len(mus)"
]
},
{
"cell_type": "code",
"execution_count": 483,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\njRRA2ZJ7AAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1184df9b0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_func_space(hard_func)\n",
"ax = plt.subplot(111)\n",
"for i in range(len(mus))[::250]:\n",
" ax.add_artist(Ellipse(xy=[float(mus[i][:,0]), float(mus[i][:,1])], \n",
" width=sigmas[i][0,0]*2, \n",
" height=sigmas[i][1,1]*2, \n",
" edgecolor=\"white\", fill=False))\n",
"plot_mu_space(mus, alpha=0.2)"
]
},
{
"cell_type": "code",
"execution_count": 472,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x11872e7f0>"
]
},
"execution_count": 472,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x115836b00>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot([hard_func(np.array(m).reshape(2)) for m in mus])\n",
"plt.title(\"mu coordinates over time\")"
]
},
{
"cell_type": "code",
"execution_count": 473,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x11871e240>]"
]
},
"execution_count": 473,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11871e2b0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot([float(s[:,0]) for s in mus])\n",
"plt.plot([float(s[:,1]) for s in mus])"
]
},
{
"cell_type": "code",
"execution_count": 474,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x117450940>]"
]
},
"execution_count": 474,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x116f78048>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot([s[0,0] for s in sigmas])\n",
"plt.plot([s[1,1] for s in sigmas])\n",
"plt.plot([s[0,1] for s in sigmas])\n",
"plt.plot([s[1,0] for s in sigmas])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Naughty Functions\n",
"\n",
"Let's demonstrate that this also works on discrete functions."
]
},
{
"cell_type": "code",
"execution_count": 521,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import numpy as np\n",
"\n",
"def rastrigin(x, y, a=10):\n",
" \"\"\"\n",
" As defined on https://en.wikipedia.org/wiki/Rastrigin_function. \n",
" :param x: Input x\n",
" :param x: Input y\n",
" :param a: Hyperparameter: the spikey-ness of the landscape. \n",
" :return: \n",
" \"\"\"\n",
" return a - sum([(x**2 - a * np.cos(2 * np.pi * x)) for x in [x,y]])\n",
"\n",
"\n",
"def rosenbrock(x, y, a=1, b=100):\n",
" \"\"\"\n",
" As defined on https://en.wikipedia.org/wiki/Rosenbrock_function.\n",
" The optimal value can be found at x=a, y=a*a.\n",
" :param x: Input \n",
" :param y: Input \n",
" :param a: Hyperparameter\n",
" :param b: Hyperparameter\n",
" :return: \n",
" \"\"\"\n",
" return (a - x)**2 + b*(y - x**2)**2\n",
"\n",
"\n",
"def sphere(x, y):\n",
" \"\"\"\n",
" As defined on https://en.wikipedia.org/wiki/Rosenbrock_function.\n",
" The optimal value can be found at x=0, y=0.\n",
" :param x: Input \n",
" :param y: Input \n",
" :return: \n",
" \"\"\"\n",
" return x**2 + y**2\n",
"\n",
"\n",
"def ackley(x, y):\n",
" \"\"\"\n",
" As defined on https://en.wikipedia.org/wiki/Test_functions_for_optimization\n",
" The optimal value can be found at x=0, y=0.\n",
" :param x: Input \n",
" :param y: Input \n",
" :return: \n",
" \"\"\"\n",
" part1 = -20*np.exp(-0.2*np.sqrt(0.5*(x**2 + y**2)))\n",
" part2 = np.exp(0.5*(np.cos(2*np.pi*x) + np.cos(2*np.pi*y))) + np.exp(1) + 20\n",
" return part1 + part2\n",
"\n",
"\n",
"def beale(x, y):\n",
" \"\"\"\n",
" As defined on https://en.wikipedia.org/wiki/Test_functions_for_optimization\n",
" The optimal value can be found at x=3, y=0.5\n",
" :param x: Input\n",
" :param y: Input\n",
" :return: \n",
" \"\"\"\n",
" return (1.5 - x + x*y)**2 + (2.25 - x + x*y**2)**2 + (2.625 - x + x*y**3)**2\n",
"\n",
"\n",
"def booth(x, y):\n",
" \"\"\"\n",
" As defined on https://en.wikipedia.org/wiki/Test_functions_for_optimization\n",
" The optimal value can be found at x=1, y=3\n",
" :param x: \n",
" :param y: \n",
" :return: \n",
" \"\"\"\n",
" return (x + 2*y - 7)**2 + (2*x + y - 5)**2"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# `ackley` "
]
},
{
"cell_type": "code",
"execution_count": 510,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"stopping early after 149 iterations\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/anaconda/lib/python3.6/site-packages/ipykernel_launcher.py:5: RuntimeWarning: covariance is not positive-semidefinite.\n",
" \"\"\"\n"
]
}
],
"source": [
"hard_func = lambda a: -ackley(a[0], a[1])\n",
"mu = np.matrix([4.5, 4.5])\n",
"sigma = np.matrix([[3,0], [0,3]])\n",
"mus, sigmas = apply_algorithm(hard_func, mu, sigma, formula_update_orig, \n",
" alpha=0.05, n_sim=150, iterations=300, stop_early=0.11)"
]
},
{
"cell_type": "code",
"execution_count": 511,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXEAAAD8CAYAAACB3pQWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXu8XVV173/jvHPOyYu8TxJIEEEjj4ARREAeBtAAIrS+\nWqkIFm9fFyy9tkA/LdfqbesDamurxGivrVL1qmgFNBgrAiKYEBIgJIQYQsjJm5w8Tk7Oa59x/9h7\n052d9ZhzrrnWnGvt8f18zic7e6815lp7zvmbY4851xzEzBAEQRDySZPrCxAEQRDMEREXBEHIMSLi\ngiAIOUZEXBAEIceIiAuCIOQYEXFBEIQcIyIuCIJgGSK6lYiYiKaGfL6FiJ4lojVEtCpJWS1JThYE\nQRCOhojmArgMwNaYQy9m5r1JyxNPXBAEwS53A/gEgEyepHTiibe1dPK49knHvF9qa05su3m4FPqZ\nDfumjLWan9s0kq59lbLTsu+K2u807e8ujKTlqrSLtAjrZ2n04YMDO/Yy87QkNi+8qJ379o3FHvfs\ns6PrAAzWvLWUmZeqlkNEVwPoZea1RBR1KANYQUQlAPfolFGPExEf1z4Jb13wsaPeO3x8l/VyurYe\n1rLb3xPdALu3hw8QSeyqElS+Ldu2GJgZ/H7nzmzKSaOsJKRdZ2m1SVW7un1Mla6th197/dCqO19O\naq9v3xj+88HA8PRRzJ+7c5CZF0UdQ0QrAAS1wDsA3I5yKCWO85m5l4imA/gpEW1g5kcUzjsGL2Li\naTQCHbuqnap6nGoDty2wvgl2LVGiWvt5UoGNK8dmWTZIu876e5q1hFynravYTbvv1oq5LzDz4qD3\nieg0APMBVL3wOQBWE9HZzHxUa2Tm3sq/u4noPgBnA8ifiKfVAHQw6WQqYu6T4KbptaqIatDxuuXq\nlpOkLJ1yfRoobLdHXaclDQ4f3wUkWruRHcz8LIDp1f8T0RYAi+onL4moC0ATMx+qvL4MwCdNy3Ui\n4qW2ZucCbkNkfRLqIHS8VkBPkExENej8uDKTllO1kdag0Qhev663LxwLEfUAWMbMSwDMAHBfxVtv\nAXAvM//E1LYX4ZSs8V18k2IqfCqCZENUw+zVlptWOWkNGiYDRZ4QIdeHmefVvN4OYEnl9WYAZ9gq\np+FEXARcz0ZVmGyLaly5WZTRudNumT555WkgQu4nuRLxegHWbVC+CrhpSCPKji2yEFZXpHVvSbxy\nW20hLUyEPGm/FaLJhYiHia8PEy9JCBIRVzFqwS46Qh5Wd74KuqqQB/ZbZnz45eU40tqG7/RcnMLV\nNR6FeGJTxcP2zQvXnXS0cZzgH0Wt47D+RmC8desLePtLz6F/ViHkxznef4u+ia8NdDpk3jqvIETB\n1IS9XRPQViqhY3TY9eUUglyEUwRBKM4KmM++/T0YPzSIwdZ2dCOfoVCf8N4Tt0Ve4+ZF6LRC49G9\nvYS20RHMPvAqAGDOgb1oHx3GletX4qr1K7Fx6izHV1gcvPfEu7eXUtvTpCjYXionZEce6y6uv005\nchDn7NqA6c/34YI9z+OJOSfh3S+swrdPfRt6+vfjhL49+PpZl2CwtS2jKy423ot4HDoCrjIg+IR4\n4fkljbrzoT2o9Lezd72A6174Ob574tvw5JRT0DF6BMPNLVgz60T826x5aCuNYrC1reGdL1vkQsRr\nKzvpskIfhFzF+9LtsGl4dPXXkDePMYyg79bmvflQd2mg0ueaeAx7Oibgi6degV/PfANGmlvQPFbC\nshOvwJ4TutC9vYRRtKK7TwTcFk5i4s3DJePdybq3lxKP4Gl4ALo2ozq6qcdl01MLspWmJ9i58+i/\nNMvReT8r4srXuT4bfcSUBfu24pa1P8CsgX0YaS77iKWmZhxp7RDPOyWsiTgRNRPR00R0v+o5Pm4z\nqUtth7HReVyLSdw1ZBUmcPE92CgziY2kA0x9+7Mp5qp2drePx9ShQ1i8bY2VcougEWlj0xO/GcB6\n3ZNcVZKNxh1mQ9W2j3FTlfOzEljb5fgwQMZheo1RbS5LD7jU3IJRakbXyBF0jRzJrNxGxoqIE9Ec\nAFcAWGbDXqOQhzho2vgmrK6vx8c2oTMIvDpuIpYtuBzNDJzS15uoXPHC1bDlif8DyolBQ5PYEdFN\nRLSKiFYNjw5YKja/qOyXYdOuzfPT2Pkv7XJUcSmiSdpE1GR90ol8nfNnHt6HC7Y/hx/NPxtrp85P\nVK7rnAN5IbGIE9GVAHYz81NRxzHzUmZexMyL2lo6X3vfVUWlmRQizrZqKjMfyfNOiVl870n3crdt\nN+2VWO978Rf428f/FeNGyrmFW0sjmHFkPwabW1Fqys9y3jxjY4nheQDeTURLAHQAmEBE32DmD8Wd\nmDQHpuvExSa20swYY0sMg8pOW2izFvK0E1CkUW9xbSJNwQ7aufADGx/G4lfWoL+1A90jR/DXK+/F\nhklzMEZNmHdoj9J1xfXhPKVnc0ViEWfm2wDcBgBEdBGAP4sTcNX0bHGN0mTNuMs14qZ5IrNIYWbD\n7tDMkcjP23e2Jrga9bJUysliUCpaFqH+nmbM2XwALVzC3nETMe3IQRxu7cCfn/sRtPIYxpWGMdzc\ngmULLsPL42co7y6axcTrwbEOrBg4SeFIzyZpFPD2YR8dsVUVc1cCbjNOnaV3rEqceNcfl0TMVcqy\nUY4N0qw3V0L+qaf+FdMPH8DvXfK/8MXTr0Qzj2G0qQVDAG4+/2NAOW9kKv1XCMaqiDPzwwAeTmrH\nVGyDGoPrpzPTzEmpS70A2hA5VQEPOken/KzKUS1b12ZacwlZCXlLaRQXvbQOA63taGKgbdIR7J3Q\neXRfm51MTiT9mxleeeK2BDepnbAOl1bG9DSJEr/az3RFyURUw2yElW2jDJVyTMpO8t3ZxPbcSaAd\nZpy282X88RMP4v5T3oy/u/C3sH3CFAD2nSQRcn28EXHXHjOgt0Igy4zwJugKoKoo2RLWtG2GlRMn\nuKYevw+hGxsx+KBB4QNrH8UVL6zCV8+6BL+ctwD7OsebX6gCIuR6eCHirgXcdMLRV5KKYlai6oL6\nwcqlt28b2+v3q0J+1vbN6Onvw1OzX5e6gFcRIVfHCxEX7FFkAbZNWr8qXHvlNph8uB8ff+JBLJ/7\nZqzpmQ9uoswEvIoIuRrORTyPXriviID7QRGEfEp/P07rfQUvzOzBvQsvxL240PUlCSE4F3HBDiLg\ngk2OtLXhnrdfgocWnI6OPfHHC+5oaBEvkhcuCDa5/pe/wLmbN2Ld7OPxKqa4vhwhgoZJlCwIghq/\nveoJTO0/iH+66DJsmzTZ9eUIMTgXcZcTF663HRUEn+gaHMQf/PwhvPnllzDrwH786vWngJucS4QQ\nQ0OHU4qEzeVyQmMxs28f/vwnP8JAextO3/YKfrBwET551bU40tbu9LpkZYoaXoi4D8mLTfFxLxPB\nLa5Xpqi0ycmH+/HW32zE/L27cenzz6FzeBgPn/JG/On7r8Mrk6dgsK3tGFtZIgKujhciDrgT8iSZ\nxusbePX/rsTctjdeK0ZF9PKr91eUe4vKVVrfJv/y/vvwtt9sxO7u8Vh9wnz87A2n4rGT3/DaBlZh\n9gT/8EbEXaIr5CqZyfPuldd7k0USvKB7s3Vfrrxw1TbZPjKMS9avw+Ovez1enD4DD73pdGye7ldj\nFS9cD69E3JY3Xt8IbHr4qt6JKyG3IUiuhCgLzz/s3oo+p9A5PAjsaMeCwVdwy89+jK+f+3Z8+eLL\nwo9XaOdBYpu0r4mA6+Pd1HPSSgw6v3t7yUnjyOPP0TgBT0vgwzz/LElapq9e+Plbnsf3v/n3+J01\nj2Bj2wn42yXvwY9PW5iozLD+JCKcPV554kmRBiQIR3P8/j344NpH0DU8iJHmZow2t+DhUxa4vqzC\nQkTfBnBK5b+TAOxn5mNGTCLaAuAQgBKAUWZeZFqmdyKe5OeYbxvm5DEuHrfvR1ohh/pyXYQ2bOz+\n6HplSj3veHENeg7uw9+//Vrc/4ZFWvk88/hL0jXM/P7qayL6PIADEYdfzMx7k5bpnYgnJUzIowYH\nHbH1vXHbStYQJEY6tifPPAQA6NupvvOdybVXy1Ety8a9mdhPk6A2efXzT4LGGO946Tk8O2MeHnjD\nmzEwi4INGGDSzxoJIiIA7wNwSdpleSXitjP7qEyUukxenDTZr469LGzVCmrQezqCrluOTllpe/km\nQp40yXRtm2waG8O1zz+Bw63t2DBtNp6eNR+HZ+lPf8W186qQ2xTutH5N95fa8ej+kxWOfGwqEa2q\neWMpMy81KPICALuY+cWQzxnACiIqAbjHsAwAHol4GiN4GgIedK7u+nDbyX5dr6oIE9Ww40zFXLWc\n6rG2Bg0TVIXcZpLpavs77pVRfPb8q7GrezJePmmikv0om3FCbhvHYdG9cfFpIloBIKi338HMP6y8\n/iCA/4gwcz4z9xLRdAA/JaINzPyIyQV7IeIufoLZzoKiimnatLTzUJqiI6z156iKrEkZJuXYJqru\nTOtNZXC4cd1ynLv5RfzBh24wKqMeFyFE3+a3amHmxVGfE1ELgGsBvDnCRm/l391EdB+AswHkU8Tz\nLuCquE6ZFiWEJiJnKqxBNsLKt1GGSjlx54Whas/2QBsm5JMP9+P8Fzdg9dwTMNrchL5xXdbKdCXk\nOWUxgA3MvC3oQyLqAtDEzIcqry8D8EnTwpyJuKsKyqOAJ0FFCHXi1raENW2bYeXYvD+Xnn69kF/+\n7BpcvfYpvH7XDnzqymtx96VXWC8zKImyEMgHUBdKIaIeAMuYeQmAGQDuK899ogXAvcz8E9PCnIj4\nmKNVWI0k4ElDEFX6do7PTGSzIGjASnp/ruLvteGac7b8BjMOHsBdly7BEyeelGq5vq/Qcg0zXx/w\n3nYASyqvNwM4w1Z5zsMpOkSJcFSjcrVeO28CnrYt30jje8pazJtLJQzNBD57+ZUYNzyMfd3ZlJ9k\nhZYMAHbx7rH7MOKEeGBm8DEi4EKROHHnHnx0+SPoGhzCSdt34ft/+yUsWbkWR9raMxPwKmF9K6wv\nqn4u6JELT1z3YRzXiIA3LmmHVi56dgPe/9hK/Prk+ejr7kRfdyf6x3U4e1o06TJd8cqTkwsRF4Q8\nkaaQb5w1HS9Pn4Idkydiz6QJuP4WO8sIhfzifTjFB886D4gX3hjMeXU/ZvYdwHH9h11fiuAJ4okL\n1jlj2vbA99fu6Um1DJv2feXbF7wFy886FX3j7a0BF/KN9564bsysc+fRfy5wEZt0+Yh5LWECnkUZ\nWZTtio6hYXz+q9/G7/7iSa8E3If+1uh4L+KqhDUiaVj+4FLg80jn4BBu+cFyfPHL38SEgQHM3bsP\nPfv2Bx7rwnEI62862a+E5OQinBKX6kwlvyCQbXy96Om+TGiEcAeQ7FfRFSvX4qxNL2PtiXNxcu8u\nvP+xleg9bhIG29vxoT/9fYw0++F3+djnGhUnIt40op9Ps75RmIziWee9zFrIi/Z0ZSMxsX8A1//s\nMbxz9Tr07NuPk3fswj9cdSmGWlrwtcXn43BnR+i5WXvhOn3PRr8VonHqiZvsRSyNQPAZEy/8+N2v\n4qMPPYLz1m/CD845E79ccBJ6p0zGrskT8dTr50We67OA2zjP150MfSKxiBPRXAD/hvKmLozyJupf\nUD3f9qbycYg3rmerik8e/to9PYlXwNSLrcv7O2/9Jrxtw2/wpXddhB+dsxBDrX6leKsiDpSf2Aiw\njQK4lZkXAHgrgD8iIq1MrFmPttIY46kXORUPM6tJxahyVK4h6F5srO7RtsGMax9/CnsmdOFPb3w/\nvve2N2sJuG/5PG0jXrgaiUWcmXcw8+rK60MA1gOYndSuIBSd9tFRfPi/Hsd7H1+NZ+bPBTf5MWkp\n5AurrYaI5gE4E8CTAZ/dRESriGjV6FC/zWKFFKgPL8SFG1Q84DOmbU/srauWE0VcLlBTdG3M37kX\nW6cdh39510WJyxYaF2sTm0TUDeB7AG5h5oP1n1cSgS4FgO7Jc7n2s6wTRGQZE896maGLbWh1hfmM\naduNlhvqlBNXRlox8Lh9Uy5d/RyOtLVi9r4DmLvnVZy0YzdaS2ZhA1ebXgl+YUXEiagVZQH/JjN/\nX+dcHQEPSk6sS5HXrbqYnDP1rHWEPEkZgD/r0y96Zj3++ls/wkvTp2Di4BC2Tp2M62++AbsmTTC2\nmaWQJ9l10KTv2syzOTDa5k07sI2N1SkE4KsA1jPzXTrnqgp43D7hqo0iSUJj3Y6i64FnmQneBjYm\nMeNE1tZEqannb0pQXb77yadxw0OPYqCjHZ9+35UYbmtFf0c7dtcJuEk7MBFy0/atI+RR+41XibOV\n4zybmWHDEz8PwHUAniWiNZX3bmfmB8NOGGtVqxxV0VV5kEDVVpj41r4f1+BVBVwlNmszJ6Stjals\nr0LJ8nF8nXtN+n1VQys0NoaP//AhtJTG8OGbb8TmnulHHRN2bhUVQVcR8qh2qdO+4/qb7v7/slos\nGYlFnJkfA0AWruUoTMIeSUIlOp5zWINPIt4qx5qu244TyfrP0/aMXRLnletOnMYJ+uSZh9A2PIoj\nE9qwdfwUbO6Zrv2rSdU7D2qXJnMyqp69rdCkCHkyvNw7Jeu4dZLJR9OwiQm65yaNJRcVm/enEqq5\n4NcvYri1BV+58bzE9a8aZkk6oZ71pKkIuTneiXieBFyXLOPWroX4gkkbj3nv0f0np2bbpn1dooT8\nhG2vYs7OfWAiDHYkF8W007/VIkKeD7wT8SwRAbdLmLgGfa4ruHG2k9pPSq2Q0xjjpv94BDunTcDi\nX27A5IMDuP4z12O01c4knQi5UItXIl7k5X9Z4ULAVQQ27Jw4sTWxXT3PlZC3jpZw7tObsW3WZHz1\nvedh/OFBawJeJUshF/zGKxEvKj5tHmUbU5ENOr8quklt1tp2IeS/2XIclr3vfDy9YC4Od4dvIZsX\nxBv3GxHxApG1F25LbNOyV7WZlZC3Do3if/zVLzB4sBmzdx/AnTdfibVvnJtJ2ULjIjvuCIUnjcGh\nnmm9BzF/3R5M2nMYO6dNwL1XnY2N82akXq4giCcuCElgRtfBIbz/H1di7qZ9oDHGr6+Yj4fe/ibX\nVyY0CCLigmBI80gJZzy2Fe/56lo8fPXJePqC49E6PIpVp57g+tJyjcTD9fBKxLPOupMVWeW+jMp4\nI9ij68AQhjua8ZH/80tM33YQvfMmYd05s7Hr+IkAgH17uh1foV1kp0S/8UrEs0Yy0vuF7dUp9XaT\ncvWypzFz6wFMf+UgtrxxKrbPn4SDx43Dt/7nWwAq7zyR1UZbRV1eKF64Pt6JeFFzYIo3Hk2t0KYl\n5kmYsqMfU3sPYfz+Ibx4+nRsPWUqHl9ykuvLSp0svXARcDO8E3EguZDXN4Y0BwWTDbCKwqP7T7Yi\ntK4el1eBxhitR0bwh3f8HIcmteOuuy7FWEvwoi5fvHBbbVJFwG31NRFwc5yIeNNIfJZ7EyEPawhx\ntky98fpGHrdznA1vvNqBi/IAUZSA2xgkTAeIluESxvUP4x3fXY/TH9+G5lIJO+dOCxXwOEx3oNRF\nt02aEtXXgGLObfmK03XiNrNZx43kNkf69p2tkV5KGj9B+3aOP0oIoryxomYwyQxmvGfpU7jjpgcw\nZcch9M3oQqmpCX0zzCYs6+sqSTw76lybbTLqeJW+pNPfiuSFE9F7iWgdEY0R0aK6z24jok1E9AIR\nXR5y/p1E1EtEayp/S+LK9DKcokuRGoEOWcXZGwZmnLhuD+Y9vxeLHt6K9oERzNm8H5/82lVoGRnD\nSLtkmckam45eRjwH4FoA99S+SUQLAHwAwJsA9ABYQUQnM3PQDd7NzJ9TLbAQIt4Iey0EbXgUJuBZ\nTWzaiIdHPRaftv16Zm/ejxs//Ri2vm4ydsybiAd/9zQMTGwHNzdhpFkebhbiYeb1AEB0TJ6cqwF8\ni5mHALxERJsAnA3gV0nLlJZpQFx8Ma0JzlrRLpIHfsGkjUcJdv3/bdiPo3mkhHd893lsmz8R99+w\nEF/43KV48cyZ6D1xsnI5YYNnfV1lmRikim6bjDpeJd6tm6ItDAc5NqcS0aqav5ss2Z0N4JWa/2+r\nvBfEnxDRM0T0NSKKbYDOPPG4ytGdGEmS9880hRVwbOwwypYN4Y2zkScvPAubtbajPPKWkTEsWLkd\nnf0j+H8d9ruFzUE3bBtakzZpStSvXx8nNUsjTapzEXuZeVHUAUS0AkDQXd7BzD80ub4avgTgbwBw\n5d/PA7gh6gQnIj4WM8eSpBHUZ9KOs2UjjZUKWXjOWQi4jtAu7tx01P9XDNhbV21iO0rIhzpb8YOP\nnonfumc1rvj6M/j6X7zttQd4dFBJ15Y2tkQ7bgvaWscpqXDnKSTKzIsNTusFULul5ZzKe/W2d1Vf\nE9FXANwfZ9i7mLjNUTxtAVfFRwE3yYKjIuD14hr2ma6gR9mt/TzObpiQN4+UMO+FfTgwuQOT9w68\ndmwtqt9TFkKeVVIIlb3EJWGyEv8J4F4iugvlic3XA/h1/UFENIuZd1T+ew3KE6WReCXiWf4Ma0QB\nDxPhqHyYqp53nMhGHR8lvKZ2o2wGDWAXt2zAuY9vwu4zxuPpT83FBW0vhp6nIuaNJuS2yLuQE9E1\nAP4JwDQADxDRGma+nJnXEdF3ADwPYBTAH1VXphDRMgBfZuZVAD5DRAtRDqdsAfCxuDK9EvGikQcB\nt3G8rtDaPj/KpopnDmZc8IcvYtzeYRyZ2oaxtuj5flUxr9ZNmmIuQu4XzHwfgPtCPvs0gE8HvP/R\nmtfX6ZbpzeqUonnhaQv4GdO2pybgOqQhwDZRub7JG/oxaWM/Rtub8OK105Vtq36vac9VZLVSKctt\nJXycHPUVLzzxogl4Uuo7fa0nlyT2bRvfBRwAUGIs7tyEp9bMwsnf3YX1H5yB1/1oDw7M78TMlQcw\nY/VBTNg6iKYRxsETOnBkalsql1Fbb9X6jKpnXSRxcuPihYgXjSSeUZBI+7groc8C3rp+BM27Suh4\nbAjjfjWEwXPaccphRs/KQ+juHcScX+7HrjPGY9KWI2geGsNwdzN2nTkBj3/yJAxN0gsZmOTwDKvP\nLMIvSZGwin84F3Hxwv8b22Lt01auWUGHxjD11gNoOjCGpgMMlBgdg8OYd8p+PPAvp2LCS0dw6PgO\nPHt9D7p3juDQ7DYMTWoDt+gvJ0wL00lR8cYbE+ciLuQPn73wcT8fwuAZLRh8axs6nhpFS28Jfbd3\nY+y4ZhxqH4dDx49D74XHAQCOzOhwfLWCkBznIp5lEgjJ5FNsJv39IXR/4zDoMNA0NIZX7zru6AMG\n3FxXVogX3ph4szpFEBIxOIbW54ZAR8r71WPIn/CIIKSJFyJetMkLU48oKg66dk+PNxNeNh+ft0HT\nvjH0XLkPHU+NAm3AwCVtePXuia4vK5SouvSpnoOQdG3+4TyckjW+59SM68Bhy9OCsJU+zQUtr4yi\n7ekRlGY3YeisNjT1McZ/9TCa9pbQsr2EvtvGo2kYGF7QiqYdo6CDJQy9sRkDV3di4KpxQN0DO64H\nnqB6tSnWWYRSRMD9xBsRl9i4HjpinitGxjD9xv1o2l1C65YSMAKMjQeGFrai87ER0FD5sPan94E7\nm9D3vyeg63tH0NzHOHTjOPT/Xleml6uyvDBtz7posXARcD28CKdUybLysvAqsuhccQKRVhLitDzb\njkeHMe7h4bKAjwJNw0DLq0DXz0bAJYBbgLEOYHBRCw5f2YGhha3ov6YDBz/SiYMf7sz0WlUoioBn\n6YULengl4kDxRmERcj2GFrXi8OVt2Hfbsfksm0aB0dmEbWunY+//nYr9fzUBpVnNOHLFOOy/fQLQ\nkW1zjvteRcD1KVr/zwIr4RQieieALwBoBrCMmf8u6vimlCMZ9Q0hLEzje3zcFUHilFVsnSc0Y+9X\nyksDuYsw+VOHMDoF6KgUX5raDO5UF+uogSbJfboW8KyIE/DavpY0HCoCbkZi14WImgH8M4B3AVgA\n4IOVpKCRRCVANa3Mzp3B50bZS+pltO9sfe3PJTa88Uf3nxx6XNj7aYYqBn67C71rZmLfF45DqRLq\npkNj6Hh8CGBOZDvqPpP+cslCwOOy3qfdJoP6Wlj/U7UnmGHj9+fZADYx82ZmHgbwLZSTgsaSZSbr\nNBpJfSdxLeRJSCvkYoORU9uw86EpGDqzBS37GMf95QG0bDFvO0nv1efvymabND1XBDlbbIRTghKA\nnlN/UCXh6E0A0D5ukoVihUZi9PhW7P3HSWjZPIqmfsbo3MwT6DYcWW52JZiT2UwQMy9l5kXMvKil\nvTxplWUm6zSWL9bH0/O8bNE05p3lPiqj81oweEkHBt49DkiwYVXS+L7Pa+99aJOyF3i22PDElRKA\n1hMl4KaNICzjve1M9zbPt0XcenEV4YnKWOOzcJkQtoWsjft0nZotizYZ1NeSJjhPMwxDI1TYXxU2\nRHwlgNcT0XyUxfsDAH4n6oS4bPdJUW1MRcqzGUWaqdl8Z3HnptDJ1yT3GbePuGsht4VqxnsbyP7h\nZiQOpzDzKIA/BrAcwHoA32Hmdab2ivZTzKc8m7bxeUvaLIgbBIryNK2kZfMbKzFxZn6QmU9m5tdV\nkoEaUbQEET7k2UzLq86TgLu8VsmvKaSNN09sFk3A06YoXl7eURkkiyLkWSHeuB7ebICVFb7HwcM6\nvMmGV0WKbSclKjaeBfWJkuPqWRcf4uM2kfi4Ol6IeNFGXtsCHvdZ1uQplOIjKvXs62P7IuT+4U04\nRRAEQdDHuYhLLFwQ7FC02LighnMRF/KH6yw5giD8N85FvGiJIJJgOw7q80ZNWZOngce0HRQtw4+g\nhhcTm0Ujyf7h9SsX6ju0LxOcKwZOys0EZ5oCbjJQ1tZpVF37iCSI8A8vRFzyax5NXNZ7QF3M00yW\nnCchd01UdnsbiBfeuDgPp1QpWlgl7U61dk+PsgCkGVbxOUyxYuAkL7xwSdOmj3jh6njhiReVLNKy\nRT04UouuR14rUHHnJfXIo4TW1K6qeOvcZ9A5UbjO8GMTEXB/8UrEixhW8U3Iq8Ttwhd0XpTIVUVT\nVXRVRTZCAvaYAAATuElEQVQNu7op6HS+qyoi4GaIgOvjlYgD9oS82hiibDWikFcxCbHoiDlwtPAm\nDWvUn29qO8l9q9JoAq7S11QQATfDiYjHZbtPIuRByVuB9DLe1zfyMFs+CrkpqqGZNOPRJrazWHLp\nwwoT1Tapa6ce3b6mY0tQx9nEZvf2ktWM93GZtm1nvA/LJh5ly4b31LdzfKSdrEQkDUGsZppPy7ZL\nqvVmqw0EYdImTTHta0WHiN5LROuIaIyIFtW8fzYRran8rSWia0LOv5OIemuOXRJXpjerU/JEXKdI\nK4ZY23mLtKQsSLhtim5WAh42gNbXVZK6Mz1Xt01GHa8i0jpCHnVslKPnKc8BuBbAIwHvL2LmhQDe\nCeAeIgqLhNzNzAsrfw/GFVgIEW+EkV+n8+bJG4+ykbZ9QbANM69n5hcC3h+oZEEDgA4AbKtM7yY2\nTZAtKwWhmEQlVNehaURZI6YS0aqa/y9l5qU2roGIzgHwNQAnALiuRtTr+RMi+j0AqwDcysx9UXad\neuK2KgiIn0yxuXRxaOZI5GRRGiteJs88dNTEaNQkqS+P5gtldOpOxVYYNttk1PEqfUmnv3mWT2Av\nMy+q+TtGwIloBRE9F/B3dZRhZn6Smd8E4C0AbiOijoDDvgTgRAALAewA8Pm4C3biiY+1xgu4ScVW\nz6kfceNsmYpu/Qb5cXZsrE4p2najUWuwbWwXYLLGOy2yqDvdNmmKaV8rAsy8OOH564moH8CpKHvb\ntZ/tqr4moq8AuD/Onpcx8aQNYWDm0X9pUvXKfd+PJQ1s7clSlDRyWf0CihsMbLVJlfNt9bWiiz8R\nza9OZBLRCQDeAGBLwHGzav57DcoTopF4J+JZV6bvOTd1yWso5YJJG18T89rXgluydE6KIOREdA0R\nbQNwLoAHiGh55aPzAawlojUA7gPwh8y8t3LOsprliJ8homeJ6BkAFwP4eFyZhZjYNKURvWffSUO8\nswypnDFteyarg7JIjOyCvC9SYOb7UBbp+vf/HcC/h5zz0ZrX1+mW6ZUnXoSROAjxwoU8I86O33gl\n4oIgCEV15tJCRFwoPL6sThGENBARF4wRcRQE9zT0xGbRyGoXw7QwSdCgY1MQioiIeAZksQ2tK5Lm\n8IxL0JCG7TTxYSta22SZFALI9+oUF3gVTpHKS44LETHZPlb1HNOtaYsu4EVcXiiY0dCeeFaZfYBs\nvXFXYZW4cEgSYa0/17b9pBRVwMUL9x/vRDzLPJuACHlapC2oPsW6RcDtIAJuhnciDuRLyHU3G0oi\n5LUdWMVGVVx0xDxKkPI8aVqLzXtUFXDduouzEYWNDbBEwPODlyIOmAl5VEOIs1VttCqNPqyBq9qo\ndkaVzhzWcXVsxIm5qhCZDAo+oXKftcck/b6A4PrTFXQT8Q56T1XQVQU8SX9TtSPE4yxRcvf2Uux2\ntKqJV1XTRak0rDAh1vFMdMUc+O/OrPtz2UTMk2JbzMOuy+ZgYXLvSb8vlbqsP8a0Hai0zyhB12nf\nOunZbPRdIZpEIk5EnwVwFYBhAL8B8BFm3q96voqQA8ENwqTydbx7Gz8ndcI0SWOdLpYxJo27x4mk\nrcEi6xU7WefQNE30bYJJAnPAvO/mMMdm5iRdYvhTAKcy8+kANgK4TdeATiVVM9onGb2zHvmzjC26\nWHZmKpA6563d02PsSedJwE3Isn0l7Xe6fVcEXI1EIs7MD9XkiXsCwBwTO1lXVpF/wtkUkb6d41/7\ni0JXKLMS/ihq7y2va66znnwU/MTmwz43APhx2IdEdBMRrSKiVaND/RaLFdKgXthsCLkNz1h3cjKI\nuMlGU/I6GAj5JjYmTkQrAARFku9g5h9WjrkDwCiAb4bZqSQcXQoA3ZPnstHVCoIgGFBdTFFEYj1x\nZl7MzKcG/FUF/HoAVwL4XWY2EmebWe9VkP2K46mfJM1y9UuSclSuIehe8pjEuujJGrLWhbySdHXK\nOwF8AsCFzDxgYqPoAp51R7MpJL5u2hW1WkU1PZqv9+YzeU+dVlSSxsS/CGA8gJ8S0Roi+rLOySYC\nniSzdtEFXHBP0b1x0z5k2m/FG48nkSfOzCeZnDfWql85QZVffU+8gzLiXTYmQzNHMl2pouqRhwm2\n9Fu7eLUVbRhxo3fcCG/quSdBvPBjyevj+ro0wmCq0ieFbMiFiKsS5a0L7sli4rOISRlUcOE0hPU3\n1T4nfdMO3m6AVUW3on1oGC46lC/eXxZb4IaV0agC7hIf+luj472IC/lDPG5ByA7vwyky+aGGPC0o\nCI2J9yIuCHlDBlQhS3IRTtHZQrbec3cRs8sy5VstLrajFY7GlYC72gwr6JeyaV8VzMiNJx5X4WHb\nXLpqKK46lXiBQlaE9a24LWeTbictHE0uPPEqphWvmmXENnn3yHWyBuURm/cnHrjZMUJynKVnc0HW\nCZgBt0IO6AuUjZyQPpPG/YmACy5x5olXt4XMem+ERhJyQE3MdUQoDe88rHzbA4Zuzktb31kauBBw\nEW8/cR5OUc2zaRNXQg6YPwgU1mmzyuEZZi+J0MZdk60Bw/TebX1nQXWXZFBvFAEv6v7ftnEu4kC+\nhVx3NYyuVx7XYZMODkkxib/riqPN0FCWRNWdab2pCHhtm0yjjWeBCLg63qxOSaPS4mzaSPyq+n4t\n7TtblcRZx+NymW9RNU9l0nyWWZVjA9X6UK1nleOC2l7aicW7t5es9908CzgRvZeI1hHRGBEtqvvs\ndCL6VeXzZ4moI+D8O4mot7K19xoiWhJXpheeeBVbHnltI4iLvZt45Koz8ypeuU1sxt5NQgBB8eQ0\nxDQsbq1alu3whor9NM6pRWUJru12rtPPVMmzgFd4DsC1AO6pfZOIWgB8A8B1zLyWiKYACGt0dzPz\n51QL9MYTt0VYI4hqHDqeiu+TOzYGhjAbOrZNvOGqt2lSThIBj3pfF5/j1Tbbrkk/awSYeT0zvxDw\n0WUAnmHmtZXjXmVmK1+WdyKepBH41oB8F/wgVGPwaZfrQgyTlukypKWKC8HPGVOJaFXN302W7J4M\ngIloORGtJqJPRBz7J0T0DBF9jYgmxxn2KpySlP6eZu+EXBAE9zQPl9C19bDKoXuZeVHUAUS0AkBQ\ncOqOagL5AFoAnA/gLQAGAPyMiJ5i5p/VHfclAH8DgCv/fh7ADVHX452IJ42pBQm5zZUvOsli87jX\nclyqr7RWwdSX62K1TdIys06TVsVFmwxzmBohJyYzLzY4bRuAR5h5LwAQ0YMAzgJwlIgz867qayL6\nCoD74wx7JeK2GoCN/J1JcSXgNsQvTIzSFtYshNvVvfmATptUGRjSEOwC/5peDuATRNQJYBjAhQDu\nrj+IiGYx847Kf69BeaI0Eu9i4nlAJadn3hmaOXKUsBVJ5NK8N1ffUxo5L1214zx780R0DRFtA3Au\ngAeIaDkAMHMfgLsArASwBsBqZn6gcs6ymuWIn6ksP3wGwMUAPh5XpjeeuKuKS9JQ670V1+KdhoAU\nSbzrKdq9BWWRd90mGw1mvg/AfSGffQPlZYb173+05vV1umV6IeJ5Hnmlkwj1uIqNV7HZJnXi7TYp\ncFjFOhJOKQhF8yoFIc/OXZY4F3GXFSVetCAIece5iAuCIAjmNLSIN/BTaYIgFISGFvEikYdHvgVB\nsI9zEXc9A10kb1yE3A+KVA9F6h9FxbmI+0DShupT9u40trctKmncmy/fl4026bpNu3bw8oIX68Rd\nZPapR3e/5bCEEID7VS9J9xWP2lEw70sZ43ZLtJ0+L0ui2iSQvH1niQi4Ol6IOOCPkAPhjV13G0+X\nYq6b/ksnE42O3aRlZ52sweT+fBXwsGOi2qVr8QZEwHXxRsSB9LKD6Nqz1ZBdJGSuJ8qLTiI+NsQ8\nLVE1KSfqnKCyfRBuwKytppUcwnZWLkENr0S8iqlXHpdtxIWnb1vIk+yLkVYMOI1kv2HnuPCQbadO\ns9UeXHrNQX0tqaCLgJvhpYgDekKuWvmuQjZJwythndWHsA2gLrA2U8dFleW7l2yj3lwJeBp9TcQ7\nGVZEnIhuBfA5ANOqm55HUc2ycfj4rsjj4jxok8p3GXtPMykzYF/MdT3ILMXTV+84zH7UMXmZcNTt\nb3GeuYi3HRKLOBHNRTkJ6Fbdc1WEHLBf2TaFXDe7iaqQm8Y6bYhRlAeZltcfVGYaZWVxb7p1Z6tN\npJlpJ2kfND1fMaVaQ2NjnfjdAD6Bck44bVxVko2BwTTjd1xn9GGFQBhpXFtW95vF925qI61ry7O3\nKwKuRiIRJ6KrAfQy81qFY2+qZpAeHh1IUmwhiIuX2rZr83ybohtly8Vg5nIATdImosTalRctZENs\nOCUqszOA21EOpcTCzEsBLAWAiV09Rl570fBhCaJrXCUdCMN1fZi2iTSTKLhK0HD4+C573vjQCOil\nXju2PCNWxMMyOxPRaQDmA1hLRAAwB8BqIjqbmZW7pUpMPA1sxAqTZvz2MUGziqhmJXS2y/FtwAgi\nje/W9UN0QroYh1OY+Vlmns7M85h5HoBtAM7Kg4DbpL+n+bVOUvvaFNeeYNw1ZDXwuPgebJSZNGdr\nEptBbdGWgLsaCIqgEWnjZAOsUluzceXYaJhpNEhdm2kIpe3cimnaD7Jd+5d2OUHvu8RmtnpfPW9f\nryvvWHvYp+KNp0JQ5Vff043V+dCQVDqk7k9/H0MzPpP2QOG67tLANDZe2+dqX8uEqR1yvxWtjij7\nIOA65KVzC8dS1EFVtw9FHZ+3/ugr3ou4SkU3emPwoXMLZuSx7lT7W6P3y6zwXsRtkdcGlcdOLgh5\n7W95pGFEPK/4viROyA5pC0IQ3ot4ESc/pDMKVaQtCEnxXsRVUBF63wYDm4+3ixAUn7zVcR77ZF7x\ndj/xWsK2pM17IwhK8JBkAyWJn/uDTj2GJfrwVbh19hQHitdvfSMXIl7FxkY+vk642NpBL619sYs4\nQGS1D3tW52aB6R7+QnrkSsRt4LOQ28CGkEdlTc9qP/Es9y1PkvIuznaREDH2k4YTcaAxhBzIRxah\nrFLP6c4vpPHd5RkRcH9xIuKq6dnSxEby5KiG7cMgoSJISZMY2M4barscnbJMyvVJvNNqjyLgfuPU\nE6/uFexazHUbuOrMuw9CDqQrNLoim+Wg4TJTT5borATRaZM+iLdk94nHi3BKWl65bg7PuAZumijW\nVT7PLIkTWVtimOavizRIu87SapOqdtPsu4IaXog4YK8x1Fd+7f/j7KfleST1ylVSb6Uh5nHZyoPw\nJV9mHCb3lqSMoPeTlpukvSZt67X9SqeP6drOG0T0XgB3AngjgLOZeVXl/TYA9wBYBGAMwM3M/HDA\n+XcC+H0Aeypv3c7MD0aV6dXDPkkrL+58l43DtNPorsm1Rb297u2lVH9eV+3X/qVZTtx7NsqxcUwa\n5yYlqh+l3YdzwHMArgXwSN37vw8AzHwagEsBfJ6IwvT3bmZeWPmLFHDAMxEHzCuxAJV/DKY/ldMs\nNw3x8CH2ahOd+0lj3XWafUHFdhH7oirMvJ6ZXwj4aAGA/6ocsxvAfpS98sQQc/Y5i4loD4CXMypu\nKoC9GZWVJXJf+ULuy5wTmHlaEgNE9BOUrzWODgCDNf9fWknyrlvewwD+rCacchPKHvgHAcwF8DSA\nG5n5e3Xn3QngIwAOAFgF4FZm7ossy4WIZwkRrWJmKyOeT8h95Qu5r+JARCsABE2t38HMP6wc8zCO\nFvEWAJ8FcDHKDmwrygPED+psz0B5UGQAfwNgFjPfEHU93kxsCoIg5AFmXmxwziiAj1f/T0SPA9gY\ncNyummO+AuD+ONvexcQFQRCKBhF1ElFX5fWlAEaZ+fmA42bV/PcalCdKI2kET1w7npUT5L7yhdxX\nA0BE1wD4JwDTADxARGuY+XIA0wEsJ6IxAL0Arqs5ZxmAL1dCL58hooUoh1O2APhYbJlFj4kLgiAU\nGQmnCIIg5BgRcUEQhBzTUCJORLcSERORynpR7yGizxLRBiJ6hojuI6JJrq8pCUT0TiJ6gYg2EdFf\nuL4eGxDRXCL6ORE9T0TriOhm19dkEyJqJqKniSh2FYWQDg0j4kQ0F8BlALa6vhaL/BTAqcx8OsrL\nlW5zfD3GEFEzgH8G8C6Un277IBEtcHtVVhhF+YGNBQDeCuCPCnJfVW4GsN71RTQyDSPiAO4G8AmU\nZ30LATM/VFl/CgBPAJjj8noScjaATcy8mZmHAXwLwNWOrykxzLyDmVdXXh9CWfBmu70qOxDRHABX\nAFjm+loamYYQcSK6GkAvM691fS0pcgOAH7u+iATMBvBKzf+3oSBiV4WI5gE4E8CTbq/EGv+AsmM0\n5vpCGpnCrBOPehQWwO0oh1Jyh+Ijvneg/LP9m1lem6AOEXUD+B6AW5j5oOvrSQoRXQlgNzM/RUQX\nub6eRqYwIh72KCwRnQZgPoC1RASUQw6riehsZvYofUAwcY/4EtH1AK4E8A7O96L/XpQ3Bqoyp/Je\n7iGiVpQF/JvM/H3X12OJ8wC8m4iWoLxp1AQi+gYzf8jxdTUcDfewDxFtAbCImXO/oxwRvRPAXQAu\nZOY9ccf7TGWDoI0A3oGyeK8E8DvMvM7phSWEyp7D1wHsY+ZbXF9PGlQ88T9j5itdX0sj0hAx8QLz\nRQDjAfyUiNYQ0ZddX5AplQnaPwawHOXJv+/kXcArnIfyI9aXVOpoTcV7FQQrNJwnLgiCUCTEExcE\nQcgxIuKCIAg5RkRcEAQhx4iIC4Ig5BgRcUEQhBwjIi4IgpBjRMQFQRByzP8HOJnP8cGJrsAAAAAA\nSUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11be75630>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_func_space(hard_func)\n",
"# ax = plt.subplot(111)\n",
"# for i in range(len(mus))[::10]:\n",
"# ax.add_artist(Ellipse(xy=[float(mus[i][:,0]), float(mus[i][:,1])], \n",
"# width=sigmas[i][0,0]*2, \n",
"# height=sigmas[i][1,1]*2, edgecolor=\"white\", fill=False))\n",
"plot_mu_space(mus, alpha=0.7)"
]
},
{
"cell_type": "code",
"execution_count": 512,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x11c08e630>]"
]
},
"execution_count": 512,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11c05ac18>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot([hard_func(np.array(m).reshape(2)) for m in mus])"
]
},
{
"cell_type": "code",
"execution_count": 513,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x11c09ef28>]"
]
},
"execution_count": 513,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nwLK8z22mRqVUF+Cc1nrPbYdspsb82Epw2zSllCewAHhda5108zFtDMux2tAcpVRHIF5rvfNu51i7\nxjxOQDgwTmtdD0jhti4Ha9eZ10/cBeMfmUDAQynV/+ZzrF1jfmyxppsppd7F6HacYe1abqaUcgfe\nAd63di0PylaC26R9La1BKeWMEdoztNYL816+qJQqk3e8DBBvrfqApkBnpdQpjC6mx5VSP2FbNYLR\nYonVWm/L+3o+RpDbUp2tgZNa6wStdRawEGhiYzX+6W412dTPklJqENAR6KdvjD22lRorYfwjvSfv\n56cssEspVRrbqTFfthLcNrmvpVJKYfTJHtRaf3XToSXAs3mfPwssLuja/qS1fltrXVZrHYLx57ZW\na90fG6oRQGt9ATirlKqW99ITwAFsq84zQCOllHve//snMJ5r2FKNf7pbTUuA3kopV6VUBaAKsN0K\n9aGUaofRhddZa5160yGbqFFrvU9rHaC1Dsn7+YkFwvP+rtpEjXeltbaJD6ADxpPn48C71q4nr6Zm\nGL+C7gWi8z46ACUxnuQfBVYDvtauNa/elsDSvM9trkagLhCV9+e5CChha3UCHwKHgP3AdMDV2jUC\nszD63LMwwmXovWoC3s37OToMtLdijccw+on//Nn53tZqvO34KcDPmjWa+iEzJ4UQws7YSleJEEII\nE0lwCyGEnZHgFkIIOyPBLYQQdkaCWwgh7IwEtxBC2BkJbiGEsDMS3EIIYWf+H2nbImTpS1wCAAAA\nAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11c09e908>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot([float(s[:,0]) for s in mus])\n",
"plt.plot([float(s[:,1]) for s in mus])"
]
},
{
"cell_type": "code",
"execution_count": 514,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x11c18d4a8>]"
]
},
"execution_count": 514,