top of page
i_2.bmp

 

          Le Théorème de Ramsey
 

         Problème :
         Imaginez un cercle. Suivant la ligne du cercle, il y a plusieurs points à distance égal. Si nous relions tous les points par des lignes rouge ou verte, combien de triangle nous obtiendrons au minimum pour
N point?
         Réponse :
        Par résolution polynomiale, il nous est possible de connaître le nombre minimal de triangle de couleur qu’il y a dans
N point ; c'est ce que nous verrons dans la première partie. En comparant les résultats dans la deuxième partie, nous pouvons défractaliser[1] la logistique employée pour réduire à sa forme la plus simple, sa résolution.
 

   [1] : La défractalisation consiste à transformer toute scéquence logique répétitive, dans le but de raccourcir une formule ou de trouver une équation.


    Le Lexique :
       
Tr & Tv : Variable stockant le nombre de triangle rouge « Tr » et le nombre de triangle vert « Tv » .
       
M1 : Total de triangle minimal selon un nombre n de point.
       
L1 : Variable définissant le nombre d'arrête par forme.

Chapitre 1 : Résoudre polynomialement le théorème de Ramsey.
 

#SO()==
    // Système d'Origine
       // Variable L1 déterminant le nombre de Point.

            OL( ir( 3 , 50 ) ) ;
    /* Nous savons qu'il n'y a que deux éléments calculés :
       - Connaître le nombre minimal de triangle Rouge.
       - Connaître le nombre minimal de triangle Vert.
   Suivant cette logique, il y aura donc 4 variables mémoires, soit
       le nombre d'élément à calculer Triangle Rouge, Triangle Vert, et leurs itérations.

    */
            OM(4) ;        // Variable Mémoire : i, j, k et l .
       // Module Primitif OP() :

            OP( L102 ¦ L101, L101 ¦ 0 ) ;
        /*    P1 : Grille de définition de la variable.
           R1 & R2 : Grille de calcul.
           M1 : Nombre de motif dessiné.
       */
       /* Exécution de la Proposition à partir de
       l'information « n » pour arriver à une Application Finale.
       */

            PN[ 1 ]() ;
#PN[ 1 ]()==
    /*    Arg1 : Nombre n de Point.
   */
   // Effectue les calcules et les placements par priorités de réactions.

    SLP[ 1 ]() ;
#SLP[ 1 ]()==
    /*    Arg1 : Nombre de Point.
   */
   // Pour Chaque Rangée, des cases doit être remplies par résolution polynomiale.

    PR( ( L1 - 1 ) , i )
   {    
// Ces rangées doivent suivre des règles d'applications créant la courbe.
       // Si l'itération de la rangée est impaire :

        RA( parity( i ) = 0 )
       {    
// Applique une séquence logique
            SL.1() ;
        }
   }
#
SL[ 1 ]()==
   
RA( i=(L1-1) )
   {    
j = (L1-i) ;
    } !
    {    j = ( (L1*2) - ((i*2)+1) ) ;
    }
   
PR( j )    // Répète une logistique selon le nombre de case à calculer.
   {        // Sélectionne la courbe la plus distancée de 0.
       SL.2( i ) ;
       
RA( ( L1 - 1 ) != i )    // S'il existe une rangée en dessous :
       {    SL.2( ( i + 1 ) ) ;    // Vérifie la seconde courbe.
       }
       
RA( M1 < 0 )
       {    
AF( -1 ) ;
       } !
       {    AF( 1 ) ;
       }
   }
#
SL[ 2 ]()==
 
 /*    Arg1 = Rangée Actuel.
   */

   PR( ( L1 - a1 ) , j )        // Pour chaque colonne :
   {    RA( P1[ a1 , j ] = 0 )        // Si la Couleur n'a pas déjà été calculée :
       {    // Si la Courbe est plus éloignée :
           RA( ( R1.a1 + R2.j > R1.k + R2.l ) & ( M1 >= 0 ) )
          
| ( ( R1.a1 ] + R2.j < R1.k + R2.l & ( M1 < 0 ) )
           
| ( P1[ k , l ] != 0 )
           {    
k a1       // Priorise cette case.
                l = j ;
           }
       }
   }
#
AF()==
   
// Application Finale.
   /*    Arg1 = Couleur Vert (+1) ou Rouge (-1).
   */

   R1.k += a1
   R2.l += a1
   M1 += a1
   P1[ k , l ] = a1 ;

