مباحث ریاضی در کامپیوتر و برنامه نویسی

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


ریاضیات گسسته

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

احتمالات

احتمال معمولاً مورد استفاده برای توصیف نگرش ذهن نسبت به گزاره‌هایی است که ما از حقیقت آن‌ها مطمئن نیستیم. گزاره‌های مورد نظر معمولاً از فرم "آیا یک رویداد خاص رخ می‌دهد؟" و نگرش ذهن ما از فرم "چقدر اطمینان داریم که این رویداد رخ خواهد داد؟" است. میزان اطمینان ما، قابل توصیف به صورت عددی می‌باشد که این عدد مقداری بین ۰ و ۱ را گرفته و آن را احتمال می نامیم. هر چه احتمال یک رویداد بیشتر باشد، ما مطمئن تر خواهیم بود که آن رویداد رخ خواهد داد. در واقع میزان اطمینان ما از اینکه یک واقعه (تصادفی) اتفاق خواهد افتاد. نظریه احتمالات به شاخه‌ای از ریاضیات گویند که با تحلیل وقایع تصادفی سروکار دارد. مانند دیگر نظریه‌ها، نظریه احتمال نمایشی از مفاهیم احتمال به صورت شرایط صوری (فرمولی) است – شرایطی که می‌تواند به‌طور جدا از معنای خود در نظر گرفته شود. این فرمولبندی صوری توسط قوانین ریاضی و منطق دستکاری، و نتیجه‌های حاصله، تفسیر یا دوباره به دامنه مسئله ترجمه می‌شوند. حداقل دو تلاش موفق برای به صورت فرمول درآوردن احتمال وجود دارد: فرمولاسیون کولموگروف و فرمولاسیون کاکس. در فرمولاسیون کولموگروف (نگاه کنیدبه)، مجموعه‌ها به عنوان واقعه و احتمالات را به عنوان میزانی روی یک سری از مجموعه‌ها تفسیر می‌کنند. در نظریه کاکس، احتمال به عنوان یک اصل (که هست، بدون تجزیه و تحلیل بیشتر) و تأکید بر روی ساخت یک انتساب سازگار از مقادیر احتمال برای گزاره‌ها است. در هر دو مورد، قوانین احتمال یکی هستند مگر برای جزئیات تکنیکی مربوط به آنها. روش‌های دیگری نیز برای کمی‌کردن میزان عدم قطعیت، مانند نظریه Dempster-Shafer theory یا possibility theory وجود دارد، اما آن‌ها به‌طور اساسی با آنچه گفته شد، تفاوت دارند و با درک معمول از قوانین احتمال سازگار نیستند. یکی از مهم ترین کاربردهای احتمالات در علم کامپیوتر است. به ویژه در حوزه هوش مصنوعی در بخش مهم از آن استفاده می شود و این علم اساس و پایه پیشروی ها در ان حوزه می باشد که یکی از آن ها بخش الگوریتم های تکاملی و ژنتیک است و بخش دیگر در بخش های یادگیری های سیستم های هوشمند توسط الگوریتم های یادگیرنده همچون شبکه های بیزین و شبکه مارکوف که بر پایه روش ها و مدل های احتمالاتی بنیاد شده است. انواع احتمالات به شرح زیر است:

حتمی پیشامدی که حتما اتفاق می‌افتد و احتمال آن 1 است.

غیرممکن پیشامدی که هرگز اتفاق نمی‌افتد و احتمال آن 0 است.

ممکن پیشامدی که هم ممکن است اتفاق بیفتد و هم ممکن نیست که اتفاق بیفتد و احتمال آن بین 0 و 1 است.

آمار

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

نظریه اطلاعات

نظریه اطلاعات (Information theory)  به مقداردهی (Quantification)، ذخیره و انتقال اطلاعات می‌پردازد. این نظریه، مدلی ریاضی از شرایط و عوامل مؤثر در پردازش و انتقال اطلاعات (داده‌ها) به‌دست می‌دهد. تمرکز این نظریه بر محدودیت‌های بنیادین ارسال و پردازش اطلاعات است، و کمتر به چگونگی عملکرد و پیاده‌سازی روش‌های انتقال و پردازش اطلاعات می‌پردازد. نظریه اطلاعات مورد استفاده خاص مهندسان مخابرات است، هرچند برخی از مفاهیم آن در رشته‌های دیگری مانند روان‌شناسی، زبان‌شناسی، کتاب‌داری و اطلاع‌رسانی، و علومِ شناختی (Cognitive Sciences) نیز استفاده می‌شود. در است که نظریه اطلاعات بر رشته‌های دیگر مانند روان‌شناسی و فلسفه اثر گذاشته، ولی اثرش به علت مشکل تبدیل «مفهوم آماری اطلاعات» به «مفهوم معنایی دانش و محتوا» بیشتر از نوع القای احساساتی نسبت به مفهوم اطلاعات بوده‌است. نظریه اطلاعات بر پایه نظریه احتمالات و فرایندهای اتفاقی (Probability Theory and Stochastic Processes) شکل گرفته‌است. از مهم‌ترین کمیت‌های مربوط به اطلاعات می‌توان به  آنتروپی که میانگین محتوای اطلاعاتی یک منبع اطلاعات است، اطلاعات متقابل، که مقدار اطلاعات مشترک دو متغیر تصادفی است و آنتروپی که نشان می‌دهد اطلاعات خروجی یک منبع اطلاعات تا چه حد می‌تواند فشرده شود؛ در حالی که اطلاعات متقابل، نرخ انتقال اطلاعات در یک کانال مخابراتی را تعیین می‌کند اشاره کرد.

