در حالی که برنامه های اندروید به زبان برنامه نویسی جاوا نوشته شده اند، برنامه نویسی جاوا چیست محیط اجرا بر اساس ماشین مجازی جاوا نیست. با اجتناب از بایت کدهای جاوا و JVM، پلتفرم اندروید هم فاقد الزامات مجوز جاوا است و هم میتواند محیط زمان اجرا خود را با محدودیتها و الزامات پلتفرمهای تلفن همراه تنظیم کند.
البته، این آزادی بیشتر به قیمت ایجاد یک محیط زمان اجرا جدید است. و در مورد اندروید، ماشین مجازی دالویک همان محیط است. پلتفرم اندروید شامل مجموعهای از کتابخانههای هسته در دالویک است که بیشتر قابلیتهای موجود در کتابخانههای اصلی زبان برنامهنویسی جاوا را فراهم میکند.
همانطور که قبلا ذکر شد، هر برنامه اندرویدی در فرآیند لینوکس خود وجود دارد. علاوه بر این، هر فرآیند شامل نمونه ماشین مجازی Dalvik خود است. Dalvik VM فرمت فایل برنامه خود را تعریف می کند و بر خلاف مجموعه دستورات مبتنی بر پشته JVM دارای یک مدل اجرایی مبتنی بر ثبت است. پیاده سازی توابع سیستم-نرم افزار، برنامه نویسی جاوا چیست مانند دسترسی به دستگاه های ورودی/خروجی، مجوزها، threading و مدیریت حافظه، بر اساس پشتیبانی ارائه شده در هسته لینوکس است.
بهینهسازی روشهای تقسیمبندی تصویر-بافت با استفاده از بهینهسازی کلونی مورچهها
Manasa Nadipally، در تجزیه و تحلیل داده های هوشمند برای برنامه های کاربردی زیست پزشکی، 2019
2.2.1 چارچوب Isula
فریم ورک Isula یک چارچوب کامپیوتری است که اجرای ساده الگوریتم های ACO را با استفاده از زبان برنامه نویسی جاوا امکان پذیر می کند. این چارچوب شامل عناصر مشترکی است که در فراابتکاری وجود دارد تا به طراحان الگوریتم اجازه استفاده مجدد از رفتارهای رایج را بدهد. از طریق Isula می توان مشکلات بهینه سازی را با ACO در چند خط کد حل کرد. برای حل یک مشکل از طریق یک الگوریتم ACO، ما به یک کلنی از عوامل (معروف به مورچه ها)، یک نمودار بیانگر بیان مسئله، و یک ساختار داده فرمونی برای اجازه دادن به ارتباط بین این عوامل نیاز داریم.
چارچوب Isula جریان اصلی را برای اجرای یک الگوریتم در فراابتکاری ACO فراهم می کند. میتوانیم از پیادهسازیهایی که قبلاً برای AntColony و AcoProblemSolver در دسترس بودند استفاده کنیم. با این حال، ما همچنین می توانیم آن را بر اساس نیازهای خود گسترش دهیم. ما باید نمونه مورچه خود را مطابق با نیاز پروژه خود ایجاد کنیم. هنوز، بسیاری از عملکردها در حال حاضر برای پیاده سازی پایه در دسترس هستند. برای مرجع، میتوانیم به پروژههای بخش «Isula in action» نگاه کنیم. هر الگوریتم ACO دارای مجموعه ای برنامه نویسی جاوا چیست از رفتارهای سفارشی است که در سراسر فرآیندهای حل اجرا می شوند. چنین رفتارهایی میتوانند تأثیری جهانی داشته باشند (مثلاً نمونههای DaemonAction، مانند قوانین بهروزرسانی فرمون) یا فقط بر مورچه و راهحل آن تأثیر بگذارند (مانند قوانین انتخاب مؤلفه: به عنوان زیر کلاسهای Ant Policy در نظر گرفته میشوند). Isula دارای رفتارهای کمی برای برخی از الگوریتم های نماینده است. با این حال، ممکن است لازم باشد خطمشیهای خود را تعریف کنیم یا سیاستهایی را که از قبل در دسترس هستند گسترش دهیم (شکل 2.1).
برای دانلود تصویر در اندازه واقعی وارد شوید
شکل 2.1. رویکرد جستجوی غذا مورچه ها: (الف) مورچه ها در یک فرمون بین غذا و لانه خود سفر می کنند. ایرانیان سایبر ب) قطع شدن مسیر به دلیل وجود مانع؛ ج) کشف دو مسیر برای حرکت مسیر. و (د) ایجاد مساعدترین مسیر [21].
یک واقعیت قابل توجه و جذاب در مورد مورچه ها رفتار جستجوی آنهاست، به ویژه اینکه چگونه می توانند کوتاه ترین مسیر بین منابع غذایی و لانه خود را کشف کنند [22].
این بخش فرآیند تقسیمبندی تصویر را با مورچهها ارائه میکند که از ویژگیهای متفاوتی برای شکاربرنامه نویسی جاوا چیست منابع غذایی استفاده میکنند. علاوه بر این، منبع غذا صرفاً بهترین آستانه تقسیمبندی تصویر است. شکل 2.2 یک بلوک دیاگرام از روش پیشنهادی برای تقسیم بندی تصویر را نشان می دهد.
برای دانلود تصویر در اندازه واقعی وارد شوید
شکل 2.2. نمودار جریان الگوریتم تقسیم بندی تصویر پیشنهادی.
میتوانیم «غذا» را در الگوریتم پیشنهادی خود بهعنوان شی مرجعی توصیف کنیم که توسط مورچهها در طول پدیده تقسیمبندی تصویر به خاطر میآورد. برای سهولت، ما به صورت دستی یک ناحیه r-radius nr(o) از یک پیکسل خاص در تصویر را انتخاب کردیم. پس از آن، غذای موجود در حافظه ith ant برای زمان t=0 را می توان به صورت زیر مقداردهی کرد:
(2.1)
(2.2)
در اینجا، r حالت فردی مورچه است که با موقعیتش نشان داده می شود. برنامه نویسی جاوا چیست در حالی که e نشان دهنده پیکسل هایی است که مورچه ها از آنها عبور می کنند. من پیکسل های موجود در تصویر را در حال تقسیم بندی نشان می دهم. هنگامی که مورچه ها منبع جدیدی از غذا را کشف می کنند، غذای موجود در حافظه آنها طبق قوانین انتقال احیا می شود.
پس از تعریف غذا، کار مورچه ها یافتن پیکسل هایی با خواص مشابه است. برای یافتن پیکسلهای مشابه، مورچهها این قابلیت را دارند که پیکسلها را به غذای مرجع خاصی که در جستجوی آن بودهاند، ارزیابی کنند.
مورچه ها در هر مرحله از تکرار از یک پیکسل به پیکسل دیگر حرکت می کنند. ما فرض می کنیم که احتمال انتقال یک مورچه نیز تحت تأثیر برنامه نویسی جاوا چیست حضور مورچه های دیگر در اطراف آن قرار می گیرد. تأثیر ایجاد شده توسط سایر مورچه ها به یک پنجره معین محدود می شود، w. پس از آن، بر روی شبکه، احتمال نرمال تران
در حالی که برنامه های اندروید به زبان برنامه نویسی جاوا نوشته شده اند، برنامه نویسی جاوا چیست محیط اجرا بر اساس ماشین مجازی جاوا نیست. با اجتناب از بایت کدهای جاوا و JVM، پلتفرم اندروید هم فاقد الزامات مجوز جاوا است و هم میتواند محیط زمان اجرا خود را با محدودیتها و الزامات پلتفرمهای تلفن همراه تنظیم کند.
البته، این آزادی بیشتر به قیمت ایجاد یک محیط زمان اجرا جدید است. و در مورد اندروید، ماشین مجازی دالویک همان محیط است. پلتفرم اندروید شامل مجموعهای از کتابخانههای هسته در دالویک است که بیشتر قابلیتهای موجود در کتابخانههای اصلی زبان برنامهنویسی جاوا را فراهم میکند.
همانطور که قبلا ذکر شد، هر برنامه اندرویدی در فرآیند لینوکس خود وجود دارد. علاوه بر این، هر فرآیند شامل نمونه ماشین مجازی Dalvik خود است. Dalvik VM فرمت فایل برنامه خود را تعریف می کند و بر خلاف مجموعه دستورات مبتنی بر پشته JVM دارای یک مدل اجرایی مبتنی بر ثبت است. پیاده سازی توابع سیستم-نرم افزار، برنامه نویسی جاوا چیست مانند دسترسی به دستگاه های ورودی/خروجی، مجوزها، threading و مدیریت حافظه، بر اساس پشتیبانی ارائه شده در هسته لینوکس است.
بهینهسازی روشهای تقسیمبندی تصویر-بافت با استفاده از بهینهسازی کلونی مورچهها
Manasa Nadipally، در تجزیه و تحلیل داده های هوشمند برای برنامه های کاربردی زیست پزشکی، 2019
2.2.1 چارچوب Isula
فریم ورک Isula یک چارچوب کامپیوتری است که اجرای ساده الگوریتم های ACO را با استفاده از زبان برنامه نویسی جاوا امکان پذیر می کند. این چارچوب شامل عناصر مشترکی است که در فراابتکاری وجود دارد تا به طراحان الگوریتم اجازه استفاده مجدد از رفتارهای رایج را بدهد. از طریق Isula می توان مشکلات بهینه سازی را با ACO در چند خط کد حل کرد. برای حل یک مشکل از طریق یک الگوریتم ACO، ما به یک کلنی از عوامل (معروف به مورچه ها)، یک نمودار بیانگر بیان مسئله، و یک ساختار داده فرمونی برای اجازه دادن به ارتباط بین این عوامل نیاز داریم.
چارچوب Isula جریان اصلی را برای اجرای یک الگوریتم در فراابتکاری ACO فراهم می کند. میتوانیم از پیادهسازیهایی که قبلاً برای AntColony و AcoProblemSolver در دسترس بودند استفاده کنیم. با این حال، ما همچنین می توانیم آن را بر اساس نیازهای خود گسترش دهیم. ما باید نمونه مورچه خود را مطابق با نیاز پروژه خود ایجاد کنیم. هنوز، بسیاری از عملکردها در حال حاضر برای پیاده سازی پایه در دسترس هستند. برای مرجع، میتوانیم به پروژههای بخش «Isula in action» نگاه کنیم. هر الگوریتم ACO دارای مجموعه ای برنامه نویسی جاوا چیست از رفتارهای سفارشی است که در سراسر فرآیندهای حل اجرا می شوند. چنین رفتارهایی میتوانند تأثیری جهانی داشته باشند (مثلاً نمونههای DaemonAction، مانند قوانین بهروزرسانی فرمون) یا فقط بر مورچه و راهحل آن تأثیر بگذارند (مانند قوانین انتخاب مؤلفه: به عنوان زیر کلاسهای Ant Policy در نظر گرفته میشوند). Isula دارای رفتارهای کمی برای برخی از الگوریتم های نماینده است. با این حال، ممکن است لازم باشد خطمشیهای خود را تعریف کنیم یا سیاستهایی را که از قبل در دسترس هستند گسترش دهیم (شکل 2.1).
برای دانلود تصویر در اندازه واقعی وارد شوید
شکل 2.1. رویکرد جستجوی غذا مورچه ها: (الف) مورچه ها در یک فرمون بین غذا و لانه خود سفر می کنند. ایرانیان سایبر ب) قطع شدن مسیر به دلیل وجود مانع؛ ج) کشف دو مسیر برای حرکت مسیر. و (د) ایجاد مساعدترین مسیر [21].
یک واقعیت قابل توجه و جذاب در مورد مورچه ها رفتار جستجوی آنهاست، به ویژه اینکه چگونه می توانند کوتاه ترین مسیر بین منابع غذایی و لانه خود را کشف کنند [22].
این بخش فرآیند تقسیمبندی تصویر را با مورچهها ارائه میکند که از ویژگیهای متفاوتی برای شکاربرنامه نویسی جاوا چیست منابع غذایی استفاده میکنند. علاوه بر این، منبع غذا صرفاً بهترین آستانه تقسیمبندی تصویر است. شکل 2.2 یک بلوک دیاگرام از روش پیشنهادی برای تقسیم بندی تصویر را نشان می دهد.
برای دانلود تصویر در اندازه واقعی وارد شوید
شکل 2.2. نمودار جریان الگوریتم تقسیم بندی تصویر پیشنهادی.
میتوانیم «غذا» را در الگوریتم پیشنهادی خود بهعنوان شی مرجعی توصیف کنیم که توسط مورچهها در طول پدیده تقسیمبندی تصویر به خاطر میآورد. برای سهولت، ما به صورت دستی یک ناحیه r-radius nr(o) از یک پیکسل خاص در تصویر را انتخاب کردیم. پس از آن، غذای موجود در حافظه ith ant برای زمان t=0 را می توان به صورت زیر مقداردهی کرد:
(2.1)
(2.2)
در اینجا، r حالت فردی مورچه است که با موقعیتش نشان داده می شود. برنامه نویسی جاوا چیست در حالی که e نشان دهنده پیکسل هایی است که مورچه ها از آنها عبور می کنند. من پیکسل های موجود در تصویر را در حال تقسیم بندی نشان می دهم. هنگامی که مورچه ها منبع جدیدی از غذا را کشف می کنند، غذای موجود در حافظه آنها طبق قوانین انتقال احیا می شود.
پس از تعریف غذا، کار مورچه ها یافتن پیکسل هایی با خواص مشابه است. برای یافتن پیکسلهای مشابه، مورچهها این قابلیت را دارند که پیکسلها را به غذای مرجع خاصی که در جستجوی آن بودهاند، ارزیابی کنند.
مورچه ها در هر مرحله از تکرار از یک پیکسل به پیکسل دیگر حرکت می کنند. ما فرض می کنیم که احتمال انتقال یک مورچه نیز تحت تأثیر برنامه نویسی جاوا چیست حضور مورچه های دیگر در اطراف آن قرار می گیرد. تأثیر ایجاد شده توسط سایر مورچه ها به یک پنجره معین محدود می شود، w. پس از آن، بر روی شبکه، احتمال نرمال تران

معرفی هوش مصنوعی به زبان ساده برای کودکان