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

👨‍💻Admin👉 @Se_mohamad
Download Telegram
Forwarded from کیوپدیا | QuPedia
🖥اگه اسم کامپیوتر کوانتومی، یادگیری ماشین کوانتومی (QML) و یا اینترنت کوانتومی رو شنیدین این کانال برای شما بهترین انتخابه!

☄️کانال "کیوپدیا | QuPedia" کامل‌ترین مرجع فارسی در زمینه مهندسی کوانتومی•‌☄️

⭐️مناسب برای دانشجوهای:
📌فیزیک، برق، کامپیوتر، و ریاضی و سایر رشته های مهندسی(مواد، مکانیک، شیمی و... )

🔖آدرس کانال🔖
🚀@QuPedia
🚀@QuPedia
🚀@QuPedia
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1😍1
ماتریس مجاورت:
ماتـریس مجاورتـی روشـی عمومی برای پیادهسازی گرافها است . در این روش از یک ماتریس n × n
برای نمایش گراف استفاده میکنیم که n تعداد گرههای گراف است.
در واقع زمانی که ما میخواهیم در برنامه نویسی نشان دهیم که کدام نودها با هم ارتباط دارند از این روش استفاده میکنیم البته این مانریس که در شکل میبینید ارتباط نود هایی را نشان میدهد که یک گام برداشتیم برای ارتباط های دیگر اگر ماتریس بالا را یک بار دیگر در خودش ضرب کنیم دو گام انور را نشان میدهد و به همین ترتیب.


📣👨‍💻 @AlgorithmDesign_DataStructuer
👍2
اسکالر، بردار، ماتر یس و تانسورها:
• اسکالرها: اسکالرها مقادیر عدد ی تکی هستند که مقدار یا مقداریتی را نشان می دهند. آنها هیچ جهت یا جهت گیری ندارند، فقط یک مقدار دارند. مثالهایی از اسکالرها شامل دما، زمان و جرم هستند.
• بردارها: بردارها مقادیری هستند که هم مقدار و هم جهت را نشان می دهند. آنها به صورت آرایه هایی از اعداد نمایش داده میشوند، که هر عدد مربوط به یک جزء از بردار در یک بعد خاص است. بردارها به طور معمول برای نمایش مقادیر فیزیکی مانند سرعت و نیرو استفاده میشوند.
• ماتریس ها: ماتریس ها آرایه های مستطیلی از اعداد هستند که به صورت سطرها و ستون ها ترتیب داده شده اند. آنها برا ی نمایش مجموعه های داده ها یا تبدیالت استفاده میشوند. هر عنصر در یک ماتریس با استفاده از شاخص های سطر و ستون خود شناسایی می شود. ماتریس ها به طور گسترده ای در عملیاته ا و تبدیالت ریاضی مورد استفاده قرار می گیرند.
• تنسورها: تنسورها آرایه های چند بعدی هستند که بردارها و ماتریس ها را عمومی تر می کنند. آنها می توانند تعدادی بعد داشته باشند و هر عنصر در یک تنسور با استفاده از شاخص های خود در هر بعد شناسا یی می شود.تانسورها به طور گسترده ای در یادگیری عمیق مورد استفاده قرار م ی گی رند زیرا می توانندساختارها و داده های پیچیده را نمایش دهند.

📣👨‍💻 @AlgorithmDesign_DataStructuer
مسائل جستجوی دودیی و حاصل جمع زیر مجموعه ها در رده کدام دسته از مسائل قرار دارند؟(از راست به چپ)
Anonymous Quiz
9%
N,N
51%
NP,P
22%
NP,NP
18%
P,P
This media is not supported in your browser
VIEW IN TELEGRAM
به دست آوردن فاکتوریل یک عدد به صورت بازگشتی

📣👨‍💻 @AlgorithmDesign_DataStructuer
امان از این اورفیت! 🤒

نمودار بالا، لاس مربوط به ترین و ولیدیشن یک مدل اورفیت شده هست. میخوایم تو این پست درمورد اورفیت صحبت کنیم...

اورفیت چیه؟
اگه مدل ما حین یادگیری، همزمان با کاهش لاس ترین، لاس ارزیابیش شروع به افزایش کنه، میگیم مدل اورفیت شده.

پس این شد:
کاهش لاس ترین، اما افزایش لاس ولیدیشن (ارزیابی)

سه روش جلوگیری از اورفیت چیه؟
1️⃣ رگولاریزیشن L1 و L2 (اضافه کردن یک قید وزن روی لاس مدل)
2️⃣ دراپ‌اوت (خاموش کردن رندومی نورون‌های یک لایه)
3️⃣ دیتا آگمنتیشن

تو پست‌های بعدی درمورد این سه تا مورد جلوگیری از اورفیت توضیح میدیم.

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

📣👨‍💻 @AlgorithmDesign_DataStructuer
سلام دوستان🤗
◀️اگر به دنبال این هستید که Pytorch را برای شبکه های عصبی عمیق یادبگیرید پیشنهاد من یک سایت بسیار خوب است که با کتاب خانه Pythorch و بسیاری از کتاب خونه های دیگر مثل numpy ,pandas و ... شما را آشنا میکند. همچنین در این سایت پروژه هایی زده شده که شما را در درک بهتر شبکه های عصبی کمک می کند. غیر از این کتاب خونه های دیگری هم هستند که شما میتوانید خیلی ساده تر شبکه عصبی خودتان را درست کنید و دیتاست خود را وارد آن کنید ولی بنظر خودم بهتره که با Pythorch یاد بگیرید زیرا این کتاب خونه خیلی ساده و قابل مفهومی تر از بقیه کتاب خانه ها می باشد.

