‌حسین زارع

دانش‌آموخته‌ی دکتری ریاضی کاربردی دانشگاه تربیت مدرس

‌حسین زارع

دانش‌آموخته‌ی دکتری ریاضی کاربردی دانشگاه تربیت مدرس

آخرین نظرات
  • ۶ آذر ۹۹، ۱۳:۰۰ - امیر حاتمی
    ممنون.

تابع اکرمن (Ackermann)

چهارشنبه, ۱۳ آبان ۱۳۹۴، ۰۵:۴۶ ب.ظ

تابع اکرمن به‌ازای هر دو عدد صحیح و نامنفی $m$ و $n$ به صورت زیر تعریف می‌شود:

$$A(m,n)=\cases{n+1 &$m=0$\\A(m-1,1) &$m\geq 1$, $n=0$\\A(m-1,A(m,n-1)) &$m\geq 1$, $n\geq 1$}$$

علت شهرت این تابع، رشد بسیار بالای آن‌ است. آهنگ افزایش این تابع بازگشتی آن‌قدر زیاد است که با توابع چندجمله‌ای، فاکتوریل یا نمایی قابل مقایسه نیست. برای آشنایی بیشتر با این تابع بازگشتی، چند جمله‌ی اول آن را در نظر می‌گیریم:

$$A(0,0 ) = 1\\ A(0,1 ) = 2\\ A(0,2 ) = 3\\ A(0,3 ) = 4\\ A(0,4 ) = 5\\ A(1,0 ) = 2\\ A(1,1 ) = 3 \\A(1,2 ) = 4\\ A(1,3 ) = 5 \\A(1,4 ) = 6 \\A(2,0 ) = 3 \\A(2,1 ) = 5\\ A(2,2 ) = 7 \\A(2,3 ) = 9 \\A(3,0 ) = 5 \\A(3,1 ) = 13\\ A(3,2 ) = 29 \\A(4,0 ) = 13$$

با توجه به مقادیر بالا ممکن است فکر کنید که آهنگ افزایش این تابع آن‌قدرها هم زیاد نیست. اما حقیقت چیز دیگری است.

در واقع $A(4,1)=65533$ و حاصل $A(4,2)$ هم عددی 19729 رقمی است!

محاسبه‌ی مقدار $A(4,3)$ نیز تاکنون با پیشرفته‌ترین کامپیوترها امکان‌پذیر نشده است و مقادیر دیگر $A(m,n)$ وقتی $m\geq 4$ به مراتب بزرگ‌تر است. تابع اکرمن مثالی است برای نشان دادن اینکه کامپیوترهای سریع امروزی هنوز هم توان محاسبه‌ی مقدار متناهی برخی از توابع ریاضی را ندارند.

موافقين ۳ مخالفين ۰ ۹۴/۰۸/۱۳
حسین زارع

نظرات (۱)

چه جالب !!!!
پاسخ:
:)

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی