\documentclass{book}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric, arrows}
\usepackage{xepersian}
\settextfont{XB Zar}
\setdigitfont{Persian Modern}

\begin{document}
\subsection{توضیحات اصلی در مورد بهینه سازی گربه ها}

همانطور که قبلا بحث شد، الگوریتم مورد نظر دارای دو مود است.
برای ترکیب کردن این دو مود، ضریب اختلاط\footnote{\lr{mixture ratio(MR)}} تعریف می‌شود که نحوه‌ادغام مود پویا و مود جستجو را بیان میکند.

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

کلیت الگوریتم ازدحام گربه در زیر شرح داده شده است:

\begin{enumerate}
\item ابتدا N گربه تولید می‌شوند.
\item به صورت تصادفی گربه‌ها در فضای حل M بعدی پخش می‌شوند و به صورت تصادفی به سرعت هر گربه عددی نسبت داده می‌شود(این مقادیر نباید شرط بیشینه سرعت را نقض کند).
سپس به صورت دلخواه مقداری از گربه ها را انتخاب کرده و آنها را در مود جستجو قرار می‌دهیم ( طبق MR ) و بقیه در مود پویا قرار می‌گیرند.
\item با قرار دادن موقعیت هر گربه در تابع هدف، مقدار آن برای هر گربه محاسبه می‌شود و بهترین گربه در حافظه نگهداری می‌شود.
\item گربه‌ها با توجه به مودی که در آن هستند حرکت داده می‌شوند.
\item مجددا تعدادی گربه را انتخاب کرده و آن‌ها را مطابق MR در مود جستجو قرار می‌دهیم و بقیه را در مود پویا قرار می‌دهیم.
\item شرط توقف را بررسی می‌کنیم.
در صورتیکه احصا شده بود برنامه متوقف می‌شود در غیر اینصورت مجددا مراحل از مرحله 3 تکرار می‌شود.
\end{enumerate}
\subsection{فلوچارت مربوط به گربه}
\tikzstyle{startstop} = [ellipse, minimum width=3.5cm, minimum height=1cm,text centered, draw=black, ]
\tikzstyle{process} = [rectangle, minimum width=3.5cm, minimum height=1cm, text centered, draw=black, text width=3cm]
\tikzstyle{decision} = [diamond, aspect=2, minimum width=3cm, minimum height=1cm, text centered, draw=black, text width=3.5cm]
\tikzstyle{arrow} = [thick,->,>=stealth]
\begin{tikzpicture}[node distance=1.75cm]
\node (1) [startstop] {\rl{شروع}};
\node (2) [process, below of=1] {\rl{تولید $ N $ گربه به عنوان نسل اولیه}};
\node (3) [process, below of=2] {\rl{مقداردهی اولیه به موقعیت، سرعت و مود هر گربه}};
\node (4) [process, below of=3, yshift=-.6cm] {\rl{سنجش گربه‌ها بر اساس تابع هدف و نگاه داشتن گربه‌ای که دارای بهترین تابع هدف است.}};
\node (5) [decision, below of=4, yshift=-1cm] {\rl{گربه $k$ام در مود جستجو است؟}};

\end{tikzpicture}
\end{document}