عنوان پروژهای که پیادهسازی شده، "ساخت Bot مبتنی بر LLM به عنوان دستیار فروش در تلگرام با Python" است.کارهایی که در این پروژه انجام میشود به شرح زیر است:
1. فرض شده که در حوزه فروش آنلاین کفش و لباس فعالیت داریم و گروهی برای این منظور در تلگرام راهاندازی کردهایم.
2. یک Bot در تلگرام میسازیم و از طریق Python به آن متصل میشویم تا بتواند به پیامهای کاربران در گروه پاسخ دهد.
3. لیست محصولات فروشگاه و توضیحات آنها را در یک vectorDB ذخیره میکنیم.
4. این Bot توانایی درک پیامهای کاربران (مثل "یک کفش بنددار مشکی میخواهم") را با استفاده از یک مدل retrieval دارد و میتواند محصولات مرتبط را پیشنهاد دهد.
5. علاوه بر آن، این Bot میتواند بر اساس توصیف کاربران از خودشان (مثل "من یک خانم ۲۷ ساله هستم، قد ۱۷۲، علاقهمند به رنگهای تیره و استایل رسمی")، ترکیبهای کامل لباس را پیشنهاد دهد و گزینههای مشابه را از vectorDB جستجو کند.
لینک ویدئو:
https://www.youtube.com/watch?v=1R-sMhOnLeo
لینک کد:
https://github.com/aix64-main/LLM_Fashion_Telegram
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
1. فرض شده که در حوزه فروش آنلاین کفش و لباس فعالیت داریم و گروهی برای این منظور در تلگرام راهاندازی کردهایم.
2. یک Bot در تلگرام میسازیم و از طریق Python به آن متصل میشویم تا بتواند به پیامهای کاربران در گروه پاسخ دهد.
3. لیست محصولات فروشگاه و توضیحات آنها را در یک vectorDB ذخیره میکنیم.
4. این Bot توانایی درک پیامهای کاربران (مثل "یک کفش بنددار مشکی میخواهم") را با استفاده از یک مدل retrieval دارد و میتواند محصولات مرتبط را پیشنهاد دهد.
5. علاوه بر آن، این Bot میتواند بر اساس توصیف کاربران از خودشان (مثل "من یک خانم ۲۷ ساله هستم، قد ۱۷۲، علاقهمند به رنگهای تیره و استایل رسمی")، ترکیبهای کامل لباس را پیشنهاد دهد و گزینههای مشابه را از vectorDB جستجو کند.
لینک ویدئو:
https://www.youtube.com/watch?v=1R-sMhOnLeo
لینک کد:
https://github.com/aix64-main/LLM_Fashion_Telegram
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
اسلاید_ساختمان_داده_و_الگوریتم_دانشگاه_صنعتی_شریف.rar
42.8 MB
🌟 اسلایدهای درس ساختمان داده و طراحی الگوریتم دانشگاه صنعتی شریف 🌟
#الگوریتم
📣👨💻 @AlgorithmDesign_DataStructuer
#الگوریتم
📣👨💻 @AlgorithmDesign_DataStructuer
Mathematics of machine learning
به طور کلی، یادگیری ماشین به شناسایی خودکار الگوها در دادهها اشاره دارد. به همین دلیل، این حوزه بستر مناسبی برای پیشرفتهای جدید در آمار و الگوریتمها بوده است. هدف این دوره ارائهی مقدمهای دقیق و ریاضیمحور به این پیشرفتها با تمرکز بر روشها و تحلیل آنها است.
https://ocw.mit.edu/courses/18-657-mathematics-of-machine-learning-fall-2015/
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
به طور کلی، یادگیری ماشین به شناسایی خودکار الگوها در دادهها اشاره دارد. به همین دلیل، این حوزه بستر مناسبی برای پیشرفتهای جدید در آمار و الگوریتمها بوده است. هدف این دوره ارائهی مقدمهای دقیق و ریاضیمحور به این پیشرفتها با تمرکز بر روشها و تحلیل آنها است.
https://ocw.mit.edu/courses/18-657-mathematics-of-machine-learning-fall-2015/
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
240_64135168392798.pdf
113.6 KB
معرفی بورس کشور چین-دانشگاه هاربین
This media is not supported in your browser
VIEW IN TELEGRAM
سرویس مخفی آمریکا پس از پیروزی دونالد ترامپ در انتخابات، برای افزایش امنیت در املاک او از سگهای رباتیک استفاده کرده است.
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
درخت جستجوی بهینه (Optimal Binary Search Tree) یک نوع خاص از درخت دودویی جستجو (BST) است که با هدف بهینهسازی سرعت جستجو طراحی شده است. 🌲 در این درخت، هدف این است که میانگین زمان جستجو برای دسترسی به گرههای مختلف به حداقل برسد. این نوع درخت برای مجموعهای از کلیدهایی که هر کدام احتمال جستجوی مشخصی دارند، ساخته میشود. 📈
ساختار و هدف 🎯
درخت جستجوی بهینه برای کاهش هزینههای جستجو در یک مجموعه داده طراحی شده است که هر کلید آن با یک احتمال دسترسی مشخص مشخص میشود. هر کلیدی که بیشتر جستجو میشود، باید به ریشه یا گرههای نزدیکتر به ریشه نزدیکتر باشد تا زمان دسترسی به آن کاهش یابد. ⏳
کاربرد درخت جستجوی بهینه 💼
این نوع درخت معمولاً در مواردی استفاده میشود که نیاز به تعداد زیادی عملیات جستجو باشد و بخواهیم بهینهترین ساختار داده را برای کاهش زمان جستجو داشته باشیم. نمونههایی از این کاربردها:
- کامپایلرها برای تحلیل جملات برنامه 🖥
- سیستمهای پایگاه داده برای سرعت بخشیدن به عملیات جستجو در دادههای پرتکرار 🗃
- موتورهای جستجو و الگوریتمهای جستجوی سریع 🔍
مراحل ساخت درخت جستجوی بهینه 🔄
برای ساخت درخت جستجوی بهینه، الگوریتمهای برنامهنویسی پویا (Dynamic Programming) به کار میروند. مراحل به شرح زیر هستند:
1. تعریف احتمالات دسترسی: هر کلید (K_i) از کلیدهای مجموعه یک احتمال دسترسی (P(i)) دارد که بیانگر احتمال جستجوی آن کلید است. 📊
2. محاسبه هزینه جستجو: هزینه جستجو معمولاً به صورت مجموع حاصل ضرب عمق هر گره در احتمال دسترسی آن تعریف میشود. هدف این است که این هزینه کمینه شود. 🔽
3. ساخت جدول هزینهها: از طریق **برنامهنویسی پویا**، یک جدول هزینه ساخته میشود که نشاندهنده کمترین هزینه جستجو برای زیرمجموعههای مختلف کلیدها است. 📅
4. ساخت درخت: با استفاده از جدول هزینهها، درخت بهینه با قرار دادن کلیدها در سطوح مناسب ساخته میشود. 🌳
پیادهسازی الگوریتم 🔧
درخت جستجوی بهینه معمولاً با استفاده از برنامهنویسی پویا پیادهسازی میشود. این الگوریتم به صورت بازگشتی یا از پایین به بالا عمل میکند تا با در نظر گرفتن تمامی حالتهای ممکن برای چیدمان کلیدها، بهترین چیدمان را پیدا کند. 🔍
پیچیدگی زمانی ⏱️
پیچیدگی زمانی این الگوریتم در حالت کلی (O(n^3)) است، چرا که برای هر زیرمسئله به مقایسه تمامی ترکیبهای ممکن برای کلیدها نیاز دارد. با این حال، میتوان آن را بهینهتر کرد، اما همچنان زمانبر است.
مزایا و معایب 🔄
- مزایا:
- بهینهسازی شدهبرای شرایطی که احتمال دسترسی به کلیدها متفاوت است. ✅
- زمان جستجوی میانگین کمتر از درخت جستجوی دودویی ساده در شرایطی که احتمال دسترسی مشخص است. 📉
- معایب:
- ساخت درخت پیچیده و زمانبر است. 🚧
- در صورت تغییر در احتمالات دسترسی کلیدها، نیاز به بازسازی درخت وجود دارد. 🔄
مثال 📘
فرض کنید مجموعه کلیدهای ما ([K1, K2, K3]) باشد و احتمال دسترسی به آنها به ترتیب (P1=0.2)، (P2=0.5)، و (P3=0.3) باشد. برای یافتن بهینهترین ساختار، کلید (K2) که احتمال دسترسی بیشتری دارد، باید در سطح بالاتر (نزدیک به ریشه) قرار گیرد.
این فرآیند کمک میکند که جستجوها با میانگین زمان کمتری انجام شوند. 📈
#الگوریتم
📣👨💻 @AlgorithmDesign_DataStructuer
ساختار و هدف 🎯
درخت جستجوی بهینه برای کاهش هزینههای جستجو در یک مجموعه داده طراحی شده است که هر کلید آن با یک احتمال دسترسی مشخص مشخص میشود. هر کلیدی که بیشتر جستجو میشود، باید به ریشه یا گرههای نزدیکتر به ریشه نزدیکتر باشد تا زمان دسترسی به آن کاهش یابد. ⏳
کاربرد درخت جستجوی بهینه 💼
این نوع درخت معمولاً در مواردی استفاده میشود که نیاز به تعداد زیادی عملیات جستجو باشد و بخواهیم بهینهترین ساختار داده را برای کاهش زمان جستجو داشته باشیم. نمونههایی از این کاربردها:
- کامپایلرها برای تحلیل جملات برنامه 🖥
- سیستمهای پایگاه داده برای سرعت بخشیدن به عملیات جستجو در دادههای پرتکرار 🗃
- موتورهای جستجو و الگوریتمهای جستجوی سریع 🔍
مراحل ساخت درخت جستجوی بهینه 🔄
برای ساخت درخت جستجوی بهینه، الگوریتمهای برنامهنویسی پویا (Dynamic Programming) به کار میروند. مراحل به شرح زیر هستند:
1. تعریف احتمالات دسترسی: هر کلید (K_i) از کلیدهای مجموعه یک احتمال دسترسی (P(i)) دارد که بیانگر احتمال جستجوی آن کلید است. 📊
2. محاسبه هزینه جستجو: هزینه جستجو معمولاً به صورت مجموع حاصل ضرب عمق هر گره در احتمال دسترسی آن تعریف میشود. هدف این است که این هزینه کمینه شود. 🔽
3. ساخت جدول هزینهها: از طریق **برنامهنویسی پویا**، یک جدول هزینه ساخته میشود که نشاندهنده کمترین هزینه جستجو برای زیرمجموعههای مختلف کلیدها است. 📅
4. ساخت درخت: با استفاده از جدول هزینهها، درخت بهینه با قرار دادن کلیدها در سطوح مناسب ساخته میشود. 🌳
پیادهسازی الگوریتم 🔧
درخت جستجوی بهینه معمولاً با استفاده از برنامهنویسی پویا پیادهسازی میشود. این الگوریتم به صورت بازگشتی یا از پایین به بالا عمل میکند تا با در نظر گرفتن تمامی حالتهای ممکن برای چیدمان کلیدها، بهترین چیدمان را پیدا کند. 🔍
پیچیدگی زمانی ⏱️
پیچیدگی زمانی این الگوریتم در حالت کلی (O(n^3)) است، چرا که برای هر زیرمسئله به مقایسه تمامی ترکیبهای ممکن برای کلیدها نیاز دارد. با این حال، میتوان آن را بهینهتر کرد، اما همچنان زمانبر است.
مزایا و معایب 🔄
- مزایا:
- بهینهسازی شدهبرای شرایطی که احتمال دسترسی به کلیدها متفاوت است. ✅
- زمان جستجوی میانگین کمتر از درخت جستجوی دودویی ساده در شرایطی که احتمال دسترسی مشخص است. 📉
- معایب:
- ساخت درخت پیچیده و زمانبر است. 🚧
- در صورت تغییر در احتمالات دسترسی کلیدها، نیاز به بازسازی درخت وجود دارد. 🔄
مثال 📘
فرض کنید مجموعه کلیدهای ما ([K1, K2, K3]) باشد و احتمال دسترسی به آنها به ترتیب (P1=0.2)، (P2=0.5)، و (P3=0.3) باشد. برای یافتن بهینهترین ساختار، کلید (K2) که احتمال دسترسی بیشتری دارد، باید در سطح بالاتر (نزدیک به ریشه) قرار گیرد.
این فرآیند کمک میکند که جستجوها با میانگین زمان کمتری انجام شوند. 📈
#الگوریتم
📣👨💻 @AlgorithmDesign_DataStructuer
سلام دوستان عزیز
خوشحال میشم که همدیگر رو در گیتهاب و لینکدین دنبال کنیم و باهم در ارتباط باشیم. منتظر تعاملات خوب با شما هستم! 🌟
🔗 لینک گیتهاب:
https://github.com/MohammadHossini
🔗 لینک لینکدین:
https://www.linkedin.com/in/mohammad-hosseini-3b823724b/
خوشحال میشم که همدیگر رو در گیتهاب و لینکدین دنبال کنیم و باهم در ارتباط باشیم. منتظر تعاملات خوب با شما هستم! 🌟
🔗 لینک گیتهاب:
https://github.com/MohammadHossini
🔗 لینک لینکدین:
https://www.linkedin.com/in/mohammad-hosseini-3b823724b/
GitHub
MohammadHossini - Overview
Hi👋My name is mohammad. MohammadHossini has 8 repositories available. Follow their code on GitHub.
📚 Reinforcement Learning, Stanford
دو هفته پیش، دانشگاه استنفورد دوره CS234 - 2024 را منتشر کرد.
پروفسور Emma Brunskill و تیمشون آموزش میدهند:
- Policy search
- Offline RL
- Multi-Agent Game playing
- and much more
https://www.youtube.com/playlist?list=PLoROMvodv4rN4wG6Nk6sNpTEbuOSosZdX
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
دو هفته پیش، دانشگاه استنفورد دوره CS234 - 2024 را منتشر کرد.
پروفسور Emma Brunskill و تیمشون آموزش میدهند:
- Policy search
- Offline RL
- Multi-Agent Game playing
- and much more
https://www.youtube.com/playlist?list=PLoROMvodv4rN4wG6Nk6sNpTEbuOSosZdX
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
🔍 دنبال بهترینهای یادگیری ماشین با پایتون هستید؟
این گیتهاب را بررسی کنید که بیش از ۹۲۰ کتابخانه ML را در دستهبندیهای مختلف مانند NLP، بصریسازی داده، OCR، AutoML و غیره رتبهبندی کرده! این مخزن، با منابع متنباز ارزشمند، بهصورت هفتگی بهروزرسانی میشود. توجه داشته باشید که هر پروژه بر اساس معیارهای کیفی رتبهبندی شده است، بنابراین در پیدا کردن ابزارهای مطمئن، زمان زیادی صرفهجویی میکنید.
https://github.com/ml-tooling/best-of-ml-python
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
این گیتهاب را بررسی کنید که بیش از ۹۲۰ کتابخانه ML را در دستهبندیهای مختلف مانند NLP، بصریسازی داده، OCR، AutoML و غیره رتبهبندی کرده! این مخزن، با منابع متنباز ارزشمند، بهصورت هفتگی بهروزرسانی میشود. توجه داشته باشید که هر پروژه بر اساس معیارهای کیفی رتبهبندی شده است، بنابراین در پیدا کردن ابزارهای مطمئن، زمان زیادی صرفهجویی میکنید.
https://github.com/ml-tooling/best-of-ml-python
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
🌟 معرفی مقاله: 🌟
A Comprehensive Survey of Small Language Models in the Era of Large Language Models: Techniques, Enhancements, Applications, Collaboration with LLMs, and Trustworthiness
این مقاله، یک بررسی جامع از مدلهای زبانی کوچک (SLMs) ارائه میدهد و به تکنیکها، بهبودها، کاربردها، و همکاری آنها با مدلهای زبانی بزرگ (LLMs) میپردازد. همچنین، به موضوع مهم قابلیت اطمینان این مدلها اشاره دارد و نشان میدهد که چگونه میتوان از مدلهای کوچک برای کاربردهای خاص و بهینهتر استفاده کرد. اگر به مدلهای زبانی و پیشرفتهای آنها علاقهمندید، این مقاله اطلاعات ارزشمندی را در اختیارتان میگذارد. 📘✨
📄 لینک مقاله:
https://arxiv.org/abs/2411.03350
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
A Comprehensive Survey of Small Language Models in the Era of Large Language Models: Techniques, Enhancements, Applications, Collaboration with LLMs, and Trustworthiness
این مقاله، یک بررسی جامع از مدلهای زبانی کوچک (SLMs) ارائه میدهد و به تکنیکها، بهبودها، کاربردها، و همکاری آنها با مدلهای زبانی بزرگ (LLMs) میپردازد. همچنین، به موضوع مهم قابلیت اطمینان این مدلها اشاره دارد و نشان میدهد که چگونه میتوان از مدلهای کوچک برای کاربردهای خاص و بهینهتر استفاده کرد. اگر به مدلهای زبانی و پیشرفتهای آنها علاقهمندید، این مقاله اطلاعات ارزشمندی را در اختیارتان میگذارد. 📘✨
📄 لینک مقاله:
https://arxiv.org/abs/2411.03350
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
در مقالهی اخیر ما با عنوان "Reverse Stable Diffusion: What prompt was used to generate this image" که برای انتشار در Computer Vision and Image Understanding پذیرفته شده، به بررسی وظیفهی پیشبینی prompt embedding بر اساس یک تصویر تولید شده توسط یک مدل دیفیوژن مولد میپردازیم. شاید جالبترین کشف این مطالعه این است که آموزش یک مدل دیفیوژن بر روی وظیفهی تولید prompt میتواند باعث شود مدل تصاویری تولید کند که همخوانی بسیار بیشتری با input prompts داشته باشند؛ بهویژه زمانی که مدل معکوس بهطور مستقیم برای text-to-image generation استفاده شود.
https://arxiv.org/abs/2308.01472
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
https://arxiv.org/abs/2308.01472
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
جزوه ساختمان داده (نکته).pdf
82.2 MB
📚 جزوه خلاصه و نکات مهم ساختمان داده 📚
این جزوه، مجموعهای از نکات کلیدی و خلاصههای کاربردی درس ساختمان دادهها رو در بر داره که بهصورت تخصصی و ساده تنظیم شده. 👨💻 این مجموعه مناسب دوستانیه که دارن برای آزمونهای استخدامی و کنکور آماده میشن. 🎓 با مطالعه این جزوه، میتونید به درک بهتری از ساختارهای داده و الگوریتمهای مرتبط برسید و زمان مطالعاتی خودتون رو مدیریت کنید. ⏰
#الگوریتم
📣👨💻 @AlgorithmDesign_DataStructuer
این جزوه، مجموعهای از نکات کلیدی و خلاصههای کاربردی درس ساختمان دادهها رو در بر داره که بهصورت تخصصی و ساده تنظیم شده. 👨💻 این مجموعه مناسب دوستانیه که دارن برای آزمونهای استخدامی و کنکور آماده میشن. 🎓 با مطالعه این جزوه، میتونید به درک بهتری از ساختارهای داده و الگوریتمهای مرتبط برسید و زمان مطالعاتی خودتون رو مدیریت کنید. ⏰
#الگوریتم
📣👨💻 @AlgorithmDesign_DataStructuer
This media is not supported in your browser
VIEW IN TELEGRAM
🌐 وبسایتی فوقالعاده برای تجسم یادگیری ماشین
این وبسایت شگفتانگیز به شما کمک میکند تا شهود خود را در زمینه یادگیری ماشین تقویت کنید و مفاهیم پیچیده را به شکل بصری درک کنید.
https://mlu-explain.github.io/
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
این وبسایت شگفتانگیز به شما کمک میکند تا شهود خود را در زمینه یادگیری ماشین تقویت کنید و مفاهیم پیچیده را به شکل بصری درک کنید.
https://mlu-explain.github.io/
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
LLM Agents.pdf
15 MB
نمایندههای زبانی (LLM Agents)
این ارائه در مورد Language (LLM) Agents به موضوعات زیر میپردازد:
- تعریف Language Agents
- تکامل AI Agents
- قدرت Language در Agents
- مسیرهای جذاب آینده مانند Planning، Synthetic Data، Multimodal Perception، Continual Learning، Safety و موارد دیگر
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
این ارائه در مورد Language (LLM) Agents به موضوعات زیر میپردازد:
- تعریف Language Agents
- تکامل AI Agents
- قدرت Language در Agents
- مسیرهای جذاب آینده مانند Planning، Synthetic Data، Multimodal Perception، Continual Learning، Safety و موارد دیگر
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
الگوریتم Minimum Spanning Tree (MST)، یا درخت پوشای کمینه، یکی از الگوریتمهای مهم در گرافهاست. این الگوریتم برای پیدا کردن زیرگرافی از یک گراف وزندار استفاده میشود که تمامی رأسها را شامل شود و مجموع وزنهای یالهای آن کمترین مقدار ممکن باشد. این زیرگراف که به عنوان درخت پوشای کمینه شناخته میشود، تمامی رأسها را بدون تشکیل حلقه به هم متصل میکند. 🌳
مثال کاربردی
تصور کنید که میخواهیم شبکهی برق را در یک شهر طراحی کنیم. هدف این است که تمام ایستگاهها به هم متصل شوند، اما هزینهها نیز کمینه باشند. الگوریتم MST به ما کمک میکند با کمترین هزینه، ارتباط بین تمام ایستگاهها را برقرار کنیم. ⚡️
الگوریتمهای معروف برای MST
دو الگوریتم رایج برای حل مسئلهی درخت پوشای کمینه، الگوریتم پریم (Prim) و کریسکال (Kruskal) هستند. هرکدام از این الگوریتمها از روش متفاوتی برای پیدا کردن درخت پوشای کمینه استفاده میکنند. 🔍
1. الگوریتم Prim
الگوریتم پریم از یک رأس شروع میکند و یالهای با کمترین وزن را به درخت اضافه میکند، به شرطی که ایجاد چرخه نکند. این فرایند تا زمانی که تمام رأسها به درخت اضافه شوند، ادامه مییابد. ⛓️
مراحل الگوریتم پریم:
1. انتخاب یک رأس به عنوان نقطه شروع.
2. اضافه کردن یالهای با کمترین وزن که رأسهای جدید را به درخت متصل کنند.
3. تکرار این کار تا تمام رأسها به درخت اضافه شوند.
2. الگوریتم Kruskal
الگوریتم کریسکال با مرتبسازی تمام یالها از کمترین وزن به بیشترین وزن شروع میکند و یالها را یکی یکی به درخت اضافه میکند. در این الگوریتم، اطمینان حاصل میشود که اضافه کردن یال جدید منجر به ایجاد چرخه نشود. 🔄
مراحل الگوریتم کریسکال:
1. مرتبسازی یالها از کمترین به بیشترین وزن.
2. اضافه کردن یالها به درخت، در صورتی که چرخه ایجاد نشود.
3. تکرار تا زمانی که درخت شامل تمام رأسها شود.
مقایسه Prim و Kruskal
- پریم برای گرافهای متراکم مناسبتر است، زیرا از یالهای نزدیک رأسها استفاده میکند.
- کریسکال برای گرافهای پراکنده مناسبتر است، زیرا با یالهای سبک شروع میکند. 🎯
پیچیدگی زمانی
پیچیدگی زمانی برای هر دو الگوریتم:
- الگوریتم Prim: O(E log V)
- الگوریتم Kruskal:O(E log E)
🔍 توضیح: در اینجا \(E\) تعداد یالها و \(V\) تعداد رأسها هستند. این پیچیدگی نشان میدهد که هر دو الگوریتم برای گرافهای بزرگ بهینه عمل میکنند.
جمعبندی
درخت پوشای کمینه یک ساختار مهم در گرافهاست که کاربردهای زیادی در شبکههای ارتباطی، طراحی جادهها، شبکههای برق و سایر حوزهها دارد. این الگوریتم به ما کمک میکند هزینهها را کاهش دهیم و ارتباط مؤثری بین تمام نقاط برقرار کنیم. 🌐
#الگوریتم
📣👨💻 @AlgorithmDesign_DataStructuer
مثال کاربردی
تصور کنید که میخواهیم شبکهی برق را در یک شهر طراحی کنیم. هدف این است که تمام ایستگاهها به هم متصل شوند، اما هزینهها نیز کمینه باشند. الگوریتم MST به ما کمک میکند با کمترین هزینه، ارتباط بین تمام ایستگاهها را برقرار کنیم. ⚡️
الگوریتمهای معروف برای MST
دو الگوریتم رایج برای حل مسئلهی درخت پوشای کمینه، الگوریتم پریم (Prim) و کریسکال (Kruskal) هستند. هرکدام از این الگوریتمها از روش متفاوتی برای پیدا کردن درخت پوشای کمینه استفاده میکنند. 🔍
1. الگوریتم Prim
الگوریتم پریم از یک رأس شروع میکند و یالهای با کمترین وزن را به درخت اضافه میکند، به شرطی که ایجاد چرخه نکند. این فرایند تا زمانی که تمام رأسها به درخت اضافه شوند، ادامه مییابد. ⛓️
مراحل الگوریتم پریم:
1. انتخاب یک رأس به عنوان نقطه شروع.
2. اضافه کردن یالهای با کمترین وزن که رأسهای جدید را به درخت متصل کنند.
3. تکرار این کار تا تمام رأسها به درخت اضافه شوند.
2. الگوریتم Kruskal
الگوریتم کریسکال با مرتبسازی تمام یالها از کمترین وزن به بیشترین وزن شروع میکند و یالها را یکی یکی به درخت اضافه میکند. در این الگوریتم، اطمینان حاصل میشود که اضافه کردن یال جدید منجر به ایجاد چرخه نشود. 🔄
مراحل الگوریتم کریسکال:
1. مرتبسازی یالها از کمترین به بیشترین وزن.
2. اضافه کردن یالها به درخت، در صورتی که چرخه ایجاد نشود.
3. تکرار تا زمانی که درخت شامل تمام رأسها شود.
مقایسه Prim و Kruskal
- پریم برای گرافهای متراکم مناسبتر است، زیرا از یالهای نزدیک رأسها استفاده میکند.
- کریسکال برای گرافهای پراکنده مناسبتر است، زیرا با یالهای سبک شروع میکند. 🎯
پیچیدگی زمانی
پیچیدگی زمانی برای هر دو الگوریتم:
- الگوریتم Prim: O(E log V)
- الگوریتم Kruskal:O(E log E)
🔍 توضیح: در اینجا \(E\) تعداد یالها و \(V\) تعداد رأسها هستند. این پیچیدگی نشان میدهد که هر دو الگوریتم برای گرافهای بزرگ بهینه عمل میکنند.
جمعبندی
درخت پوشای کمینه یک ساختار مهم در گرافهاست که کاربردهای زیادی در شبکههای ارتباطی، طراحی جادهها، شبکههای برق و سایر حوزهها دارد. این الگوریتم به ما کمک میکند هزینهها را کاهش دهیم و ارتباط مؤثری بین تمام نقاط برقرار کنیم. 🌐
#الگوریتم
📣👨💻 @AlgorithmDesign_DataStructuer
دوره رایگان Harvard CS50 – دوره علوم کامپیوتر (نسخه 2023)
این دوره شامل موارد زیر است:
- Lecture 0 - Scratch
- Lecture 1 - C
- Lecture 2 - Arrays
- Lecture 3 - Algorithms
- Lecture 4 - Memory
- Lecture 5 - Data Structures
- Lecture 6 - Python
- Lecture 7 - SQL
- Lecture 8 - HTML, CSS, JavaScript
- Lecture 9 - Flask
- Lecture 10 - Emoji
- Cybersecurity (امنیت سایبری)
https://www.freecodecamp.org/news/harvard-university-cs50-computer-science-course-2023/
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
این دوره شامل موارد زیر است:
- Lecture 0 - Scratch
- Lecture 1 - C
- Lecture 2 - Arrays
- Lecture 3 - Algorithms
- Lecture 4 - Memory
- Lecture 5 - Data Structures
- Lecture 6 - Python
- Lecture 7 - SQL
- Lecture 8 - HTML, CSS, JavaScript
- Lecture 9 - Flask
- Lecture 10 - Emoji
- Cybersecurity (امنیت سایبری)
https://www.freecodecamp.org/news/harvard-university-cs50-computer-science-course-2023/
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
برای استفاده راحتتر از ChatGPT، شما میتوانید آن را مستقیماً روی دسکتاپ خود نصب کنید. این کار به شما این امکان را میدهد که بدون نیاز به مرورگر، بهراحتی به ChatGPT دسترسی داشته باشید و از امکانات آن بهرهمند شوید.
Link: ChatGPT on your desktop
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
Link: ChatGPT on your desktop
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
Probability Theory.pdf
5.1 MB
جزوههای درسی استنفورد درباره "نظریه احتمالات" (سطح دکتری)
#الگوریتم
📣👨💻 @AlgorithmDesign_DataStructuer
#الگوریتم
📣👨💻 @AlgorithmDesign_DataStructuer