بازنشر, , گوگل پلاس, پینترست,

پرینت

تیغ اوکام چیست و به چه کار می آید؟

تیغ اوکاماحتمالا شما هم قبلا این جمله را شنیده اید: ساده ترین توضیح احتمالا صحیح است. کارآگاهان از این جمله برای کشف افراد  مظنون به قتل استفاده می‌کنند و پزشکان برای تعیین بیماری با وجود مجموعه مختلفی از علایم استفاده می‌کنند.

این‌ها نتایج استدلالی با عنوان تیغ اوکام هستند، که از آن در سرتاسر دنیا در حل مشکلات و انتخاب پاسخ‌ مناسب و ابداع و اثبات نظریه ها و از میان برداشتن پاسخ‌ها و احتمالات دور از انتظار و غیرمحمل استفاده می‌کنند. صورت اصلی این تیغ اوکام چنین است:

  • اصل تکثیر: تکثیر نباید بدون ضروریت انجام شود.
  • اصل تقلیل: وقتی با کمتر ممکن است، بیشتر بیهوده است.

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

نظر شما درباره نظریه تیغ اوکام چیست؟

نوشته شده توسط حامد قره باغی

کارشناس نرم افزار و دانشجوی ارشد مدیریت فناوری اطلاعات هستم.

71 posts

8 Comments

پاسخی بنویسید
  1. در انتها که گفتید «این اصل در برنامه‌نویسی رایانه این است که برنامه‌های نوشته شده باید بهینه باشند» باید خدمتتون بگم که بهینه بودن با سادگی کاملا دو چیز متفاوقت هستند. اتفاقا معمولا برنامه های ساده تر اصلا بهینه نیستند. برای همین هم هست که اصل اوکام میگه که وقتی دو چیز داریم که حاصل یکسان دارند ساده تر بهتره. بهینه بودن جزوی از اون حاصل هست.

  2. اصلان جان اوکام نمیگه ساده تره بهتره ، اون داره میگه احتمال درست و صحیح بودن ساده تره بیشتره.
    حالا تو برنانه نویسی میشه اون رو به دو حالت صادق دونست :
    اول اینکه : وقتی قراره کد طولانی و بسیار پیچیده ای نوشته بشه هرچه از روش ساده تر و کوتاه تر استفاده بشه احتمال بروز خطا و دستیابی به نتیجه نهایی صحیح بیشتر هست .
    (روش ساده تر یعنی الگوریتم ساده تر و نه اینکه الگوریتم پیچیده یا گنگی که فقط تعداد خط کمتری کد برای آن زده شده است. در اینجا سادگی برابر با همون بهینه سازی هست)
    دوم اینکه : دو برنامه را در نظر بگیر که باید به مقدار مشخصی از عملکرد صحیح دست پیدا کنه (که بهینه بودن برنامه هم جزو اهداف اونه )
    در اینجا اون برنامه ای که برای رسیدن به این هدف مشخص از الگوریتم های ساده تر و خطوط و کدهای ساده تر استفاده کرده باشه موفقیت بیشتری بدست میاره .
    نگاهت رو کمی عمیق تر کن ، درسته که نوشتن کد های بیش از حد کوتاه و انتخاب الگوریتم های پیچیده باعث نابودی برنامه هست و بهینه گی رو از بین میبره . این رو همه برنامه نویس ها قبول دارن اما این منطق اوکام نیست !
    الگوریتم ساده تر ممکنه صدها برابر یک الگوریتم پیچیده و گنگ نیاز به کد نویسی داشته باشه اما اولویت برنامه نویس حرفه در درجه اول الگوریتم ساده تر هست.
    الگوریتم ساده یعنی بهینه گی بیشتر و خطای کمتر
    حالا در درجه دوم که الگوریتم صحیح تر و دقیق تر انتخاب شده است می بایست یک مقدار مشخص کد برای آن نوشته شود. باز در اینجا شما هم قبول دارید که نرم افزاری که برای پیاده سازی یک الگوریتم صحیح واحد از مقدار کمتری کد تمیز و هرچه ساده تر استفاده کند احتمال نتیجه گیری و موفقیت برنامه را بیشتر خواهد کرد. و در اینجا از بروز خطا اجتناب بیشتری می شود.
    یه برنامه نویس حرفه ای باش و بطور عمقی تحلیل کن و نه اینکه در ظاهر مسئله فقط به مقدار کد زده شده قبل از تعیین الگوریتم ساده تر فکر کنی :)
    از طرف دیگه هم یه فیلسوف دقیق باش و با نظریه های خوب مانند تیغ اوکام به واقعیت عشق بورز و از خطا ، اشتباه و دروغ های بزرگ بسیاری که هر روز اطراف ما درحال رشد و قدرت گرفتن هستن ؛ دوری کن

  3. نکته ای که در مورد این نوع نگرش برای یافتن حقیقت بسیار حیاتی است و باید به آن دقت بسیار زیاد کرد این است که منطق تیغ اوکام میگوید پیچیدگی های بی مورد که دلیلی برای موجود بودنشان نیست را حذف کن
    و نه اینکه ضد پیچیدگی باشه.

    اصل تکثیر: تکثیر نباید بدون ضروریت انجام شود.
    اصل تقلیل: وقتی با کمتر ممکن است، بیشتر بیهوده است.

    اگر با کمتر ممکن نباشد ، بیشتر نه تنها بیهوده نیست بلکه واجب است این موضوع شامل حذفیات تیغ اوکام نمی باشد.
    بنابراین منتقدینی که میگویند منطق اوکام باعث جلوگیری از پیچیدگی علم میشود ، راه را از ابتدا اشتباه رفته اند و درست این تیغ برنده را نفهمیده اند ! پیچیدگی ضروری در هر صورت ایجاد می شود و بدلیل ضرورت آن معمولا حاوی خطا نیست اما پیچیدگی غیر ضروری یعنی گمانه زنی بر روی خیالات پیچیده در صورتی که گمانه های ساده تر برای توضیح پدیده ها وجود دارد.

    به عنوان مثال برای ساخت یک نرم افزار قوی و خوب ؛ الگوریتم خوب در درجه اول قرار دارد و این الگوریتم ختم به مقدار زیادی کد میشود ، بنابراین در اینجا ما نمیتوانیم مقدار زیاد کد را با منطق اوکام حذف کنیم و به مقدار کم گرایش پیدا کنیم ، این مقدار زیاد کد برای الگوریتم واجب و حیاتی است !
    اما اگر در این مقدار زیاد کد که پیرو بهترین الگوریتم ممکن است بتوانیم صرفه جویی کنیم و اضافات را حذف کنیم و هرچه بیشتر و بیشتر این کدها را ساده کنیم ، آن وقت چه ؟ در این حالت است که ما از منطق تیغ اوکام استفاده کرده ایم و پیچیدگی های بی مورد را حذف کرده ایم.

    به مطلبی که در زمینه این منطق در ویکی پدیا منتشر گردیده توجه کنید :

    “در فلسفهٔ دین
    از این ایده در فلسفه دین هم در جهت اثبات وجود خدا و هم در جهت نفی وجود او استفاده شده‌است. از طرفی ریچارد داوکینز استدلال می‌کند که باور به خدا کمکی به فهم جهان نمی‌کند و تنها چیزی اضافی و زاید است، و بنابراین باید حذف شود.[۶] از طرف دیگر ریچارد سوئین برن وجود خدا را ساده‌ترین توضیح برای تجربه‌های مذهبی می‌داند.[۷] همچنین از تیغ اوکام در نظریه جهان تنظیم‌شده و در رد توضیح «وجود جهان‌های موازی» استفاده شده‌است. اما این استدلال نیز مورد اختلاف نظر بوده‌است”

    خب اینجا پرفسور ریچارد داوکینز زیست شناس برجسته بریتانیایی چگونگی ساختار و شکل گیری حیات را بدون نیاز به خالق وخدای هوشمند به روش بسیار ساده و غیر قابل انکار توضیح میدهد .
    خدا در واقع موجودی پیچیده است و اگر قائل به آن باشیم که هر چیزی خالق دارد ، انگاه باید به فکر خالق خدا هم بیفتیم و یا اینکه ذات و چگونگی بوجود آمدنش چطور بوده ؛ اگر قائل به وجود خدا باشیم تمامی این پیچیدگی ها اضافه می شود و راه به جایی نمی بریم و در نهایت باید بگویم نمیشود در ذات خدا کاوش و تحقیق کرد !
    حال اگر ما بتوانیم بطور دقیق و ساده تر روند شکل گیری و بوجود آمدن تمامی موجودات از جمله انسان را بدون نیاز به یک رهبر ، خالق و یا خدای هوشمند توضیح دهید ، عقل سلیم و منطق اوکام میگوید باید خدا را که عنصری بسیار پیچیده و در عین حال کاملا اضافی و بدون استفاده در معادلات است ، حذف کرد.

    اما حال به برعکس موضوع توجه کنید که آیا گفته بعدی شامل منطق تیغ اوکام می شود و یا خیر :
    ریچارد سوئین برن وجود خدا را ساده‌ترین توضیح برای تجربه‌های مذهبی می‌داند
    در واقع طبق گفته های قبلی عنصر خدا بسیار پیچیده است و هرگز نمیتواند توضیح ساده ای برای یک تجربه مذهبی باشد زیرا با خود پیچیدگی بسیاری به همراه دارد اما اگر دانشمندان عصب شناس امروز تجربه های مذهبی را با توضیح چگونگی عملکرد فیزیکی مغز توضیح میدهند ، با وجود اینکه علم عصب شناسی نیز پیچیدگی های خاص خود را داراست اما به مراتب بسیار زیادی ساده تر از اضافه کردن خدا به معادلات تجربیات مذهبی خواهد بود و پیچیدگی کمتر همیشه برابر با خطای کمتر برای رسیدن به پاسخ های درست و کم خطا تر است، این دیدگاه در واقع علمی است و در بین دانشمندان طرفداران بیشتری دارد تا عامه مردم.

    اما تیغ اوکام در ارتباط با جهان های موازی کمی دارای پیچ و تاب است.
    تا حدی حذف نظریه جهان های موازی با استفاده از منطق تیغ اوکام صحیح است زیرا ما دلیل و اثباتی برای وجود این جهان ها در دست نداریم و وجود آنها معادلات را بسیار پیچیده تر از حال حاضر خواهد کرد
    اما باید در نظر گرفت سوالاتی که در علم فیزیک بنیادی امروز مطرح است و در پس آن نظریه های موجود توانایی کمتری در توضیح این سوالات دارند و حال آنکه نظریه جهان های موازی توانایی بیشتری نسبت به آنها در توضیح تمام مشاهدات امروز علم دارد .
    بنابراین گفته ها گروهی از دانشمندان میتواند با استفاده از منطق تیغ اوکام این نظریه را حذف کرده و به دنبال پاسخ دادن به سوالات با نظریه های ساده تر موجود بروند و گروهی دیگر از دانشمندان نظریه های موجود را به هیچ عنوان توانا در توضیح وقایع ندانسته و نظریه جهان های موازی را تنها راه حل بداند و پیچیدگی آن را غیر قابل اجتناب بدانند .
    ایرادی بر هیچ کدام از گروه ها وارد نیست و هر گروه تحقیقات را در سمت خود پی میگیرند و چه بسا نتایج بدست آمده آنان به هم کمک کند
    در نظریه جهان های موازی به این دلیل که اطلاعات در توضیح پدیده ها ناکافی و اثبات نشده است بنابراین نمیتوان نظر قطعی داد که این نظریه را میتوان شامل منطق تیغ اوکام دانست و یا خیر.
    این موضوعی طبیعی است و تا بدست آمدن مستندات و مشاهدات واقعی از این دو گروه دانشمندان مخالف هم باید صبر کرد و نتیجه را دید. اما از زمانی که اطلاعات به مقدار کافی بدست آمد ، استفاده از منطق تیغ اوکام ما را به رسیدن به پاسخ دقیق کمک خواهد کرد و نتیجه نهایی مورد قبول اجماع دانشمندان خواهد بود مانند دیگر مسائل علمی نتیجه گرفته شده و نهایی شده.

  4. سلام من یه مشکلی برام ایجاد شده لطفا کمکم کنید: من عاشق پسر عمم هستم بیشتر علایم عاشقی رو که توی پست ها بود داشت اما بازم فکر نمیکنم عاشقمه چرا؟

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد.