کاربرد calculus در علوم کامپیوتر

سلام به همه!این اولین نوشته من توی سایت ویرگول هست امید وارم ازش لذت ببریدقصد داریم به برسی بسیار مختصری از کاربردهای ریاضیات عمومی در علوم کامپیوتر بپردازیم. کاربرد ریاضیات عمومی در بسیاری از شاخه ها به صورت مستقیم است (که به صورت Bold نوشته شده‌اند) همچنین در برخی شاخه‌ها به صورت غیر مستقیم است(که به صورت italicنوشته شده‌اند) به شرح زیر است:1. گرافیت کامپیوترها / پردازش عکس: اینجا همراه با ریاضیات عمومی نیاز به هندسه تحلیلی و جبر خطی هست. اگر به دنباله این مسیر برویم هندسه دیفرانسیل (Differential Geometry) که تسلط بر ریاضیات عمومی پیشنیاز آن است، نیازمند می‌شویم. اجازه دهید به برسی یک مثال عملی بپردازیم.تبدیل فوریه: تبدیلی ریاضیاتی است که توابعی را که برحسب زمان یا فضا هستند، به توابعی برحسب فرکانس زمانی یا فضایی تجزیه می‌کند.انیمیشن بالا تجسم رابطه بین دامنه زمان و دامنه فرکانس یک تابع، بر اساس تبدیل فوریه آن است که یک تابع ورودی f(قرمز رنگ) را در دامنه زمانی می‌گیرد و آن را به یک تابع جدید f-hat (آبی رنگ)در دامنه فرکانس تبدیل می‌کند. در این انیمیشن، یک تقریب ساده ۶جزئی از موج مربع به ۶ موج سینوسی تجزیه می‌شود. با استفاده از تبدیل فوریه فناوری‌هایی مثل OCR و Noise Removal ممکن میشود.در ocr به این صورت هست که اگر تبدیل فوریه حرف A را بگیریم تبدیل فوریه Aهای دیگه به صورت دست نویس یا فونت ها دیگه تقریبا همون صورت هست اما یکسان نیستند.برای کاربرد دیگر یعنی حذف نویزهای موجود در تصویر باید ماهیت نویز را برسی کرد. نویزها در واقع فرکانس‌های ناخواسته در تصویر هستند حذف این فرکانس‌ها باعث حذف نویز در دامنه فضایی می‌شود. در پایین تصویری از یک کامیون هست که نویزای منظمی درون تصویر قابل مشاهده است. که در دامنه فوریه سیگنال‌های مربوط به خط سفید عمودی را حذف کرده و تصویر را بازسازی کنیم کیفیت تصویر بسیار مطلوب‌تر می‌شود.تصویر اولیهتصویر اصلاح شده2. آنالیز الگوریتم: در این موضوع از همان ابتدا از تعریف حد استفاده خواهیم کرد. برای O بزرگ (big-o) داریم:برای o کوچک نیز می‌توان گفت:3. ریاضیات گسسته و ترکیبیات: در ادامه بحث آنالیز الگوریتم‌ها به ریاضیات گسسته و مبحث توابع مولد می‌رسیم که در آن دانستن فرمول‌های مشتق و انتگرال نیاز است. دانستن سری تیلور و calculusدر حل روابط خاص می‌تواند مفید باشد. مثلا:برنامه‌ای برای تعداد حالات خرید nمیوه طراحی کنید به طوری که محدودیت‌های زیر وجود داشته باشد:الف. در مغازه فقط 2 سیب که یکی سبز و دیگری قرمز است مانده و نمی‌توان بیشتر از 2 سیب هم انتخاب کرد(A).ب. همه موزها بجز 3 موز سیاه شده‌اند و ما موز سیاه شده نمی‌خواهیم(b).پ. انجیرها به صورت پک شده فروخته می‌شوند و در هر پک 6 انجیر موجود است و هر تعداد پک که بخواهیم می‌توانیم برداریم(f).ت. هلو ها به صورت پک شده و 4 هلو در هر پک فروخته می‌شوند و شما به تعداد که بخواهید می‌توانید بردارید(p).ث. انبه‌ها جفت جفت اند و شما حداکثر چهار انبه می‌خواهید(m).حل این سوال با روش‌های شمارش بسیار سخت است بنا ر این باید از توابع مولد و سری‌ تیلور کمک بگیریم که حل سوال به این صورت است:که تعداد حالات ممکن برای خرید nمیره برابر ضریب Z(n) در سری فوق است.4. بازی سازی: در صنعت بازی هم به صورت مستقیم هم و به صورت غیر مستقیم (فیزیک) نیاز به حساب، دیفرانسیل انتگرال است. مثلا یک شی در کجا نقشه قرار بگیرد و تاثیر جاذبه زمین بر آن شی چگونه است، البته موتورهای نوین بازی‌سازی ریاضیات و فیزیک پایه‌ای را به کاربر ارائه می‌دهد و برای مباحث پیشرفته‌تر نیاز به دانش اساسی ریاضیاتی و فیزیکی است.مثلثات و بردارها بخش دیگری از کاربردهای ریاضیات است. فرض کنید بازی 2 بعدی داریم. شخص اول در P1(x1,y1) و شخص دیگر در P2(x2,y2) است، بازی به این صورت خواهد بود که اگر فاصله شخص اول و دوم از هم کمتر از 50 واحد شد، شخص اوش شروع به تیراندازی کند. در اینجا نیاز به قضیه فيثاغورس است:c2 = b2 + a2 c = √(x1-x2)^2 + (y1-y2)^2if c < 50 : attackبیایید مثال دیگری رو هم برسی کنیم احتمالا با بازی Brick Breaker آشنا باشد یکی از چالش‌های برنامه‌نویس این است که رفتار توپ پس از برخورد با دیوار یا آجر به چه شکل باشد.متاسفانه بازی منبع‌باز نیست که بشه مثال چالشی داخلش رو استخراج کرد :( اما:با دانستن مقدار زاویه α و مقدار a می توانیم می‌توانیم سایر داده‌های از جمله مسافت طی شده و مقدار بالا آمدن جسم را بیابیم و ادامه حرکت توپ‌ها تا پایان حرکت رو برسی کنیم.امیدوارم نوشته بالا بدردتون خورده باشه موفق باشید