Algorithm design & data structure
6.63K subscribers
944 photos
142 videos
175 files
539 links
این کانال برای تمامی علاقه‌مندان به کامپیوتر، مخصوصاً حوزه ساختمان داده‌ها و الگوریتم‌ها، مفید می باشد. آشنایی با ریاضیات مقدماتی، برنامه‌نویسی مقدماتی و پیشرفته و همچنین شی‌گرایی می‌تواند در درک بهتر مفاهیم این درس کمک‌ کند.

👨‍💻Admin👉 @Se_mohamad
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
📚 الگوریتم مرج سورت(Merge Sort): مرتب‌سازی با هنر تقسیم و غلبه

مرج سورت یکی از بهترین الگوریتم‌ها برای مرتب‌سازی لیست‌هاست. این الگوریتم با تقسیم لیست به زیرلیست‌های کوچکتر و ترکیب آن‌ها به صورت مرتب، به کارایی بالایی دست می‌یابد.

1. تقسیم: لیست را به دو نیمه تقسیم کنید.
2. مرتب‌سازی: هر نیمه را به صورت بازگشتی مرتب کنید.
3. ترکیب: دو نیمه مرتب‌شده را ترکیب کنید تا لیست نهایی مرتب شود.

این الگوریتم دارای پیچیدگی زمانی O(n log n) است که آن را برای مرتب‌سازی لیست‌های بزرگ بسیار مناسب می‌کند.


💡 نکته جذاب: مرج سورت به دلیل استفاده از روش تقسیم و غلبه، کارایی بسیار بالایی دارد و یکی از الگوریتم‌های پایدار مرتب‌سازی محسوب می‌شود.

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
📊 رگرسیون خطی: یکی از بنیادی‌ترین ابزارهای تحلیل داده‌ها 📊

رگرسیون خطی یک تکنیک آماری است که برای مدل‌سازی و تحلیل روابط بین دو یا چند متغیر استفاده می‌شود. این روش به خصوص زمانی مفید است که بخواهیم تأثیر یک یا چند متغیر مستقل (مثل میزان تبلیغات) را بر یک متغیر وابسته (مثل فروش) بررسی کنیم.

📈 فرمول کلی رگرسیون خطی ساده به صورت زیر است:

Y=a+bX

🔹 Y: متغیر وابسته
🔹 X: متغیر مستقل
🔹 a: عرض از مبدأ (محل برخورد خط با محور Y)
🔹 b: شیب خط (میزان تغییر Y به ازای یک واحد تغییر در X)

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

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👌3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
تشخیص اشیاء چگونه کار می‌کند؟ 🤖📸

تشخیص اشیاء فناوری‌ای است که به سیستم‌ها این امکان را می‌دهد تا اشیاء را در تصاویر یا ویدیوها شناسایی کنند.

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
📜 دموی اضافه کردن عدد به لیست پیوندی دو طرفه

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
کاوش در دنیای کانولوشن و الگوهای تصویری

آیا تا به حال فکر کرده‌اید که کانولوشن در پردازش تصویر چگونه کار می‌کند؟ 🤔

کانولوشن، با استفاده از فیلترهای خاص، به ما کمک می‌کند تا الگوهای خاصی را در تصاویر شناسایی کنیم. فیلترها، که در واقع ماتریس‌هایی از اعداد هستند، نقش بسیار مهمی در استخراج ویژگی‌های تصویر دارند.

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

کانولوشن به ما کمک می‌کند تا الگوها و ویژگی‌های جالب را در تصاویر پیدا کنیم و این همان چیزی است که باعث می‌شود تصاویر به راحتی تجزیه و تحلیل شوند. 🎨🔍

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍4
🌟 آشنایی با الگوریتم Naïve Bayes 🌟

آیا تا به حال در مورد الگوریتم Naïve Bayes شنیده‌اید؟ 🤔

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

چرا Naïve Bayes؟ 🤩
- سادگی و سرعت: پیاده‌سازی آسان و محاسبات سریع.
- کارایی بالا: حتی با داده‌های کم نیز عملکرد خوبی دارد.
- کاربرد وسیع: از فیلتر کردن ایمیل‌های اسپم گرفته تا تحلیل احساسات.

