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

👨‍💻Admin👉 @Se_mohamad
Download Telegram
تابع فعال‌ساز ReLU (Rectified Linear Unit) یکی از پرکاربردترین توابع فعال‌سازی در شبکه‌های عصبی مصنوعی است که به‌ویژه در شبکه‌های عمیق (Deep Learning) بسیار مورد استفاده قرار می‌گیرد.
تفسیر ساده: خروجی ReLU برای مقادیر مثبت ورودی برابر خود آن مقدار و برای مقادیر منفی صفر است، که تفسیر و درک آن را آسان می‌کند.
یکی از مشکلات ReLU این است که اگر یک نرون در شبکه مقدار ورودی منفی دریافت کند، خروجی صفر می‌شود و این نرون دیگر نمی‌تواند فعال شود و به اصطلاح "مرده" می‌شود. این مشکل می‌تواند یادگیری شبکه را تحت تاثیر قرار دهد.
ناپیوستگی در نقطه صفر: تابع ReLU در نقطه صفر ناپیوسته است که می‌تواند در برخی موارد به مشکلات محاسباتی منجر شود.
ReLU(x)=max(0,x)
قطعه کد زیر این خصوصیت تابع فعال سازی ReLU را نشان میدهد که در شکل بالا نمایش داده شده است :
from matplotlib import pyplot

def rectified(x):
return max(0.0, x)

series_in = [x for x in range(-10, 11)]

series_out = [rectified(x) for x in series_in]

pyplot.plot(series_in, series_out)
pyplot.show()


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

#هوش_مصنوعی

📣👨‍💻 @AlgorithmDesign_DataStructuer
کمترین مرتبه زمانی الگوریتم پیدا کردن i امین کوچکترین عنصر از میان n عنصـر کـدام است؟
Anonymous Quiz
28%
n
27%
log n
27%
n log n
18%
1
سلام دوستان عزیز👋🏻😉

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

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

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

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

@Se_mohamad
🙏12😍1
قانون دلتا(Delta Rule) :
وقتی که مثال ها بصورت خطی جداپذیر نباشند قانون پرسپترون همگرا نخواهد شد. برای غلبه بر این مشکل از قانون دلتا استفاده میشود.
ایده اصلی این قانون استفاده از gradient descent برای جستجو در فضای فرضیه وزن های ممکن میباشد. این قانون پایه روش Back propagation است که برای آموزش شبکه با چندین نرون به هم متصل بکار میرود.
همچنین این روش پایه ای برای انواع الگوریتمهای یادگیری است که باید فضای فرضیه ای شامل فرضیه های مختلف پیوسته را جستجو کنند.
برای درک بهتر این روش آنرا به یک پرسپترون فاقد حد آستانه اعمال میکنیم. در اینجا لازم است ابتدا تعریفی برای خطا ی آموزش ارائه شود. یک تعریف متداول این چنین است:
    E = ½  Σi (y – ȳ )^2

که این مجموع برای تمام مثال های آموزشی انجام میشود.

#هوش_مصنوعی

📣👨‍💻 @AlgorithmDesign_DataStructuer
👍1
عملیات در صف حلقوی:
صف حلقوی یکی از ساختارهای داده است که در آن داده‌ها به صورت خطی و متمایل به صورت حلقه ذخیره می‌شوند. این به این معنی است که آخرین عنصر صف به اولین عنصر متصل است، ایجاد می‌کنند و به آن دسترسی دارند. این ساختار داده معمولاً با استفاده از یک آرایه یا یک لیست پیوندی پیاده‌سازی می‌شود.

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍2
درستی یا نادرستی گزاره هاي زیر کدام است؟

