Combinateur quines


9

Contexte

Vous venez d'apprendre ce qu'est la logique combinatoire . Intrigué par les différents combinateurs, vous passez un peu de temps à les découvrir. Vous tombez enfin sur cette expression particulière:

(S I I (S I I))

Vous remarquez que lorsque vous essayez de le réduire à sa forme normale, il se réduit à lui-même après trois étapes:

(S I I (S I I))
= (I (S I I) (I (S I I)))  (1)
= (S I I (I (S I I)))      (2)
= (S I I (S I I))          (3)

Vous êtes déterminé à trouver d'autres expressions qui partagent ce trait et à commencer à y travailler immédiatement.

Règles

  • Vous pouvez utiliser n'importe quelle combinaison des combinateurs suivants:

    B f g x = f (g x)
    C f x y = f y x
    I x     = x
    K x y   = x
    S f g x = f x (g x)
    W f x   = f x x
    
  • L'application est laissée associative, ce qui signifie que (S K K)c'est effectivement le cas ((S K) K).

  • Une réduction est minime, il n'y a pas d'autre ordre d'étapes de réduction qui utilise moins d'étapes. Exemple: si xa réduction y, alors la réduction minimale correcte de (W f x)est:

    (W f x)
    = (W f y) (1)
    = f y y   (2)
    

    et pas

    (W f x)
    = f x x   (1)
    = f y x   (2)
    = f y y   (3) 
    
  • Des échappatoires standard s'appliquent.

Tâche

Nous définissons le cycle d'une expression comme étant le nombre minimal de réductions entre deux mêmes expressions.

Votre tâche consiste à trouver l'expression, avec le nombre de combinateurs utilisés <100, qui produit le cycle le plus long.

Notation

Votre score sera déterminé par la durée du cycle de votre expression. Si l'expression de deux personnes a le même cycle, la réponse qui utilise moins de combinateurs l'emporte. S'ils utilisent tous les deux le même nombre de combinateurs, la réponse précédente l'emporte.

Bonne chance et amusez-vous bien!


atomic-code-golf conviendrait à votre casse-cravate, mais je n'ajouterais pas de balise pour le casse-cravate. S'il n'y a pas de balise appropriée, la valeur par défaut est code-challenge , ce qui indique que le défi utilise un critère de gain personnalisé.
— Martin Ender

Je pense que cela aiderait si vous disiez quelles conventions d'associativité votre notation utilise.
— xnor

Le cycle tel que vous l'avez défini n'est pas nécessairement bien défini, car une expression donnée peut avoir plusieurs réductions disponibles.
— Peter Taylor

@ThreeFx, vous vous trompez. Par exemple, si xa une réduction jusque- ylà W f x -> W f y -> f y you W f x -> f x x -> f x y -> f y ysont de longueurs différentes.
— Peter Taylor

4
Maintenant, la chose délicate est que quelqu'un ne peut pas réclamer un score simplement en affichant un cycle; ils ont besoin d'une preuve qu'il n'y a pas de réduction plus courte, ce qui pourrait être difficile à calculer.
— xnor

Réponses:


7

Je dois commencer par quelque chose

1:(((C (C I) (W I)) (C (C I) (W I)) I I) (W I) (W (C I) (W (C I)) (W (C I))) ((I (W I)) (W I) (W I) I))

2:(((C I (C (C I) (W I))) (W I) I I) (W I) ((C I) (W (C I)) (W (C I)) (W (C I))) ((W I) (W I) (W I) I))

3:(((I (W I)) (C (C I) (W I)) I I) (W I) (I (W (C I)) (W (C I)) (W (C I))) ((I (W I)) (W I) (W I) I))

4:(((W I) (C (C I) (W I)) I I) (W I) (W (C I) (W (C I)) (W (C I))) ((W I) (W I) (W I) I))

5:(((I (C (C I) (W I))) (C (C I) (W I)) I I) (W I) ((C I) (W (C I)) (W (C I)) (W (C I))) ((I (W I)) (W I) (W I) I))

6:(((C (C I) (W I)) (C (C I) (W I)) I I) (W I) (I (W (C I)) (W (C I)) (W (C I))) ((W I) (W I) (W I) I))

7:(((C I (C (C I) (W I))) (W I) I I) (W I) (W (C I) (W (C I)) (W (C I))) ((I (W I)) (W I) (W I) I))

