As strings aceitas por um NTM Msão o idioma de M, observadoL(M)
Digamos que, Mpara qualquer entrada, não há garantia de interrupção em todos os ramos. Então Mclaramente não pode ser um decisor e, portanto, é apenas um reconhecedor. Mreconhece o idioma de todas as strings, para as quais qualquer ramo Mtermina em um estado de aceitação.
Desde Mé um reconhecedor, ele só é garantido para aceitar uma string se a cadeia está em L(M). Dada uma sequência, que não está presente L(M), ela pode rejeitá-la ou fazer um loop para sempre. Qualquer NTM pode ser simulado por um DTM, mas se o NTM reconhecer apenas um idioma L, seu DTM equivalente também reconhecerá apenas L.
Se o NTM parar em todas as ramificações para qualquer entrada, é uma decisão, o DTM equivalente fará o mesmo e, portanto, também será uma decisão.
Um verificador não é o que você está procurando. No livro Sipsers, Introdução à teoria da computação, o verificador é introduzido quando se fala em complexidade de algoritmos e classes de complexidade, porque qualquer linguagem Lestá no NP se e somente se tiver um verificador de tempo polinomial.
Um verificador para uma linguagem Lterá como entrada uma string wem Le um certificado c(pense o certificado como uma solução para o problema w) e verificar se o certificado é de fato uma solução correta, o que torna wmentira L.
Exemplo:
Para o idioma
L = { w | w is an integer for which the product of some of the digits equals 12000 }
Você pode fazer um verificador V, que leva uma corda wem Lum certificado c, e verifica se wé, de fato, em Lutilizando o certificado c. cpoderia ser uma sequência binária indicando os números inteiros wpara os quais o produto é igual a 12000.
Por exemplo, Vdeve rejeitar a entrada 1923423343, 0010111011, porque2*4*2*3*4*3 = 576 != 12000
Para muitos problemas, conhecemos apenas um algoritmo que pode resolvê-los em execução no tempo exponencial do tamanho da entrada. É por isso que os verificadores são interessantes, porque geralmente é o caso, que fornecemos uma solução rapidamente para determinar se essa solução está correta ou errada.