Кіріспе

Жылдам өсетін функция – математикалық функция.

Есептеу теориясында Вильгельм Акерманның есімімен аталған Акерман функциясы – толық есептелетін, бірақ примитивті рекурсивті емес функциялардың ең қарапайым және ерте табылған мысалы. Барлық примитивті рекурсивті функциялар толық және есептелуге болады, бірақ Акерман функциясы барлық толық есептелетін функциялардың примитивті рекурсивті емес екенін көрсетеді. Акерман функциясы жарияланғаннан кейін (оның үш теріс емес бүтін аргументі болған), көптеген авторлар оны әртүрлі мақсаттарға бейімдеді, сондықтан қазір "Акерман функциясы" бастапқы функцияның көптеген түрінің кез келгенін білдіруі мүмкін. Ең көп тараған түрі – Роза Петер мен Рафаэль Робинсон әзірлеген екі аргументті Акерман-Петер функциясы. Оның мәні өте жылдам өседі; мысалы, нәтижесі 19 729 ондық таңбадан тұратын бүтін санды береді.

Есептеу

Акерманн функциясының рекурсивті анықтамасын терминдік қайта жазу жүйесіне (TRS) оңай түрде ауыстыруға болады.

Жалпы ескертулер

Бұл бағалау әрқашан аяқталады екенін бірден байқау қиын. Дегенмен, рекурсия шектеулі, себебі әр рекурсивті шақыруда немесе азаяды, немесе бірдей қалады, ал екіншісі азаяды. әр рет сайын нөлге жеткенде азаяды, сондықтан да нөлге жетеді. (Техникалық тұрғыдан алғанда, әр жағдайда жұп лексикографиялық тәртіп бойынша кемиді, бұл жақсы реттелген, дәл сол сияқты, теріс емес бүтін сандардың тәртібі; яғни, тәртіп бойынша шексіз рет кему мүмкін емес.) Бірақ, кемитін кезде қаншалықты артатынын шектеу жоқ – және ол көбінесе күрт артады. m-нің 1, 2 немесе 3 сияқты кіші мәндері үшін Аккерман функциясы n-ге қатысты салыстырмалы түрде баяу өседі (көп дегенде экспоненциалды түрде). Бірақ , ол әлдеқайда жылдам өседі; тіпті шамамен 2.00353-ке тең, ал -ның ондық кеңеюі кез келген стандартты өлшем бойынша өте үлкен, шамамен 2.12004. Қызықтысы, ол тек 1-ді қосу операциясын ғана қолданады. Оның жылдам өсуінің себебі – ұялы рекурсия. Бұл сондай-ақ оның орындалу уақыты нәтижесіне пропорционал екенін білдіреді, сондықтан ол да өте үлкен. Шындығында, көп жағдайларда орындалу уақыты нәтижеден әлдеқайда артық; жоғарыда қараңыз. Бір аргументтік нұсқасы, екі және де бірдей артады, кез келген бастапқы рекурсивті функцияны, оның ішінде экспоненциалды функция, факториал функциясы, мульти және суперфакториал функциялары сияқты өте жылдам өсетін функцияларды, тіпті Кнуттың жоғары көрсеткіш нотациясын қолданып анықталған функцияларды (индексацияланған көрсеткіш қолданылмаған жағдайларда) қарапайым етеді. Оның жылдам өсу иерархиясымен шамамен салыстыруға болады. Бұл ең жоғары өсуді, Тьюринг машинасы сияқты шексіз жады бар машинада анық есептелетін және, демек, есептелетін функция, кез келген бастапқы рекурсивті функциядан жылдам өседі және сондықтан бастапқы рекурсивті емес екенін көрсету үшін пайдалануға болады.

Есептеу күрделілігі

Акерманн функциясы кейбір алгоритмдердің, мысалы, векторлық қосу жүйелері мен Петри желісінің қолжетімділігінің уақыт күрделілігінде кездеседі, осылайша олардың үлкен мысалдар үшін есептеу жүргізу қиындығын көрсетеді. Акерман функциясының керісі кейбір уақыт күрделілігі нәтижелерінде қолданылады.

Анықтама ретінде пайдалану

Акерманн функциясы, өте терең рекурсия арқылы анықталғандықтан, компилятордың рекурсияны оңтайландыру мүмкіндігін бағалау үшін өлшем ретінде қолданылуы мүмкін. Акерманн функциясы осы мақсатта алғаш рет 1970 жылы Драгош Вайда және шамамен бір уақытта 1971 жылы Ингве Сундблад тарапынан жарияланды. Сундбладтың маңызды еңбегін Брайан Вичман (Ветстон өлшемдерінің авторларының бірі) 1975 және 1982 жылдар аралығында жарық көрген үш мақалалық сериясында пайдаланды.