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

👨‍💻Admin👉 @Se_mohamad
Download Telegram
@AlgorithmDesign_DataStructuer.pdf
6.2 MB
یه چیت‌شیت عالی برای یادگیری ماشین که مفاهیم کلیدی زیادی رو پوشش می‌ده! 🤖

این چیت‌شیت شامل موضوعات مهمی مثل نظریه بیز، مبادله بایاس و واریانس، تنظیم، دسته‌بندی داده‌های نامتوازن، انواع رگرسیون، ساختارهای داده، و شبکه‌های عصبی پیچشی می‌شه. 📚

همچنین نکات کاربردی برای مصاحبه‌های کاری رو هم ارائه می‌ده. با اینکه صفحاتش کم هستن، ولی پر از اطلاعات مفید و کاربردی هست. 🚀

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👌4👍1
This media is not supported in your browser
VIEW IN TELEGRAM
الگوریتم جستجوی هزینه یکنواخت (Uniform Cost Search - UCS). 🌐

🧩 چی هست UCS؟
الگوریتم UCS برای پیدا کردن کوتاه‌ترین مسیر در گراف‌ها استفاده میشه، جایی که هر لبه هزینه متفاوتی داره.

🛠 مراحل اجرای الگوریتم UCS:
1. شروع از گره مبدأ: الگوریتم از گره مبدأ با هزینه صفر شروع می‌کنه و اون رو به صف اولویت (Priority Queue) اضافه می‌کنه.
2. تکرار تا زمانی که صف اولویت خالی نباشه:
- گره‌ای که کمترین هزینه رو داره از صف اولویت خارج می‌شه.
- اگر این گره همون گره مقصد باشه، مسیر پیدا شده و الگوریتم خاتمه می‌یابد.
- در غیر این صورت، تمام همسایه‌های این گره بررسی می‌شن و هزینه رسیدن به هر همسایه محاسبه می‌شه.
3. ادامه تا پیدا کردن مقصد: این مراحل تکرار می‌شن تا زمانی که به گره مقصد برسیم یا صف اولویت خالی بشه.

🔍 خصوصیات الگوریتم UCS:
- کامل بودن: اگر مسیر به مقصد وجود داشته باشه، UCS حتماً اون رو پیدا می‌کنه.
- بهینه بودن: UCS همیشه کوتاه‌ترین مسیر (کمترین هزینه) رو پیدا می‌کنه.

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍5
growth.pdf
645.5 KB
🚀 رشد توابع یکی از مسائل مهم در ساختمان داده است. 📊 فایل پی‌دی‌اف پیوست با استفاده از حد، رشد برخی از توابع را اثبات می‌کند و نشان می‌دهد کدام توابع رشد بیشتری دارند. 🔍📈

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍5
🎓 دانشگاه تهران دوره‌ای با عنوان مدل‌های ترنسفورمر و دیفیوژن برگزار می‌کند! این دوره در دانشکده ریاضی، آمار و علوم کامپیوتر دانشگاه تهران برگزار می‌شود و ثبت‌نام برای عموم رایگان است. 🚀

👨‍🏫 تحت هدایت سالار کلانتری، این دوره شما را با مفاهیم پیشرفته و کاربردی مدل‌های ترنسفورمر و دیفیوژن آشنا خواهد کرد. یک نکته بسیار هیجان‌انگیز این است که بعد از هر جلسه، ویدیوهای ضبط شده در یوتیوب قرار می‌گیرند، بنابراین هیچ بخشی از درس را از دست نخواهید داد! 🎥🌐

🔗 لینک به ویدیوهای ضبط شده

📋 برای شرکت در این دوره شگفت‌انگیز، فرم زیر را پر کنید و به دوستانتان نیز اطلاع دهید تا آن‌ها نیز از این فرصت طلایی بهره‌مند شوند:

🔗 فرم ثبت‌نام در دوره

🎉 با تشکر از دانشکده ریاضی، آمار و علوم کامپیوتر دانشگاه تهران برای این فرصت بی‌نظیر! 🌟

فرصت را از دست ندهید و همین حالا ثبت‌نام کنید! 🌐📚

🔗 همچنین، لطفاً این اطلاعیه را با دوستان خود به اشتراک بگذارید تا آن‌ها نیز بتوانند از این دوره بهره‌مند شوند! 🤝📢

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍1
👨🏻‍💻 بالاخره یه نفر پیدا شد و یه وبسایت عالی مثل LeetCode برای الگوریتم‌های ماشین لرنینگ درست کرد که نتیجه‌اش فراتر از تصوراتتونه! 🌟

📄 وبسایت Deep-ML پر از تمرین‌های چالش‌برانگیز توی زمینه‌های مختلف مثل یادگیری ماشین 🤖، یادگیری عمیق 🧠 و جبر خطی 📐. از مسائل ساده مثل محاسبه‌ی ماتریس 🧮 تا تمرین‌های پیشرفته مثل پیاده‌سازی رگرسیون خطی 📉 و توابع فعال‌ساز ⚙️، همه رو اینجا پیدا می‌کنین. تمرین‌ها بر اساس سختی مرتب شدن؛ از آسون 🟢 تا سخت 🔴. هر تمرین هم راهنمایی‌ها و توضیحات لازم رو داره که اگه گیر کردین، کمکتون می‌کنه 💡.

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

شروع کنید و مهارت‌هاتون رو به سطح بالاتری برسونید! 🚀

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👏5👍2
@AlgorithmDesign_DataStructuer.pdf
2.6 MB
🔍 نگاهی به یادگیری عمیق در بینایی کامپیوتر 🔍

📚 در این پی دی اف، به بررسی یادگیری عمیق در بینایی ماشین می‌پردازیم. با مطالعه این فایل، می‌توانید با نحوه کارکرد شبکه‌های CNN آشنا شوید و مثالی از پیاده‌سازی کد روی دیتاست معروف MNIST را مشاهده کنید. !

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍2
ساختمان داده صنعتی همدان.zip
10.6 MB
اسلایدهای تدریس شده درس ساختمان داده در دانشگاه صنعتی همدان 📚🏫

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍2
Media is too big
VIEW IN TELEGRAM
توضیحات تکمیلی درباره معماری ترانسفورمر(Transformer Architecture) 🤖

جلسه‌ای که در معاونت آموزشی جهاد دانشگاهی برگزار شده، بسیار مفید و جامع بوده است. این جلسه به بررسی جزئیات معماری ترانسفورمر پرداخته و کاربردهای آن در زمینه‌های مختلف مانند پردازش زبان طبیعی (NLP) و یادگیری ماشین را توضیح می‌دهد. توصیه می‌کنم حتماً این جلسه را ببینید تا با آخرین دستاوردهای این حوزه آشنا شوید.

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍4
def binary_search(arr, target):
left = 0
right = len(arr) - 1

while left <= right:
mid = (left + right) // 2


if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1

return -1


arr = [1, 3, 5, 7, 9, 11, 13, 15]
target = 7
index = binary_search(arr, target)

if index != -1:
print(f"عنصر {target} در ایندکس {index} یافت شد.")
else:
print(f"عنصر {target} یافت نشد.")

📚 جستجوی دودویی به صورت غیر بازگشتی 🔍

جستجوی دودویی (Binary Search) یکی از الگوریتم‌های محبوب برای پیدا کردن یک عنصر در یک آرایه مرتب شده است. این الگوریتم با استفاده از تقسیم و تسخیر (Divide and Conquer) و به صورت غیر بازگشتی، می‌تواند به سرعت موقعیت هدف را پیدا کند.

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍5
Ketab_Jabr_Khati.pdf
6.8 MB
📘 معرفی کتاب: "جبر خطی"

مولفان: دکتر محمد حسن بیژن‌زاده، دکتر شهریار فرهمندار و دیگران
سال نشر: 1389

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

🔍 ویژگی‌های کلیدی:
- ساختار منظم و واضح که به یادگیری بهتر کمک می‌کند.
- تمرینات عملی برای تسلط بر مفاهیم.
- مناسب برای دانشجویان و پژوهشگران در رشته‌های مختلف.

📚 با مطالعه این کتاب، به دنیای جبر خطی و کاربردهای آن در علوم مختلف وارد شوید و دانش خود را گسترش دهید!

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍6
🌟 هیپ فیبونانچی (Fibonacci Heap) چیست؟ 🌟

هیپ فیبونانچی یک ساختار داده‌ای پیشرفته برای پیاده‌سازی صف‌های اولویت‌دار است که توسط مایکل فردمن و رابرت تارجان معرفی شده است. این ساختار داده‌ای به دلیل کارایی بالا در برخی عملیات‌ها مانند کاهش کلید (decrease-key) و ادغام (merge) بسیار مورد توجه قرار گرفته است.

🔹 ویژگی‌ها:
- ساختار درختی غیر دودویی
- عملکرد سریع در ادغام و دسترسی به حداقل
- مناسب برای الگوریتم‌های گراف مانند دایکسترا و MST

🔹 عملیات‌ها:
- ایجاد هیپ خالی: O(1)
- درج یک عنصر: O(1)
- یافتن حداقل: O(1)
- استخراج حداقل: O(log n)
- کاهش کلید: O(1)
- حذف عنصر: O(log n)

این ساختار به ویژه در مسائلی که نیاز به ادغام مکرر و کاهش کلید دارند، بسیار کارآمد است. 🌳

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍3
🌐 ریاضیات در یادگیری عمیق! 🌐

اگر به دنبال یادگیری مفاهیم ریاضی برای درک بهتر یادگیری ماشین و یادگیری عمیق هستید، منبعی عالی برای شما داریم! 📚

📘 سایت Dive into Deep Learning 📘

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

💡 ویژگی‌های برجسته سایت:
1. منابع جامع و رایگان 🎁
2. مثال‌های کاربردی و پروژه‌های عملی 💼
3. بروزرسانی مداوم مطالب 🔄
4. پشتیبانی از زبان‌های مختلف 🌍

برای شروع یادگیری و بهره‌برداری از این منابع فوق‌العاده، به لینک زیر مراجعه کنید:
🔗 Dive into Deep Learning

بیایید با هم دنیای یادگیری عمیق را کشف کنیم! 🚀🧠

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍4
🔅 تفاوت بین الگوریتم UCS و *A🔅

الگوریتم‌های UCS (Uniform Cost Search) و A* (A-Star) هر دو برای پیدا کردن کوتاه‌ترین مسیر در گراف‌ها استفاده می‌شوند، اما تفاوت‌های کلیدی بین این دو وجود دارد:

1. مبنای جستجو:
الگوریتم UCS: فقط بر اساس هزینه‌ای که تاکنون برای رسیدن به یک گره صرف شده است g(n) جستجو می‌کند.

الگوریتم *A: علاوه بر هزینه تاکنون صرف شده (g(n، از تخمین هزینه باقی‌مانده تا هدف (h(n)) نیز استفاده می‌کند. تابع ارزیابی در *A به صورت f(n) = g(n) + h(n) تعریف می‌شود.


2. هیوریستیک
:
الگوریتم UCS: از هیچ هیوریستیکی استفاده نمی‌کند.
الگوریتم *A: از هیوریستیک (h(n) استفاده می‌کند تا مسیر را بهینه‌تر پیدا کند.

3. کارایی
:
الگوریتم UCS: ممکن است گره‌های بیشتری را بررسی کند.
الگوریتم*A: به دلیل استفاده از هیوریستیک، معمولاً سریع‌تر به هدف می‌رسد.

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍5👌1
data-structure.pdf
12.7 MB
📚 معرفی جزوه ساختمان داده از فرشید شرافکن 📚

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

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

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

امیدوارم این جزوه به شما در مسیر یادگیری کمک کند و موفقیت‌های بیشتری را برایتان به ارمغان آورد. 📈🌟

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
🔥4👍2
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 معرفی سایت ZZZ Code AI 🚀

سلام به همه! 🌟 امروز می‌خواهیم شما را با یک منبع بی‌نظیر برای توسعه‌دهندگان و علاقه‌مندان به هوش مصنوعی آشنا کنیم: ZZZ Code AI. 🧠💡

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

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

اگر به دنبال ارتقاء مهارت‌های خود در دنیای هوش مصنوعی و یادگیری ماشین هستید، ZZZ Code AI می‌تواند بهترین شریک آموزشی شما باشد. 🌐🚀

برای جزئیات بیشتر و شروع یادگیری، حتماً سری به این سایت بزنید! 🎓🔍

🔗 ZZZ Code AI

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍2👏2
📚🔢
📌 مقایسه دو روش محاسبه دنباله فیبوناچی: بازگشتی و پویا

🔄 روش بازگشتی:
- سادگی پیاده‌سازی 😊
- بهره‌وری پایین 🚫
- زمان اجرا: O(2^n)

🚀 روش پویا:
- بهره‌وری بالا 💪
- زمان اجرا: O(n) ⚡️
- فضای ذخیره‌سازی کمتر 🗂

📌 نتیجه‌گیری:
اگرچه روش بازگشتی ساده است، اما روش پویا به‌مراتب سریع‌تر و کارآمدتر است. برای محاسبات بزرگ‌تر، حتماً از روش پویا استفاده کنید!

🔢📚
#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍3
💡 همه چیز درباره Dropout در یادگیری عمیق 💡

در دنیای یادگیری عمیق، Dropout یکی از تکنیک‌های محبوب و پرکاربرد است که به منظور بهبود عملکرد مدل‌های یادگیری و جلوگیری از بیش‌برازش (Overfitting) مورد استفاده قرار می‌گیرد.

در واقع Dropout یک روش منظم‌سازی (Regularization) است که توسط Geoffrey Hinton و همکارانش در سال 2012 معرفی شده است. در این روش، در هر مرحله از آموزش، به صورت تصادفی تعدادی از نورون‌ها غیرفعال (drop) می‌شوند. این بدین معناست که در هر تکرار (Iteration) از فرآیند آموزش، یک زیرمجموعه از نورون‌ها در شبکه عصبی به طور موقت حذف می‌شوند.

📈 مزایای Dropout
1. جلوگیری از بیش‌برازش (Overfitting): با غیرفعال کردن تصادفی نورون‌ها، مدل نمی‌تواند وابستگی شدیدی به نورون‌های خاصی پیدا کند، و این باعث افزایش قابلیت تعمیم مدل می‌شود.
2. افزایش کارآیی مدل: با تنوع‌سازی شبکه عصبی در طول فرآیند آموزش، مدل نهایی از ترکیب‌های مختلف نورون‌ها استفاده می‌کند که به بهبود کارایی آن می‌انجامد.
3. سادگی و کارآمدی: پیاده‌سازی Dropout ساده است و تنها با افزودن یک لایه Dropout به مدل، می‌توان از مزایای آن بهره‌مند شد.

🔧 نحوه پیاده‌سازی Dropout
برای استفاده از Dropout، کافی است در ساختار شبکه عصبی، یک لایه Dropout اضافه کنید. به عنوان مثال در کتابخانه Keras:

from keras.layers import Dropout

model.add(Dropout(0.5))

عدد 0.5 نشان‌دهنده احتمال غیرفعال شدن هر نورون است (50%).

🧩 نکات کلیدی در استفاده از Dropout
- مقدار بهینه Dropout: مقدار Dropout بهینه بستگی به داده‌ها و ساختار شبکه عصبی دارد، ولی معمولاً مقادیر بین 0.2 تا 0.5 استفاده می‌شود.
- استفاده در لایه‌های مختلف: Dropout معمولاً در لایه‌های مخفی شبکه عصبی استفاده می‌شود و کمتر در لایه‌های ورودی و خروجی به کار می‌رود.
- تاثیر بر زمان آموزش: استفاده از Dropout ممکن است زمان آموزش را افزایش دهد، اما بهبود عملکرد مدل در بلندمدت این هزینه را جبران می‌کند.

🎓 نتیجه‌گیری
Dropout یکی از تکنیک‌های مؤثر در بهبود عملکرد و افزایش قابلیت تعمیم مدل‌های یادگیری عمیق است. با استفاده هوشمندانه از این روش، می‌توان از بیش‌برازش جلوگیری کرد و مدل‌هایی دقیق‌تر و کارآمدتر ساخت.

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍1
🧮 الگوریتم KMP (Knuth-Morris-Pratt)

الگوریتم KMP یک روش کارآمد برای جستجوی یک الگو (Pattern) در یک متن (Text) است. این الگوریتم از اطلاعات قبلی برای تسریع جستجو استفاده می‌کند.

مراحل الگوریتم KMP

1. پیش‌پردازش الگو (Pattern)
- ایجاد آرایه LPS (Longest Prefix Suffix) که نشان می‌دهد هر پیشوند الگو تا چه حد می‌تواند به عنوان پسوند هم باشد.
- این آرایه به جلوگیری از تطابق‌های تکراری کمک می‌کند.
- زمان این مرحله O(m) است که در آن ( m) طول الگو است.
- 📊

2. جستجو در متن (Text)
- با استفاده از آرایه LPS، الگو در متن جستجو می‌شود.
- زمان این مرحله O(n) است که در آن ( n ) طول متن است.
- 🔍

نتیجه‌گیری

الگوریتم KMP با استفاده از آرایه LPS، جستجوی الگو را بهینه کرده و از بازگشت‌های غیرضروری جلوگیری می‌کند. این الگوریتم در زمان خطی O(n) عمل می‌کند و در مقایسه با روش‌های ساده‌تر مانند جستجوی مستقیم، بسیار کارآمدتر است.🚀

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍2
grokking-deep-learning.pdf
13.6 MB
📚🤖📘
📌 اگر به دنیای یادگیری عمیق علاقه‌مندید و به دنبال یک منبع آموزشی ساده و کاربردی می‌گردید، کتاب "Grokking Deep Learning" نوشته اندرو ترسک را از دست ندهید!
این کتاب با مثال‌های عملی و توضیحات گام به گام، شما را از مفاهیم پایه تا مباحث پیشرفته یادگیری عمیق همراهی می‌کند. ویژگی‌های برجسته این کتاب:
- 🔹 توضیحات واضح و ساده
- 🔹 مثال‌های کاربردی و کدهای عملی
- 🔹 پوشش جامع مباحث پایه‌ای و پیشرفته یادگیری عمیق

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

📘🤖📚

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