شاید براتون سوال پیش آمده باشد که به عامل یا همون Agent چیست؟ عامل را میتوان اینگونه تعریف کرد که به هر چیزی که بتواند درک کند و به آن عمل کند عامل گفته می شود در واقع میتوان به دید بهتری به آن نگاه کرد میتوان گفت به هر چیزی که بتواند محیط بیرون خود را حل کند و عملگر باشد در آن محیط به آن عامل گفته می شود.
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
👍2🤔2👨💻1
کدام یک از توابع زیر بهتر از بقیه پیچیدگی هر الگوریتم مرتب سازی را که فقط مجاز به مقایسه عناصر مجاور است بیان میکند؟
Anonymous Quiz
21%
Ω(n^2)
25%
O(n)
40%
Ω(n log n)
14%
O(n^2)
🤔4👨💻2
حال میخواهیم انواع عامل ها را تعریف کنیم و بدونیم هر کدام چه خاصیت هایی دارند.
اولین عامل , عامل واکنشی می باشد. در این عامل انتخاب عمل فقط بر اساس درک فعلی از محیط پیرامون خود می باشد که میتواند مدلی از حالت فعلی محیط داشته باشد. این عامل تنها حالت فعلی برایش اهمیت دارد و به عواقب و آینده توجه ای نمیکند و شامل مجموعه ای از قوانین شرط-عمل می باشد. این عامل در بعضی مواقع میتواند پیروز باشد و در بعضی مواقع دیگر میتواند با شکست رو به رو شود.
📣👨💻 @AlgorithmDesign_DataStructuer
اولین عامل , عامل واکنشی می باشد. در این عامل انتخاب عمل فقط بر اساس درک فعلی از محیط پیرامون خود می باشد که میتواند مدلی از حالت فعلی محیط داشته باشد. این عامل تنها حالت فعلی برایش اهمیت دارد و به عواقب و آینده توجه ای نمیکند و شامل مجموعه ای از قوانین شرط-عمل می باشد. این عامل در بعضی مواقع میتواند پیروز باشد و در بعضی مواقع دیگر میتواند با شکست رو به رو شود.
📣👨💻 @AlgorithmDesign_DataStructuer
👍2
بیشینه ی طول کد یک عنصر در فشرده سازی n عنصر با روش هافمن چه قدر میتواند باشد؟
Anonymous Quiz
36%
n-1
17%
n-2
30%
log n
17%
n^2
در اینجا ما مرتب سازی ادغامی را به روش درختی پیچیدگی آن را به دست آوردیم. هر بار از ریشه که n است تقسیم بر دو میکنیم که این باعث میشود ارتفاع درخت log n باشد اگر مجموع اعداد هر سطر را هم به دست آوریم n می شود که همان اندازه ارایه می باشد پس میتوان نتیجه گرفت که ما n تا log n وجود دارید پس پیچیدگی آن O(n log n)می باشد.
📣👨💻 @AlgorithmDesign_DataStructuer
📣👨💻 @AlgorithmDesign_DataStructuer
👍2👨💻1
عامل دیگر که میخواهیم در مورد آن صحبت کنیم عامل هدف گرا می باشد که به آن هم میتوان برنامه ریزی کننده هم گفت این عامل بر خلاف عامل واکنشی دارای هدف می باشد با زبان بهتر بخواهم بگوییم این عامل بی گدار به 🌊 نمیزند از خود میپرسید چه میشود اگر من این عمل را انجام دادم در واقع تصمیم گیری را بر اساس عواقب که به عنوان پیش فرض به دست میاورد انجام میدهد. این عامل دارای برنامه ریزی کامل و برنامه بهینه می باشد در واقع اگر در صورت وجود راه حل آن را پیدا میکند و همواره بهترین راه حل را در نظر میگیرد.
این عامل فرقی که با عامل واکنش دارد این است که عاقلانه عمل میکند و به فکر عواقبی هست که بعد از عمل پیش می آید.
نکته: بعضی از عامل ها بر اساس هدف کار میکنند یعنی فقط هدف براشون مهم هست ولی بعضی دیگر بر اساس سودمندی پیش میروند یعنی مبتنی بر سود هستند هر چه سود بیشتری در طول راه به دست بیاورند از اون راه می روند.
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
این عامل فرقی که با عامل واکنش دارد این است که عاقلانه عمل میکند و به فکر عواقبی هست که بعد از عمل پیش می آید.
نکته: بعضی از عامل ها بر اساس هدف کار میکنند یعنی فقط هدف براشون مهم هست ولی بعضی دیگر بر اساس سودمندی پیش میروند یعنی مبتنی بر سود هستند هر چه سود بیشتری در طول راه به دست بیاورند از اون راه می روند.
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
🔥2🎉1
ماکزیمم تعداد مقایسه براي heap-min کردن یک heap-max با n گره برابر است با:
Anonymous Quiz
23%
O(2n)
35%
O(n+log n)
17%
O(n^2)
25%
گزینه 1 و 2
خب امشب میخواهیم در مورد برنامه ریزی پویا یا همان Dynamic Programing صحبت کنیم خب در قطعه کد اولی که کد بازگشتی اعداد بازگشتی می باشد همان طور که میدانیم بر خلاف ظاهرش که در تعداد خط کمی نوشته شده است اما دارای پیچیدگی زمانی نمایی می باشد. ما کلا از پیچیدگی زمانی بدمان میاید پس میاییم برای اینکه آن را از نمایی در بیاریم متوصل میشیم به برنامه ریزی پویا که در قطعه کد دوم از این راه نوشته شده است که از نمایی به پیچیدگی خطی رسیدیم.
نکته: در کدهایی که به صورت بازگشتی نوشته می شود ما میاییم به صورت بالا به پایین عمل میکنیم یعنی اگر از لحاظ درخت بگوییم یعنی از ریشه شروع می کنیم تا به برگ برسیم ولی در برنامه ریزی پویا به صورت پایین به بالا عمل میکنیم یعنی از برگه ها حرکت میکنیم و به ریشه میرسیم.
برنامه ریزی پویا کاربردهای فراوانی در ساختمان داده و خیلی جاهای دیگر دارد زیرا سعی میکند تا حد مقبولی پیچیدگی را کاهش دهد زیرا کلا در کامپیوتر و برنامه هایی که نوشته می شود سعی میشود که کمترین پیچیدگی را بر روی آن اعمال کنیم.
ممنون میشم برای دوستانتون بفرستید تا از مطالب بهره ببرند😉👋
📣👨💻 @AlgorithmDesign_DataStructuer
نکته: در کدهایی که به صورت بازگشتی نوشته می شود ما میاییم به صورت بالا به پایین عمل میکنیم یعنی اگر از لحاظ درخت بگوییم یعنی از ریشه شروع می کنیم تا به برگ برسیم ولی در برنامه ریزی پویا به صورت پایین به بالا عمل میکنیم یعنی از برگه ها حرکت میکنیم و به ریشه میرسیم.
برنامه ریزی پویا کاربردهای فراوانی در ساختمان داده و خیلی جاهای دیگر دارد زیرا سعی میکند تا حد مقبولی پیچیدگی را کاهش دهد زیرا کلا در کامپیوتر و برنامه هایی که نوشته می شود سعی میشود که کمترین پیچیدگی را بر روی آن اعمال کنیم.
ممنون میشم برای دوستانتون بفرستید تا از مطالب بهره ببرند😉👋
📣👨💻 @AlgorithmDesign_DataStructuer
👌4👍3
مسائل جستجو(Search Problems):
بعد از اینکه در مورد انواع عامل ها صحبت کردیم میخواهیم در مورد مسائل جستجو بحث کنیم. کلا در ریاضیات نظریه و مباحث های محاسباتی جستجو نوعی از مسائل محاسباتی می باشد که با یک رابطه دودویی نشان داده می شود. به طور شهودی بخواهیم در موردآن صحبت کنیم مشکلمون در پیدا کردن یک ساختاری مانند y هست در شی یا محیطی مانند x می باشد. به طور واضح تر بخواهیم در مورد ان بحث کنیم یعنی یک محیط داریم و میخواهیم با استفاده از اون دانشی که داریم به اون هدف مورد نظرمون در اون محیط برسیم.
📣👨💻 @AlgorithmDesign_DataStructuer
بعد از اینکه در مورد انواع عامل ها صحبت کردیم میخواهیم در مورد مسائل جستجو بحث کنیم. کلا در ریاضیات نظریه و مباحث های محاسباتی جستجو نوعی از مسائل محاسباتی می باشد که با یک رابطه دودویی نشان داده می شود. به طور شهودی بخواهیم در موردآن صحبت کنیم مشکلمون در پیدا کردن یک ساختاری مانند y هست در شی یا محیطی مانند x می باشد. به طور واضح تر بخواهیم در مورد ان بحث کنیم یعنی یک محیط داریم و میخواهیم با استفاده از اون دانشی که داریم به اون هدف مورد نظرمون در اون محیط برسیم.
📣👨💻 @AlgorithmDesign_DataStructuer
در یک درخت جستجوی باینری کدام عمل در O(1) انجام می شود؟
Anonymous Quiz
60%
بررسی تهی بودن درخت
11%
حذف یک عنصر
15%
پیدا کردن کمترین مقدار
15%
درج کردن یک عنصر جدید
This media is not supported in your browser
VIEW IN TELEGRAM
چراغ راهنمایی که هیچ وقت سبز نمیشود !
مگر اینه موارد ایمنی در پشت چراغ قرمز رعایت شود.
در این پروژه ی پردازش تصویر ، سوژه اصلی یک موتور سوار هست و ملاک اصلی عملکرد چراغ راهنما بر اساس موارد ایمنی مربوط به موتور سوار هست.
اگر چنانچه موتور سوار، موارد ایمنی را رعایت کند، چراغ سبز می شود.
📣👨💻 @AlgorithmDesign_DataStructuer
مگر اینه موارد ایمنی در پشت چراغ قرمز رعایت شود.
در این پروژه ی پردازش تصویر ، سوژه اصلی یک موتور سوار هست و ملاک اصلی عملکرد چراغ راهنما بر اساس موارد ایمنی مربوط به موتور سوار هست.
اگر چنانچه موتور سوار، موارد ایمنی را رعایت کند، چراغ سبز می شود.
📣👨💻 @AlgorithmDesign_DataStructuer
👌7🤩2
در ادامه مطلبی که در مورد جستجو گقته شد حال میخایم در مورد الگوریتم هایی بحث کنیم تحت عنوان استراتژی های ناآگاهانه که به آن ها نیز Uniformed Search هم گفته میشود. این الگوریتم تنها از اطلاعات موجود در تعریف سوال برای جستجو استفاده می کند که تنها میتواند حالت های هدف را از حالت های غیر هدف تشخیص دهد.
انواع جستجوی ناآگاهانه:
جستجوی سطحی
جستجوی عمقی
جستجوی عمقی محدود
جستوجوی هزینه یکنواخت
جستجوی عمق کننده تکرای
در مورد همه موارد بالا یکی توضیح خواهیم داد.
📣👨💻 @AlgorithmDesign_DataStructuer
انواع جستجوی ناآگاهانه:
جستجوی سطحی
جستجوی عمقی
جستجوی عمقی محدود
جستوجوی هزینه یکنواخت
جستجوی عمق کننده تکرای
در مورد همه موارد بالا یکی توضیح خواهیم داد.
📣👨💻 @AlgorithmDesign_DataStructuer
🔥3👍1👏1
This media is not supported in your browser
VIEW IN TELEGRAM
الگوریتم Dijkstra که از آ شروع میکند و میخواهد به ح که مقصد هست برسد.
📣👨💻 @AlgorithmDesign_DataStructuer
📣👨💻 @AlgorithmDesign_DataStructuer
👍3💯1
یک درخت جستجوی دودوی با کلمه "SEARCH"(از چپ به راست) بسازید. تعداد متوسط برای پیدا کردن یک کاراکتر در این درخت برابر است با:
Anonymous Quiz
27%
2.83
36%
2.4
21%
2.6
15%
6
This media is not supported in your browser
VIEW IN TELEGRAM
Breadth-First-Search-Algorithm
اولین الگوریتم جستجوی ناآگاهانه که در مورد آن صحبت میکنیم جستجوی سطحی می باشد. این الگوریتم هر بار سطحی ترین نود را گسترش می دهد. نحوه ی پیاده سازی آن صف می باشد(FIFO) می باشد به این معنی که هرچی که اول امد همون اول هم خارج بشه و نود جدید به آخر صف نیز اضافه می شود.
خب میخواهیم در مورد کامل بودن این الگوریتم حرف بزنیم. این الگوریتم کامل می باشد به این معنی که در صورت وجود راه حل, پیدا کردن راه حل را تضمین میکند بله درصورتی که میزان گسترش محدود باشد.
این الگوریتم تقریبا بهینه می باشد به این معنی که همراه کم هزینه ترین مسیر را پیدا میکند که تقریبا در این الگوریتم اتفاق می افتد.
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
اولین الگوریتم جستجوی ناآگاهانه که در مورد آن صحبت میکنیم جستجوی سطحی می باشد. این الگوریتم هر بار سطحی ترین نود را گسترش می دهد. نحوه ی پیاده سازی آن صف می باشد(FIFO) می باشد به این معنی که هرچی که اول امد همون اول هم خارج بشه و نود جدید به آخر صف نیز اضافه می شود.
خب میخواهیم در مورد کامل بودن این الگوریتم حرف بزنیم. این الگوریتم کامل می باشد به این معنی که در صورت وجود راه حل, پیدا کردن راه حل را تضمین میکند بله درصورتی که میزان گسترش محدود باشد.
این الگوریتم تقریبا بهینه می باشد به این معنی که همراه کم هزینه ترین مسیر را پیدا میکند که تقریبا در این الگوریتم اتفاق می افتد.
#هوش_مصنوعی
📣👨💻 @AlgorithmDesign_DataStructuer
👍4🔥2
T(n)=T(n/8)+3b
T(1)=1
پیچیدگی رابطه بازگشتی بالا کدام یک از گزینه ها می باشد؟
T(1)=1
پیچیدگی رابطه بازگشتی بالا کدام یک از گزینه ها می باشد؟
Anonymous Quiz
30%
O(n)
14%
O(n/2)
41%
O(log n)
15%
O(n log n)