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

👨‍💻Admin👉 @Se_mohamad
Download Telegram
لایبرری LLM یکی از ابزارهای قدرتمند پایتون برای کار با مدل‌های زبانی (Language Models) است. با استفاده از این لایبرری، می‌توانید به راحتی مدل‌های زبانی را فراخوانی کرده، از آن‌ها برای کاربردهای مختلف بهره ببرید، پرامپت‌های دلخواه بنویسید، مدل‌ها را آموزش دهید و بسیاری امکانات پیشرفته دیگر را کشف کنید.

این ابزار برای توسعه‌دهندگان و علاقه‌مندان به پردازش زبان طبیعی و هوش مصنوعی، یک گزینه ایده‌آل است تا به‌طور کارآمد از مدل‌های زبانی بهره‌مند شوند. 🌟

Link:https://llm.datasette.io/en/stable/

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
ساختمان داده استاد طورانی .pdf
208.2 MB
📚 جزوه استثنایی و کامل درس ساختمان داده استاد طورانی

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
شرکت OpenAI و دیگر شرکت‌ها به دنبال مسیرهای جدیدی برای هوش مصنوعی هوشمندتر، با توجه به محدودیت‌های روش‌های فعلی
با گسترش مرزهای AI، شرکت‌هایی مانند OpenAI با چالش‌های غیرمنتظره‌ای در Large Language Models (LLMs) روبرو شده‌اند. به نظر می‌رسد دوران "bigger is better" رو به پایان است و فصل جدیدی از نوآوری در AI در حال شکل‌گیری است.

Here’s what’s happening:

1️⃣ Scaling Challenges:
شعار گسترش مقیاس پیش‌آموزش با استفاده از vast datasets و computing power گسترده به مرزهای خود رسیده است. حتی پیشگامانی مانند Ilya Sutskever به این مسئله اذعان دارند.

2️⃣ Resource Race:
آموزش cutting-edge models روزبه‌روز پیچیده‌تر می‌شود و به میلیون‌ها دلار هزینه، massive energy و specialized chips نیاز دارد. کمبود منابع انرژی و data scarcity، روند پیشرفت را کند کرده است.

3️⃣ A New Approach:
آزمایشگاه‌های AI در حال بررسی الگوریتم‌هایی با تفکر مشابه انسان هستند که بر quality به جای sheer scale تأکید دارند. این تغییر می‌تواند AI arms race را بازتعریف کند.

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
🚀 خبر هیجان‌انگیز! معرفی دیتاست IUST_PersonReID 🚀

دیتاست IUST_PersonReID منتشر شد! این دیتاست با هدف حل چالش‌های منحصربه‌فرد در شناسایی مجدد افراد (Person Re-Identification) در محیط‌های فرهنگی متنوع و پیچیده، به‌ویژه در بسترهای اسلامی، توسعه یافته است. این پروژه گامی مهم در بهبود دقت مدل‌ها و کاهش سوگیری‌های جمعیتی به شمار می‌رود. 📊

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

🔍 ویژگی‌های کلیدی این دیتاست:
- 118,883 تصویر شامل 1,847 هویت در 19 صحنه مختلف
- برچسب‌گذاری دقیق با استفاده از ترکیب مدل‌های پیشرفته و حاشیه‌نویسی انسانی
- ایده‌آل برای آموزش مدل‌های AI که در محیط‌ها و جمعیت‌های مختلف عملکرد موثری دارند

Link:https://computervisioniust.github.io/IUST_PersonReId/

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
سلام دوستان عزیز👋🏻😉

امیدوارم حالتون خوب باشه. 🌟

اگر در درس‌های رشته کامپیوتر نیاز به راهنمایی یا کمک دارین مخصوصا دوستانی که تازه وارد این رشته شدن، حتماً از ادمین کمک بگیرین. ادمین‌ کانال ما همیشه آماده پاسخگویی به سوالات شما و ارائه مشاوره هست.

پس بدون هیچ نگرانی سوالاتتون رو بپرسید و از راهنمایی‌های مفید ادمین استفاده کنید. موفق باشید! 💻📚

برای ارتباط با ادمین به آیدی زیر پیام بدید.👇🏻👇🏻

@Se_mohamad
الگوریتم Trep یکی از ساختارهای داده‌ای است که برای ذخیره‌سازی و بازیابی داده‌ها به صورت مؤثر استفاده می‌شود. این الگوریتم ترکیبی از دو مفهوم درخت دودویی جستجو (Binary Search Tree) و هیپ (Heap) است و از این رو، به عنوان Treap (Tree + Heap) شناخته می‌شود. 📚🌟



💡 ویژگی‌های Treap
1. ساختار درخت دودویی جستجو:
در Treap، تمام قوانین درخت دودویی جستجو رعایت می‌شود. به این معنا که:
- مقدار تمام گره‌های زیرشاخه چپ از مقدار گره والد کوچک‌تر است.
- مقدار تمام گره‌های زیرشاخه راست از مقدار گره والد بزرگ‌تر است.

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

2. اولویت گره‌ها (Priority):
هر گره یک اولویت (Priority) تصادفی دریافت می‌کند و Treap باید به‌گونه‌ای باشد که این اولویت‌ها خصوصیات هیپ ماکسیمم یا مینیمم را رعایت کنند.
- در هیپ ماکسیمم: اولویت گره والد همیشه بیشتر از فرزندان است.
- در هیپ مینیمم: اولویت گره والد کمتر از فرزندان است.

🎲 این اولویت‌ها معمولا به صورت تصادفی تخصیص داده می‌شوند تا توازن درخت حفظ شود.



عملیات در Treap
1. درج (Insertion):
گره جدید ابتدا بر اساس مقدار (Key) در درخت دودویی جستجو قرار می‌گیرد. سپس، با چرخش‌های لازم (Rotations) اولویت‌های هیپ رعایت می‌شود.
🔄 این فرآیند تضمین می‌کند که ساختار Treap همواره متوازن بماند.

2. حذف (Deletion):
برای حذف یک گره، ابتدا باید آن را به یک برگ تبدیل کنیم. این کار با چرخش گره تا برگ شدن انجام می‌شود و سپس گره حذف می‌شود.

3. جستجو (Search):
این عملیات مشابه جستجوی درخت دودویی جستجو است و از مقایسه مقدار گره‌ها استفاده می‌کند.



📊 مزایا و کاربردها
- حفظ توازن به صورت پویا:
برخلاف درخت دودویی جستجوی عادی که ممکن است توازن خود را از دست بدهد، Treap به لطف اولویت‌های تصادفی و چرخش‌ها همواره متوازن باقی می‌ماند. ⚖️

- کاربرد در مسائل real-time:
برای ذخیره‌سازی داده‌ها در حافظه و پاسخ سریع به کوئری‌ها در سیستم‌هایی که به عملکرد بلادرنگ نیاز دارند، بسیار مناسب است. 🕒

- سادگی پیاده‌سازی:
نسبت به سایر درخت‌های متوازن مانند AVL و Red-Black، پیاده‌سازی Treap به دلیل استفاده از اولویت‌های تصادفی ساده‌تر است.



🚀 چرا Treap مهم است؟
در واقع Treap با ترکیب دو ایده قوی (درخت دودویی جستجو و هیپ)، کارایی بالا و سادگی الگوریتمی را ارائه می‌دهد. این الگوریتم به ویژه در مسائلی که جستجو و به‌روزرسانی مداوم داده‌ها مورد نیاز است، بسیار کارآمد است.

استفاده از Treap باعث می‌شود که زمان اجرای عملیات‌ها به طور متوسط O(log n) باقی بماند و در عین حال، کدنویسی آن به نسبت ساده و قابل درک باشد. 👨‍💻

#الگوریتم
👨‍💻 @AlgorithmDesign_DataStructuer
دوره کوتاه "Pretraining LLMs" که با همکاری upstageai توسعه داده شده است.

این دوره شامل مباحثی مانند pretraining from scratch، ادامه pretraining روی داده‌های سفارشی و نحوه استفاده از مدل‌های کوچک‌تر و open-source برای کاهش هزینه‌ها می‌باشد.

این دوره را به صورت رایگان ببینید:
https://hubs.la/Q02YFKyx0

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
روی مدل‌های بینایی-زبانی (Vision Language Models - VLMs) حساب ویژه‌ای باز کنید.

با انتشار Llama 3.2 و ColQwen2، مدل‌های چندوجهی (Multimodal) روزبه‌روز محبوب‌تر می‌شوند.

مدل‌های VLM مدل‌هایی چندوجهی هستند که قابلیت کار با دو مد تصویر و متن را دارند:

ورودی: تصویر و متن
خروجی: متن

این مدل‌ها در کاربردهای زیادی از جمله پاسخ‌دهی به سوالات بصری یا درک اسناد (مانند کاربرد ColQwen2) مورد استفاده قرار می‌گیرند.

نحوه عملکرد در پشت صحنه
چالش اصلی در مدل‌های VLM، یکپارچه‌سازی نمایش‌های تصویر و متن است.

برای این منظور، معماری معمول یک VLM شامل اجزای زیر است:

- رمزگذار تصویر (Image Encoder) مانند CLIP یا SigLIP
-در واقع Embedding Projector برای هم‌تراز کردن نمایش‌های تصویر و متن
- رمزگشای متن (Text Decoder) مانند Vicuna یا Gemma


http://huggingface.co/blog/vlms

#هوش_مصنوعی

📣👨‍💻 @AlgorithmDesign_DataStructuer
کتاب هوش مصنوعی راسل.pdf
19.9 MB
📚 کتاب هوش مصنوعی راسل

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

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
حل المسائل هوش مصنوعی کتاب راسل.pdf
4.6 MB
📘 حل‌المسائل کتاب هوش مصنوعی راسل

