Não há restrições no além de ser um polinômio ou, mais geralmente, uma função limitada polinomialmente (ou seja, uma função limitada por um polinômio); a diferença não importa neste caso. Sem perda de generalidade, pode-se assumir que, para alguns , .poly(⋅,⋅,⋅,⋅)A,B>0poly(x,y,z,w)=A(xyzw)B
A definição está tentando modelar a situação em que apenas um pequeno número de amostras é necessário para aprender o conceito. Para quantificar "pequeno", precisamos primeiro decidir com relação a quais quantidades serão pequenas (neste caso, ) e, segundo, quão pequena é " pequeno". Nesse caso, definimos "pequeno" como qualquer função que cresça no máximo polinomialmente em . Em outros casos, temos requisitos mais rigorosos, digamos que queremos que "pequeno" seja polinomial em .ϵ,δ,n,size(c)1/ϵ,1/δ,n,size(c)log1ϵ,log1δ,n,size(c)
Uma definição padrão na teoria da complexidade é a do tempo polinomial. Dizemos que um algoritmo para resolver algum problema é eficiente se, em uma entrada de tamanho é executado no tempo polinomial em , ou seja, seu tempo de execução é limitado por algum polinômio em . Em sua terminologia, podemos afirmar isso como para algum polinômio . Como antes, se para algum polinômio , então, de fato, para alguns e, portanto, sem perda de generalidade, podemos assumir quennT(n)nT(n)≤poly(n)nT(n)≤poly(n)poly(⋅)T(n)≤AnBA,B>0poly(n)=AnB. Mas nós não queremos decidir com antecedência sobre os valores de . Estamos felizes desde que alguns valores de funcionem.A,BA,B
Seu caso é semelhante, apenas o polinômio pode depender de várias quantidades, em vez de apenas uma quantidade.