Không có ràng buộc nào đối với ngoài việc nó là một đa thức, hay nói chung hơn là hàm đa thức (nghĩa là một hàm được giới hạn bởi một đa thức); sự khác biệt không quan trọng trong trường hợp này. Không mất tính tổng quát, bạn có thể giả định rằng đối với một số , .poly(⋅,⋅,⋅,⋅)A,B>0poly(x,y,z,w)=A(xyzw)B
Định nghĩa này đang cố gắng mô hình hóa tình huống chỉ cần một số lượng nhỏ mẫu để tìm hiểu khái niệm này. Để định lượng "nhỏ", trước tiên chúng ta cần quyết định mức độ nhỏ của nó (trong trường hợp này là ) và thứ hai, nhỏ như thế nào " nhỏ". Trong trường hợp này, chúng tôi định nghĩa "nhỏ" là bất kỳ hàm nào phát triển nhiều nhất theo . Trong các trường hợp khác, chúng tôi có các yêu cầu nghiêm ngặt hơn, giả sử chúng tôi muốn "nhỏ" là đa thức trong .ϵ,δ,n,size(c)1/ϵ,1/δ,n,size(c)log1ϵ,log1δ,n,size(c)
Một định nghĩa chuẩn trong lý thuyết phức tạp là thời gian đa thức. Chúng tôi nói rằng một thuật toán để giải quyết một số vấn đề là hiệu quả nếu trên đầu vào có kích thước nó chạy theo đa thức thời gian trong , nghĩa là thời gian chạy nó bị giới hạn bởi một số đa thức trong . Theo thuật ngữ của bạn, chúng tôi có thể nói đây là cho một số đa thức . Như trước đây, nếu cho một số đa thức , thì thực tế cho một số , và do đó không mất tính tổng quát có thể giả sử rằngnnT(n)nT(n)≤poly(n)nT(n)≤poly(n)poly(⋅)T(n)≤AnBA,B>0poly(n)=AnB. Nhưng chúng tôi không muốn để quyết định trước về các giá trị của . Chúng tôi rất vui miễn là một số giá trị của hoạt động.A,BA,B
Trường hợp của bạn cũng tương tự, chỉ đa thức mới được phép phụ thuộc vào một số lượng chứ không chỉ một số lượng.