بیایید با هم از قدرت یادگیری ماشین و الگوریتم‌های هوشمند برای بهبود زندگی روزمره‌مان استفاده کنیم! 🌐

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍1
Audio
زندگی پر از فراز و نشیب است🙂، اما هر چالشی که پشت سر می‌گذاریم، ما را قوی‌تر و مقاوم‌تر می‌کند. به یاد داشته باش که هیچ چیزی نمی‌تواند تو را از رسیدن به رویاهایت بازدارد. 🌟

🌃⭐️💫
#انگیزشی
👌51👍1💯1
Python Fundamentals.ipynb
32.6 KB
🐍 شروع برنامه‌نویسی با پایتون: از پایه تا پیشرفته 🐍

سلام دوستان! امروز می‌خواهیم با هم یک پایه قوی در زبان برنامه‌نویسی پایتون ایجاد کنیم. با پوشش موضوعات اساسی و ضروری، مطمئن خواهیم شد که شما درک کاملی از اصول اولیه این زبان پرطرفدار دارید. بیایید با هم به دنیای جذاب پایتون قدم بگذاریم! 🌟

📚 مباحثی که پوشش خواهیم داد:
- متغیرها و انواع داده‌ها
- دستورات شرطی (`if-else`)
- حلقه‌ها (`for` و `while`)
- لیست‌ها
- توابع
- رشته‌ها و قالب‌بندی رشته‌ها
- دیکشنری‌ها
- ورودی کاربر
- معرفی کتابخانه‌ها

هر یک از این موضوعات برای ساختن یک پایه قوی در برنامه‌نویسی پایتون بسیار مهم هستند.

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
🤔4👌3👍1
🌟 فرمول‌های به کار رفته در یادگیری ماشین 🌟

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

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👌6👍2
@AlgorithmDesign_DataStructuer.pdf
2.8 MB
در این پی‌دی‌اف، توضیحات جامعی در مورد الگوریتم‌های بازگشتی ارائه شده و مثال‌های کاربردی برای درک بهتر این الگوریتم‌ها ذکر شده است. این مطالب به شما کمک می‌کند تا با الگوریتم‌های بازگشتی آشنا شوید و مهارت‌های خود را در حل مسائل مشابه تقویت کنید.

📘 الگوریتم‌های بازگشتی را یاد بگیرید و مهارت‌های خود را ارتقاء دهید! 🚀

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
📚 ریاضی پشت یک پاس رو به جلو(Forward pass) در شبکه عصبی! 🤖🧠

تا حالا فکر کردی شبکه‌های عصبی چطور کار می‌کنند؟ بذار یه مثال ساده برات بزنم:

۱. ورودی: فرض کن یه ورودی داری مثل [x1, x2].
۲. وزن‌ها و بایاس‌ها: شبکه وزن‌ها و بایاس‌هایی داره که هر کدوم تاثیر خودشون رو دارن.
۳. محاسبه نودهای لایه مخفی: هر نود در لایه مخفی مقدار خودش رو از ورودی‌ها با ضرب در وزن‌ها و اضافه کردن بایاس‌ها محاسبه می‌کنه.
4. تابع فعال‌سازی: بعد از اون، یه تابع فعال‌سازی مثل سیگموید یا ReLU اعمال می‌شه.
۵. خروجی نهایی: نهایتا، خروجی شبکه عصبی رو به دست میاری که می‌تونه برای پیش‌بینی یا طبقه‌بندی استفاده بشه.

این فرآیند رو می‌گیم "Forwad Pass" و تمام این محاسبات به کمک ریاضی انجام می‌شه تا شبکه عصبی یاد بگیره و بهترین نتیجه رو ارائه بده.

🎥فیلم را مشاهده کنید تا بتونید درک بهتری از این موضوع داشته باشید.

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍6👌1
در صف (Queue)، آیتم‌ها به این شکل کار می‌کنند:

📥 اضافه شدن آیتم‌ها در انتهای صف (عقب یا پشت).
📤 حذف آیتم‌ها از ابتدای صف (جلو).

