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

👨‍💻Admin👉 @Se_mohamad
Download Telegram
کدگذاری هافمن یک روش فشرده‌سازی بدون اتلاف است که داده‌ها را بر اساس فراوانی کاراکترها فشرده می‌کند. این الگوریتم با ساخت یک درخت دودویی (درخت هافمن) 🌲 کار می‌کند که کاراکترهای پرتکرار را با کدهای کوتاه‌تر 🔢 و کاراکترهای کم‌تکرار را با کدهای بلندتر 🔠 کدگذاری می‌کند.

نکات کلیدی:
- درخت هافمن: درخت دودویی که با ترکیب گره‌های با کمترین فراوانی ساخته می‌شود. 🌳
- کدگذاری: هر کاراکتر بر اساس مسیرش از ریشه تا برگ درخت، یک کد باینری منحصربه‌فرد دریافت می‌کند. 📜
- فشرده‌سازی: این روش برای داده‌هایی با توزیع فراوانی نامتوازن بسیار کارآمد است. 📉
- پیچیدگی: ساخت درخت هافمن با پیچیدگی زمانی O(n log n) انجام می‌شود.

کاربردها:
- فشرده‌سازی فایل (مثل ZIP) 📂
- پروتکل‌های شبکه 🌐
- فشرده‌سازی تصویر و ویدئو 🎥🖼

کدگذاری هافمن به دلیل کارایی بالا 🚀 و عدم اتلاف اطلاعات 🔒، یکی از مهم‌ترین الگوریتم‌های فشرده‌سازی داده‌ها است.

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍5🙏1
matplotlib_tutorial.pdf
1.8 MB
تجسم داده‌ها با Matplotlib: قدرت نمایش بصری داده‌ها

📊 با Matplotlib وارد دنیای جذاب تجسم داده‌ها شوید. این کتابخانه قدرتمند پایتون به شما امکان می‌دهد تا پیچیده‌ترین داده‌ها را به‌سادگی به نمودارهای گویا و بصری تبدیل کنید. 🎨 با استفاده از Matplotlib، نه‌تنها درک بهتری از داده‌هایتان خواهید داشت، بلکه می‌توانید آن‌ها را به شیوه‌ای جذاب و حرفه‌ای به دیگران ارائه دهید. 📈 اگر به دنبال ابزاری هستید که شما را در تحلیل داده‌ها چند قدم جلوتر ببرد، Matplotlib انتخاب ایده‌آلی است. 💡

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
🧠 آموزش شبکه عصبی: از خطا تا بهبود دقت 🎯


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

در اصل، بازگشت‌پراکنش به شبکه عصبی کمک می‌کند تا از اشتباهات خود بیاموزد و با تنظیم پارامترهای داخلی، پیش‌بینی‌های بهتری ارائه دهد. 🚀

#هوش_مصنوعی

📣👨‍💻 @AlgorithmDesign_DataStructuer
👍3
🌀 عملیات پایه‌ای در پشته 🔧


در پشته چند عملیات اصلی وجود دارند که به ما اجازه می‌دهند کارهای مختلفی انجام دهیم:

- افزودن (Push): اضافه کردن یک عنصر به بالای پشته
- حذف (Pop): حذف یک عنصر از بالای پشته
- بررسی خالی بودن (IsEmpty): بررسی اینکه آیا پشته خالی است یا خیر
- بررسی پر بودن (IsFull): بررسی اینکه آیا پشته پر شده است یا خیر 🏋️‍♂️
- مشاهده (Peek): دریافت مقدار عنصر بالای پشته بدون حذف آن 👀

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
💯4👍1
💡 چرا زمان اجرای الگوریتم‌ها مهم است؟
درک زمان اجرای الگوریتم‌های یادگیری ماشین به شما کمک می‌کند تا انتخاب‌های هوشمندانه‌تری داشته باشید و از منابع بهینه‌تر استفاده کنید.

🛠 بهبود عملکرد: با شناخت بهتر الگوریتم‌ها و اینکه چگونه با داده‌ها کار می‌کنند، می‌توانید بهترین روش را برای داده‌های خود انتخاب کنید و به نتایج بهتری برسید.

🚀 انتخاب درست: دانستن اینکه کدام الگوریتم بر اساس داده‌ها و زمان اجرا برای شما مناسب‌تر است، باعث می‌شود که سریع‌تر و کارآمدتر به نتایج مطلوب برسید.

اهمیت: انتخاب صحیح الگوریتم بر اساس زمان اجرا می‌تواند عملکرد سیستم شما را به شکل چشم‌گیری بهبود بخشد.

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍71
This media is not supported in your browser
VIEW IN TELEGRAM
🌟 عنوان پروژه: سیستم هوشمند تشخیص نقض سیگنال ترافیکی مبتنی بر AI 🚦

