Je me moquais de l'autre jour sur ce site Web: http://regexcrossword.com/ et cela m'a fait me demander quelle était la meilleure façon de le résoudre.
Pouvez-vous résoudre le problème suivant en temps polynomial ou est-il NP-difficile?
Étant donné une grille NxM avec N expressions régulières pour les colonnes et M pour les lignes, trouvez une solution à la grille telle que toutes les expressions régulières soient satisfaites, ou dites qu'aucune solution n'existe.
complexity-theory
np-hard
regular-expressions
Glen Takahashi
la source
la source
Réponses:
Le problème est NP-difficile.
Nous le montrons en réduisant la couverture des sommets:
Nous traduisons cela en mots croisés regex avec colonnes et | V | lignes comme suit:|E|+1 |V|
Toutes les colonnes, à l'exception de la première, correspondent à un bord. Ils obtiennent une expression régulière .0∗1(0|1)∗
Toutes les lignes correspondent à un sommet. Ils obtiennent une expression régulière qui permet d'écrire soit
un dans la première colonne et chaque colonne correspondant à un bord incident à ce nœud et des zéros dans toutes les autres colonnes, ou1
Enfin, la première colonne compte la taille de la couverture des sommets. Il obtient une expression régulière, qui permet au plus unités.k
La correspondance entre les solutions aux mots croisés d'expression rationnelle et les couvertures de sommets devrait être évidente.
Exemple:
Trouvez une couverture de sommet de taille 2 pour le graphique suivant:
la source
La question reste NP-complète même lorsque toutes les expressions régulières sont égales. http://arxiv.org/abs/1411.5437
la source