🔄 ترتیب اضافه شدن آیتم‌ها همان ترتیب حذف آن‌هاست.

به این نوع ترتیب می‌گویند FIFO (اولین ورودی، اولین خروجی). به عبارت دیگر، هر چیزی که اول وارد صف شود، اول هم خارج می‌شود.

🔹 برای مثال:
وقتی در صف نانوایی هستید، کسی که اول وارد صف شده، اول نانش را می‌گیرد و می‌رود.

📝 این مفهوم در برنامه‌نویسی و مدیریت داده‌ها بسیار کاربردی است.

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍2👨‍💻2
@AlgorithmDesign_DataStructuer (2).pdf
5.7 MB
📘 «کتاب نارنجی یادگیری ماشین»

👨🏻‍💻 کتاب The Orange Book of Machine Learning یکی از آن کتاب‌های ارزشمندی است که از همان صفحات اول حس می‌کنید قدم به قدم شما را با اصول و تکنیک‌های یادگیری ماشین به زبان ساده و دوستانه آشنا می‌کند. 👌🏼

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

این کتاب دقیقا همان منبعی است که برای پیشرفت در مسیر یادگیری ماشین به آن نیاز دارید! 💯

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍1🎉1
Graph Bipartite :

یک گراف بدون جهت G = (V, E) دوبخشی (Bipartite) است اگر بتوان رئوس آن را به دو مجموعه مجزا تقسیم کرد، به طوری که هر یال گراف، یکی از رئوسش در یک مجموعه و دیگری در مجموعه دیگر باشد. به عبارت دیگر، می‌توان رئوس گراف را به دو رنگ قرمز 🔴 و آبی 🔵 رنگ‌آمیزی کرد به طوری که هر یال گراف دقیقاً یک انتها به رنگ قرمز و انتهای دیگر به رنگ آبی داشته باشد.



یکی از راه‌های بررسی دوبخشی بودن یک گراف، استفاده از الگوریتم‌های جستجوی عمق اول (DFS) 🔍 یا جستجوی سطح اول (BFS) 🔎 است. در این روش‌ها، با شروع از یک رأس دلخواه، رئوس را به صورت متناوب به دو رنگ مختلف رنگ‌آمیزی می‌کنیم 🎨. اگر در حین انجام این فرایند، به یالی برسیم که هر دو انتهای آن رنگ یکسانی دارند، گراف دوبخشی نیست . در غیر این صورت، گراف دوبخشی است

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👌1
Design and Analysis of Algorithms.rar
1.9 MB
🌟 اسلایدهای تدریس شده درس طراحی الگوریتم + تمرینات کلاس درس برای دانشگاه آکسفورد 👨‍🏫📚

دوستان عزیز،

تمامی اسلایدهای تدریس شده و تمرینات کلاس درس طراحی الگوریتم که در طول ترم در دانشگاه آکسفورد تدریس شده‌اند، هم‌اکنون در دسترس هستند! 📂 این منابع شامل اسلایدهای جامع و Problem sheets‌های کاربردی است که به شما در درک بهتر مفاهیم کمک خواهند کرد.


با استفاده از این منابع، می‌توانید مفاهیم را به‌طور کامل مرور کنید و آمادگی لازم برای امتحانات را کسب کنید. 💪🎓

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍4
سلام دوستان عزیز! 👋

با خوشحالی اعلام می‌کنیم که گروه جدیدی برای شما عزیزان راه‌اندازی کرده‌ایم تا بتوانید مشکلات و سوالات خود را مطرح کنید و از دانش و تجربیات یکدیگر بهره‌مند شوید. 💡💬

🎉 به گروه ما بپیوندید و از مزایای زیر بهره‌مند شوید:
- 👨‍🏫 مشاوره تخصصی
- 📚 اشتراک‌گذاری منابع آموزشی
- 📝 حل تست‌ها و نکات کلیدی
- 💡 تبادل تجربیات و اطلاعات

📢 لینک دعوت به گروه:
https://t.me/Computer_Engineering_ai