الف)از میان n نقطه در صفحه، میتوان نزدیکترین 1/2^n نقطه به مبدأ را در زمان (n(O بـه دسـت آورد. ب) مرتب سازي 6 عنصر با الگوریتم هاي مبتنی بر مقایسه حداقل به 10 مقایسه در بـدترین حالت نیاز دارد.
Anonymous Quiz
36%
الف)درست ، ب)نادرست
29%
الف)نادرست ، ب)درست
18%
الف)نادرست ، ب)نادرست
16%
الف)درست ، ب)درست
Overfitting (بیش‌برازش) :
- توضیح: مدل بیش از حد به جزئیات و نویز داده‌های آموزشی حساس می‌شود.
- نتیجه: عملکرد عالی روی داده‌های آموزشی، عملکرد ضعیف روی داده‌های جدید.
- راه‌حل: کاهش پیچیدگی مدل، افزایش داده‌های آموزشی، استفاده از اعتبارسنجی متقابل.

Underfitting (کم‌برازش) :
- توضیح: مدل به اندازه کافی پیچیده نیست تا الگوهای موجود در داده‌ها را یاد بگیرد.
- نتیجه: عملکرد ضعیف روی داده‌های آموزشی و داده‌های جدید.
- راه‌حل: افزایش پیچیدگی مدل، اضافه کردن ویژگی‌های بیشتر، کاهش نویز داده‌ها.

Balanced (متعادل) :
- توضیح: مدل به خوبی در هر دو داده‌های آموزشی و جدید عمل می‌کند.
- نتیجه: عملکرد مناسب و تعمیم‌پذیری خوب.
- راه‌حل: تنظیم پیچیدگی مدل، استفاده از روش‌های کاهش پیچیدگی با انتخاب مناسب، تنظیم مکرر پارامترها.

#پاسخ_تشریحی

📣👨‍💻 @AlgorithmDesign_DataStructuer
👌2👍1
لیست های همجوار :
برای نمایش گراف ها میتوانیم از لیست های همجواری استفاده کنیم . بدینصورت که آرایهای به تعداد
گـرههـای گـراف ایجاد میکنیم. هر عنصر این آرایه اشاره گری است به ابتدای یک لیست پیوندی . این
لیست پیوندی شامل گرههایی است که به گره متناظر با عنصر آرایه متصل اند.

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
class SimpleModel(nn.Module):
def __init__(self):
super(SimpleModel, self).__init__()
self.fc1 = nn.Linear(10, 5)
self.fc2 = nn.Linear(5, 2)

def forward(self, x):
x = F.relu(self.fc1(x))
x = self.fc2(x)
return x

در این قسمت، ما یک مدل شبکه عصبی ساده را تعریف می‌کنیم:

تعریف کلاس SimpleModel:

این کلاس از nn.Module ارث‌بری می‌کند که کلاس پایه برای تمام مدل‌های PyTorch است.

متد init برای تنظیم اجزای مدل استفاده می‌شود. در اینجا، ما دو لایه تمام‌وصل (fully connected) را تعریف می‌کنیم:
self.fc1 = nn.Linear(10, 5):
یک لایه خطی که ۱۰ ورودی را به ۵ خروجی تبدیل می‌کند.
self.fc2 = nn.Linear(5, 2):
یک لایه خطی که ۵ ورودی را به ۲ خروجی تبدیل می‌کند.
super(SimpleModel, self).init()
فراخوانی می‌شود تا سازنده کلاس پایه (nn.Module) نیز اجرا شود.
تعریف متد forward:

متد forward مشخص می‌کند که چگونه داده‌ها از طریق شبکه عبور کنند.
x = F.relu(self.fc1(x)):
ورودی x ابتدا از طریق اولین لایه خطی (fc1) عبور می‌کند، سپس تابع فعال‌سازی ReLU بر روی خروجی اعمال می‌شود.
x = self.fc2(x):
خروجی مرحله قبلی به عنوان ورودی به دومین لایه خطی (fc2) داده می‌شود.
در نهایت، خروجی از متد forward بازگشت داده می‌شود.

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
اگر دنباله درجه یک گراف بدون جهت 2 و 2 و 3 و 3 و 3 و 3 باشد در آن صـورت تعـداد یال هاي پشتی ( back edge )این گراف در جستجوي DFS برابر است با:
Anonymous Quiz
17%
2
50%
3
25%
4
8%
5
مثالی در مورد پیمایش های درخت که به صورت Preorder , Postorder و Inorder می باشد.

#الگوریتم

📣👨‍💻 @AlgorithmDesign_DataStructuer
Math in machine learning@AlgorithmDesign_DataStructuer.rar
13.3 MB
📚معرفی یک جزوه عالی برای کسانی که تازه می‌خواهند یادگیری ماشین را شروع کنند و در ریاضی ضعیف هستند.

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
🙏3💯2😍1
مرتب سازی حبابی (Bubble Sort) با استفاده از کتابخانه Plt :
import matplotlib.pyplot as plt
import random

def bubbleSort(array):
n = len(array)
for i in range(n):
for j in range(0, n - i - 1):
if array[j] > array[j + 1]:

array[j], array[j + 1] = array[j + 1], array[j]
plt.scatter(range(len(array)), array, c='blue')
plt.title("Bubble Sort Visualization")
plt.xlabel("Index")
plt.ylabel("Value")
plt.xticks(range(len(array)))
plt.grid(True, linestyle='--')

plt.pause(0.5)
plt.clf()

random.seed(20)

random_lst = [random.randint(0, 100) for _ in range(15)]
print('Unsorted Array:')
print(random_lst)

plt.figure(figsize=(12, 6))

bubbleSort(random_lst)

print('Sorted Array in Ascending Order:')
print(random_lst)

plt.scatter(range(len(random_lst)), random_lst, c='blue')
plt.title("Bubble Sort Visualization - Sorted Array")
plt.xlabel("Index")
plt.ylabel("Value")
plt.xticks(range(len(random_lst)))
plt.grid(True, linestyle='--')
plt.show()

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

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


#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
def sumOfDigitsHelper(n):
if n == 0:
return 0
return n % 10 + sumOfDigitsHelper(n//10)


a = int(input("Enter your number is a :"))

sumOfDigitsHelper(a)

کد بازگشتی جمعه ارقام عدد

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

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

امیدوارم بهترین نتیجه را در امتحانات بگیرید😉

@Se_mohamad
🙏16👌4🎉3😍2
یکی از مهم ترین مهارت ها DSA (Data Structure Algorithms) است که هر دانش آموز علوم کامپیوتر باید داشته باشد. اغلب دیده می شود که افرادی که دانش خوبی از این فناوری ها دارند، برنامه نویسان بهتری نسبت به دیگران هستند.

ساختار داده ها(Data Structure) :
ساختار داده به عنوان روشی خاص برای ذخیره و سازماندهی داده ها در دستگاه های ما برای استفاده کارآمد و مؤثر از داده ها تعریف می شود. ایده اصلی استفاده از ساختارهای داده، به حداقل رساندن پیچیدگی های زمانی و مکانی است. یک ساختار داده کارآمد حداقل فضای حافظه را می گیرد و برای اجرای داده ها به حداقل زمان نیاز دارد.

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

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
🌐شبکه عصبی CNN چیست؟ شبکه عصبی کانولوشنال (CNN) نوعی الگوریتم یادگیری عمیق است که از مغز انسان الهام گرفته شده است. این به ویژه برای تجزیه و تحلیل داده های بصری قدرتمند است.

🧩 مولفه اصلی: لایه کانولوشنال لایه کانولوشن قلب یک CNN است. چندین فیلتر را روی تصویر ورودی اعمال می کند، هر فیلتر ویژگی های مختلفی مانند لبه ها، بافت ها و الگوها را تشخیص می دهد. این فرآیند به شبکه اجازه می دهد تا تصویر را با جزئیات درک کند.

در اینجا نحوه کار آن آمده است:

پیچیدگی: شبکه تصویر را در بخش های کوچک اسکن می کند و آن را در سه بعد (ارتفاع، عرض و عمق) بررسی می کند تا جزئیات پیچیده را ثبت کند.

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

ادغام: این مرحله ابعاد نقشه های ویژگی را کاهش می دهد و شبکه را از نظر محاسباتی کارآمد می کند و در عین حال اطلاعات مهم را حفظ می کند.

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