در این پروژه، یک سیستم هوشمند مبتنی بر هوش مصنوعی توسعه داده‌ام که با استفاده از تکنیک‌های پیشرفته بینایی کامپیوتری، تخلفات رانندگی مانند عبور از چراغ قرمز را شناسایی و به کاربران در زمان واقعی هشدار می‌دهد. این سیستم از مدل تشخیص اشیاء YOLOv8 از Ultralytics و OpenCV بهره می‌برد تا دقت و سرعت بالایی در شناسایی تخلفات داشته باشد.

🎯 ویژگی‌های کلیدی:
تشخیص شیء در زمان واقعی: با استفاده از مدل YOLOv8، خودروها، موتورسیکلت‌ها، اتوبوس‌ها و سایر وسایل نقلیه را به‌طور دقیق و سریع شناسایی می‌کند.
نظارت بر سیگنال‌های ترافیکی: سیستم به‌طور مستمر چراغ‌های راهنمایی را بررسی کرده و روشنایی چراغ قرمز را تحلیل می‌کند.
تشخیص تخلف: در صورت عبور هر وسیله نقلیه از منطقه مشخص‌شده در حالی که چراغ قرمز است، آن را به‌عنوان تخلف ثبت می‌کند.
بازخورد بصری: با نمایش چندضلعی‌ها و پیام‌ها روی ویدیو، تخلفات را به‌صورت بصری برجسته می‌کند.

