Introduction to the Theory of Computation, 3rd Edition
شما در حال شروع به مطالعه یک موضوع جالب و مهم در ویرایش سوم کتاب Introduction to the Theory of Computation هستید: نظریه محاسبات. این نظریه، ویژگیهای اساسی ریاضی سخت افزار کامپیوتر، نرم افزار و کاربردهای خاصی از آن را شامل میشود. در بررسی این موضوع، ما به دنبال آن هستیم که مشخص کنیم که چه چیزی قابل محاسبه است، با چه سرعتی، با چه مقدار حافظه و با کدام نوع مدل محاسباتی. این موضوع ارتباطات آشکاری با روش مهندسی دارد و مانند بسیاری از علوم، جنبههای کاملاً فلسفی نیز دارد.
من میدانم که بسیاری از شما مشتاقانه منتظر مطالعه این مطالب هستید اما برخی هم ممکن است انتخابی جز این نداشته باشید. شما ممکن است که بخواهید مدرک علوم کامپیوتر یا مهندسی را کسب کنید و این دوره تئوری نیز لازم است - خدا میداند چرا. از این گذشته، آیا تئوری سخت، کسل کننده و از همه مهمتر بی ربط نیست؟
برای دیدن این که تئوری نه سخت و نه خسته کننده است، بلکه درعوض کاملاً قابل فهم و حتی جالب است ادامه مطلب را بخوانید. علم کامپیوتر تئوری ایدههای بسیار جالب و جذاب زیادی دارد، اما همچنان دارای بسیاری از جزئیات کوچک و گاه کسل کننده است که میتواند خسته کننده باشند. یادگیری هر موضوع جدیدی کار سختی است، اما اگر موضوع به درستی ارائه شود، آسانتر و لذت بخشتر میشود. هدف اصلی من در نوشتن این کتاب این است که شما را در معرض جنبههای واقعاً هیجان انگیز نظریه محاسبات قرار دهم، بدون آنکه به کار کردن زیاد و بیهوده گرفتار شوید. البته تنها راه برای تعیین اینکه آیا تئوری شما را علاقه مند میکند یا نه، سعی در یادگیری آن است.
تئوری با حرفه مرتبط است. تئوری ابزارهای مفهومی را ارائه میدهد که شاغلان در مهندسی کامپیوتر از آنها استفاده میکنند. طراحی یک زبان برنامه نویسی جدید برای یک برنامه تخصصی؟ آنچه که در مورد گرامر در این دوره آموخته اید مفید خواهد بود. کار با با جستجوی رشته و تطبیق الگو؟ ماشینهای خودکار متناهی و عبارات منظم را به یاد داشته باشید. با مسئله ای روبرو هستید که به نظر میرسد به زمان کامپیوتر بیشتری از آنچه که در دسترس هست احتیاج دارد؟ به آنچه در مورد NP کامل آموخته اید، فکر کنید. همچنین زمینههای کاربردی دیگر، مانند پروتکلهای رمزنگاری مدرن، به اصول نظری که در اینجا میآموزید تکیه دارند.
سرانجام، تئوری برای شما خوب است زیرا مطالعه آن ذهن شما را باز میکند. فناوری کامپیوتر به سرعت تغییر میکند. دانش فنی به خصوصی، گرچه امروز مفید است، اما فقط در عرض چند سال منسوخ میشود. در عوض، تواناییهای فکر کردن، بیان کردن دقیق و واضح خودتان، حل مسائل و دانستن اینکه چه زمانی مشکلی را حل نکرده اید را در نظر بگیرید. این تواناییها ارزشی ماندگار دارند. مطالعه تئوری شما را در این زمینهها آموزش میدهد.
موارد کاربردی به کنار، تقریباً همه کسانی که با کامپیوتر کار میکنند نسبت به این مخلوقات شگفت انگیز، قابلیتها و محدودیتهای آنها کنجکاو هستند. یک شاخه کاملاً جدید از ریاضیات در 30 سال گذشته رشد کرده است تا به برخی از سؤالات اساسی پاسخ دهد. در اینجا یک مورد بزرگ وجود دارد که هنوز حل نشده است: اگر یک عدد بزرگ مثلا 500 رقمی به شما بدهم، میتوانید فاکتورهای آن (اعدادی که آن را به طور مساوی تقسیم میکنند) را در مدت زمان معقولی پیدا کنید؟ حتی با استفاده از یک ابر رایانه، هیچ کس در حال حاضر نمیداند که چگونه در تمام موارد در طول عمر جهان، این کار را انجام دهد! مساله فاکتور گیری در رمزنگاریهای مدرن به کدهای مخفی خاصی متصل است. راهی سریع برای عامل پیدا کنید، و شهرت از آن شماست.