Infinite Loop Of Math²
145 subscribers
9 photos
6 videos
1 file
19 links
Where math lies☝️
اگر عاشق ایده‌ها و فکت‌های ریاضی و کد هستی به ما ملحق شو!
لینک گپ:https://t.me/MathAndCodeLovers
راه ارتباطی:
@Pania_theinkdrinker

بات برای ارسال پیام ناشناس:
@ilommathbot
Download Telegram
داستانِ «مسئلهٔ قمارباز» یا «خرابی قمارباز» (Gambler's Ruin) یکی از بنیادی‌ترین مسائل تاریخ علم احتمال است و آبراهام دو موآور نقش کلیدی در حل آن داشت. در ادامه، ماجرا را برایتان به زبان ساده تعریف می‌کنم.

🎲 اصل ماجرا: دو قمارباز و یک سؤال مرگ‌ومیر

مسئله این است: فرض کنید دو نفر، A و B، با هم قمار می‌کنند. در هر دور، یک سکه یا تاس می‌اندازند و برنده یک سکه از بازنده می‌گیرد. A سرمایه‌اش «a» سکه و B سرمایه‌اش «b» سکه است. بازی آنقدر ادامه پیدا می‌کند تا یک نفر تمام سکه‌هایش را ببازد (ورشکست یا خراب شود).

سؤال اصلی این است: با توجه به سرمایه‌های اولیه و شانس برنده شدن در هر دور، احتمال اینکه در نهایت A ورشکست شود، چقدر است؟

🧠 نقش دو موآور: ریاضیات وارد میدان می‌شود
هرچند این مسئله اولین بار توسط ریاضیدان هلندی، کریستیان هویگنس، در سال ۱۶۵۷ مطرح شد, اما دو موآور بود که در سال ۱۷۱۱ اولین راه‌حل عمومی و قانع‌کننده را برای آن ارائه داد.

او این کار را در مقاله‌ای به نام «De Mensura Sortis» (دربارهٔ اندازه‌گیری شانس) انجام داد که در سال ۱۷۱۲ منتشر شد. بعدها این راه‌حل را در کتاب معروفش، «The Doctrine of Chances» (آیین شانس) که در سال ۱۷۱۸ منتشر شد، به تفصیل شرح داد. این کتاب به یکی از منابع اصلی علم احتمال تبدیل شد و برای قماربازان آن زمان مثل یک «راهنمای علمی» بود!

✨ راه‌حل دو موآور: تولد «تابع مولد»
راه‌حل دو موآور برای این مسئله بسیار هوشمندانه بود. او برای محاسبهٔ احتمالات، از ایده‌ای به نام «توابع مولد» (Generating Functions) استفاده کرد. این روش به او اجازه می‌داد تا با دنباله‌های نامتناهی از اعداد به سادگی کار کند و به فرمولی دقیق برای احتمال ورشکستگی هر بازیکن برسد.

پایان خوش: از قمار تا آمار

جالب است بدانید که دو موآور فقط به حل این مسئله بسنده نکرد. او برای حل مسائل مشابه، به محاسبات پیچیده‌ای نیاز داشت و برای ساده‌سازی آن‌ها، به تقریب زدن عبارت‌های ریاضی روی آورد. این تلاش ها در نهایت به کشف «توزیع نرمال» یا همان منحنی زنگوله‌ای شکل معروف انجامید که امروز یکی از مهم‌ترین مفاهیم در تمام علم آمار است!
ماجرا از یک سؤال ساده در میز قمار شروع شد، اما به یکی از مهم‌ترین اکتشافات ریاضی تاریخ ختم گردید!
#math_facts
@mathloopinfinite
❤8🤯3
Infinite Loop Of Math²
🔢 اعداد هم‌ می‌خندند؟⁉️ در ریاضیات اعدادی وجود دارند به نام اعداد خوشحال( Happy numbers). در واقع اگر مربعات ارقام یک عدد را با هم جمع کنیم و این کار را مدام تکرار کرده و در نهایت به یک برسیم، آن عدد را خوشحال می‌نامیم. برای مثال: عدد ۱۹ 1²+9²=82 8²+2²=68…
در ادامه این پست یه کار بامزه انجام بدیم: اگر می‌خواید بدونید عددتون خوشحاله یا نه می‌تونید کد زیر رو ران کنید روی سیستم عاملتون(اگر کامپایلر cpp دارید)🥸ترجیحاً با وی پی ان :))) یه حرکت ریز داره اگر خوشحال بشه عددتون
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void openLink(const string& Link);
int main()
{
int num ;
cout<<"please enter a nubmer: "<<endl;
cin>>num;
while(num!=1 && num!=4)
{
int sum=0;
int temp =num;
while(temp>0)
{
int digit = temp%10;
sum += digit*digit;
temp /= 10;
}
num = sum;
}
if(num == 1)
{
cout<<"the number is happy"<<endl;
string youtubeLink = "https://www.youtube.com/watch?v=dQw4w9WgXcQ";
openLink(youtubeLink);

}
else
{
cout<<"the number is sad"<<endl;
}
return 0 ;
}
void openLink(const string& link)
{
#ifdef _WIN32

system((std::string("start ") + link).c_str());

#elif defined(linux)

system((std::string("xdg-open ") + link).c_str());

#elif defined(APPLE)
system((std::string("open ") + link).c_str());
#endif

}

#code
@mathloopinfinite
❤9
😭6❤3
📜 تاریخچه: از متناقض‌نمایی تا یک قانون

ماجرای تقسیم بر صفر به قدمت خودِ مفهوم صفر در ریاضیات است.

· آغاز با صفر: اولین بار در متون کهن ریاضی، مانند کتاب براهما اسپوتا سیدهانتا از ریاضیدان هندی، برهماگوپتا (۶۲۸ میلادی)، با صفر به عنوان یک عدد رفتار شد و عمل‌های روی آن تعریف گردید. با این حال، خود برهماگوپتا در تعریف تقسیم بر صفر ناموفق بود و تعاریف اولیه‌اش به تناقض‌های جبری می‌انجامید.
· تلاش‌های اولیه: در دوران‌های بعد، برخی ریاضیدانان تلاش می‌کردند برای تقسیم بر صفر نتیجه‌ای در نظر بگیرند، مثلاً می‌گفتند حاصل‌شمار 24 ÷ بر صفر = 24 است!. این تلاش‌ها نشان می‌دهد که ابهام این مسئله از دیرباز وجود داشته است.
· نخستین اشاره به ناممکن بودن: نخستین اشاره‌ی ثبت‌شده به عدم‌امکان اختصاص دادن یک مقدار به a / 0 در مقاله‌ی جرج بارکلی (۱۷۳۴) به نام "The Analyst" دیده می‌شود. بارکلی از این موضوع برای نقد مبانی حساب دیفرانسیل و انتگرال استفاده کرد.
💡 چرا تعریف‌نشده؟ (دلیل ریاضی)
برای فهمیدن دلیل، باید به تعریف اصلی تقسیم برگردیم. تقسیم، عمل معکوس ضرب است. یعنی a ÷ b = c یعنی c × b = a.

حالا این را برای a ÷ 0 امتحان می‌کنیم:

۱. حالت اول: عددی غیر از صفر را بر صفر تقسیم می‌کنیم (مثلاً 0÷1)

فرض کنیم جواب این تقسیم، عددی مانند x باشد:
1 ÷ 0 = x

طبق تعریف تقسیم، باید داشته باشیم:
x × 0 = 1

اما می‌دانیم که هر عددی در صفر ضرب شود، حاصل صفر است. پس عبارت x × 0 همیشه صفر است، نه یک. به تناقض می‌رسیم: 0 = 1 که محال است.

پس هیچ عددی وجود ندارد که این معادله را برقرار کند. بنابراین پاسخ 1 ÷ 0 یک عدد نیست و تعریف‌نشده (Undefined) است.

۲. حالت دوم: صفر را بر صفر تقسیم می‌کنیم (0 ÷ 0)

باز هم فرض می‌کنیم 0 ÷ 0 = x. طبق تعریف تقسیم:
x × 0 = 0