🔗[GitHub Code] (https://github.com/MohammedHamza0/Traffic-Signal-Violation-Detection)


#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍7
آشنایی با شبکه‌های عصبی گراف 🤖

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

https://distill.pub/2021/gnn-intro/

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

🔥 دموی فوق‌العاده‌ای از الگوریتم BST رو حتماً ببینید!

💻 توی این دمو به‌طور کامل نشون داده میشه که چطور BST جستجوها رو انجام میده و چطور می‌تونید داده‌های جدید رو بهش اضافه کنید.

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
This media is not supported in your browser
VIEW IN TELEGRAM
🚜 با ربات هوشمندی آشنا شوید که به کمک هوش مصنوعی و لیزر، علف‌های هرز را با دقت جراحی نابود می‌کند! این دستگاه نوآورانه، چه در روز و چه در شب، در مزارع حرکت کرده و علف‌های هرز را در بین محصولات شناسایی کرده و بدون نیاز به علف‌کش، آنها را از بین می‌برد. 🌱

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
😍5👌1
Python For Data Science Cheat Sheet.pdf
1.4 MB
وقتی صحبت از علم داده‌ها می‌شود، تسلط به زبان برنامه‌نویسی پایتون یک ضرورت است. پایتون با ارائه کتابخانه‌های قدرتمند و ابزارهای متنوع، به یکی از محبوب‌ترین زبان‌ها در این حوزه تبدیل شده است. اگر تازه وارد دنیای داده‌ها شده‌اید یا به دنبال مرور سریع و جمع‌بندی نکات اصلی هستید، چیت شیت Python For Data Science می‌تواند راهنمایی عالی برای شروع یا تقویت مهارت‌های شما باشد. این راهنما شامل نکات پایه‌ای و اصول اولیه پایتون است که به‌طور خاص برای علم داده‌ها طراحی شده است. 📊🐍

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍4
درخت AVL یک نوع درخت جستجوی دودویی خودمتعادل 🌳 است که در آن هر گره اطلاعات اضافی به نام «فاکتور تعادل» ⚖️ را نگهداری می‌کند. مقدار این فاکتور همیشه یکی از سه حالت -۱، ۰ یا +۱ است.

نام این درخت از مخترعان آن، "گئورگی آدل‌سون-ولسکی" و "لندیس" گرفته شده است. 🧑‍🔬👨‍🔬

فاکتور تعادل ⚖️
فاکتور تعادل یک گره در درخت AVL تفاوت ارتفاع بین زیردرخت چپ و زیردرخت راست آن گره است.

فاکتور تعادل = (ارتفاع زیردرخت چپ ⬅️ - ارتفاع زیردرخت راست ➡️) یا (ارتفاع زیردرخت راست ➡️ - ارتفاع زیردرخت چپ ⬅️)

خاصیت خودمتعادل بودن درخت AVL توسط همین فاکتور تعادل حفظ می‌شود. مقدار فاکتور تعادل همیشه باید یکی از مقادیر -۱، ۰ یا +۱ باشد تا درخت به درستی متعادل بماند. ⚖️

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
This media is not supported in your browser
VIEW IN TELEGRAM
دیگه وقتشه شبکه عصبی رو سه‌بعدی ببینی
اگه تو دنیای یادگیری عمیق هستی و دلت می‌خواد مدل‌های شبکه عصبی‌ رو به شکل باحال و قابل درک به نمایش بذاری، باید با TensorSpace.js آشنا بشی 🚀

روش 2️⃣: TensorSpace.js
🔹این کتابخونه فوق‌العاده با استفاده از Three.js و TensorFlow.js بهت اجازه می‌ده مدل‌های یادگیری عمیقت رو به صورت سه‌بعدی و تعاملی نشون بدی،
🔹این یعنی می‌تونی معماری و عملکرد شبکه‌هات رو به صورتی ببینی که همیشه تو ذهنت بوده،
🔹ایده اینه که بجای دیدن اعداد و ماتریس‌های خشک و بی‌روح، می‌تونی شبکه عصبی‌ رو به شکلی گرافیکی و جذاب با بقیه به اشتراک بذاری 🤩


اگه دوست داری بیشتر بدونی و خودت امتحانش کنی، یه سر به صفحه گیت‌هاب TensorSpace.js بزن 👇🏻
https://github.com/tensorspace-team/tensorspace

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
برخی از رکوردهای تقسیم و حل همراه با پیچیدگی زمانی آنها که برای به‌دست‌آوردنشان باید با قضیه مستر آشنا باشید.
📚🤓

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍6
هوش مصنوعی.pdf
1.6 MB
📚 جزوه تایپ‌شده هوش مصنوعی
💎 خلاصه و جمع‌بندی جامع برای کنکور ارشد
📒 مناسب برای مرور و آمادگی کامل

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍4🙏1
اگر شما هم مثل من با مشکل مواجه شدید که وقتی وارد سایت medium.com می‌شید، بیشتر مقالات پریمیوم هستند و نمی‌تونید اونا رو بخونید، باید بگم که خوش‌شانسی به شما رو آورده که این پست رو پیدا کردید. 😄

خب حالا راه‌حل چیه؟ 🤔

فقط کافیه لینک مقاله رو در این سایت قرار بدید و تمام! 🎉

readmedium.com

|#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍6👌1
🎯 𝗠𝗮𝘀𝘁𝗲𝗿𝗶𝗻𝗴 𝘁𝗵𝗲 𝗠𝗶𝗻𝗶𝗺𝗮𝘅 𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺!

🎮 • الگوریتم Minimax یک ابزار قدرتمند در هوش مصنوعی، به خصوص برای بازی‌هایی مثل شطرنج است.

🔍 • این الگوریتم با شبیه‌سازی تمام حرکات ممکن و انتخاب حرکتی که خطر را به حداقل می‌رساند، حتی اگر حریف کاملاً درست بازی کند، عمل می‌کند.

🧠 • به زبان ساده، Minimax به شما کمک می‌کند تا با ارزیابی هر نتیجه ممکن، ایمن‌ترین و هوشمندانه‌ترین تصمیم را بگیرید.

🚀 • چه به توسعه بازی علاقه‌مند باشید و چه فقط در مورد هوش مصنوعی کنجکاو باشید، یادگیری Minimax می‌تواند مهارت‌های حل مسئله شما را تا حد زیادی افزایش دهد!

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍6
🌳 نکات مهم در مورد درخت جستجوی دودویی (BST)

1. ساختار درختی:
هر گره در BST حداکثر دو فرزند دارد؛ فرزند چپ کوچکتر و فرزند راست بزرگتر از گره والد هستند. 🌱

2. کارایی جستجو:
جستجو، درج و حذف در یک درخت متعادل در زمان میانگین O(log n) انجام می‌شود. اما اگر درخت متعادل نباشد، این زمان می‌تواند به O(n) افزایش یابد.

3. مرتب‌سازی خودکار:
درخت BST به طور طبیعی داده‌ها را در یک ترتیب مرتب شده نگه می‌دارد، بنابراین می‌توانید به راحتی داده‌ها را به ترتیب صعودی یا نزولی پیمایش کنید. 📈

4. کاربردها:
به طور گسترده در سیستم‌های فایل، پایگاه‌های داده، و اجرای الگوریتم‌های جستجو و مرتب‌سازی استفاده می‌شوند. 💼

5. تعادل درخت:
برای جلوگیری از کاهش کارایی، تعادل درخت بسیار مهم است. درخت‌های AVL و Red-Black مثال‌هایی از BSTهای خود-متعادل هستند. ⚖️

یادگیری BST یکی از مبانی مهم در علوم کامپیوتر است که در بسیاری از الگوریتم‌ها و ساختارهای داده به کار می‌رود! 🚀

#الگوریتم

📣👨‍💻 @AlgorithmDesign_DataStructuer
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
چابک اما ایمن: یادگیری حرکت سریع بدون برخورد 🚀

ربات‌های چهارپا که در محیط‌های شلوغ حرکت می‌کنند، باید همزمان هم چابک باشند و هم ایمن، تا بتوانند بدون برخورد با موانع یا انسان‌ها کار خود را به درستی انجام دهند. تحقیقات قبلی یا کنترل‌کننده‌هایی با سرعت پایین‌تر از 1 متر بر ثانیه طراحی کرده‌اند تا ایمنی را تضمین کنند ، یا تمرکز خود را فقط روی چابکی گذاشته‌اند، بدون توجه به اینکه ممکن است برخوردهای خطرناکی رخ دهد ⚠️.

در اینجا، یک چارچوب کنترلی جدید به نام چابک اما ایمن (ABS) معرفی می‌شود که به ربات‌های چهارپا اجازه می‌دهد هم سریع و هم بدون برخورد حرکت کنند . ABS شامل دو بخش است: یک سیاست چابک برای حرکت سریع بین موانع 🏃‍♂️ و یک سیاست بازیابی برای جلوگیری از برخوردها 🛡. این ترکیب باعث می‌شود ربات‌ها بتوانند با سرعت بالا و بدون برخورد در محیط‌های مختلف حرکت کنند 🌟.

🎥 منبع ویدیو: آزمایشگاه LeCAR در CMU / Guanya Shi

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👌4
دوستان عزیز، اگر ساختمان داده خوندید، احتمالاً بیشترتون توی بخش استک برای تبدیل عبارات *infix* به *postfix* و *prefix* به مشکل برخوردید 🤔. این یکی از مباحثیه که خیلی‌ها رو به چالش می‌کشه، چون دقیقاً نمی‌دونن چطور باید این تبدیل‌ها رو انجام بدن.

اما خبر خوب اینه که یه سایت فوق‌العاده وجود داره که برای مثال می‌تونید عبارت *infix* رو بهش بدید و به راحتی تبدیل به پیمایش‌های دیگه مثل *postfix* و *prefix* براتون انجام بده . نکته‌ی جالب‌تر اینه که این سایت تمام مراحل تبدیل رو قدم به قدم با استفاده از استک بهتون نشون می‌ده، تا کاملاً درک کنید که چه اتفاقی داره می‌افته 📚.

این سایت واقعاً می‌تونه تو یادگیری و درک بهتر این مبحث بهتون کمک کنه. پیشنهاد می‌کنم حتماً این مطلب رو برای دوستاتون هم بفرستید تا اونا هم ازش بهره‌مند بشن 🎓.

https://www.web4college.com/converters/infix-to-postfix-prefix.php

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍4🔥1
📚 پروژه‌های جالب در زمینه Classification 🎓

🖊 MNIST Handwritten Digit Classification

توضیح: این پروژه مربوط به شناسایی اعداد دست‌نویس از دیتاست معروف MNIST است. با استفاده از این پروژه می‌توانید مدل‌هایی برای تشخیص اعداد از تصاویر سیاه و سفید بسازید.

لینک پروژه: 🔗 MNIST Classification on Kaggle

🖼 CIFAR-10 Image Classification

توضیح: این پروژه به طبقه‌بندی تصاویر از دیتاست CIFAR-10 می‌پردازد که شامل 60,000 تصویر رنگی در 10 دسته مختلف است. این پروژه مناسب یادگیری و کار با مدل‌های CNN است.

لینک پروژه: 🔗 CIFAR-10 Classification on Kaggle


🎭 Sentiment Analysis on IMDB Dataset

توضیح: این پروژه بر روی تحلیل احساسات نظرات کاربران از دیتاست IMDB تمرکز دارد. این پروژه شامل طبقه‌بندی نظرات به دسته‌های مثبت و منفی است و به شما کمک می‌کند تا مدل‌های تحلیل احساسات را پیاده‌سازی کنید.

لینک پروژه: 🔗 IMDB Sentiment Analysis on Kaggle

🎗 Breast Cancer Classification

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

لینک پروژه: 🔗 Breast Cancer Classification on Kaggle

🚢 Titanic Survival Prediction

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

لینک پروژه: 🔗 Titanic Survival Prediction on Kaggle

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
برای تبدیل یک جنگل به یک درخت دودویی:

1. 🌳 ابتدا هر درخت در جنگل را به صورت جداگانه به یک درخت دودویی تبدیل می‌کنیم.
2. 🔗 سپس، تمام این درخت‌های دودویی را از طریق فیلد همزاد (right sibling) گره ریشه به یکدیگر وصل می‌کنیم.

این روش باعث می‌شود که تمام درخت‌های موجود در جنگل به یک درخت دودویی واحد تبدیل شوند. 🌲➡️🌳

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer