Comment écrire une épreuve par induction sur la longueur de la chaîne d'entrée?

20

Dans mon cours de théorie de l'informatique, beaucoup de nos problèmes impliquent l'utilisation de l'induction sur la longueur de la chaîne d'entrée pour prouver les déclarations sur les automates finis. Je comprends l'induction mathématique, mais lorsque les cordes entrent en jeu, je suis vraiment déclenché. J'apprécierais vraiment que quelqu'un passe par le processus de faire une telle preuve étape par étape.

Voici un exemple de problème (exercice 2.2.10 de Hopcroft et Ullman 3rd Edition):

Considérez le DFA avec la table de transition suivante:

        0 1
       ________
-> A | UN B
  * B | BA

Décrivez de manière informelle le langage accepté par ce DFA et prouvez par induction sur la longueur d'une chaîne d'entrée que votre description est correcte.

C'est un problème résolu dans le livre, donc je ne cherche pas quelqu'un pour faire mes devoirs. J'ai juste besoin que quelqu'un me l'explique directement.

Réponse du livre: (extrait d' ici )

L'automate indique si le nombre de 1 vus est pair (état A) ou impair (état B), acceptant dans ce dernier cas. C'est une induction facile sur | w | pour montrer que dh (A, w) = A si et seulement si w a un nombre pair de 1. Base: | w | = 0. Alors w, la chaîne vide a sûrement un nombre pair de 1, à savoir zéro 1, et δ-chapeau (A, w) = A.

Induction: Supposons l'instruction pour les chaînes plus courtes que w. Alors w = za, où a vaut 0 ou 1.

  • Cas 1: a = 0. Si w a un nombre pair de 1, z fait de même. Par l'hypothèse inductive, δ-chapeau (A, z) = A. Les transitions du DFA nous disent δ-chapeau (A, w) = A. Si w a un nombre impair de 1, alors z aussi. Par l'hypothèse inductive, δ-chapeau (A, z) = B, et les transitions du DFA nous disent δ-chapeau (A, w) = B. Ainsi, dans ce cas, δ-chapeau (A, w) = Un si et seulement si w a un nombre pair de 1.

  • Cas 2: a = 1. Si w a un nombre pair de 1, alors z a un nombre impair de 1. Par l'hypothèse inductive, δ-chapeau (A, z) = B. Les transitions du DFA nous disent δ-chapeau (A, w) = A. Si w a un nombre impair de 1, alors z a un nombre pair de 1. Par l'hypothèse inductive, δ-chapeau (A, z) = A, et les transitions du DFA nous disent δ-chapeau (A, w) = B. Ainsi, dans ce cas également, δ-chapeau (A, w ) = A si et seulement si w a un nombre pair de 1.

Je comprends comment prouver des choses comme par induction. Je suis juste confus par la façon dont cela fonctionne avec la construction de chaînes. Je suis confus par les parties en gras. Je ne comprends pas comment ils sont élaborés / comment cela prouve réellement ce qui est accepté / comment il est inductif.i=0ni=n(n+1)2

Soit dit en passant, la fonction de transition étendue.

tcdowney
la source

Réponses:

17

Comme on ne sait pas où se situe votre problème, je vais commencer au tout début.

L'induction mathématique fonctionne comme le jeu des chuchotements chinois (dans le cas idéal, c'est-à-dire que toute communication est sans perte) ou (parfaitement configurés) des dominos : vous commencez quelque part et montrez que chaque étape suivante ne casse rien, en supposant que rien n'a été cassé jusqu'à ensuite.

Plus formellement, chaque preuve d'induction se compose de trois éléments de base:

  • Ancre à induction , également cas de base : vous montrez pour les petits cas¹ que la réclamation est valable.
  • Hypothèse d' induction : vous supposez que la revendication s'applique à un certain sous-ensemble de l'ensemble sur lequel vous souhaitez prouver quelque chose.
  • Étape inductive : En utilisant l'hypothèse, vous montrez que la revendication vaut pour plus d'éléments.

Bien sûr, l'étape doit être réglée de telle sorte qu'elle couvre l'ensemble de la base (dans la limite).

Remarque importante: les personnes qui ont confiance en leurs compétences d'initiation passent souvent outre l'ancre et laissent l'hypothèse implicite. Bien que cela soit bien lorsque vous présentez votre travail à un public expert (par exemple un document), ce n'est pas recommandé lorsque vous faites des épreuves vous-même, en particulier en tant que débutant. Notez tout.