اما اینجا هر عددی را که برای x در نظر بگیریم، معادله درست است، چون هر عددی در صفر، صفر می‌شود (مثلاً 5 × 0 = 0 و -2 × 0 = 0).

پاسخ می‌تواند هر عددی باشد، اما ما در ریاضیات به یک پاسخ منحصربه‌فرد نیاز داریم. چون نمی‌توانیم یکی را انتخاب کنیم، می‌گوییم این عبارت تعیین‌نشده (Indeterminate) است.
ابهام و شهود: چه چیزی باعث سردرگمی می‌شود؟
بخش اعظم ابهام به خاطر مفهوم حد و بی‌نهایت است:

· وقتی عدد ۱ را بر اعداد بسیار کوچک (مثلاً ۰٫۰۰۰۰۰۱) تقسیم می‌کنید، جواب بسیار بزرگ می‌شود (۱,۰۰۰,۰۰۰). هرچه مقسوم‌علیه به صفر نزدیک‌تر شود، جواب به سمت بی‌نهایت (∞) می‌رود. اینطور به نظر می‌رسد که0÷1 باید بینهایت باشد.
· مشکل اینجاست که اگر از اعداد منفی به صفر نزدیک شوید (1 ÷ -0.1 = -10)، جواب به سمت منفی بی‌نهایت (-∞) می‌رود! پس تکلیف چیست؟ مثبت بینهایت یا منفی بینهایت؟

این نشان می‌دهد که حتی با کمک مفهوم حد، به یک پاسخ واحد نمی‌رسیم و خودِ بی‌نهایت هم یک عدد نیست. بنابراین، حد یک تابع وقتی به صفر میل می‌کند با مقدار تابع در خودِ صفر تفاوت دارد.
🌍 در دنیای کامپیوتر و سیستم‌های عددی دیگر
در کامپیوتر: تلاش برای تقسیم بر صفر معمولاً باعث خطا (Error) یا از کار افتادن (Crash) برنامه می‌شود. در محاسبات اعشاری طبق استاندارد IEEE، ممکن است نتیجه +∞، -∞ یا NaN (عددی نیست) باشد.
· در برخی سیستم‌های عددی خاص: می‌توان سیستم‌های عددی جدیدی تعریف کرد که در آن‌ها تقسیم بر صفر معنا داشته باشد، مانند کره ریمان در اعداد مختلط که در آن 1/0 = ∞ تعریف می‌شود. اما این سیستم‌ها قوانین خاص خود را دارند و با اعداد حقیقی معمولی تفاوت‌های اساسی دارند.
✨ جمع‌بندی نهایی

پس:

· تقسیم بر صفر تعریف‌نشده است، چون با قوانین بنیادین ریاضی (مثل اینکه هر عدد ضربدر صفر، صفر است) در تناقض است.
· این یک قانون سلیقه‌ای یا قرارداد نیست، بلکه نتیجه‌ی منطقی قوانین جبر است. اگر تقسیم بر صفر را تعریف کنیم، کل سیستم ریاضی به هم می‌ریزد و می‌توانیم چیزهایی مثل 1 = 2 را اثبات کنیم!
‼️تنها در شرایط خاص و با تعریف چارچوب‌های جدید (مثل حد در حسابان یا اعداد بسط‌یافته) می‌توان به آن نزدیک شد، اما این به معنای تعریف‌شده بودن آن در اعداد حقیقی نیست‼️
#صفر_قدرتمندترین_عدد_ریاضیات
@mathloopinfinite
❤7
❤4😁1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤‍🔥1
🤏بازی کوتاه با منطق.‌‌..❗️

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

