Path: ...!weretis.net!feeder6.news.weretis.net!feeder8.news.weretis.net!news.mixmin.net!aioe.org!wWi+bf82x/J4IG13ZEtRgw.user.46.165.242.75.POSTED!not-for-mail From: Samuel DEVULDER Newsgroups: fr.sci.maths Subject: Re: Sugurus Date: Tue, 31 Aug 2021 11:37:21 +0200 Organization: Aioe.org NNTP Server Message-ID: References: <61291b21$0$21601$426a74cc@news.free.fr> <612b2ddd$0$21584$426a34cc@news.free.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: gioia.aioe.org; logging-data="63565"; posting-host="wWi+bf82x/J4IG13ZEtRgw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org"; User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.0.3 X-Antivirus: Avast (VPS 210830-8, 30/8/2021), Outbound message Content-Language: fr X-Notice: Filtered by postfilter v. 0.9.2 X-Antivirus-Status: Clean Bytes: 2976 Lines: 51 Le 29/08/2021 à 08:49, robby a écrit : > si tu as une boite de taille N, alors ta contrainte "tous les nombres > n_i de 1 à N sont présents" peut par exemple s'écrire sous la forme: > v1*v2*v3*v4*v5 = 2*3*5*7*11 ( i.e. produit des N premiers nombres > premiers ),   où la valeur n_i pour une  case est encodée comme v_i = > n_i ème nombre premier Oui et pareil pour les contraintes de proximités. Si j'appelle les variables Vij (1<=i,j<=N), on a aussi Vij ~| V(i-1)(j+1) * V(i+0)j * V(i+1)j * Vi(j+1) 1<=i,j b != 0 (mod a) ). Cette relation "~|" permet d'encoder efficacement pas mal de contraintes et ainsi ramener n'importe quel Suguru de n cases à r régions avec i indices à une résolution de (n+r+i-1) équations en nombre entiers. Exemple: C1 A A a b c C B3 B -> d e f C B B g h i qui est de 9 cases avec 3 régions et 2 indices (les entier en colonne impaires sont les indices, les lettres en colonne paires sont les régions) s'encode avec les 9+3+2-1=13 contraintes suivantes: trouver a,b,c,d,e,f,h,i,j entiers naturels tels que ## indices: a | 2 ( a divise deux, e divise 3 ) e | 3 ( --> a = 2, e = 3 ) ## régions: bc | 6 ( (b,c)=(2,3) ou (3,2) ) adg | 30 ( --> dg | 15 ) efgh | 210 ( --> fgh | 70 ) ## proximité a ~| bed ( a ne divise pas b*e*d ) b ~| cfed ( ce qui encore a != b, ) c ~| ef ( et a != e, et a != d ) d ~| ehg e ~| fihg f ~| ih g ~| h h ~| i J'ai pas tenté de voir si les solveurs numérique savent manger ce genre d'équations, par contre cela permet peut-être d'appliquer des théorèmes d'arithmétique entière. sam.