https://www.learnpytorch.io/
👍3
یک گراف همبند و بدون جهت با n گره و n^2/2 یال داریم , کدام یک از الگوریتم زیر برای تولید درخت پوشا با حداقل هزینه بر روی این گراف مناسب است؟
Anonymous Quiz
31%
پریم
39%
کراسکال
22%
دیکسترا
8%
فلوید
الگوریتم فلوید
در این الگورتیم ما به دنبال کوتاه ترین مسیرها هستیم. همان طور که در فرمول بالا پیداس یک راه مستقیم بین vi و vj وجود دارید یک راه هم از vk وجود دارد تا به vj برسد. برای همین است ما میایم بین این دو مینیمم میگیریم زیرا ممکن است راه دیگری نسبت به راه مستقیمی که به vj وجود دارد با هزینه کمتری بتوانیم به آن برسیم.


📣👨‍💻 @AlgorithmDesign_DataStructuer
👍1
GRAPH CONVOLUTIONAL NETWORKS.pdf
853.4 KB
GRAPH CONVOLUTIONAL NETWORKS
مقاله بسیار خوب که توسط Kipf نوشته شده است.

📣👨‍💻 @AlgorithmDesign_DataStructuer
بزرگترین مقسوم علیه مشترك به روش بازگشتی

📣👨‍💻 @AlgorithmDesign_DataStructuer
🙏2👍1👨‍💻1
چند نکته در مورد الگوریتم A*:
⬅️این الگوریتم مهم ترین الگوریتم جستجوی آگاهانه است. این الگوریتم برای گره های درخت جستجو تابع f را به شکل زیر تعریف می شود:
f(n) =g(n) + h(n)
که در رابطه بالا g هزینه مسیر طی شده از گره ریشه تا n است و تابع h هم هزینه تخمین زده شده از گره n تا هدف می باشد.
⬅️باتوجه به تعاریف f و g می توان گفت تابع f که حاصل جمع دو تابع h و g است برای هر گرخ تخمینی از هزینه ی ارزان ترین یا کن هزینه ترین راه حلی است که از گره n می گذرد را محاسبه می کند.
⬅️الگوریتم A* همانند همه ی الگوریتم های جستجو در دو نسخه ی درختی و گرافی می تواند اجرا شود. در نسخه گرافی هر گره حداکثر یک بار گسترش می باید.
⬅️اگر تابع هیوریستیک h مورد استفاده در اجزای الگوریتم A* قابل قبول باشد , جستجوی درختی A* بهینه است.
توجه: قضیه گفته شده یک شرط لازم است ولی کافی نیست یعنی ممکن اجرای A* با یک هیوریستیک غیر قابل قبول هم به ما جواب بهینه برساند.
⬅️شرط قابل قبول بودن هیوریستیک یک شرط کافی برای بهینگی A* نیست.

📣👨‍💻 @AlgorithmDesign_DataStructuer
👌1
کدام درخت را نمیتوان با آرایه ساخت؟
Anonymous Quiz
48%
اریب
19%
پر
12%
کامل
21%
Max-heap
شکل بالا درخت جستجوی مارکوف (MDP) را نشان میدهد. ربات در حالت s قرار دارید این ربات میتواند چهار action داشته باشد و که یکی از آن ها را انتخاب کرده است یعنی در حالت s میاید اکشن a را انتخاب میکند با انتخاب a با یک احتمالی و یک پاداشی که به آن میدهیم که این پاداش میتواند پاداش زنده بودن یا چیزهای دیگر باشد و بعد از آن به حالت Sُ میرویم. میتوان نتیجه گرفت که هر حالت مارکوف تصویری از یک درخت جستجو شبیه expecetimax است. در مارکوف خروجی اعمال فقط به حالت جاری وابسته است.

📣👨‍💻 @AlgorithmDesign_DataStructuer
👍2
نمونه_سوالات_پیچیدگی زمانی.pdf
285.2 KB
نمونه سوالات امتحانی پیچیدگی زمانی

📣👨‍💻 @AlgorithmDesign_DataStructuer
🙏4
مرتبه اجرایی، یافتن کوتاه ترین مسیر از یک گره به سایر گره ها به روش دایجسترا(Dijkstra) کدام است؟
Anonymous Quiz
21%
O(n)
35%
O(n^2)
23%
O(n^3)
22%
O(log n)
✔️سودمندی دنباله ای از اعمال(تخفیف)
🔴اگر به زندگی روزمره توجه کنید شما در هنگام خرید یک کالا نقد را به نسیه ترجیح میدهید یا کالایی را خریداری میکنید که سود بیشتری برا شما دارد. در اینجا هم ما به دنبال بیشینه کردن مجموع سودها هستیم همچنین ترجیح دادن جوایز فعلی(نقد) به جوایز آینده(نسیه) عقلانی است.
🔍 یک راه حل این است که میزان سودمندی ها را با گذشت زمان به صورت نمایی کم شود البته باید توجه کنید که ϒ باید بین 0 و 1 باشد.
حال ممکن است سوالی برایتان پیش بیاید چرا تخفیف اعمال میکنیم؟ یکی از دلایل استفاده از آن این است که باعث کمک به همگرایی الگوریتم میشود و یکی دیگر جوایزی که زودتر دریافت میشوند سودمندی یا ضرر بیشتری دارند.
نحوه ی اعمال آن به این صورت می باشد که در صورتی که قرار باشد به حالت بعدی یعنی از حالت S به حالت Sُ برویم جایزه آن حالت را در فاکتور تخفیف ضرب میکنیم.

📣👨‍💻 @AlgorithmDesign_DataStructuer
👍3