آنالیز ریاضی

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

محاسبات عددی

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

هندسه محاسباتی

هندسه محاسباتی یکی از شاخه‌های علوم کامپیوتر است. هندسه محاسباتی علم حل مسائل هندسی به روش الگوریتمی و با استفاده از ساختمان داده‌ها (Data Structures) می‌باشد. بعضی از مسائل کاملاً هندسی، برآمده از مطالعه الگوریتم‌های هندسه محاسباتی است و مطالعه این‌گونه مسائل نیز به عنوان بخشی از هندسه محاسباتی به حساب می‌آید. انگیزه اصلی برای قلمداد کردن هندسه محاسباتی به عنوان یک رشته علمی، پیشرفت در گرافیک کامپیوتری، طراحی و تولیدات با کمک رایانه بود کاربردهای مهم دیگر هندسه محاسباتی در دانش روباتیک (برنامه‌ریزی حرکتی)، سیستم‌های اطلاعات جغرافیایی (جستجو و مکان‌یابی هندسی، نقشه‌کشی راه‌ها)، طراحی مدار مجتمع (طراحی و بازبینی هندسی مدارهای مجتمع) و مهندسی با کمک رایانه (برنامه‌ریزی ماشین‌های کنترل عددی) است. از شاخه‌های اصلی هندسه محاسباتی می‌توان به هندسه محاسباتی ترکیبی (هندسه الگوریتمی): این هندسه محاسباتی اشیای هندسی را به عنوان موجودات گسسته در نظر می‌گیرد، هندسه محاسباتی عددی (هندسه ماشینی، طراحی هندسی با کمک رایانه یا مدل‌سازی هندسی): اساس کار این هندسه محاسباتی به این صورت است که اشیای دنیای واقعی را به صورت مناسبی برای محاسبات رایانه‌ای در سیستم‌های کد/کم در می‌آورد. این شاخه ممکن است به عنوان هندسه توصیفی پیشرفته در نظر گرفته شود و اغلب یکی از شاخه‌های گرافیک کامپیوتری یا کَد به حساب می‌آید، هندسه محاسباتی عددی که این شاخه به مدل‌سازی هندسی و طراحی هندسی با کمک کامپیوتر نیز معروف است و اغلب تحت کلیدواژه‌ی منحنی‌ها و سطح‌ها دیده می‌شود اشاره کرد. مسئله‌های اصلی در این نوع از هندسه محاسباتی، مدل‌سازی و ارائه منحنی و سطح می‌باشد.

نظریه محاسبات

نظریه محاسبات یا تئوری محاسبات (Theory of computation) زمینه وسیعی است که امکان و کارایی حل مسائل گوناگون به وسیلهٔ مدل‌های محاسباتی، با استفاده از الگوریتم‌ها را مورد مطالعه قرار می‌دهد. این نظریه را به دو شاخه عمده نظریه محاسبه‌پذیری یا قابلیت محاسبه و نظریه پیچیدگی تقسیم می‌کنند. هر دو شاخه با مدل‌های صوری محاسبات سر وکار دارد.

نظریه پیچیدگی محاسباتی

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

استقرای ریاضی

اصل استقراء ریاضی شیوه‌ای برای اثبات قضایای ریاضی بر روی اعداد طبیعی است. این شیوه (استقراء ساده) از دو مرحله تشکیل شده‌است. در مرحله اول درستی قضیه (‎P(n برای عددی پایه به اثبات می‌رسد. حال می‌دانیم که لااقل برای تعدادی از ابتدای اعداد طبیعی ‎P(n)‎ درست است. اکنون با فرض آنکه P(k)‎ برای حکم درست باشد، درستی ‎P(k+1)‎ را نتیجه می‌گیریم. این روش اثبات برای اولین بار توسط اقلیدس معرفی شده بود.

نظریه گراف

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

حساب دیفرانسیل و انتگرال

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

آنالیز حقیقی

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

آنالیز مختلط

آنالیز مختلط یا نظریه توابع، نام مبحثی در ریاضیات است که در آن به توابع مشتق‌پذیر با مقادیر مختلط پرداخته می‌شود.