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

👨‍💻Admin👉 @Se_mohamad
Download Telegram
الگوریتم به دست آوردن ضرب دو عدد صحیح بزرگ

📣👨‍💻 @AlgorithmDesign_DataStructuer
def f(n):
if n == 0:
return 0
return n % 2 + f(n//2) * 10

print(f(5))

کد بازگشتی به دست آوردن تبدیل مبانی 10 به مبنای 2

📣👨‍💻 @AlgorithmDesign_DataStructuer
محاسبه پیچیدگی رابطه بازگشتی از روش باز کردن رابطه :

T(n)=2T(n^1/2)+log(n)

📣👨‍💻 @AlgorithmDesign_DataStructuer
⚫️شبکه عصبی ساده یک مدل محاسباتی است که الهام گرفته از ساختار سیستم عصبی انسان است. این شبکه‌ها از الگوهای تصویری مغز برای حل مسائلی که به دقت، الگویی یا پترنی مرتبط می‌شوند، الهام گرفته‌اند. هر شبکه عصبی ساده شامل واحدهای پردازشی کوچکی به نام نورون‌ها است که به صورت مترتب در لایه‌های مختلف قرار دارند. هر نورون با ورودی‌هایش تعامل می‌کند، آن‌ها را پردازش می‌کند و یک خروجی تولید می‌کند.

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

🔴آموزش یک شبکه عصبی ساده عموماً شامل دو مرحله است: فاز فیدباک و فاز پسخورد. در فاز فیدباک، شبکه به تجربه و داده‌های ورودی آموزش داده شده است و وزن‌های بین نورون‌ها به‌روزرسانی می‌شوند تا خروجی شبکه به خروجی مورد نظر نزدیک شود. در فاز پسخورد، عملکرد شبکه با استفاده از داده‌های آزمایشی ارزیابی می‌شود و وزن‌ها بر اساس نتایج ارزیابی به‌روزرسانی می‌شوند تا دقت شبکه افزایش یابد.

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

برای مطالعه بیشتر:

🌐Introduction to Neural Networks

📣👨‍💻 @AlgorithmDesign_DataStructuer
👍1
@AlgorithmDesign_DataStructuer.pdf
34.3 MB
📖جزوه "هوش مصنوعی" دانشگاه تهران


📣👨‍💻 @AlgorithmDesign_DataStructuer
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
فرض کنید A یک ماتریس به اندازه n* n و K یک k * k هسته باشد. برای راحتی، اجازه دهید t = n - k + 1.

برای محاسبه کانولوشن A * K، باید ضرب ماتریس-بردار Mv^T = v'^T را محاسبه کنیم که بعد از محاسبه آن به یک ویژگی جدید خواهیم رسید.

📎برای اطلاعات بیشتر:
🌐 Convolutions and Kernels

📣👨‍💻 @AlgorithmDesign_DataStructuer
Adjacency list:
لیست مجاورت یک روش برای نمایش گراف است که بیان می‌کند که هر گره با چه گره‌های دیگری در ارتباط است. در این روش، برای هر گره، لیستی از تمام گره‌های مجاور آن در گراف ذخیره می‌شود.

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

بنابراین، لیست مجاورت یک روش کارآمد و ساده برای نمایش و تحلیل شبکه‌ها و گراف‌ها است که در بسیاری از حوزه‌های علمی و فناورانۀ کاربرد دارد.

📣👨‍💻 @AlgorithmDesign_DataStructuer
👍2
تعریف و برخی مثال در مورد مفهوم احتمال

📣👨‍💻 @AlgorithmDesign_DataStructuer
🔥1
با 5 گره چند درخت دودویی متفاوت وجود دارد؟
Anonymous Quiz
37%
42
17%
14
27%
70
20%
28
آنالیز توابع بازگشتی :
از آنجایی که در توابع بازگشتی، توابع خود را فراخوانی کرده و برای انتقال جواب از روش پشته استفاده می کنند ، فلذا تنها راه پیاده سازی پشته درخت است.
توضیح کد بازگشتی در تصویر :
آیا 7>1است ؟ خیر. فلذا خط ' 1 return ' اجرا نمی شود. در غیر این صورت عدد (7)+n ، فراخوانی مجدد تابع (عدد انتزاعی)
مجددا تابع فراخوانی می شود برای عدد .1شرط برسی می شود .آیا 1>1؟ خیر. فلذا خط 1 return'
اجرا نمی شود. در غیر این صورت عدد (6)+n فراخوانی مجدد تابع( عدد انتزاعی)
مراحل فوق را تا زمانی تکرار می کنیم که شرط نقض شود (1=>n ) باشد و عدد 1 را return کند.
📣👨‍💻 @AlgorithmDesign_DataStructuer
هرس آلفا بتا(Alpha–beta pruning) چیست؟
الگوریتم minimax از طریق هرس آلفا-بتا بهینه شده است که در بخش بعدی به تفصیل توضیح داده شده است. نیاز برای هرس از این واقعیت ناشی می شود که درختان تصمیم ممکن است در برخی شرایط بسیار پیچیده شوند. برخی از شاخه های اضافی در آن درخت به پیچیدگی مدل می افزایند. برای دور زدن این موضوع، از هرس آلفا-بتا استفاده می‌شود که کامپیوتر را از بررسی کل درخت نجات می‌دهد. الگوریتم توسط این گره های غیر معمول کند می شود. در نتیجه حذف این گره ها، الگوریتم کارآمدتر می شود.
پیکربندی کلی(نسخه MIN):
ما در نودی مثل n مقدار MIN-VALUE را محاسبه میکنیم.
فرض کنید a بیشترین مقداری باشد که تابع MAX بالایی تا کنون کسب کرده است.
ما میخواهیم توی فرزندان n بگردیم.
اگر مقادیر یکی از فرزندان n از a کمتر باشد , نیازی به محاسبه ی بقیه ی فرزندان نیست.
نسخه MAX قریبنه حالت بالا است.

📣👨‍💻 @AlgorithmDesign_DataStructuer
👍1
چه تعداد درخت دودویی برچسبدارمتفاوت با n گره وبا برچسبهاي1تا n که داراي ترتیبهاي یکسان در دو روش پس ترتیب وبین ترتیب میباشند،وجود دارند؟
Anonymous Quiz
22%
n
52%
n!
25%
1
2%
0
در دوره‌ی جبرخطی (Linear Algebra) بعد از مباحثِ پایه‌ی ماتریسی، بحث‌های کاربردی‌تری مانند SVD و ماتریس همبستگی را مطرح کردیم که به طورِ مستقیم در بسیاری از مسائل واقعی دنیای صنعت و تحقیقات علمی کاربرد دارند. در این درس می‌خواهیم به یکی از مباحثِ اصلی و پیشرفته‌تر در جبر خطی بپردازیم که به آن آنالیز مولفه اصلی (Principal Component Analysis) یا به اختصار PCA می‌گویند. همچنین کاربرد آن را در مسائلِ حوزه‌ی علوم‌داده (Data Science) مشاهده کنیم.

یکی از کاربردهای اصلیِ PCA در عملیاتِ کاهشِ ویژگی (Dimensionality Reduction) است. PCA همان‌طور که از نامش پیداست می‌تواند مولفه‌های اصلی را شناسایی کند و به ما کمک می‌کند تا به جای اینکه تمامیِ ویژگی‌ها را مورد بررسی قرار دهیم، یک سری ویژگی‌هایی را ارزشِ بیشتری دارند، تحلیل کنیم. در واقع PCA آن ویژگی‌هایی را که ارزش بیشتری فراهم می‌کنند برای ما استخراج می‌کند (اگر نمی‌دانید ویژگی یا بُعد چیست، حتما درس ویژگی چیست را خوانده باشید).

اجازه بدهید با یک مثال شروع کنیم. فرض کنید یک فروشگاه می‌خواهد ببیند که رفتار مشتریانش در خریدِ یک محصول خاص (مثلا یک کفش خاص) چطور بوده است. این فروشگاه، اطلاعات زیادی از هر فرد دارد (همان ویژگی‌های آن فرد). برای مثال این فروشگاه، از هر مشتری ویژگی‌های زیر را جمع‌آوری کرده است:

سن، قد، جنسیت، محل تولد شخص (غرب ایران، شمال ایران، شرق ایران یا جنوب ایران)، میانگین تعداد افراد خانواده، میانگین درآمد، اتومبیل شخصی دارد یا خیر و در نهایت اینکه این شخص بعد از بازدید کفش خریده است یا خیر. ۷ویژگیِ اول ابعاد مسئله ما را می‌ساختند و ویژگیِ آخر هدف (Target) می‌باشد.

#هوش_مصنوعی

📣👨‍💻 @AlgorithmDesign_DataStructuer
یک متد بازگشتی بنویسید که n را بگیرد و الگوی زیر را چاپ کند:
n, n-5, n-10, …, 0, 5, 10, …, n-5, n
مثال : برای n=16 به صورت زیر می باشد:
16, 11, 6, 1, -4, 1, 6, 11, 16
متد باز گشتی آن به صورت زیر می باشد :
def print_pattern(n):
if n > 0:
print(n)
print_pattern(n-5)
print(n)
else:
print(n)

print_pattern(16)


#الگوریتم

📣👨‍💻 @AlgorithmDesign_DataStructuer