لطفاً این لینک را با دوستان خود به اشتراک بگذارید تا همه بتوانند از این فرصت بهره‌مند شوند. 📲🌐

منتظر حضور گرم شما هستیم! 🌟
👍6🙏3
همانطور که مشاهده می‌کنید، در ابتدا رشد تابع‌های g(n) و f(n) برابر هستند. اما با انتخاب ثابت c = 2.1 ، تابع f(n) بزرگتر از g(n) می‌شود. این تصویر نشان می‌دهد که با انتخاب مناسب c، برای هر n > 1 رابطه زیر برقرار است:
g(n) = O(f(n))

💡 انتخاب صحیح ثابت c کلید اصلی برای بیان صحیح پیچیدگی زمانی بین دو تابع است. 🚀📈

#الگوریتم

📣👨‍💻 @AlgorithmDesign_DataStructuer
👍4
🌟 گرادیان کاهش: راه‌حلی هوشمندانه برای بهینه‌سازی 🌟

گرادیان کاهش (Gradient Descent) یک الگوریتم کلیدی در یادگیری ماشین و بهینه‌سازی است که به ما کمک می‌کند تا مینیمم تابع هزینه را پیدا کنیم. این الگوریتم با استفاده از اطلاعات گرادیان، پارامترهای مدل را به‌روزرسانی می‌کند تا هزینه کاهش یابد.

مراحل اصلی:
1. شروع با پارامترهای اولیه 🏁
2. محاسبه گرادیان تابع هزینه 📉
3. به‌روزرسانی پارامترها با نرخ یادگیری مناسب 🔄

انواع:
- گرادیان کاهش تصادفی (SGD): به‌روزرسانی با یک نمونه تصادفی. 🎲
- مینی‌پکیج (Mini-batch): به‌روزرسانی با گروهی از نمونه‌ها. 📦
- کلاسیک (Batch): به‌روزرسانی با کل داده‌ها. 🌐

مزایا و معایب:
- مزایا: سادگی و کاربرد در مدل‌های پیچیده 🚀
- معایب: ممکن است به مینیمم محلی برسد و وابسته به نرخ یادگیری است. ⚠️

با استفاده از این الگوریتم، می‌توانیم به‌طور مؤثر پارامترهای مدل را بهینه کنیم و بهترین نتایج را از داده‌های خود بگیریم. 💡

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍2
Linear_algebra.pdf
3.9 MB
📚 معرفی جزوه جبر خطی دانشگاه استنفورد

دوستان عزیز، با یک منبع عالی برای یادگیری جبر خطی از دانشگاه معتبر استنفورد در خدمت شما هستیم! این جزوه شامل مثال‌های کاربردی و جذابی است که می‌تونه پایه‌های شما رو در این درس مهم و کاربردی بسیار محکم کنه.

🔹 ویژگی‌های برجسته جزوه:
- توضیحات ساده و روان: مفاهیم پیچیده به زبانی ساده و قابل فهم بیان شده‌اند.
- مثال‌های عملی: با مثال‌های متنوع و کاربردی می‌توانید مفاهیم را بهتر درک کنید.
- تمرینات و مسائل: برای تمرین و تثبیت یادگیری شما تمرینات مختلفی ارائه شده است.
- استفاده در پروژه‌های واقعی: نکاتی که در این جزوه یاد می‌گیرید، می‌تواند در پروژه‌های واقعی و تحقیقاتی شما مفید باشد.

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
مدل‌های زبان بزرگ (LLMs) چیست؟ 🤖📚

مدل‌های زبان بزرگ (Large Language Models یا LLMs) ابزارهای قدرتمندی هستند که با استفاده از یادگیری عمیق و تحلیل داده‌های متنی وسیع، توانایی پردازش و تولید زبان طبیعی را دارند. این مدل‌ها می‌توانند وظایف مختلفی مانند ترجمه متن، پاسخ به سوالات و تولید محتوای خلاقانه را به‌خوبی انجام دهند.

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

⚪️برای اطلاعات بیشتر از نحوه کار کردن این مدل :

📎 look at The Transformer

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍5