هیچوقت به امید تغییردادن با کسی ازدواج نکنید.
ما آدمها توی تغییردادن خودمون هم همیشه موفق نمیشیم، چه برسه به تغییردادن بقیه.
ما آدمها توی تغییردادن خودمون هم همیشه موفق نمیشیم، چه برسه به تغییردادن بقیه.
👍13😁1🤔1😱1
Philocode
Quick sort #GA
مثال دزد توی کتاب Grokking Algorithms به دو روش حل شده: توی فصل هشتم به روش حریصانه (greedy) حل شده، و توی فصل نهم با برنامهنویسی پویا (dynamic programming). روش اول جواب بهینهای بهمون نداد و از ظرفیت کیفِ دزد به شکل خوبی استفاده نکرد، برعکس روش دوم.
روش حریصانه اینطوره که دزده نگاه میکنه که ببینه گرونترین چیزی که میتونه برداره چیه، بعد از اون دوباره دنبال گرونترین میگرده.
برای مثال ظرفیت کیف، سه کیلوگرمه و نگاهی به اجناس میندازه:
- لپتاپ: 3KG (بیست میلیون تومن)
- مانیتور: 1KG (پونزده میلیون تومن)
- موبایل: 300G (ده میلیون تومن)
- دستهبیل با امضای محمود احمدینژاد: 3.5K (دویست هزار تومن)
باارزشترین محصول لپتاپه، و وقتی اون رو توی کیفش میذاره، میبینه که دیگه جا برای چیز دیگهای نداره!
اما این جواب بهینه نیست، چون میتونست مانیتور و موبایل رو برداره و به جای بیست میلیون تومن، بیست و پنج میلیون تومن دزدیده باشه! جواب بهینه رو چی بهمون میده؟ آره، dynamic programming!
الآن که فکر میکنم، این الگوریتم به درد آدمهای شکمو هم میخوره؛ اینکه وقتی میرن مهمونی، چی بخورن که بیشترین مواد مغذی رو به بدن رسونده باشن. حداقل از مثال دزد و کیفش بهتره! 😁
#GA
روش حریصانه اینطوره که دزده نگاه میکنه که ببینه گرونترین چیزی که میتونه برداره چیه، بعد از اون دوباره دنبال گرونترین میگرده.
برای مثال ظرفیت کیف، سه کیلوگرمه و نگاهی به اجناس میندازه:
- لپتاپ: 3KG (بیست میلیون تومن)
- مانیتور: 1KG (پونزده میلیون تومن)
- موبایل: 300G (ده میلیون تومن)
- دستهبیل با امضای محمود احمدینژاد: 3.5K (دویست هزار تومن)
باارزشترین محصول لپتاپه، و وقتی اون رو توی کیفش میذاره، میبینه که دیگه جا برای چیز دیگهای نداره!
اما این جواب بهینه نیست، چون میتونست مانیتور و موبایل رو برداره و به جای بیست میلیون تومن، بیست و پنج میلیون تومن دزدیده باشه! جواب بهینه رو چی بهمون میده؟ آره، dynamic programming!
الآن که فکر میکنم، این الگوریتم به درد آدمهای شکمو هم میخوره؛ اینکه وقتی میرن مهمونی، چی بخورن که بیشترین مواد مغذی رو به بدن رسونده باشن. حداقل از مثال دزد و کیفش بهتره! 😁
#GA
🔥2👍1
Philocode
https://matthiasnoback.nl/2022/09/is-it-a-dto-or-a-value-object
A DTO:
- Declares and enforces a schema for data: names and types.
- Offers no guarantees about correctness of values.
A value object:
- Wraps one or more values or value objects.
- Provides evidence of the correctness of these values.
- Declares and enforces a schema for data: names and types.
- Offers no guarantees about correctness of values.
A value object:
- Wraps one or more values or value objects.
- Provides evidence of the correctness of these values.