Considérons un exemple simple sur ; on veut montrer que n i = 0 i = n ( n + 1 )(N,) vaut pour toutnN.i=0ni=n(n+1)2nN

  • Ancre : Pour , n i = 0 i = 0 = n ( n + 1 )n=0 tient clairement.i=0ni=0=n(n+1)2
  • Hypothèse : Supposons que cales de manière arbitraire, mais fixed²nN.i=0ki=k(k+1)2nN
  • Étape : Pour , calculez la somme:n+1

    i=0n+1i=(n+1)+i=0ni=IHn+1+n(n+1)2=(n+2)(n+1)2

    L'identité vaut donc pour . (Nous notons que nous n'avions besoin que d'une infime partie de l'hypothèse, à savoir pour k = n . Cela arrive souvent.)n+1k=n

Le principe inductif nous assure maintenant que la réclamation est effectivement valable: nous l'avons montrée directement pour . L'étape indique que si elle vaut pour 0 , elle vaut également pour 1 ; si elle vaut pour 1 , elle vaut aussi pour 2 ; etc.00112


Voyons un autre exemple, cette fois sur . L'affirmation que nous voulons prouver est la suivante: pour chaque sous-ensemble fini A de N , la taille de l'ensemble de puissance 2 A(2N,)AN2A de est 2 | A | ³. Nous effectuons notre induction sur ( N , ) , encore une fois, à savoir sur la taille des sous - ensembles A .A2|A|(N,)A

  • Ancre: Considérez le (seul) ensemble de taille , l'ensemble vide. Clairement, 2 = { } et donc | 2 | = 1 = 2 0 comme revendiqué.02={}|2|=1=20
  • Hypothèse: Supposons que pour tous les ensembles avec | A | AN avec quelques n N arbitraires, mais fixes, nous avons | 2 A | = 2 | A | .|A|nnN|2A|=2|A|
  • Étape: Soit arbitraire⁴ de taille n + 1 , et b B arbitraire (tel que b existe comme n + 1 > 0 ). Maintenant, l'hypothèse s'applique àBNn+1bBbn+1>0 et donc | 2 B { b } | = 2 n . PuisqueB{b}|2B{b}|=2n

    ,2B=2B{b}{A{b}A2B{b}}

    nous avons en effet que comme revendiqué.|2B|=2|2B{b}|=22n=2n+1

Encore une fois, par induction, la demande est prouvée.


Maintenant, pour votre problème, vous pouvez utiliser une astuce commune: renforcer la déclaration . Si vous formulez votre réclamation comme "l'automate accepte tous les mots avec un nombre impair de uns", vous obtenez une hypothèse d'induction comme "parmi tous les mots de longueur , exactement ceux avec un nombre impair de uns sont acceptés par l'automate". Cela ne vous mènera nulle part puisque nous ne savons rien du nombre de ceux contenus dans quelle partie d'un mot donné (accepté); l'hypothèse ne s'applique pas à tout ce que vous avez coupé de votre mot arbitrairement sélectionné.n

Par conséquent, vous souhaitez formuler une affirmation plus forte: "L'automate est dans l'état si et seulement si la partie consommée de l'entrée en contient un nombre impair", et affichez celui-ci. Notez que cela implique l'ancienne revendication.B

  • Ancre : Après avoir traité la seule chaîne de longueur zéro, , l'automate est clairement dans l'état A comme revendiqué.εA
  • Hypothèse : Supposons que la revendication soit valable pour les fragments d'entrée de longueur jusqu'à qui est choisie arbitrairement, mais fixe.n
  • Étape : Considérons un mot arbitraire . Il y a deux cas. w{0,1}n+1
    1. contient un nombre pair. Il y a deux cas pour le dernier symbole. w
      1. : Dans ce cas, w = w 1w n - 1 contient un nombre pair de uns. Par hypothèse d'induction, l'automate est dans l'état Awn=0w=w1wn1A après avoir consommé . Consommer w n = 0 fait que l'automate reste dans l'état A , comme revendiqué.wwn=0A
      2. : Dans ce cas, w = w 1w n - 1 contient un nombre impair de uns. Par hypothèse d'induction, l'automate est dans l'état B après avoir consommé w . En consommant w n = 1 , l'automate passe à l'état A , comme revendiqué.wn=1w=w1wn1Bwwn=1A
    2. contient un nombre impair. Similaire au cas 1.w

Le principe d'induction implique que la réclamation est effectivement valable.


  1. Vous effectuez l'induction le long d'un ordre partiel; l'ancre doit couvrir tous les éléments minimaux, et parfois plus (selon la déclaration).
  2. Le "arbitraire, mais fixe" est essentiel! Nous ne pouvons pas changer dans l'étape et le traiter comme s'il s'agissait d'un nombre fixe, mais nous ne pouvons également rien en supposer.n
  3. Désigner la puissance réglée avec peut sembler étrange. Il est enraciné dans l'observation que l'ensemble de puissance est équivalent à l'ensemble de toutes les fonctions de A à 0 , 1 , ce qui est noté ainsi.2AA0,1
  4. BA
Raphael
la source