8:(((I (W I)) (C (C I) (W I)) I I) (W I) ((C I) (W (C I)) (W (C I)) (W (C I))) ((W I) (W I) (W I) I))

9:(((W I) (C (C I) (W I)) I I) (W I) (I (W (C I)) (W (C I)) (W (C I))) ((I (W I)) (W I) (W I) I))

10:(((I (C (C I) (W I))) (C (C I) (W I)) I I) (W I) (W (C I) (W (C I)) (W (C I))) ((W I) (W I) (W I) I))

11:(((C (C I) (W I)) (C (C I) (W I)) I I) (W I) ((C I) (W (C I)) (W (C I)) (W (C I))) ((I (W I)) (W I) (W I) I))

12:(((C I (C (C I) (W I))) (W I) I I) (W I) (I (W (C I)) (W (C I)) (W (C I))) ((W I) (W I) (W I) I))

13:(((I (W I)) (C (C I) (W I)) I I) (W I) (W (C I) (W (C I)) (W (C I))) ((I (W I)) (W I) (W I) I))

14:(((W I) (C (C I) (W I)) I I) (W I) ((C I) (W (C I)) (W (C I)) (W (C I))) ((W I) (W I) (W I) I))

15:(((I (C (C I) (W I))) (C (C I) (W I)) I I) (W I) (I (W (C I)) (W (C I)) (W (C I))) ((I (W I)) (W I) (W I) I))

16:(((C (C I) (W I)) (C (C I) (W I)) I I) (W I) (W (C I) (W (C I)) (W (C I))) ((W I) (W I) (W I) I))

17:(((C I (C (C I) (W I))) (W I) I I) (W I) ((C I) (W (C I)) (W (C I)) (W (C I))) ((I (W I)) (W I) (W I) I))

18:(((I (W I)) (C (C I) (W I)) I I) (W I) (I (W (C I)) (W (C I)) (W (C I))) ((W I) (W I) (W I) I))

19:(((W I) (C (C I) (W I)) I I) (W I) (W (C I) (W (C I)) (W (C I))) ((I (W I)) (W I) (W I) I))

20:(((I (C (C I) (W I))) (C (C I) (W I)) I I) (W I) ((C I) (W (C I)) (W (C I)) (W (C I))) ((W I) (W I) (W I) I))

21:(((C (C I) (W I)) (C (C I) (W I)) I I) (W I) (I (W (C I)) (W (C I)) (W (C I))) ((I (W I)) (W I) (W I) I))

22:(((C I (C (C I) (W I))) (W I) I I) (W I) (W (C I) (W (C I)) (W (C I))) ((W I) (W I) (W I) I))

23:(((I (W I)) (C (C I) (W I)) I I) (W I) ((C I) (W (C I)) (W (C I)) (W (C I))) ((I (W I)) (W I) (W I) I))

24:(((W I) (C (C I) (W I)) I I) (W I) (I (W (C I)) (W (C I)) (W (C I))) ((W I) (W I) (W I) I))

25:(((I (C (C I) (W I))) (C (C I) (W I)) I I) (W I) (W (C I) (W (C I)) (W (C I))) ((I (W I)) (W I) (W I) I))

26:(((C (C I) (W I)) (C (C I) (W I)) I I) (W I) ((C I) (W (C I)) (W (C I)) (W (C I))) ((W I) (W I) (W I) I))

27:(((C I (C (C I) (W I))) (W I) I I) (W I) (I (W (C I)) (W (C I)) (W (C I))) ((I (W I)) (W I) (W I) I))

28:(((I (W I)) (C (C I) (W I)) I I) (W I) (W (C I) (W (C I)) (W (C I))) ((W I) (W I) (W I) I))

29:(((W I) (C (C I) (W I)) I I) (W I) ((C I) (W (C I)) (W (C I)) (W (C I))) ((I (W I)) (W I) (W I) I))

30:(((I (C (C I) (W I))) (C (C I) (W I)) I I) (W I) (I (W (C I)) (W (C I)) (W (C I))) ((W I) (W I) (W I) I))

31:(((C (C I) (W I)) (C (C I) (W I)) I I) (W I) (W (C I) (W (C I)) (W (C I))) ((I (W I)) (W I) (W I) I))
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.