<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Matin Mohamadi | متین محمدی + منفرد</title>
        <link>https://virgool.io/feed/@irealmatin</link>
        <description>سرگرم ریاضیات - علوم کامپیوتر - هوش مصنوعی و حل یک مشکل از بشر !

علاقه مند به اقتصاد دیجیتال</description>
        <language>fa</language>
        <pubDate>2026-04-14 23:23:24</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/1543624/avatar/M0APRd.jpg?height=120&amp;width=120</url>
            <title>Matin Mohamadi | متین محمدی + منفرد</title>
            <link>https://virgool.io/@irealmatin</link>
        </image>

                    <item>
                <title>شکوفایی دیرهنگام !</title>
                <link>https://virgool.io/@irealmatin/%D8%B4%DA%A9%D9%88%D9%81%D8%A7%DB%8C%DB%8C-%D8%AF%DB%8C%D8%B1%D9%87%D9%86%DA%AF%D8%A7%D9%85-vlfc1ynbv8fr</link>
                <description>قسمت سوم» خلاصه کتاب شکوفایی دیرهنگام ، نوشته ریچارد کارلگارد از زبان آقای مجتبی شکوری در پادکست رادیو راه که توسط هوش مصنوعی خلاصه و با شما به اشتراک گذاشته میشود ، امیدوارم مفید باشه :📘 خلاصه‌ی کامل کتاب شکوفایی دیرهنگام (Late Bloomers)🖋 نوشته‌ی: ریچارد کارلگارد | ترجمه: الهام طاهریه 📎 زیرعنوان: قدرت صبر در دنیایی که شیفته‌ی موفقیت زودهنگام است🎬 مقدمهدر قسمت چهارم«رادیو راه»، کتابی معرفی می‌شود که برخلاف جریان اصلی موفقیت، ما را به سمت دیدن و درک ارزش تأخیر در شکوفایی هدایت می‌کند. این کتاب پاسخی‌ست به وسواس جامعه‌ بر موفقیت‌های زودهنگام و روایت‌های قهرمانانه‌ی نوجوانانی که دنیا را فتح می‌کنند.🎯 پیام مرکزی کتاب«همه‌ی آدم‌ها قرار نیست در جوانی بدرخشند. بعضی‌ها دیرتر شکوفا می‌شوند – و این کاملاً طبیعی و ارزشمند است.»کتاب با این ایده می‌جنگد که موفقیت باید حتماً در سنین پایین اتفاق بیفتد. این طرز تفکر، یک توهم جمعی و ظلم فرهنگی است که بسیاری را تحت فشار غیرواقعی قرار می‌دهد.⚠️ نقد روایت غالب جامعهرسانه‌ها، مدارس، والدین و فرهنگ عمومی مرتباً از یک الگوی موفقیت حمایت می‌کنند:موفقیت زودهنگام، در سنین پایین، و به‌شیوه‌ای خارق‌العاده.این روایت باعث شکل‌گیری توهم &quot;الان یا هرگز&quot; شده است. اگر در سنین پایین موفق نشوی، هرگز موفق نخواهی شد — که غلط است.نتیجه؟ حس بی‌ارزشی، اضطراب، و قطع ارتباط افراد با استعدادها و مسیرهای واقعی‌شان.🌱 تعریف «شکوفایی دیرهنگام» (Late Bloomers)افرادی که برای کشف و شکوفاسازی استعدادشان به زمان بیشتری نیاز دارند:ممکن است در دهه‌ی سوم، چهارم یا حتی پنجم زندگی‌شان بدرخشند.استعدادهایشان نه از طریق تقلید زودهنگام، بلکه از طریق تجربه، آزمون‌وخطا، دردها و بلوغ فکری نمایان می‌شود.🧠 نقد تربیت کودکان به سبک «نابغه‌سازی»کتاب از پدیده‌ای به نام &quot;نابغه‌ی اجباریِ زودرس&quot; انتقاد می‌کند:بازار عظیمی از کتاب‌ها به والدین می‌گویند چگونه فرزندی نابغه تربیت کنند.فشار بر کودک برای شکوفایی سریع، تبدیل به خشونتی پنهان و نسلی شده است.نتیجه‌ی ناگزیر: نسل آینده‌ای که با افسردگی، اضطراب و بی‌هویتی دست‌وپنجه نرم می‌کند.🧠 شکوفایی نیازمند رشد عصبی و روانی استمغز انسان به‌خصوص بخش پیش‌پیشانی (Prefrontal Cortex) در طول زمان رشد می‌کند.این بخش مسئول:تفکر منطقیکنترل احساساتبرنامه‌ریزیخودتنظیمیتاب‌آوریدرک پیچیدگی‌هاستاین یعنی: برای درک عمیق، تصمیم‌گیری صحیح و استفاده از یادگیری‌ها، زمان لازم است.💥 ریشه‌ی استعداد در زخم‌های کودکیبسیاری از نبوغ‌ها در واقع از زخم‌های روانی دوران کودکی نشأت می‌گیرند.اما برای آنکه این زخم‌ها به «استعداد» تبدیل شوند، باید شناخته، التیام یافته و بازتفسیر شوند.«نبوغ و جنون دو روی یک سکه‌اند.»تا زمانی که زخم‌های ما التیام نیابند، استعدادهای نهفته‌مان ممکن است در قالب سردرگمی یا رفتارهای عجیب ظاهر شوند.⏳ موفقیت مسیر ثابتی نداردبرخلاف تصور رایج، زندگی مسابقه‌ی اسکی نیست که همه باید در زمان مشخص از موانع مشخص عبور کنند.مسیرها، موانع و مقصدها برای افراد مختلف، کاملاً متفاوت است.تحمیل الگوهای یکسان بر همه افراد، ظلم فرهنگی بزرگی‌ست.💬 تغییر مسیر، نشانه‌ی ضعف نیستکتاب با نقد فرهنگ «ثبات‌گرایی افراطی» توضیح می‌دهد:ما تصور می‌کنیم که اگر از مسیری برگردیم یا مسیر را تغییر دهیم، شکست خورده‌ایم.اما واقعیت این است که انسان‌ها باید چیزهای مختلف را امتحان کنند تا استعداد واقعی‌شان را بیابند.«ثبات بیش از حد می‌تواند جلوی رشد ما را بگیرد، مخصوصاً وقتی از مسیر نادرستی شروع کرده باشیم.»🧠 ذهن داستان‌پرداز ماذهن انسان برای تحمل بی‌نظمی و آشفتگی دنیا، تمایل دارد روایت‌سازی ساده و منظم انجام دهد.اما این ساده‌سازی باعث می‌شود فکر کنیم همه چیز باید طبق یک قاعده و ترتیب خاص پیش برود، که منجر به خطاهای شناختی می‌شود.✨ نقل‌قول الهام‌بخش از J.R.R. Tolkien«همه‌ی آن‌هایی که سرگردانند، گم نشده‌اند.»برای آن‌که خود را پیدا کنیم، باید زمانی را سرگردان باشیم.🔚 پیام پایانی🔹 برخی انسان‌ها دیر شکوفا می‌شوند، چون:باید زخم‌هایشان را بشناسندباید زمان رشد مغزی‌شان طی شودباید از فشارهای فرهنگی رها شوندباید خود واقعی‌شان را با آزمون و خطا کشف کنند🔹 «شکوفایی دیرهنگام» نه‌تنها شکست نیست، بلکه یکی از انسانی‌ترین و اصیل‌ترین شکل‌های موفقیت است.</description>
                <category>Matin Mohamadi | متین محمدی + منفرد</category>
                <author>Matin Mohamadi | متین محمدی + منفرد</author>
                <pubDate>Wed, 02 Jul 2025 15:31:39 +0330</pubDate>
            </item>
                    <item>
                <title>کتاب تلخ و شیرین</title>
                <link>https://virgool.io/@irealmatin/%DA%A9%D8%AA%D8%A7%D8%A8-%D8%AA%D9%84%D8%AE-%D9%88-%D8%B4%DB%8C%D8%B1%DB%8C%D9%86-kbpy2igrkq8i</link>
                <description>قسمت دوم» خلاصه کتاب تلخ و شیرین ، اثر سوزان کین از زبان آقای مجتبی شکوری در پادکست رادیو راه که توسط هوش مصنوعی خلاصه و با شما به اشتراک گذاشته میشود ، امیدوارم مفید باشه :📘 خلاصه‌ کامل کتاب «تلخ و شیرین است» (Bittersweet)🎬 مقدمهدر قسمت دوم برنامه‌ی «رادیو راه»، کتابی معرفی می‌شود با عنوان «تلخ و شیرین است» که نویسنده‌اش سوزان کین است، کسی که پیش‌تر او را با کتاب «در ستایش افراد درون‌گرا» می‌شناختیم. آن‌چه این کتاب را خاص می‌کند، شرایط دشوار روحی نویسنده در هنگام نگارش آن است.🌅 تجربه‌ی لحظه‌ی تلخ و شیرینهمه‌ ما تجربه‌اش کرده‌ایم:در مهمانی، در سفر، در آغوش خانواده، لحظه‌ای از شادی و عشق ما را پر می‌کند؛ اما درست در همان لحظه، احساسی عمیق از نابود شدن آن لحظه و بدل شدنش به خاطره، قلبمان را می‌فشارد.این احساس متناقض، همزمانی شیرینی و اندوه است. سوزان کین این حس را کش می‌دهد، باز می‌کند و با پژوهش‌های مختلف و داستان‌های انسانی، در طول ۳۰۰ صفحه به واکاوی آن می‌پردازد.🧠 واژه‌ی کهن «پوتوس» و معنای غم زیباایرانیان باستان برای این احساس واژه‌ای داشتند: پوتوس (Pothos)؛ یعنی اشتیاق سوزان برای چیزی فوق‌العاده که یا نداریم یا نمی‌توانیم برای همیشه نگهش داریم.کریستوفر هیچنز جمله‌ای دارد که سوزان کین نیز به آن استناد می‌کند:«اگر می‌خواهی واقعاً زندگی کنی، باید با شادی در غم جهان مشارکت کنی.»این جمله، دعوت به انفعال نیست؛ بلکه دعوت به دیدن و پذیرفتن رنج به‌عنوان نقطه‌ی آغاز اتصال و کنش انسانی است. غم مشترک، دل‌های زخمی را به هم پیوند می‌زند. از دل همین اندوه، هم‌دلی، اتحاد و خلاقیت انسانی پدید می‌آید.🎵 چرا همه‌ی لالایی‌ها غمگین‌اند؟در پژوهشی توسط آنتونیو داماسیو (عصب‌شناس بزرگ)، نوزادان در معرض موسیقی‌های مختلف قرار گرفتند. موسیقی‌ای که بیشتر از همه آرامشان می‌کرد، لالایی‌هایی نزدیک به حس غم بودند.در تمام فرهنگ‌ها، لالایی‌ها رنگی از غم دارند. چرا؟ چون لالایی از ژرف‌ترین پیوند عاطفی بین مادر و کودک زاده می‌شود: اشتیاق، دلسوزی، نگرانی، عشق. پس این «غم کیهانی» چیزی مشترک میان همه‌ی ماست.✍️ نوشتن، ابزار نجاتسوزان کین بارها بر قدرت شفاگر نوشتن تأکید می‌کند. نه برای انتشار، نه برای زیبایی متن؛ بلکه برای:رهایی از درددرک خودبازنگری زخم‌ها«اگر هزار بار می‌توانستم فریاد بزنم، می‌گفتم: بنویس! چون نوشتن رهایت می‌کند، درمانت می‌کند، تلخی را به شکوه بدل می‌سازد.»🪑 تمرینی برای همدلی عمیقیکی از تمرین‌های جالب کتاب، کلاس خاصی‌ست که نویسنده در آن شرکت می‌کند:ده نفر روی صندلی‌هایی کنار هم می‌نشینند.کفش‌هایشان را جلوی صندلی‌شان می‌گذارند.درباره‌ی خود می‌نویسند: دردها، شادی‌ها، شرم‌ها...نوشته‌ها را روی صندلی می‌گذارند و جابه‌جا می‌شوند.هر فرد نوشته‌ی دیگری را می‌خواند و چیزی برای نویسنده‌اش می‌نویسد.این تمرین نشان می‌دهد که ما چقدر افراد اطرافمان را نمی‌شناسیم، حتی نزدیک‌ترین‌ها را. با خواندن این نوشته‌ها، پیوندی تازه و صمیمیتی واقعی و عمیق شکل می‌گیرد. سطح رابطه‌ها تغییر می‌کند.👩‍👧 فصل صادقانه: رابطه‌ی نویسنده با مادرشاز صمیمی‌ترین فصل‌های کتاب، روایت رابطه‌ی نویسنده با مادرش است. مادری که خانواده‌اش را در جنگ جهانی دوم از دست داده بود و با اضطرابی مزمن و محافظت افراطی دخترش را بزرگ کرد.همیشه نگران بود.بازی کردن دختر را خطرناک می‌دانست.می‌خواست دخترش در بند امنیت بماند.اما دختر صداهایی از دریا و آزادی می‌شنید، و میان این دو، جدال شدیدی وجود داشت. سوزان کین می‌نویسد:«یا می‌توانی خودت باشی یا می‌توانی کسی را دوست داشته باشی که فقط یک نسخه‌ خاص از تو را می‌پذیرد.»پس از ۳۰ سال تنش، مادر به آلزایمر مبتلا می‌شود. خاطراتش پاک می‌شوند و فقط کودکی‌اش باقی می‌ماند. سوزان ناگهان مادرش را نه به‌عنوان مادر، بلکه به‌عنوان کودکی زخم‌خورده می‌بیند و درک می‌کند.گاهی نمی‌توان کسی را ببخشید، اما می‌توان او را درک کرد — و این، شاید از بخشش هم مهم‌تر باشد.🧬 رنج نسل‌ها: میراث ژنتیکی درددر فصل پایانی، نویسنده به نکته‌ای تکان‌دهنده اشاره می‌کند:رنج‌های گذشتگان، فقط احساسی نیستند؛ بلکه ژنتیکی‌اند.رنج‌هایی چون قحطی، جنگ، ظلم، مهاجرت و ترس، باعث فعال یا غیرفعال شدن ژن‌ها در بدن نیاکان ما شده‌اند و این وضعیت، به ما منتقل شده است.داستان زندگی ما از لحظه‌ی تولد آغاز نمی‌شود؛ خیلی قبل‌تر آغاز شده.ما حامل روایت احساسی نسل‌ها هستیم.درک این موضوع، شاید باعث تسکین آن اندوه بی‌درمان درونمان شود.🪔 افسانه‌ی پایانی: جستجوی نور در دل تاریکیکتاب با یک افسانه‌ی کهن پایان می‌یابد:در جایی بی‌زمان و بی‌مکان، ظرفی از نور می‌شکند.تکه‌های نور در دل تاریکی پراکنده می‌شوند.هرکس به شیوه‌ی خود به درون تاریکی می‌نگرد،تا تکه‌ای از آن نور را بیابد و ظرف شکسته را دوباره کامل کند.🌟 پیام نهایی کتاب:برای یافتن شیرینی، باید تلخی را ببینیم و بپذیریم.تنها راه تجربه‌ی عشق و اتصال واقعی، پذیرفتن رنج و غم انسانی است.هر یک از ما مسئول یافتن نوری‌ست که در تاریکی وجود دارد.و شاید این، معنای واقعی زندگی در این فرصت کوتاه باشد.</description>
                <category>Matin Mohamadi | متین محمدی + منفرد</category>
                <author>Matin Mohamadi | متین محمدی + منفرد</author>
                <pubDate>Wed, 02 Jul 2025 15:25:11 +0330</pubDate>
            </item>
                    <item>
                <title>چهار هزار هفته !</title>
                <link>https://virgool.io/@irealmatin/%DA%86%D9%87%D8%A7%D8%B1-%D9%87%D8%B2%D8%A7%D8%B1-%D9%87%D9%81%D8%AA%D9%87-t31szjxfrt2p</link>
                <description>قسمت اول » خلاصه کتاب چهار هزار هفته، اثر آقای برکمن(Oliver Burkeman) از زبان آقای مجتبی شکوری در پادکست رادیو راه که توسط هوش مصنوعی خلاصه و با شما به اشتراک گذاشته میشود ، امیدوارم مفید باشه :📚 خلاصه کامل کتاب «چهار هزار هفته» نوشته اولیور برکمنکتاب «چهار هزار هفته» (Four Thousand Weeks) اثری است از اولیور برکمن .⏳ مفهوم عنوان کتاباگر فردی تا سن ۸۰ سالگی زندگی کند، در مجموع حدود ۴۰۰۰ هفته عمر خواهد داشت. این عدد نمادین است تا به ما نشان دهد که عمر انسان چقدر کوتاه، محدود و حتی خنده‌دارانه کوتاه است. برکمن در کتابش به ما یادآوری می‌کند که این حقیقت، تنها نکته ماجرا نیست.⚡ چرا این‌قدر عجله داریم؟در دنیای مدرن، ما با سرعتی سرسام‌آور زندگی می‌کنیم؛ تجربه‌ها را یکی پس از دیگری می‌بلعیم، بدون اینکه واقعا در آن لحظات حضور داشته باشیم. به قول نویسنده، ما طوری زندگی می‌کنیم که انگار روی حالت «3X یا 4X» هستیم! مثل تماشای زندگی در حالت سریع. این شتاب‌زدگی باعث شده که عمق تجربه‌های ما از بین برود.مثلاً اغلب مردم می‌گویند وقت کتاب خواندن ندارند؛ اما واقعیت این است که وقت دارند، فقط حوصله کند شدن و فرو رفتن در عمق تجربه را ندارند. خواندن رمان، درک حالات شخصیت، توصیف چهره‌ها و احساسات، نیازمند آرامش و صبوری در لحظه حال است.💨 چرا از «آرام زندگی کردن» فرار می‌کنیم؟به گفته برکمن، دلیل اصلی این‌همه عجله و فرار از لحظه حال، ترس از مواجهه با خودمان است. ما آن‌قدر از خودمان فاصله گرفته‌ایم که نمی‌خواهیم حتی یک ثانیه چشم در چشم با خود باشیم. پس دوباره به زندگی سریع و شلوغ پناه می‌بریم.دنیا هم این سبک زندگی پرسرعت را تشویق می‌کند. افرادی که همیشه در حال دویدن هستند، در جامعه به‌عنوان «موفق» شناخته می‌شوند. در مقابل، انسان‌های آرام و کند، گونه‌ای در حال انقراض هستند.🕰 نسخه نجات: «صبوری فعال»در یکی از فصل‌ها، نویسنده از صبوری به‌عنوان راه نجات یاد می‌کند. اما نه صبوری منفعلانه‌ای که در طول تاریخ به طبقات ضعیف توصیه می‌شد؛ بلکه نوعی صبوری فعال و درگیرانه (معادل واژه آلمانی Drang) که نوعی ایستادگی در برابر شتاب زندگی مدرن است.🖼 تمرینی عجیب از یک استاد هاروارداو مثالی می‌زند از کلاس «تاریخ هنر» در دانشگاه هاروارد با تدریس خانم جنیفر رابرتز. او به دانشجویانش می‌گوید:«بروید در موزه‌ای نزدیک محل زندگی‌تان، روبه‌روی یک تابلوی نقاشی یا مجسمه بنشینید و سه ساعت فقط به آن نگاه کنید. بدون موبایل. بدون هیچ محرک دیگری. فقط نگاه کنید.»در ابتدا دانشجویان دچار بی‌قراری می‌شوند، حتی شک می‌کنند که آیا تابلو را درست انتخاب کرده‌اند. اما کم‌کم آرام می‌گیرند. زمان کند می‌شود و ذهنشان به تدریج سم‌زدایی می‌شود.در دقیقه‌های هشتاد به بعد، شروع به کشف جزئیات مخفی تابلو می‌کنند. مثلاً سایه‌ای را می‌بینند یا احساس یک چهره در گوشه‌ای از تابلو را درک می‌کنند. تابلو ناگهان زنده می‌شود. انگار وارد آن اثر هنری شده‌اند. این تمرین به آن‌ها می‌آموزد که درک واقعی، نیازمند صبوری و حضور در لحظه است.🧠 سرعت زیاد، دشمن کنجکاویبرکمن می‌گوید: اعتیاد ما به سرعت، باعث شده حتی در فرآیند یادگیری و کنجکاوی دچار بحران شویم. در مواجهه با هر سوال یا مسئله‌ای، فوراً می‌خواهیم به جواب برسیم. اما:«آدم‌هایی که گم می‌شوند، سریع‌تر می‌دوند.»گاهی باید اجازه دهیم ندانستن ادامه پیدا کند. مدتی طولانی درگیر یک سوال باشیم، با افراد مختلف حرف بزنیم، نظرات متفاوت بشنویم و فرآیند یادگیری را با صبر طی کنیم. اگر این را بپذیریم، مثل یک کودک، دوباره شروع به یادگیری واقعی می‌کنیم.🌌 فصل پایانی: «درمان بی‌اهمیتی کیهانی»در فصلی به نام «درمان بی‌اهمیتی کیهانی»، نویسنده از فیلسوفی به نام برایان مک‌گی نقل‌قول می‌آورد:ما فکر می‌کنیم تاریخ بشر خیلی طولانی‌ست، اما اگر آن را با مقیاس عمر ۸۰ ساله بسنجیم، می‌بینیم که:از مصر باستان تا امروز = حدود ۴۷ عمر انسانی.از زمان تولد مسیح تا امروز = ۲۵ عمر انسانی.تمام تاریخ تمدن بشر = فقط ۷۵ عمر انسانی = به اندازه‌ی تعداد مهمانان یک جشن عروسی!این یعنی ما یک نقطه هستیم روی محور زمان، بین دو بی‌نهایت عظیم گذشته و آینده. اما خودبزرگ‌بینی ما باعث شده از عظمت زمان له شویم.🧘‍♂️ تنها راه رهاییبه قول آلن دوباتن:«خود (Ego) ما اول بادمان می‌کند، بعد شکنجه‌مان می‌دهد چون آن‌قدر که باید مهم نیستیم.»تنها راه رهایی، پذیرفتن ناچیزی‌مان در برابر جهان و زمان است. این کار ابتدا تلخ است، اما بعد از آن، ما به درک عمیق‌تری از زندگی می‌رسیم.در پایان، کتاب با جمله‌ای از بورخس تمام می‌شود:«زمان، ماده‌ای‌ست که از آن ساخته شده‌ام.زمان، رودخانه‌ای‌ست که مرا با خود می‌برد، اما من خود آن رودخانه‌ام.زمان، آتشی‌ست که مرا می‌سوزاند، اما من خود آن آتش هستم.»🎯 پیام نهایی کتاب:ما کنترل زمان را نداریم، اما می‌توانیم سوار بر زمان زندگی کنیم.تنها راه داشتن یک زندگی معنادار، کند کردن سرعت، حضور در لحظه و پذیرش ندانستن و ناتوانی است.به جای دویدن برای تجربه بیشتر، باید عمیق‌تر زندگی کنیم.</description>
                <category>Matin Mohamadi | متین محمدی + منفرد</category>
                <author>Matin Mohamadi | متین محمدی + منفرد</author>
                <pubDate>Wed, 02 Jul 2025 15:20:05 +0330</pubDate>
            </item>
                    <item>
                <title>پشت صحنه LLM ها</title>
                <link>https://virgool.io/@irealmatin/%D9%BE%D8%B4%D8%AA-%D8%B5%D8%AD%D9%86%D9%87-llm-%D9%87%D8%A7-o3ouypk9part</link>
                <description>یکی از دوستانم که اصلاً تو خط تکنولوژی نیست، ازم می‌پرسید ChatGPT چطوری کار می‌کنه. منم سعی کردم یه توضیح ساده و سریع بدم. گفتم اینجا هم بذارمش که بعداً به کار بقیه هم بیاد!البته جزییات فنی‌ش خیلی بیشتر از اینه، ولی این یه خلاصه TL;DR بود که امیدوارم به دردتون بخوره :))How LLMs works ? فرض کن می‌خوایم از صفر شروع کنیم. LLM در اصل یه جور سیستم خیلی پیشرفته‌ست که با متن (و گاهی چیزای دیگه) کار می‌کنه. اول کار، هر متنی که بهش می‌دیم رو به یه زبون عددی تبدیل می‌کنه که خودش بفهمه. به این کار می‌گن tokenization. یعنی متن رو به تکه‌های کوچیک (مثل کلمه یا بخشی از کلمه) تبدیل می‌کنه و به هر تکه یه شماره می‌ده که بهش می‌گن token. مثلاً کلمه &quot;سلام&quot; ممکنه یه token بشه، یا یه کلمه پیچیده‌تر مثل &quot;ناباورانه&quot; بشکنه به &quot;نا&quot; و &quot;باورانه&quot;. این کار با الگوریتم‌هایی مثل Byte Pair Encoding (BPE) انجام می‌شه و یه دایره لغات درست می‌کنه که مثلاً تو GPT-4 حدود 100 هزار token داره. حالا متن ما به یه رشته عدد تبدیل شده که مدل می‌تونه باهاش کار کنه.بعدش می‌رسیم به اصل ماجرا: LLMs از یه neural network به اسم Transformer استفاده می‌کنن. این شبکه یه سری عدد (همون token‌ها) رو می‌گیره و حدس می‌زنه که بعدش چه token‌ای باید بیاد. این حدس زدن بر اساس احتمالاتیه که مدل تو مرحله pre-training یاد گرفته. تو این مرحله، مدل رو با مقدار عظیمی داده (مثلاً 15 تریلیون token از اینترنت) تمرین می‌دن که بتونه الگوهای زبون رو بفهمه. کارش اینه که ببینه تو این داده‌ها، بعد از یه جمله یا یه کلمه، معمولاً چی میاد. اینجوری میلیاردها parameter (وزن‌های داخل شبکه) رو تنظیم می‌کنه تا پیش‌بینی‌هاش دقیق‌تر بشه.وقتی مدل آموزشش تموم شد، می‌تونی ازش استفاده کنی. به این کار می‌گن inference. یه متن اولیه (مثلاً یه سوال) بهش می‌دی، اون شروع می‌کنه به پیش‌بینی token بعدی، یه نمونه از احتمالات انتخاب می‌کنه، به متن اضافه می‌کنه و همین‌جوری ادامه می‌ده. مثل یه سیستم autocomplete خیلی باهوشه که جمله‌به‌جمله می‌سازه. چون انتخاب token‌ها یه مقدار تصادفیه، هر بار که اجرا می‌کنی ممکنه جواب یه کم فرق کنه.تا اینجا، این یه base model‌ه، یعنی فقط می‌تونه متنایی شبیه چیزایی که تو اینترنت دیده تولید کنه. ولی برای اینکه واقعاً به‌دردبخور بشه (مثلاً جواب سوال بده)، باید یه مرحله دیگه بره که بهش می‌گن post-training. اینجا دو تا تکنیک اصلی داره:اولی : Supervised Fine-Tuning (SFT) به مدل یاد می‌دن که چجوری مثل یه دستیار جواب بده، مثلاً با تمرین روی مکالمه‌ها یا سوال‌وجواب‌ها.دومی : Reinforcement Learning (RL)مدل رو با پاداش دادن به جواب‌های درست (مثلاً تو ریاضی یا کدزنی) بهتر می‌کنن تا بتونه استدلال کنه و مثلاً مسائل رو قدم‌به‌قدم حل کنه.تا اینجا، تقریبا کل داستان LLMs خلاصه گفتیم: متن رو به token تبدیل می‌کنه، با Transformer پیش‌بینی می‌کنه چی باید بیاد، و با post-training به بلوغ میرسه:))مدل‌های multimodalهم بدونی بد نیست . اینا همون LLMs‌ن، ولی یه قدم جلوتر. اینجا دیگه فقط با متن کار نمی‌کنن، بلکه با چیزای دیگه مثل عکس، صدا یا حتی ویدئو هم کار می‌کنن. چجوری؟ مثل قبل، همه‌چیز با tokenization شروع می‌شه. ولی حالا فقط متن نیست. مثلاً یه عکس رو به تکه‌های کوچیک (مثل پچ‌های تصویر) تقسیم می‌کنن و بهشون token می‌دن. یا یه فایل صوتی رو به شکل موج صوتی (مثل spectrogram) درمی‌آرن و به token تبدیل می‌کنن.بعدش، همون Transformer که برای متن بود، این token‌های جدید رو هم می‌فهمه. فرقی نمی‌کنه که token از متن باشه، عکس باشه یا صدا مدل فقط یه رشته token می‌بینه و پیش‌بینی می‌کنه که بعدش چی باید بیاد.تو مرحله آموزش، مدل رو با داده‌های مخلوط (مثلاً متن + عکس) تمرین می‌دن که بتونه ارتباط بین اینا رو بفهمه. مثلاً یاد می‌گیره که یه عکس رو توصیف کنه یا از یه صدا متن بسازه.در کل مدل‌های multimodal همون سیستم LLM‌ن، ولی گسترش پیدا کردن که همه‌چیز رو به شکل token ببینن و بتونن بین نوعای مختلف داده (مثل متن و تصویر) ارتباط برقرار کنن.Agent</description>
                <category>Matin Mohamadi | متین محمدی + منفرد</category>
                <author>Matin Mohamadi | متین محمدی + منفرد</author>
                <pubDate>Wed, 30 Apr 2025 17:09:28 +0330</pubDate>
            </item>
                    <item>
                <title>مهندسی تغییر – پنجره اورتون (Overton Window)</title>
                <link>https://virgool.io/@irealmatin/%D9%85%D9%87%D9%86%D8%AF%D8%B3%DB%8C-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D9%BE%D9%86%D8%AC%D8%B1%D9%87-%D8%A7%D9%88%D8%B1%D8%AA%D9%88%D9%86-overton-window-sfycv6i4qyje</link>
                <description>چطور چیزی که غیرممکن به نظر میاد، عادی می‌شه؟  OWمعمولاً وقتی به تغییرات اجتماعی یا حتی تغییرات توی بازار نگاه می‌کنیم، فکر می‌کنیم که اینا یهویی اتفاق افتادن. ولی واقعیت اینه که خیلی از این تغییرات، یه مسیر مشخص دارن و مرحله‌به‌مرحله از یه چیزی که هیچ‌کس حتی بهش فکر نمی‌کرد، تبدیل می‌شن به یه چیز عادی که اگه مخالفش باشی، توی اقلیت قرار می‌گیری.  یه چیزی هست به اسم &quot;پنجره اورتون&quot; که دقیقاً توضیح می‌ده چطور یه ایده، از &quot;غیرقابل‌تصور&quot; بودن، می‌رسه به &quot;سیاست رسمی&quot;. یعنی چی؟ یعنی اولش کسی بهش فکر هم نمی‌کنه، بعد کم‌کم یه سری آدمای عجیب‌وغریب میان درباره‌ش حرف می‌زنن، بعدش یه عده شروع می‌کنن به دفاع کردن ازش، رسانه‌ها می‌گیرنش، کم‌کم عادی می‌شه، و آخرش تبدیل می‌شه به یه چیز کاملاً پذیرفته‌شده که حتی زیر سوال بردنش هم سخت می‌شه.  یه مثال خیلی واضح: برده‌داری. یه زمانی توی دنیا برده داشتن یه چیز طبیعی بود. بعد یه عده گفتن &quot;آقا این کار درسته؟&quot; و یه سری بحث‌ها شروع شد. اولش همه گفتن اینا دیوونه‌ان، ولی کم‌کم ایده‌ی ممنوعیت برده‌داری مقبول شد، بعد رسانه‌ها روش مانور دادن، کم‌کم یه سری کشورا قانون گذاشتن، و الان؟ الان برده‌داری یه تابوی جهانیه.  چندتا مثال از جابه‌جا شدن ایده‌ها توی پنجره اورتون  :✅ اجاره دادن خونه به غریبه‌ها  –  Airbnb : یه زمانی فکرش رو بکن، یکی بگه بیا خونت رو به یه آدمی که نمی‌شناسی اجاره بده! اولین واکنش چیه؟ &quot;مگه دیوونه‌ام؟ اگه دزد باشه؟ اگه خراب کنه؟&quot; ولی Airbnb اومد، کم‌کم اعتمادسازی کرد (نظرات کاربران، سیستم بیمه و ...)، بعدش این ایده عادی شد و الان خیلیا حتی ترجیحش می‌دن به هتل.  ✅ اوبر و لیفت – سوار شدن به ماشین یه غریبه: قبل از این، تاکسی گرفتن یه مدل مشخص داشت. حالا یکی میاد می‌گه بیا توی یه اپلیکیشن سوار ماشین یه آدم ناشناس شو! اوایل همه می‌گفتن خطرناکه، ولی بعد با سیستم‌های امتیازدهی و قیمت‌گذاری رقابتی، این مدل جا افتاد و حالا دیگه کاملاً عادیه.  ✅ گوشت گیاهی (Beyond Meat/Impossible Foods): یه زمانی می‌گفتن گوشت فقط از حیوانه، والسلام! ولی کم‌کم، بحثای محیط‌زیستی، تبلیغات، و پیشرفت‌های علمی باعث شد که حالا توی رستوران‌های زنجیره‌ای بزرگ، این محصولات یه گزینه‌ی کاملاً معقول باشن.  ✅ بیت‌کوین: یه زمانی فقط خلافکارا و برنامه‌نویسا ازش استفاده می‌کردن. بعدش کم‌کم مردم شروع کردن به بحث کردن در موردش، بعد شرکتای بزرگ اومدن وسط، و حالا بانکای مرکزی هم به فکر افتادن که ارز دیجیتال خودشونو بسازن.  ✅ دورکاری: قبل از کرونا؟ همه می‌گفتن کار فقط توی شرکت. بعد کرونا اومد، مردم امتحانش کردن، دیدن که خیلی جاها کار می‌کنه، و حالا خیلی از شرکتا مدل ترکیبی کار رو پذیرفتن.  این مدل پنجره اورتون فقط مخصوص سیاست نیست. توی بیزینس و استارتاپ‌ها هم کلی مثال ازش هست. خیلی از استارتاپا یه ایده‌ی اولش عجیب‌وغریب دارن که کسی جدی‌شون نمی‌گیره. ولی بعد، آروم‌آروم، این ایده جا می‌افته و تبدیل به جریان اصلی بازار می‌شه.  هر تغییری توی دنیا، معمولاً از یکی از این دو راه میاد:۱. یه مشکلی که مردم ازش خبر دارن و دنبال حل کردنشن.مثلاً قبل از اینکه دیجی‌کالا بیاد، همه می‌دونستن که خریدن کالای دیجیتال یه دردسره، چون ممکنه جنس فیک باشه یا گارانتی نداشته باشه. پس وقتی دیجی‌کالا یه روش مطمئن‌تر ارائه داد، مردم خیلی سریع پذیرفتنش.۲. یه مشکلی که مردم اصلاً حسش نمی‌کنن، چون انقدر بهش عادت کردن که فکر می‌کنن طبیعیه.قبل از اسنپ، کسی به این فکر نمی‌کرد که گرفتن تاکسی یه مشکل باشه. عادت کرده بودیم که بریم کنار خیابون، دست تکون بدیم، چونه بزنیم و پول نقد بدیم. ولی وقتی اسنپ اومد، تازه فهمیدیم که یه روش بهتر هم وجود داره.مشکلای دسته‌ی اول رو اگه حل کنی، سریع نتیجه می‌گیری. ولی دسته‌ی دوم؟ اینا تغییرای عمیقی‌ان که جامعه رو یه لِوِل بالا می‌برن، اما سخت‌ترن، چون باید عادت‌های مردم رو عوض کنی، کلی زمان و هزینه برای فرهنگ‌سازی بذاری و احتمالاً چندتا استارتاپ قربانی بشن تا یکی موفق بشه.البته زمان بندی ورود رو هم نمیشه دست کم گرفت !-اگه خیلی زود وارد بشی، مردم هنوز آماده نیستن و پس می‌زننت.-اگه خیلی دیر بجنبی، یکی دیگه قبلاً جا افتاده و دیگه شانسی نداری.باید درست قبل از اینکه بازار آماده بشه، وارد بشی و خودت اون موج رو بسازی.مثلاً اسنپ‌فود تونست توی بهترین زمان، فرهنگ سفارش آنلاین غذا رو جا بندازه. ولی قبلش، یه عالمه استارتاپ که همین ایده رو داشتن، شکست خوردن. چرا؟ چون هنوز مردم به سفارش اینترنتی غذا اعتماد نداشتن.یا پرداخت دیجیتال رو ببین. تا قبل از کرونا، خیلیا هنوز به پرداخت با  QR  code و کیف پول دیجیتال عادت نکرده بودن. ولی یه‌دفعه شرایط طوری شد که همه مجبور شدن اینو قبول کنن. پس بعضی وقتا، یه تغییر بیرونی باعث می‌شه که پنجره‌ی اورتون سریع‌تر جابه‌جا بشه.حالا که تا اینجا مطالعه کردید بد نیست که این موضوع رو هم بدونید :مسیر تبدیل شدن یه ایده به جریان اصلی چجوریه؟۱. غیرقابل‌تصور (Unthinkable): ایده‌ای که کسی اصلاً جدی نمی‌گیره، حتی گفتنش هم مسخره‌ست.۲. رادیکال (Radical): یه عده آدم خاص درباره‌ش حرف می‌زنن ولی بقیه فکر می‌کنن دیوونه‌ن.۳. قابل‌بحث (Acceptable): رسانه‌ها شروع می‌کنن درباره‌ش بحث کنن. مردم هنوز قانع نشدن ولی دیگه اون‌قدرها هم عجیب نیست.۴. معقول (Sensible): حالا دیگه منطقی به نظر می‌رسه، یه عده امتحانش کردن و جواب داده.۵. محبوب (Popular): همه درباره‌ش حرف می‌زنن، اکثر مردم قبولش دارن.۶. سیاست رسمی (Policy): اگه مخالفش باشی، توی اقلیت قرار می‌گیری.اگر بخوایم یه سیر تغیر و تحولی هم  ببینیم میتونیم به هوش مصنوعی اشاره کنیم :&quot;ربات هیچ‌وقت نمی‌تونه جای آدمو بگیره!&quot;سال ۲۰۰۰: فقط توی داستانای علمی‌تخیلی بود. مردم فکر می‌کردن هوش مصنوعی یعنی یه آدم‌آهنی که تو خیابون راه بره.سال ۲۰۱۰: دستیارای صوتی مثل سیری و الکسا اومدن، ولی هنوز ضعیف بودن.سال ۲۰۲۰: چت‌بات‌هایی مثل ChatGPT و Midjourney نشون دادن که هوش مصنوعی می‌تونه متن بنویسه، عکس طراحی کنه و حتی کد بزنه.سال ۲۰۲۴: شرکتا دارن کارمندای بخش خدمات مشتری رو با هوش مصنوعی جایگزین می‌کنن.و نتیجه؟ الان اگه یه سایت چت‌بات نداشته باشه، عجیبه!پس چی شد؟همه‌ی تغییرای بزرگ یه مسیر دارن. از جایی که هیچ‌کس حتی بهش فکر نمی‌کنه، تا جایی که مخالفت باهاش غیرمنطقی به نظر میاد. بعضیا توی این مسیر خیلی زود وارد می‌شن و می‌بازن، بعضیا دیر میان و شانسی ندارن. ولی اونایی که توی لحظه‌ی درست وارد بازی می‌شن، نه‌تنها یه بازار جدید می‌سازن، بلکه عادتای یه نسل رو تغییر می‌دن.</description>
                <category>Matin Mohamadi | متین محمدی + منفرد</category>
                <author>Matin Mohamadi | متین محمدی + منفرد</author>
                <pubDate>Wed, 02 Apr 2025 04:02:09 +0330</pubDate>
            </item>
                    <item>
                <title>ادامه ادامه آنالیز</title>
                <link>https://virgool.io/@irealmatin/%D8%A7%D8%AF%D8%A7%D9%85%D9%87-%D8%A7%D8%AF%D8%A7%D9%85%D9%87-%D8%A2%D9%86%D8%A7%D9%84%DB%8C%D8%B2-rc9nl23frsua</link>
                <description>- قسمت سوم• آنالیز حدی (Asymptotic analysis)در ریاضی ما توابع خطی رو به این فرم مینویسیم:f(n) = an + bیعنی تابع ما یک رابطه بین ورودی و خروجی تعریف میکنه. در بحث آنالیز الگوریتم ها باید بدونیم که در حالت کلی با افزایش سایز مسئله(سایز ورودی) زمان اجرای الگوریتم هم بیشتر میشه. ما دوست داریم بتونیم زمان اجرای الگوریتممون رو به صورت یک تابع از ورودی بیان کنیم. مثل مثال بالا. اول چندتا تا نکته رو بگیم:- درسته که سایز ورودی عامل اصلی هستش ولی دقت کنیم که مثلا اگه یه الگوریتم مرتب سازی داشته باشیم که قرار باشه یه آرایه رو مرتب کنه، نه تنها سایز آرایه مهمه بلکه آرایش عناصر و ترتیب قرارگیری اونها از قبل در آرایه هم مهمه. ممکنه از قبل تقریبا مرتب باشند و فقط نیاز به چند عملیات داشته باشه تا کاملا مرتب بشه. حالا یه آرایه با همون سایز ولی کاملا نامرتب. کاملا مشخصه که تعداد عملیات بیشتر و در نتیجه زمان اجرای بیشتری رو میطلبه. پس: نه تنها سایز وروری مهمه بلکه نوع ورودی هم مهمه- نکته دوم اینه که ما بدترین حالت رو در نظر میگیریم. یعنی مثلا برای یه آرایه که قراره به صورت صعودی مرتب کنیم فرض میکنیم ترتیب اولیش نزولی باشه.- نکته سوم اینه که در حالت کلی هرچه اندازه ورودی تابع بزرگ‌تر باشه زمان اجرای الگوریتم بیشتره. اگه تابع مربوط به زمان اجرای یه الگوریتم رو رسم کنیم، معمولا با بزرگ شدن n زمان اجرا هم زیاد میشه. هدف ما اینه که بدونیم این افزایش زمان اجرا به چه صورته؟ یعنی با بزرگ شدن n زمان اجرا چجوری و با چه نسبتی افزایش پیدا میکنه یا به عبارتی نرخ رشد(growth rate) تابع چه جوریه.تعریف نرخ رشد یا growth rate: نسبت افزایش اندازه ورودی به زمان اجرای تابعاو بزرگ (O): از این نماد برای نشان دادن نرخ رشد تابع استفاده می‌کنیم و به این صورت تعریفش می‌کنیم:اگر f(n) و g(n) دو تابع باشند که اعداد صحیح مثبت رو به اعداد حقیقی مثبت مپ کنند، آنگاه f(n) از O(g(n)) است اگر عدد ثابتی مثل c &gt; 0 و n &gt; a وجود داشته باشد به طوری که:f(n) &lt;= cg(n) , n &gt;= aاین رو چند جور میشه خوند:- میتونیم بگیم f(n) از اُردر(order) g(n) است.- میتونیم بگیم f(n) در O(g(n)) است.میتونیم بگیم که g(n) کران بالای f(n) است.بعضی مواقع ما می‌نویسیم:f(n) = O(g(n))---&gt; باید حواسمون باشه این علامت = اون علامت مساوی که میشناسیم نیست بلکه به جای کلمه is استفاده شده. بهتره همون is رو استفاده کنیم.f(n) is O(g(n))یه تعریف دیگه از نماد O بزرگ: بدترین نرخ رشد الگوریتم در بدترین حالت.خوب که به این جمله نگاه کنیم میبینیم در واقع انگار یه جمله مثبتیه. یعنی O داره به ما میگه که خیالت راحت باشه از این مقدار بیشتر نمیشه. یعنی مثل علامت =&gt; (کوچک‌تر یا مساوی) عمل می‌کنه.خب خب خب ... میخوایم یک مثال از دنیای واقعی رو ببینیم و به کمک نماد O ببینم از چه مرتبه‌ای هست. کد زیر رو در نظر بگیریم:a = 10b = []for i in range(N):    b.append(i)انتساب مقدار ۱۰ به a یک عملیات از مرتبه O(1) است چون در زمان ثابتی انجام میشود. همچنین انتساب [ ] به b هم همینطور. بدنه حلقه for هم یک عملیات از مرتبه O(1) است (البته این یک نوع آنالیز دیگر نیاز دارد که بعدا بررسی میکنیم) و این عملیات ثابت به تعداد N بار تکرار می‌شود. پس الگوریتم ما از مرتبه O(N) است. اینجا ما عملیات های ثابت رو در نظر نگرفتیم یعنی اینجوری میشه در واقعیت:f(N) = 1 + 1 + N = 2 + Nحال اگر فرض کنیم N به اندازه کافی بزرگ باشد(به بینهایت میل کند) طبق تعریفی که برای O داشتیم میتونیم بگیم:f(N) is O(n)و اینجوریه که نماد O به ما اجازه میده که بتونیم ضرایب ثابت و عملیاتی که در زمان O(1) انجام میشن رو در نظر نگیریم(البته در تحلیل حدی!!!!)یعنی در واقع عدد ثابت و بزرگ تر از صفری مثل c وجود دارد که به ازای n بزرگ تر از a نمودار cg(n) بالای نمودار f قرار میگیره و f از پایین بهش نزدیک میشه(در بینهایت بهش میل میکنه). این یعنی تقریبا همون علامت =&gt; که به این معنیه که مرتبه رشد f از اُردر O(n) است که یه تابع خطی است.ما به دنبال الگوریتم هایی هستیم که مرتبه رشد اونها n یا log n و یا حداکثر n² باشه. log n خیلی خوبه، n خوبه و n² هم نسبتا قابل قبوله در بعضی مواقع ولی n³ و بالاتر و یا مرتبه نمایی به هیچ وجه به درد نمی‌خورن و به شدت غیر بهینه هستند.توابعی که زیاد با اونها روبرو میشیم در بحث آنالیز الگوریتم‌ها:f(n) = c     تابع ثابتf(n) = an + b    تابع خطیf(n) = n²     تابع درجه دومf(n) = n³     تابع درجه سومf(n) = log n     تابع لگاریتمf(n) = n log nf(n) = a ^ n    تابع نماییپ.ن:در علوم کامپیوتر معمولا به صورت توافقی وقتی مبنای لگاریتم رو نمینویسیم برخلاف ریاضی که اون رو ۱۰ فرض میکنن ولی توی کتابای کامپیوتر اون رو ۲ در نظر میگیرن. اینجا هم مبنا ۲ هست.Source : Donald Knuth</description>
                <category>Matin Mohamadi | متین محمدی + منفرد</category>
                <author>Matin Mohamadi | متین محمدی + منفرد</author>
                <pubDate>Fri, 23 Dec 2022 13:16:04 +0330</pubDate>
            </item>
                    <item>
                <title>ادامه بحث آنالیز</title>
                <link>https://virgool.io/@irealmatin/%D8%A7%D8%AF%D8%A7%D9%85%D9%87-%D8%A8%D8%AD%D8%AB-%D8%A2%D9%86%D8%A7%D9%84%DB%8C%D8%B2-qgiftqd42iqj</link>
                <description>خب بحث انواع آنالیز‌ها رو ادامه بدیم.خب مشکلات آنالیز تجربی رو گفتیم. راه حل‌هاشم گفتیم. حالا بریم ببینیم باید چیکار کنیم.عبارتی مثل انتساب مقدار به یک متغییر رو در نظر بگیرین.a = 10این عبارت سطح بالا به تعدادی مشخص از عملیات‌های سطح پائین تبدیل میشه. یا عبارتی مثل:data[i]باز هم در سطوح پائین تر به یه تعداد مشخصی از operation ها تبدبل میشه. و خب میشه هر برنامه ای رو به این عبارت های اولیه شکست چون هر برنامه در واقع تعداد مشخصی از عبارت‌های اولیه است. مثلا با حلقه for چند عبارت اولیه رو چندین بار تکرار میکنیم. پس در همین سطح بالایی هم که هستیم برنامه‌های ما چیزی نیستن جز مجموعه‌ای از primitive operation ها. چیزی که الان به ذهنمون میرسه اینه که تعداد این primitive operation ها رو اندازه بگیریم و مثلا اون رو t بنامیم. این t رو به عنوان یه رویکرد سطح بالا برای اندازه‌گیری زمان اجرای الگوریتم در نظر میگیریم. اینجا دقت کنین که مثلا عبارت:a = 10به تعداد مشخصی operation در سطوح پائین تبدیل میشه و :data[0]هم به تعداد مشخصی تبدیل میشه. ولی اینها تعداد مساوی ندارن. ولی ما وقتی جمعشون کردیم و به t رسیدیم فرضمون این بوده که اینها در زمان یکسان اجرا میشن. یعنی تعداد operation های سطح پایین یکسان و یک نوعی رو تولید میکنن. این فرض تاثیر چندانی در آنالیز ما نداره و اینجا برای سادگی ما اینجور فرض کردیم و این با ارزشه.خب حالا که ما t رو داریم، در واقع یه رودیکرد سطح بالا داریم. میتونیم t رو به عنوان زمان اجرای الگوریتم اعلام کنیم. البته اینجا ممکنه یکم گیج بشیم. چرا که داریم راجع به زمان حرف می‌زنیم در صورتی که t از جنس زمان نیست. رویکرد سطح بالای ما در واقع داره تعداد primitive operation ها رو میگه و این تو هر کامپیوتری صادقه‌. حالا دیگه رو هر کامپیوتری میایم حساب میکنیم که اون کامپیوتر هر operation رو در چه زمانی انجام میده و با یع تناسب ساده میتونیم زمان اجرا رو به دست بیاریم. (**حقیقتش من درست نمیدونم تعداد operation بر ثانیه درسته یا تعداد instruction بر ثانیه**). اینجا دیگه ما نیازی نیست که برای مطالعه الگوریتم حتما اونو implement کنیم، میتونیم از psudo code استفاده کنیم. پس ما به هدفمون که ایجاد یک رویکرد سطح بالا بدون implement کردن و مستقل از ویژگی‌های سخت افزاری و نرم‌افزاری بود رسیدیم. تو قسمت بعد از این روش استفاده می‌کنیم و انواع دیگه آنالیز رو باهاش انجام میدیم.</description>
                <category>Matin Mohamadi | متین محمدی + منفرد</category>
                <author>Matin Mohamadi | متین محمدی + منفرد</author>
                <pubDate>Fri, 23 Dec 2022 01:25:57 +0330</pubDate>
            </item>
                    <item>
                <title>آنالیز</title>
                <link>https://virgool.io/@irealmatin/%D8%A2%D9%86%D8%A7%D9%84%DB%8C%D8%B2-xatznhdogerh</link>
                <description> قسمت اولخب فرض می‌کنیم که مخاطبین با تعریف الگوریتم و بعضا نمونه‌هایی از الگوریتم‌های مرتب سازی و پیدا کردن ماکسیمم و مینیمم یک آرایه و اینها آشنا هستند. پس مستقیم میریم سر بحث آنالیز الگوریتم‌ها.علاوه بر موارد بالا، لازمه که با تفاوت real time و cpu time آشنا باشیم. اینها رو میگیم. زمان واقعی یا real time: این زمان از لحظه شروع برنامه تا لحظه پایان اون محاسبه میشه. مثلا یه برنامه داریم که قراره یه ورودی از کاربر بگیره و اونو رو صفحه پرینت کنه. اما اگه کاربر ۱۰ دقیقه همینجوری صبر کنه و بعد چیزی رو وارد کنه، این زمان بیکاری هم جزو real time حساب میشه. یعنی اول کار زمان شروع برنامه رو میگیریم و آخر کار هم زمانی که برنامه به پایان رسید دوباره زمان رو میگیریم و زمان ابتدا رو از انتها کم میکنیم. برای محاسبه زمان واقعی تو پایتون میتونیم این کارو بکنیم:import timestart = time.time()...end = time.time()print(f&#039;real time is: {end - start}&#039;)از اونجایی که زمان واقعی به چیزهایی مثل اینکه وقتی درحال اندازه گیری زمان واقعی هستیم چه پروسس‌های دیگه‌ای ران هستند، اولویت یا priority به چه صورت هست یا رو چه سیستم‌عاملی و چه سخت افزاری داریم اینکارو میکنیم، وابسته است، پس عددی که من رو سیستم خودم به دست میارم با سیستم دیگه میتونه تفاوت زیادی داشته باشه.زمان cpu یا cpu time:واقعیت اینه که اینجور نیست که وقتی یه برنامه رو اجرا کنیم‌ از وقتی که اجرا بشه تا لحظه آخر cpu رو در اختیار داشته باشه. مثلا برنامه ما ممکنه به یه ورودی از کاربر نیاز داشته باشه. در این صورت برنامه ما به حالت sleep میره و پردازنده ازش گرفته میشه. یعنی ممکنه زمان واقعی که سپری شده باشه ۱۰ دقیقه باشه ولی زمان در اختیار داشتن cpu فقط چیزی مثل ۰.۰۰۱ ثانیه باشه. البته ممکنه real time و cpu time با هم برابر هم باشن. در حالت کلی:cpu time &lt;= real timeبرای اندازه گیری cpu time در پایتون میتونیم از ماجول timeit استفاده کنیم. البته با timeit میشه real time رو هم اندازه گرفت و اتفاقا حالت پیش فرض همینه.import timeitimport timedef foo():    # do somethingtimer = timeit.Timer(stmt=foo, timer=time.process_time)timer.timeit(number=1)خب cpu time میتونه معیار بهتری نسبت به real time باشه اما باز هم تفاوت های سخت افزاری دخالت دارند.انواع آنالیز آنالیز تجربی:در این روش ما میایم الگوریتممون رو پیاده میکنیم با زبان دلخواهمون و بهش ورودی‌های مختلف میدیم و زمان اجرا رو برای اون ورودی اندازه میگیریم. میتونیم یه نمودار هم رسم کنیم که دید کلی داشته باشیم. مثلا با یه نگاه به نمودار میفهمیم که به صورت خطی داره رشد میکنه. خب این روش سه عیب بزرگ داره:۱ - ما نمیتونیم همه ورودی‌های ممکن رو به برناممون بدیم و فقط تعداد مشخصی رو بهش ورودی میدیم و از یه سری از ورودی‌ها صرف نظر کردیم در حالی که ممکنه اون ورودی‌ها مهم بوده باشن.۲ - اندازه‌گیری زمان اجرا به در این روش وابسته به ویژگی‌های سخت‌افزاری و نرم‌افزاری هستش و مقایسه بین زمان اجرای دو الگوریتم در این روش سخت و حتی ناممکنه.۳ - برای مطالعه و آنالیز الگوریتم حتما باید اونو implement کنیم. این کار خیلی احمقانه به نظر میرسه که مدت نسبتا زیادی رو صرف پیاده سازی الگوریتم کنیم تا بعد بتونیم روش مطالعه کنیم. به نظر منطقی نیست.ایراد سوم مهم ترین ایراد روش تجربی هستش. ما باید یه رویکردی رو پیش بگیریم که این سه تا ایراد رو نداشته باشه. یعنی رویکرد ما باید :۱ - تمام ورودی‌های ممکن رو پیش‌بینی کنه۲ - مستقل از ویژگی‌های سخت افزاری و نرم افزاری باشه و برای هر کامپیوتری صادق باشه۳ - بدون نیاز به implement کردن اون و با استفاده از یک رویکرد سطح بالا بتونیم اون رو مطالعه و آنالیز کنیم.</description>
                <category>Matin Mohamadi | متین محمدی + منفرد</category>
                <author>Matin Mohamadi | متین محمدی + منفرد</author>
                <pubDate>Mon, 12 Dec 2022 00:57:31 +0330</pubDate>
            </item>
            </channel>
</rss>