🥸حالا دو تا فرض مطرحه:
۱.فرض کنیم کیومرث بتونه همچین شیئی رو بسازه؛ اون وقت یه شیئی وجود وجود داره که نمی‌تونه بلندش کنه، از طرفی فرض می‌گه کیومرث هرکاری بخواد بکنه می‌تونه. پس به تناقض می‌رسه و ادعاش رو نقض می‌کنه.
۲.فرض کنیم کیومرث نتونه همچین شیئی بسازه، اینجوری پس باز هم یه کاری وجود داره که نمی‌تونه انجام بده، و دوباره تناقض پیش میاد با ادعای کیومرث.
پس ادعای کیومرث، یعنی "قادر بی قید و شرط" غلطه!
پس کیومرث باز هم دروغ گفته...
این مسئله‌ای که مطرح شد در اصل یه بحث معروفه که یکم تغییر داده شده. این مسئله در واقع یه پارادوکسه و هدفش جواب بله یا خیر نیست. این پارادوکس معمولاً به نام پارادوکس سنگ(stone paradox) شناخته می‌شه که بحث‌های مختلفی داره.
صورت اصلی و کلاسیکش به این شکله:
آیا یک موجود قادر مطلق می‌تواند سنگی بیافریند که نتواند آن را بلند کند؟

برای مثال دیدگاه توماس آکاینوس(فیلسوف و الهی‌دان قرن ۱۳) به این شکله: خدا( قادر مطلق) همه کاری رو می‌تونه انجام بده اما یک "کار" واقعی و نه تناقض منطقی.

منابع:
Stanford Encyclopedia of Philosophy (SEP)
کتاب نظریه مجموعه و کاربرد‌های آن( لین لین)
#logic
#math
@mathloopinfinite
❤6
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10
Forwarded from بازه باز (ژوبین)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
Infinite Loop Of Math²
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9
Infinite Loop Of Math²
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8
پارت۲
(پارت۱)
بریم ببینیم زبان‌های برنامه نویسی مختلف برای حل مشکل سوگیری باقیمانده چیکار کردن. در واقع همه‌شون از همون ریاضیات استفاده می‌کنن، فقط به شکل و قالب خودشون🥸 اینجا مثال ما، تولید یک رمز ۵ کرکتری از حروف و اعداده.
import random
import string

def generate_random_string(length=5):
# بانک حروف (شامل حروف بزرگ، کوچک و اعداد)
chars = string.ascii_letters + string.digits

result = ''.join(random.choices(chars, k=length))
return result

print(generate_random_string())

👆اینجا در واقع تابع random.choices داره همون کار طرد کردن و ایجاد منطقه امن رو انجام میده.

import java.util.Random;

public class Main {
public static void main(String[] args) {
String chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
Random random = new Random();
StringBuilder result = new StringBuilder();

for (int i = 0; i < 5; i++) {
// این تابع عدد 62 را می‌گیره و یک عدد عادلانه بین 0 تا 61 می‌ده
int randomIndex = random.nextInt(62);
result.append(chars.charAt(randomIndex));
}

System.out.println(result.toString());
}
}

