From 3d9f7b82788c67bfc3d7d1452d8213424deb3a26 Mon Sep 17 00:00:00 2001 From: anperederi Date: Tue, 12 Dec 2023 21:16:46 +0100 Subject: [PATCH] update maths's tp --- .../.ipynb_checkpoints/tp3-checkpoint.ipynb | 38 ++++++++++--------- 2A/Maths/tp/Optimisation/3_tp/tp3.ipynb | 24 ++++++------ 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/2A/Maths/tp/Optimisation/3_tp/.ipynb_checkpoints/tp3-checkpoint.ipynb b/2A/Maths/tp/Optimisation/3_tp/.ipynb_checkpoints/tp3-checkpoint.ipynb index e89f19f..d6260f4 100644 --- a/2A/Maths/tp/Optimisation/3_tp/.ipynb_checkpoints/tp3-checkpoint.ipynb +++ b/2A/Maths/tp/Optimisation/3_tp/.ipynb_checkpoints/tp3-checkpoint.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 81, + "execution_count": 2, "id": "cf0560cd", "metadata": {}, "outputs": [], @@ -22,7 +22,7 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": 3, "id": "989131ce", "metadata": {}, "outputs": [ @@ -62,7 +62,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 4, "id": "8d796b1e", "metadata": {}, "outputs": [ @@ -107,7 +107,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 5, "id": "713c3b72", "metadata": {}, "outputs": [ @@ -138,7 +138,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 6, "id": "be05ba88", "metadata": {}, "outputs": [ @@ -169,7 +169,7 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 7, "id": "fe153a7b", "metadata": {}, "outputs": [ @@ -238,7 +238,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 8, "id": "b8f01cf4", "metadata": {}, "outputs": [ @@ -270,7 +270,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 9, "id": "dd3ea66c", "metadata": {}, "outputs": [ @@ -302,19 +302,21 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 29, "id": "34f7316f", "metadata": {}, "outputs": [ { - "data": { - "image/png": "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4w47WHjePNfVAACKK9EODk5xXQBQGrZv36433nhD7733njZv3lxirxuJSHXr2qaI886TKlcusZcuMYFAQNWrV1f79u11wQUXKDU11XVJABBXch8c3KiR21pKQiASYQUQEsuKFSvUtm1brVu3Ts2aNVPdunWVlFSyTejoQcIl/LIlIhwOa926dVq+fLmOPPJILVy4UEcddZTrsgAgbvzxh1Szpi2dufhi19UcOjpzSCg5OTnq2LGjatSooQ8++ECNGzd2XZIzy5cvV9euXdW5c2ctW7ZMgUDAdUkAEBeqV7dJEImyCSIO+wpA8S1atEirV6/W+PHjfR3kJKlJkyYaN26cvvnmGy1dutR1OQAQNwKBxDqehDCHhPLJJ5+oatWqOv30012XEhfatm2rcuXK6eOPP3ZdCgDElWCQzhwQl3bs2KFq1aqV+Bq5A1m40P7KK8F9FiWmXLlySktL03ZOOwaAPEIhOnNA3Np3bVggcODbgAFu6iwrrJUDgP0lUmeODRBIeLn/Y506VbrzTmnFith9lSqVfU0AALfozAEeEgzGbtWqxRa+Rm8vv2znDJUvLx17rM1ijVq92p6fe//A5s1238KFBX/NmTOl44+33VJHHSU9/HDexwMBac6cvPdVry698IK9v2ePdN119o9NxYr2GvffH3vuli3S1VfbmXdVq0rnnit98UWRfiwA4GuhkJSZKeXkuK7k0BHm4GuzZ0s33CDdfLO0bJn0//6fNHCgtGBB8V9zyRKpd2+pTx/pq6+k0aOlUaNiQa0wnnhCevVVado06yJOmmSBTrKDizt3tr8o5861r9eihdSunbRpU/HrBgA/CQbtzNANG1xXcui4zApfe+ghWzM3eLB9PGyY9J//2P1t2xbvNR95xILVqFH28THHSN98YzNdC7s+7+efpaOPltq0sS7ekUfGHluwwEJiZqZ1/qLfx5w50owZ1rEDABxYdKTXunWxiRBeRWcOvrZ8uXTmmXnvO/NMu7+kX/P77wvfzh8wwC7tHnusdP310jvvxB5bskTavl2qVUtKS4vdfvxRWrWq+HUDgJ9EA1wirJujMwff23ezZyQSuy96wknuoXd79x749XJ/fu779v2a+96X+3VbtLBw9uab0rvv2mXb9u2t8xYO21+U+a3Zq179wLUBAEx6ur1NhB2thDn4WpMm0kcfSZdfHrvv44/t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\n", - "text/plain": [ - "Graphics object consisting of 6 graphics primitives" - ] - }, - "metadata": {}, - "output_type": "display_data" + "ename": "IndexError", + "evalue": "list index out of range", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mIndexError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn [29], line 55\u001b[0m\n\u001b[1;32m 51\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m meilleure_tournee\n\u001b[1;32m 54\u001b[0m \u001b[38;5;66;03m# Utilisation de l'algorithme génétique\u001b[39;00m\n\u001b[0;32m---> 55\u001b[0m T_genetique \u001b[38;5;241m=\u001b[39m \u001b[43mAlgoGenetique\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdistances_5villes\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnb_generations\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mInteger\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m20\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnb_croisements\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mInteger\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m20\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtaille_population\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mInteger\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m100\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mprob_mutation\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mRealNumber\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43m0.9\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 57\u001b[0m \u001b[38;5;66;03m# Affichage de la tournée obtenue\u001b[39;00m\n\u001b[1;32m 58\u001b[0m afficher_tournee(T_genetique, coordonnees_5villes, noms_5villes, Integer(\u001b[38;5;241m10\u001b[39m))\n", + "Cell \u001b[0;32mIn [29], line 48\u001b[0m, in \u001b[0;36mAlgoGenetique\u001b[0;34m(M, nb_generations, nb_croisements, taille_population, prob_mutation)\u001b[0m\n\u001b[1;32m 45\u001b[0m population \u001b[38;5;241m=\u001b[39m selection_naturelle(population, taille_population, M)\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(taille_population):\n\u001b[0;32m---> 48\u001b[0m population[i] \u001b[38;5;241m=\u001b[39m mutation(\u001b[43mpopulation\u001b[49m\u001b[43m[\u001b[49m\u001b[43mi\u001b[49m\u001b[43m]\u001b[49m, prob_mutation)\n\u001b[1;32m 50\u001b[0m meilleure_tournee \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mmin\u001b[39m(population, key\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mlambda\u001b[39;00m T: \u001b[38;5;28meval\u001b[39m(T, M))\n\u001b[1;32m 51\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m meilleure_tournee\n", + "\u001b[0;31mIndexError\u001b[0m: list index out of range" + ] } ], "source": [ @@ -372,7 +374,7 @@ "\n", "\n", "# Utilisation de l'algorithme génétique\n", - "T_genetique = AlgoGenetique(distances_5villes, nb_generations=100, nb_croisements=20, taille_population=50, prob_mutation=0.01)\n", + "T_genetique = AlgoGenetique(distances_5villes, nb_generations=20, nb_croisements=20, taille_population=100, prob_mutation=0.9)\n", "\n", "# Affichage de la tournée obtenue\n", "afficher_tournee(T_genetique, coordonnees_5villes, noms_5villes, 10)" diff --git a/2A/Maths/tp/Optimisation/3_tp/tp3.ipynb b/2A/Maths/tp/Optimisation/3_tp/tp3.ipynb index e89f19f..de0fce3 100644 --- a/2A/Maths/tp/Optimisation/3_tp/tp3.ipynb +++ b/2A/Maths/tp/Optimisation/3_tp/tp3.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 81, + "execution_count": 2, "id": "cf0560cd", "metadata": {}, "outputs": [], @@ -22,7 +22,7 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": 3, "id": "989131ce", "metadata": {}, "outputs": [ @@ -62,7 +62,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 4, "id": "8d796b1e", "metadata": {}, "outputs": [ @@ -107,7 +107,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 5, "id": "713c3b72", "metadata": {}, "outputs": [ @@ -138,7 +138,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 6, "id": "be05ba88", "metadata": {}, "outputs": [ @@ -169,7 +169,7 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 7, "id": "fe153a7b", "metadata": {}, "outputs": [ @@ -238,7 +238,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 8, "id": "b8f01cf4", "metadata": {}, "outputs": [ @@ -270,7 +270,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 9, "id": "dd3ea66c", "metadata": {}, "outputs": [ @@ -302,13 +302,13 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 34, "id": "34f7316f", "metadata": {}, "outputs": [ { "data": { - "image/png": "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4w47WHjePNfVAACKK9EODk5xXQBQGrZv36433nhD7733njZv3lxirxuJSHXr2qaI886TKlcusZcuMYFAQNWrV1f79u11wQUXKDU11XVJABBXch8c3KiR21pKQiASYQUQEsuKFSvUtm1brVu3Ts2aNVPdunWVlFSyTejoQcIl/LIlIhwOa926dVq+fLmOPPJILVy4UEcddZTrsgAgbvzxh1Szpi2dufhi19UcOjpzSCg5OTnq2LGjatSooQ8++ECNGzd2XZIzy5cvV9euXdW5c2ctW7ZMgUDAdUkAEBeqV7dJEImyCSIO+wpA8S1atEirV6/W+PHjfR3kJKlJkyYaN26cvvnmGy1dutR1OQAQNwKBxDqehDCHhPLJJ5+oatWqOv30012XEhfatm2rcuXK6eOPP3ZdCgDElWCQzhwQl3bs2KFq1aqV+Bq5A1m40P7KK8F9FiWmXLlySktL03ZOOwaAPEIhOnNA3Np3bVggcODbgAFu6iwrrJUDgP0lUmeODRBIeLn/Y506VbrzTmnFith9lSqVfU0AALfozAEeEgzGbtWqxRa+Rm8vv2znDJUvLx17rM1ijVq92p6fe//A5s1238KFBX/NmTOl44+33VJHHSU9/HDexwMBac6cvPdVry698IK9v2ePdN119o9NxYr2GvffH3vuli3S1VfbmXdVq0rnnit98UWRfiwA4GuhkJSZKeXkuK7k0BHm4GuzZ0s33CDdfLO0bJn0//6fNHCgtGBB8V9zyRKpd2+pTx/pq6+k0aOlUaNiQa0wnnhCevVVado06yJOmmSBTrKDizt3tr8o5861r9eihdSunbRpU/HrBgA/CQbtzNANG1xXcui4zApfe+ghWzM3eLB9PGyY9J//2P1t2xbvNR95xILVqFH28THHSN98YzNdC7s+7+efpaOPltq0sS7ekUfGHluwwEJiZqZ1/qLfx5w50owZ1rEDABxYdKTXunWxiRBeRWcOvrZ8uXTmmXnvO/NMu7+kX/P77wvfzh8wwC7tHnusdP310jvvxB5bskTavl2qVUtKS4vdfvxRWrWq+HUDgJ9EA1wirJujMwff23ezZyQSuy96wknuoXd79x749XJ/fu779v2a+96X+3VbtLBw9uab0rvv2mXb9u2t8xYO21+U+a3Zq179wLUBAEx6ur1NhB2thDn4WpMm0kcfSZdfHrvv44/t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\n", + "image/png": "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e6VFi6Rbb5VuuEGaMaPgrzl/vtSunXTVVdKPP0q9e9vRXeFGLS9eeEGaNEkaPdpSxHfesYZOssHFzZvbb5RTptj71a0rNWliw4gBAAeXmmqzP9etc13JoeMyK3ztqadszVyXLvb3bt2kr76y+xs3LthrPvOMNVbhs1ePO076+Wc70zWv6/P++EOqUUNq1MhSvKOOynpsxgxrEteuteQv/HVMnCiNHWuJHQDgwMJHeq1enXUihFeRzMHXFi+Wzjor531nnWX3R/o1f/0173F+x452aff446U775Q++yzrsfnzpW3bpPLlpVKlsm6//SYtX17wugHAT8INXDysmyOZg+/tvdkzFMq6LzzhJPuhd3v2HPj1sn9+9vv2fs+978v+unXrWnP28cfS//5nl22bNrXkLTPTfqPMbc1eSsqBawMAmMqV7WM87GilmYOv1awpffGFdN11Wfd9+aXdL0kVK9rH1aulU0+1Px/sMIVatew1s/vyS7vcmpiY9brZf4D8+qu0Y0fOzyldWrrySru1bSs1a2Zr4urWtd8kk5Ky1tEBAPKnSBGpQgWSOcDz7rvPUq/wBoIPP5TGj7c0TLKxJWecIT3xhDVO69dLjzxy4Ne8916pQQOpXz9rxObOlV56SXrllaznnH++3XfGGZa09ehhP1jCnn3W0rdTTrF0cMwYuySQkmIJXcOGUqtW0sCBdin2779tM0SrVlL9+hH9FgFA3AoG4yOZY80cfK1VK+n5521zwoknSq+/Lg0bJp13XtZzhg61S6D169vO18ceO/Br1q1ru1BHjpRq17a5dn375tz88PTTUtWq0jnnSB06SN27S8nJWY+XKmWNWv361hiuXGnNWkKCXaKdMsU+t1MnS/yuusqeE75sAAA4uHg5nzUQCu29cgfwrkcffVRvv/22fv/9d9elxIzy5cvr/vvvV48ePVyXAgAx5frrbePY3ktjvIZkDgAA+FK8JHM0cwAAwJfCa+a8fo2SZg5xJSkpSbt373ZdRkzZtWuXimTfXQEAkGTJ3I4d0tatris5NDRziCvHHHOM1qxZo7///tt1KTFh2bJl2r59u4455hjXpQBAzAmfAuH1S600c4grl156qZKSkvTkk0/K73t7QqGQBg0apOTkZF100UWuywGAmBM+BcLr40mYM4e4UrZsWfXv31/33XeffvzxR7Vq1UqVK1dW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\n", "text/plain": [ "Graphics object consisting of 6 graphics primitives" ] @@ -318,8 +318,6 @@ } ], "source": [ - "from random import shuffle, randrange\n", - "\n", "def tournee_aleatoire(n):\n", " tournee = list(range(n))\n", " shuffle(tournee)\n", @@ -372,7 +370,7 @@ "\n", "\n", "# Utilisation de l'algorithme génétique\n", - "T_genetique = AlgoGenetique(distances_5villes, nb_generations=100, nb_croisements=20, taille_population=50, prob_mutation=0.01)\n", + "T_genetique = AlgoGenetique(distances_5villes, nb_generations=20, nb_croisements=20, taille_population=50, prob_mutation=0.9)\n", "\n", "# Affichage de la tournée obtenue\n", "afficher_tournee(T_genetique, coordonnees_5villes, noms_5villes, 10)"