Chapitre 2 : Calculer les résultats.
 

   En comparant les résultats des différents nombres de points, nous pouvons voir des fractales logistiques. Le problème peut donc être simplifié. Il nous faut donc mesurer les répétitions logistique des résultats. Nous pourrons également remarquer que la ligne X[i] sera toujours égale à la ligne Y[i], permettant de calculer une seule colonne pour mesurer les fractales logistiques.
 

   Lexique :
       +
1 = Ligne Verte
       -1 = Ligne Rouge
   Résultats des mesures :
       
N=3    +1    -1    
                         +1            0   | +1
       
N=4    +1    -1    +1
                          +1    -1            +1 | 0
                                  -
1            -1  | ?
       
N=5    +1    -1    +1    -1
                         +1    -1    +1            0   | +1
                                  -
1    +1
                                          -1            0   | -1
       
N=6    +1    -1    +1    -1    +1
                          +1    -1    +1    -1            +1   | 0
                                  -
1    +1    -1
                                          -1    +1            -1    | 0
                                                 +
1            +1   | ?
       
N=7    +1    -1    +1    -1    +1    -1
                         +1    -1    +1    -1    +1            0   | +1
                                 -
1    +1    -1    +1
                                         -1    +1    -1            0   | -1
                                                +
1    -1
                                                       +1            0   | +1
       ...etc....

 

   Formule à appliquer :
       En regardant les suites de valeur, nous pouvons observer des conditions logiques entre chaque 2 nombres (exemple quand 1 et 2 = 0 et +1, alors 2 et 3 sera toujours 0 et -1). Cette façon de placer les lignes de couleurs sert à générer le minimum de toutes les formes possibles d'une même couleur. Cette suite logique est une médiane de SCI.
       Il nous est maintenant possible de jeter à la poubelle les modules créés jusqu'à présent et résoudre le problème.

 

   La Défractalisation :
       Cette Méthode consiste à comparer les résultats afin d'unifier les réactions finales exploitant les mêmes variables afin d'obtenir la résolution la plus simple du problème.
Trouver le nombre minimal de triangle par une défractalisation de logistique :
           
PR( ( n - 1 ) , i )        // Nous constatons que pour chaque nombre,
           {    RA( parity( i ) )            // Si votre nombre est paire,
               {    Tv += ;        // Ajoute à la courbe des Tv +1.
               } !                // Sinon (si impaire) :
               {    Tr += ;        // Ajoute à la courbe des Tr +1.
               }
           }
           
Tv = rnd( ( Tv * 2 ) / 3 )        // Ensuite, multiplions Tv par 2, puis
                   // divisons le par 3. Et conservons que le nombre entier.

           Tr = rnd( ( Tr * 2 ) / 3 ;    // Faisons la même chose avec Tr.
           T = Tv + Tr ;    // Additionnons Tv et Tr pour connaitre le résultat.
 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

                   Résultat Finale
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

/*    Dans cette exemple, Tv et Tr se retrouve chacun dans trois réactions finales, il faut les unir :
*/

       Trouver le nombre minimal de triangle vert en utilisant la variable n :
           Tv = rnd( rnd( rnd( n / 2 ) / L1 ) / 2 ) ;
       Trouver le nombre minimal de triangle rouge :
           Tr = rnd( ( rnd( n / 2 ) - Tv ) / L1 ) ;

/*    Le total peut maintenant être déductible facilement.
*/

       Trouver le nombre minimal de triangle Vert et Rouge :
           T = rnd( rnd( n / 2 ) / L1 )

/*    La formule reste la même si nous cherchons d'autre motif.
*/

       Trouver le nombre minimal de pentagone vert (Pv) :
           Pv = rnd( rnd( rnd( n / 2 ) / L1 ) / 2 )

Conclusion
 

Nous pouvons résumer le théorème de Ramsey en 3 formules universelles :
   Forme
F minimal pour la première couleur :
       
F.1 = rnd( rnd( rnd( n / 2 ) / L1 ) / 2 )
   Forme
F minimal pour la deuxième couleur :
       
F.2 = rnd( ( rnd( n / 2 ) - F.1 ) / L1 )
   Nombre total
T de forme F minimal pour les 2 couleurs :
       
T = rnd( rnd( n / 2 ) / L1 )

2126882.png
bottom of page