👆برای جاوا هم تابع nextInt وظیفه طرد کردن و چک کردن محدوده امن رو داره
// بانک کرکتر‌ها
    const char chars[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    //موتور تولید اعداد رندوم مثلاً اعداد خیلی بزرگ
    thread_local mt19937 gen(random_device{}());
//توزیع اعداد تو بازه مورد نظر
    uniform_int_distribution<int> dist(0, 61);
//دادن مقدار اولیه 0 به هر آرایه رشته ۵ حرفی
    string result(5, '0');
//جایگذاری با کرکتر‌های توی بانک
    for (char &c : result)
    {
        c = chars[dist(gen)];
    }
    return result;

برای cpp عملاً توزیع رو داریم انجام می‌دیم. ما ۶۲ تا کرکتر داریم، که چون شماره درایه‌های آرایه بانک حروف، از ۰ شروع میشه، پس میشه از 0 تا 61. موتور تولید اعداد رندوم( باید حتما لایبرری random رو اضافه کرده باشید) اعداد بزرگی تولید می‌کنه که تو این بازه نیستن، پس باز هم با همون روش میاد و زوری اعداد رو میندازه تو این بازه، ولی حواسش هست که از سوگیری جلوگیری کنه و این دقیقا وظیفه این قسمته:
uniform_int_distribution<int> dist(0, 61);

به این ترتیب اعداد بدون سوگیری میفتن تو این بازه، و در ادامه هر عدد رندومی که انتخاب بشه از این توزیع، در اصل نشون دهنده یه درایه از آرایه بانک حروف و اعداده، که اون کرکتر با توجه به شماره‌ش انتخاب، و جایگذاری میشه در رشته نهایی🥸
🔎خلاصه کار: همه‌شون از یه قانون ساده ریاضی پیروی می‌کنن
#comp_sci
#Algorithm
#code
#math
@mathloopinfinite
❤8
Infinite Loop Of Math²
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10
📑هندسه‌های عجیب | قسمت ۱

قبل از شروع، دو نوع هندسه را بشناسیم:

📐 هندسهٔ اقلیدسی هندسه‌ای است که روی یک صفحهٔ کاملاً صاف تعریف می‌شود؛ همان هندسه‌ای که در مدرسه یاد می‌گیریم. در این هندسه، از یک نقطه خارج از یک خط، فقط یک خط موازی با آن می‌توان رسم کرد.

🌍 هندسهٔ کروی روی سطح یک کره تعریف می‌شود؛ جایی که «خط‌ها» در واقع دایره‌های عظیم هستند و بسیاری از قوانین آشنای هندسهٔ اقلیدسی دیگر برقرار نیستند.

حالا به یک مثال جالب برسیم...

از کودکی یاد گرفته‌ایم که دو خط موازی هیچ‌وقت همدیگر را قطع نمی‌کنند.

اما این فقط در هندسهٔ اقلیدسی درست است.

حالا زمین را تصور کن. دو نصف‌النهار را در نظر بگیر؛ مثلاً نصف‌النهار تهران و لندن. این دو خط روی استوا از هم فاصله دارند، اما هرچه به سمت شمال حرکت کنی، به هم نزدیک‌تر می‌شوند و در نهایت در قطب شمال به هم می‌رسند.

پس روی سطح کره، چیزی که در نگاه اول «خط‌های موازی» به نظر می‌رسد، می‌تواند یکدیگر را ملاقات کند.

این یعنی قوانینی که روی کاغذ کاملاً بدیهی به نظر می‌رسند، همیشه برای جهان واقعی صدق نمی‌کنند.

همین ایده، پایهٔ هندسهٔ کروی است؛ هندسه‌ای که در ناوبری، نقشه‌کشی، نجوم و حتی مسیر حرکت هواپیماها روی زمین از آن استفاده می‌شود.

شاید عجیب‌تر این باشد که کوتاه‌ترین مسیر بین دو شهر روی کره، معمولاً یک خط صاف روی نقشه نیست؛ بلکه بخشی از یک دایرهٔ عظیم (Great Circle) است.

✨ ریاضیات فقط دربارهٔ اعداد نیست؛ گاهی کافی است شکل جهان را عوض کنی تا قوانین هم عوض شوند.

💈نکتهٔ علمی:
از نظر دقیق ریاضی، نصف‌النهارها «خط موازی» نیستند؛ آن‌ها دو ژئودزیک (کوتاه‌ترین مسیر روی کره) هستند که در قطب‌ها یکدیگر را قطع می‌کنند. این مثال نشان می‌دهد که مفهوم موازی بودن در هندسهٔ کروی با هندسهٔ اقلیدسی متفاوت است.

#math
#geometry
#math_facts
@mathloopinfinite
🔥8❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3
💈هندسه‌های عجیب | قسمت ۲

🔎دنیایی را تصور کن که از یک نقطه، بی‌نهایت خط موازی می‌توان رسم کرد.
از کودکی یاد گرفته‌ایم که:
از یک نقطه خارج از یک خط، فقط یک خط موازی با آن می‌توان رسم کرد.

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

🌌جالب‌تر اینکه هندسهٔ هذلولوی فقط یک ایدهٔ ذهنی نیست. این هندسه در شاخه‌هایی از کیهان‌شناسی، نسبیت عام و مطالعهٔ فضاهای خمیده کاربرد دارد. شاید مهم‌ترین درس هندسه‌های عجیب این باشد:
گاهی با تغییر شکل فضا، بدیهی‌ترین قوانین نیز تغییر می‌کنند.

#math
#math_facts
#geometry
@mathloopinfinite
❤8
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7