بهره‌گیری از حل‌المسائل کتاب‌های مرجع، به‌ویژه کتاب راسل، می‌تواند برای داوطلبان کنکور کارشناسی ارشد بسیار مفید باشد و به درک عمیق‌تر مفاهیم کمک کند.
#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
🐍 Python from Scratch
📚 ارائه شده توسط دانشگاه واترلو

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

مباحث عبارت اند از:
0. Introduction
1. First steps
2. Built-in functions
3. Storing and using information
4. Creating functions
5. Booleans
6. Branching
7. Building better programs
8. Iteration using while
9. Storing elements in a sequence
10. Iteration using for
11. Bundling information into objects
12. Structuring data
13. Recursion


https://open.cs.uwaterloo.ca/python-from-scratch/
🎯 مناسب برای مبتدیان و حتی کسانی که می‌خواهند دانش خود را تقویت کنند!

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
Algorithms.pdf
2.6 MB
کتاب "Algorithms Notes for Professionals" یکی از بهترین منابعی هست که تاکنون در حوزه الگوریتم مطالعه کرده‌ام! 📘
این کتاب نه‌تنها توضیحات جامع و کاربردی ارائه می‌دهد، بلکه با نمونه‌کدهای متنوع همراه است. 💻
مطالعه این کتاب به شما کمک می‌کند مفاهیم پیچیده را به‌راحتی درک کنید و دید عمیق‌تری نسبت به الگوریتم‌ها پیدا کنید. 🧠📈

اگر به یادگیری الگوریتم علاقه‌مندید یا قصد تقویت مهارت‌های خود را در این زمینه دارید، این کتاب به شدت توصیه می‌شود! 🔥🎯
حتماً مطالعه‌اش را در برنامه خود قرار دهید. 📖

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
مقاله "On the Surprising Effectiveness of Attention Transfer for Vision Transformers" به بررسی روشی مؤثر برای بهبود عملکرد *Vision Transformers (ViTs)* می‌پردازد. این روش با انتقال توجه از مدل‌های بزرگ‌تر به مدل‌های کوچک‌تر، ضمن کاهش هزینه‌های محاسباتی، دقت و کارایی مدل را افزایش می‌دهد. مطالعه این مقاله برای علاقه‌مندان به بهینه‌سازی مدل‌های یادگیری عمیق توصیه می‌شود. 🌟

Paper : https://arxiv.org/abs/2411.09702

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
📕 آموزش ساده مفاهیم پایه پایتون!

📷 دوره: AI Python for Beginners
👨‍💻 مدرس: Andrew Ng

در سری دوره‌های #AIPythonforBeginners یاد می‌گیرید که چگونه با استفاده از تابع type() انواع داده‌ای مثل *strings*، *integers* و *floats* را تشخیص دهید و پایه‌ای محکم برای مسیر یادگیری هوش مصنوعی خود بسازید.

🎓 ثبت‌نام رایگان:
https://learn.deeplearning.ai/courses/ai-python-for-beginners

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
هیپ فیبوناچی 🌟
هیپ فیبوناچی (Fibonacci Heap) یک ساختار داده پیشرفته و کارآمد است که برای بهینه‌سازی عملیات روی صف‌های اولویت‌دار طراحی شده است. این ساختار توسط مایکل فردمان و رابرت تارجان معرفی شد و در الگوریتم‌هایی مثل دایکسترا یا پرایم بسیار کاربرد دارد. 🚀

📚 ویژگی‌های کلیدی هیپ فیبوناچی
خاصیت هیپ:

مقدار هر گره کوچک‌تر یا مساوی مقادیر فرزندانش است (برای Min-Heap). 📉
ساختار چند درختی:

شامل مجموعه‌ای از درخت‌هاست که ریشه‌هایشان در یک لیست پیوندی دایره‌ای قرار دارند. 🔗
انعطاف‌پذیری در عملیات:

برخی عملیات‌ها مانند ادغام یا کاهش کلید بهینه‌تر از سایر هیپ‌ها انجام می‌شوند. 🛠
🌟 مزایا
بسیار مناسب برای کاهش کلید مکرر: کاهش زمان در عملیات‌هایی مانند الگوریتم دایکسترا. 🕒
ادغام سریع: ساختار لیست پیوندی دایره‌ای امکان ادغام سریع را فراهم می‌کند. 🔀
🛠 کاربردها
الگوریتم دایکسترا: برای یافتن کوتاه‌ترین مسیر. 🛤
الگوریتم پرایم: برای پیدا کردن حداقل درخت پوشا. 🌳
سیستم‌های اولویت‌دار و شبکه‌ها: برای مدیریت داده‌ها و اولویت‌ها. 📡

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
Mini-Omni: Language Models Can Hear, Talk While Thinking in Streaming

Paper: https://arxiv.org/pdf/2408.16725v2.pdf

Code: https://github.com/gpt-omni/mini-omni

Dataset: LibriSpeech

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