Кіріспе

Кіші схемалармен шешілетін проблемалар жиынтығы
Есептеу күрделілігі теориясында P/poly – шағын схемалармен шешілетін проблемаларды білдіретін күрделік класы. Нақтырақ айтқанда, бұл полиномдық өлшемдегі схемалар отбасы бар формальды тілдер жиынтығы. Оны Тьюринг машинасына кірісімен бірге берілетін қосымша кеңес ретінде де анықтауға болады, бұл кеңес кіріс ұзындығына байланысты болуы мүмкін, бірақ кірістің өзіне емес. Осы тұжырымдама бойынша P/poly – кіріс өлшемінде полиномдық ұзындығы бар кеңес тізбектерімен жұмыс істейтін полиномдық уақыт Тьюринг машинасымен шешілетін шешімдер класы. Бұл екі түрлі анықтама P/poly-ді схема күрделігі және біртекті емес күрделік үшін маңызды етеді. Мысалы, танымал Миллер-Рабин біріншілік тестісін P/poly алгоритмі ретінде құруға болады: «кеңес» – сынауға болатын мәндердің тізімі. Кез келген құрама сан үшін, тізімде куәгер болатын мәндердің тізімін алдын ала есептеуге болады. Мысалы, 32 биттік сандардың біріншілігін дұрыс анықтау үшін, тек сынау жеткілікті. Үміткер куәгерлердің қысқа тізімдерінің болуы, әр құрама сан үшін төрт үміткердің үшінің оны құрама екенін анықтай алатынынан туындайды. Осыдан, BPP P/poly дәлеліндегіге ұқсас қарапайым санау аргументі, әрбір кіріс өлшемі үшін қолайлы үміткер мәндер тізімі бар екенін көрсетеді, және одан да күштірек, жеткілікті ұзын үміткер мәндер тізімдері дұрыс жұмыс істейтінін, бірақ жұмыс істеуіне кепілдік берілген тізімді табу қымбатқа түсуі мүмкін екенін көрсетеді.

P/poly-де шектелген қателікпен ықтималдық полиномиалы бар

Адлеман теоремасы BPP ⊆ P/poly екенін айтады, мұндағы BPP – полиномиал уақыт ішінде екі жақты қателікпен жұмыс істейтін кездейсоқ алгоритмдермен шешілетін мәселелер жиыны. Бастапқыда Леонард Адлеман нашаррақ нәтижені дәлелдеген, атап айтқанда, RP ⊆ P/poly; ал бұл нәтиже Бэннет пен Гиллдің жұмысымен BPP ⊆ P/poly түрінде жалпыланды. Теореманың нұсқалары BPL L/poly-де, ал AM NP/poly-де қамтылғанын көрсетеді.