حتماً بارها شنیدهاید که کامپیوتر از یک منطق صفر و یک تبعیت میکند. در چارچوب این منطق، چیزها یا درستند یا نادرست، وجود دارند یا ندارند. اما انیشتین میگوید: <آنجایی که قوانین ریاضیات (کلاسیک) به واقعیات مربوط میشوند، مطمئن نیستند و آنجا که آنها مطمئن هستند، نمیتوانند به واقعیت اشاره داشته باشند.> هنگامی که درباره درستی یا نادرستی پدیدهها و اشیایی صحبت میکنیم که در دنیای واقعی با آنها سروکار داریم، توصیف انیشتین تجسمی است از ناکارآمدی قوانین منطق کلاسیک در علم ریاضیات. از این رو میبینیم اندیشه نسبیت شکل میگیرد و توسعه مییابد. در این مقاله میخواهیم به اختصار با منطق فازی آشنا شویم. منطقی که دنیا را نه به صورت حقایق صفر و یکی، بلکه به صورت طیفی خاکستری از واقعیتها میبیند و در هوش مصنوعی کاربرد فراوانی یافتهاست.
کجا اتومبیل خود را پارک میکنید؟
تصور
کنید یک روز مطلع میشوید، نمایشگاه پوشاکی در گوشهای از شهر برپا شده
است و تصمیم میگیرید، یک روز عصر به اتفاق خانواده سری به این نمایشگاه
بزنید. چون محل نمایشگاه کمی دور است، از اتومبیل استفاده میکنید، اما
وقتی به محل نمایشگاه میرسید، متوجه میشوید که عده زیادی به آنجا
آمدهاند و پارکینگ نمایشگاه تا چشم کار میکند، پر شده است.
اما
چون حوصله صرف وقت برای پیدا کردن محل دیگری جهت پارک اتومبیل ندارید، با
خود میگویید: <هر طور شده باید جای پارکی در این پارکینگ پیدا کنم.>
سرانجام در گوشهای از این پارکینگ محلی را پیدا میکنید که یک ماشین به
طور کامل در آن جا نمیشود، اما با کمی اغماض میشود یک ماشین را در آن جای
داد، هرچند که این ریسک وجود دارد که فضای عبور و مرور دیگر خودروها را
تنگ کنید و آنها هنگام حرکت به خودرو شما آسیب برسانند. اما به هرحال
تصمیم میگیرید و ماشین خود را پارک میکنید.
بسیارخوب! اکنون
بیایید بررسی کنیم شما دقیقاً چه کار کردید؟ شما دنبال جای توقف یک اتومبیل
میگشتید. آیا پیدا کردید؟ هم بله، هم نه. شما در ابتدا میخواستید ماشین
را در جای مناسبی پارک کنید. آیا چنین عملی انجام دادید؟ از یک نظر بله، از
یک دیدگاه نه. در مقایسه با وقت و انرژی لازم برای پیدا کردن یک مکان راحت
برای توقف خودرو، شما جای مناسبی پیدا کردید. چون ممکن بود تا شب دنبال جا
بگردید و چنین جایی را پیدا نکنید. اما از این نظر که اتومبیل را در جایی
پارک کردید که فضای کافی برای قرارگرفتن ماشین شما نداشت، نمیتوان گفت جای
مناسبی است.
اگر به منطق کلاسیک در علم ریاضیات مراجعه کنیم و این
پرسش را مطرح نماییم که قبل از ورود به پارکینگ چند درصد احتمال میدادید
جایی برای پارککردن پیدا کنید، پاسخ بستگی به این دارد که واقعاً چه تعداد
مکان مناسب (فضای کافی) برای توقف خودروها در آنجا وجود داشت؟ اگر به
حافظه خود رجوع کنید، شاید به یاد بیاورید که هنگام ورود به پارکینگ و
چرخیدن در قسمتهای مختلف آن، گاهی خودروهایی را میدیدید که طوری پارک
کردهاند که مکان یک و نیم خودرو را اشغال کردهاند. بعضی دیگر نیز کج و
معوج پارک کرده بودند و این فکر از ذهن شما چندبار گذشت که اگر صاحب بعضی
از این خودروها درست پارک کرده بودند، الان جای خالی برای پارک کردن چندین
ماشین دیگر هم وجود داشت.
به این ترتیب علم ریاضیات و آمار و
احتمال در مواجهه با چنین شرایطی قادر به پاسخگویی نیست. اگر قرار بود بر
اساس منطق صفر و یک یا باینری کامپیوتر، روباتی ساخته شود تا اتومیبل شما
را در یک مکان مناسب پارک کند، احتمالش کم بود. چنین روباتی به احتمال
زیاد ناکام از پارکینگ خارج میشد. پس شما با چه منطقی توانستید اتومبیل
خود را پارک کنید؟ شما از منطق فازی استفاده کردید.
دنیای فازی
میپرسم
<هوا ابری است یا آفتابی؟> پاسخ میدهی: نیمهابری. میپرسم <آیا
همه آنچه که دیروز به من گفتی، راست بود؟> پاسخ میدهی: بیشتر آن حقیقت
داشت. ما در زندگی روزمره بارها از منطق فازی استفاده میکنیم. واقعیت این
است که دنیای صفر و یک، دنیایی انتزاعی و خیالی است. به ندرت پیش میآید
موضوعی صددرصد درست یا صددرصد نادرست باشد؛ زیرا در دنیای واقعی در بسیاری
از مواقع، همهچیز منظم و مرتب سرجایش نیست.
از نخستین روز تولد
اندیشه فازی، بیش از چهل سال میگذرد. در این مدت نظریه فازی، چارچوب فکری و
علمی جدیدی را در محافل آکادمیک و مهندسی معرفی نموده و دیدگاه دانشمندان
را نسبت به کمّ و کیف دنیای اطراف ما تغییر داده است. منطق فازی جهانبینی
بدیع و واقعگرایانهای است که به اصلاح شالوده منطق علمی و ذهنی بشر کمک
شایانی کردهاست.
پیشینه منطق فازی
تئوری مجموعههای
فازی و منطق فازی را اولین بار پرفسور لطفیزاده (2) در رسالهای به نام
<مجموعههای فازی - اطلاعات و کنترل> در سال 1965 معرفی نمود. هدف
اولیه او در آن زمان، توسعه مدلی کارآمدتر برای توصیف فرآیند پردازش
زبانهای طبیعی بود. او مفاهیم و اصلاحاتی همچون مجموعههای فازی،
رویدادهای فازی، اعداد فازی و فازیسازی را وارد علوم ریاضیات و مهندسی
نمود. از آن زمان تاکنون، پرفسور لطفی زاده به دلیل معرفی نظریه بدیع و
سودمند منطق فازی و تلاشهایش در این زمینه، موفق به کسب جوایز بینالمللی
متعددی شده است.
پس از معرفی منطق فازی به دنیای علم، در ابتدا مقاومتهای بسیاری دربرابر پذیرش این نظریه صورت گرفت.
بخشی
از این مقاومتها، چنان که ذکر شد، ناشی از برداشتهای نادرست از منطق
فازی و کارایی آن بود. جالب اینکه، منطق فازی در سالهای نخست تولدش بیشتر
در دنیای مشرق زمین، بهویژه کشور ژاپن با استقبال روبهرو شد، اما
استیلای اندیشه کلاسیک صفر و یک در کشورهای مغرب زمین، اجازه رشد اندکی به
این نظریه داد. با این حال به تدریج که این علم کاربردهایی پیدا کرد و
وسایل الکترونیکی و دیجیتالی جدیدی وارد بازار شدند که بر اساس منطق فازی
کارمیکردند، مخالفتها نیز اندک اندک کاهش یافتند.
در ژاپن
استقبال از منطق فازی، عمدتاً به کاربرد آن در روباتیک و هوش مصنوعی مربوط
میشود. موضوعی که یکی از نیروهای اصلی پیشبرندهِ این علم طی چهل سال
گذشته بوده است. در حقیقت میتوان گفت بخش بزرگی از تاریخچه دانش هوش
مصنوعی، با تاریخچه منطق فازی همراه و همداستان است.
مجموعههای فازی
بنیاد منطق
فازی بر شالوده نظریه مجموعههای فازی استوار است. این نظریه تعمیمی از
نظریه کلاسیک مجموعهها در علم ریاضیات است. در تئوری کلاسیک مجموعهها، یک
عنصر، یا عضو مجموعه است یا نیست. در حقیقت عضویت عناصر از یک الگوی صفر و
یک و باینری تبعیت میکند. اما تئوری مجموعههای فازی این مفهوم را بسط
میدهد و عضویت درجهبندی شده را مطرح میکند. به این ترتیب که یک عنصر
میتواند تا درجاتی - و نه کاملاً - عضو یک مجموعه باشد. مثلاً این جمله که
<آقای الف به اندازه هفتاددرصد عضو جامعه بزرگسالان است> از دید
تئوری مجموعههای فازی صحیح است. در این تئوری، عضویت اعضای مجموعه از طریق
تابع (u(x مشخص میشود که x نمایانگر یک عضو مشخص و u تابعی فازی است که
درجه عضویت x در مجموعه مربوطه را تعیین میکند و مقدار آن بین صفر و یک
است (فرمول 1).
فرمول 1 شکل 1
به
بیان دیگر، (u(x نگاشتی از مقادیر x به مقادیر عددی ممکن بین صفر و یک
را میسازد. تابع (u(x ممکن است مجموعهای از مقادیر گسسته (discrete) یا
پیوسته باشد. وقتی کهu فقط تعدادی از مقادیر گسسته بین صفر و یک را تشکیل
میدهد، مثلاً ممکن است شامل اعداد 3/0 و 5/0 و 7/0 و 9/0 و صفر و یک
باشد. اما وقتی مجموعه مقادیرu پیوسته باشند، یک منحنی پیوسته از اعداد
اعشاری بین صفر و یک تشکیل میشود.
شکل 1 نموداری از نگاشت پیوسته
مقادیر x به مقادیر (u(x را نشان میدهد. تابع (u(x در این نمودار
میتواند قانون عضویت در یک مجموعه فازی فرضی را تعریف کند.
منطق فازی چگونه بهکار گرفته میشود؟
منطق فازی را از طریق
قوانینی که <عملگرهای فازی> نامیده میشوند، میتوان بهکار گرفت.
این قوانین معمولاً بر اساس مدل زیر تعریف میشوند:
IF variable IS set THEN action
به
عنوان مثال فرض کنید میخواهیم یک توصیف فازی از دمای یک اتاق ارائه دهیم.
در این صورت میتوانیم چند مجموعه فازی تعریف کنیم که از الگوی تابع
(u(x تبعیت کند. شکل 2 نموداری از نگاشت متغیر <دمای هوا> به چند
مجموعه فازی با نامهای <سرد>، <خنک>، <عادی>،
<گرم> و <داغ> است. چنان که ملاحظه میکنید، یک درجه حرارت
معین ممکن است متعلق به یک یا دو مجموعه باشد.
شکل 2 |
پارادایم حاکم بر یک کنترلر فازی به این ترتیب است که متغیرهای دنیای واقعی به عنوان ورودی دریافت میشوند. قوانین فازی آنها را به متغیرهای معنایی تبدیل میکند. فرآیند فازی این ورودی را میگیرد و خروجی معنایی تولید میکند و سرانجام خروجیها به زبان دنیای واقعی ترجمه میشوند. نمودار شکل 3 مصداقی از همین روند است. |
اکنون میتوان بر اساس مدل فوق قانون فازی زیر را تعریف کرد:
اگر دمای اتاق <خیلی گرم> است، سرعت پنکه را <خیلی زیاد> کن.
اگر دمای اتاق <گرم> است، سرعت پنکه را <زیاد> کن.
اگر دمای اتاق <معتدل> است، سرعت پنکه را در <همین اندازه> نگهدار.
اگر دمای اتاق <خنک> است، سرعت پنکه را <کم> کن.
اگر دمای اتاق <سرد> است، پنکه را <خاموش> کن.
اگر این قانون فازی را روی یک سیستم کنترل دما اعمال کنیم، آنگاه میتوانیم دماسنجی بسازیم که دمای اتاق را به صورت خودکار و طبق قانون ما، کنترل میکند. اما این سؤال پیش میآید که اگر دو یا چند قانون همزمان برای یک متغیر ورودی فعال شود چه اتفاقی خواهد افتاد؟ فرض کنید دمای اتاق برابر Tx1 است در این صورت هم قانون مربوط به اتاق گرم و هم قانون مربوط به دمای اتاق معتدل صادق است و مقادیر U1 و U2 به ترتیب به دست میآید. طبق کدام قانون باید عمل کرد؟ لطفیزاده خود پاسخ این معما را نداد. در سال 1975 دو دانشمند منطق فازی به نام ممدانی (Mamdani) و آسیلیان اولین کنترل فازی واقعی را طراحی کردند. آنان پاسخ این معما را با محاسبهِ نقطه ثقل (C) مساحتی که از ترکیب دو ذوزنقه زیر U1 و U2 در شکل 3 پدید آمده و نگاشت آن به محور t و به دست آوردن مقدار Tx2 حل کردند.
منطق فازی، همچون منطق کلاسیک تعدادی عملگر پایه دارد. مثلاً در منطق کلاسیک از عملگرهای AND و OR وNOT استفاده میشود که دانش آموزان رشته ریاضی فیزیک در دبیرستان با آنها آشنا میشوند. در منطق فازی معادل همین عملگرها وجود دارد که به آنها عملگرهای <زاده> میگویند. این عملگرها به صورت زیر تعریف میشوند: (فرمول 2)
به عنوان مثال ترکیب AND دو متغیر x و y عبارت است از کمینه مقادیر (u(x و (u(y. به عبارت سادهتر، آنجا که هم x و y از نظر فازی <صحیح> باشند، همزمان مقادیر (u(x و (u(y به کمترین مقدار خود میرسند.
پرفسور لطفیزاده خالق نظریه مجموعههای فازی و منطق فازی |
تفاوت میان نظریه احتمالات و منطق فازی
یکی از مباحث مهم در منطق فازی،
تمیزدادن آن از نظریه احتمالات در علم ریاضیات است. غالباً نظریه فازی با
نظریه احتمالات اشتباه میشود. در حالی که این دو مفهوم کاملاً با یکدیگر
متفاوتند. این موضوع به قدری مهم است که حتی برخی از دانشمندان بزرگ علم
ریاضیات در دنیا - بهویژه کشورهای غربی - درمورد آن با یکدیگر بحث دارند و
جالب آن که هنوز هم ریاضیدانانی وجود دارند که با منطق فازی مخالفند و آن
را یک سوء تعبیر از نظریه احتمالات تفسیر میکنند.
از نگاه این
ریاضیدانان، منطق فازی چیزی نیست جز یک برداشت نادرست از نظریه احتمالات که
به گونهای غیرقابل قبول، مقادیر و اندازهگیریهای نادقیق را وارد علوم
ریاضیات، مهندسی و کنترل کرده است. بعضی نیز مانند Bruno de
Finetti معتقدند فقط یک نوع توصیف از مفهوم عدمقطعیت در علم ریاضیات کافی
است و چون علم آمار و احتمالات وجود دارد، نیازی به مراجعه به منطق فازی
نیست.
با این حال، اکثریت طرفداران نظریه منطق فازی، کارشناسان و
متخصصانی هستند که به طور مستقیم یا غیرمستقیم با علم مهندسی کنترل سروکار
دارند. حتی تعدادی از پیروان منطق فازی همچون بارت کاسکو تا آنجا پیش
میروند که احتمالات را شاخه و زیرمجموعهای از منطق فازی مینامند.
توضیح
تفاوت میان این دو نظریه البته کار چندان دشواری نیست. منطق فازی با حقایق
نادقیق سروکار دارد و به حدود و درجات یک واقعیت اشاره دارد؛ حال آنکه
نظریه احتمالات بر شالوده مجموعه حالات تصادفیِ یک پدیده استوار است و
درباره شانس وقوع یک حالت خاص صحبت میکند؛ حالتی که وقتی اتفاق بیفتد،
دقیق فرض میشود. ذکر یک مثال میتواند موضوع را روشن کند. فرض کنید در حال
رانندگی در یک خیابان هستید. اتفاقاً متوجه میشوید که کودکی در اتومبیل
دیگری که به موازات شما در حال حرکت است، نشسته و سر و یک دست خود را از
پنجره ماشین بیرون آورده و در حال بازیگوشی است. این وضعیت واقعی است و
نمیتوان گفت احتمال اینکه بدن این کودک بیرون اتومبیل باشد، چقدر است.
چون
بدن او واقعاً بیرون ماشین است، با این توضیح که بدن او کاملاً بیرون
نیست، بلکه فقط بخشی از بدن او در خارج اتومبیل قرارگرفته است. تئوری
احتمالات در اینجا کاربردی ندارد. چون ما نمیتوانیم از احتمال خارج بودن
بدن کودک از ماشین صحبت کنیم؛ زیرا آشکارا فرض غلطی است. اما میتوانیم از
احتمال وقوع حادثه صحبت کنیم. مثلاً هرچه بدن کودک بیشتر بیرون باشد،
احتمال اینکه در اثر برخورد با بدنه یک اتومبیل در حال حرکت دچار آسیب
شود، بیشتر میشود. این حادثه هنوز اتفاق نیفتاده است، ولی میتوانیم از
احتمال وقوع آن صحبت کنیم. اما بیرون بودن تن کودک از ماشین همین حالا به
واقعیت تبدیل شده است و فقط میتوانیم از میزان و درجات آن صحبت کنیم.
تفاوت
ظریف و در عین حال پررنگی میان نظریه احتمالات و نظریه فازی وجود دارد که
اگر دقت نکنیم، دچار اشتباه میشویم؛ زیرا این دو نظریه معمولاً در کنار
یکدیگر و در مورد اشیای مختلف همزمان مصداقهایی پیدا میکنند. هنگامی که
به یک پدیده مینگریم، نوع نگاه ما به آن پدیده میتواند تعیین کند که باید
درباره احتمالات صحبت کنیم یا منطق فازی. در مثال فوق موضوع دغدغه ما
کودکی است که در حال بازی گوشی است. اما یک وقت نگران این هستیم که تا چه
اندازه خطر او را تهدید میکند. خطری که هنوز به وقوع نپیوسته است. یک وقت
هم ممکن است نگران باشیم که بدن او چقدر بیرون پنجره است. واقعیتی که
هماکنون به وقوع پیوسته است.
شکل 4 |
بحث درباره ابعاد فلسفی منطق فازی بسیار شیرین و البته گسترده است. متأسفانه مجال برای طرح گستردهِ ابعاد فلسفی منطق فازی در این مقاله وجود ندارد. از این رو اگر مایل به مطالعه بیشتر در این زمینه هستید، کتاب بسیاری خواندنی <تفکر فازی> را که در پینوشت دوم انتهای مقاله معرفی کردهام، توصیه میکنم.(شکل 4)
کاربردهای منطق فازی
منطق
فازی کاربردهای متعددی دارد. سادهترین نمونه یک سیستم کنترل دما یا
ترموستات است که بر اساس قوانین فازی کار میکند. سالهاست که از منطق
فازی برای کنترل دمای آب یا میزان کدرشدن آبی که لباسها در آن شسته
شدهاند در ساختمان اغلب ماشینهای لباسشویی استفاده میشود.
امروزه
ماشینهای ظرفشویی و بسیاری از دیگر لوازم خانگی نیز از این تکنیک استفاده
میکنند. منطق فازی در صنعت خودروسازی نیز کاربردهای فروانی دارد. مثلاً
سیستم ترمز و ABS در برخی از خودروها از منطق فازی استفاده میکند. یکی از
معروفترین نمونههای بهکارگیری منطق فازی در سیستمهای ترابری جهان، شبکه
مونوریل (قطار تک ریل) توکیو در ژاپن است. سایر سیستمهای حرکتی و
جابهجایی بار، مثل آسانسورها نیز از منطق فازی استفاده میکنند.
سیستمهای
تهویه هوا نیز به وفور منطق فازی را بهکار میگیرند. از منطق فازی در
سیستمهای پردازش تصویر نیز استفاده میشود. یک نمونه از این نوع کاربردها
را میتوانید در سیستمهای <تشخیص لبه و مرز> اجسام و تصاویر(3)
مشاهده کنید که در روباتیک نیز کاربردهایی دارد. به طور کلی خیلی از مواقع
در ساختمان سیستمهای تشخیص الگوها (Pattern Recognition) مثل سیستمهای
تشخیص گفتار و پردازش تصویر از منطق فازی استفاده میشود.
شکل 3 |
فرمول 2 |
یکشنبه بیست و هشتم تیر 1388
ناوبری و انواع روشهای گریز از موانع
ناوبری یا رهیابی در یک ربات، عبارت است از توانایی ربات برای حرکتی ایمن بسوی هدف با استفاده از دانش آن و اطلاعات سنسورها از محیط . اگرچه راههای متفاوتی برای رهیابی وجود دارد، ولی بیشتر آن در مساله عبور از موانع مشترکند. مسیر یابی شامل پیدا کردن یک مسیر هندسی از ربات تا نقطه هدف است، در رباتهای متحرکی که در محیط ساختار نیافته حرکت می کنند، شناخت محیط و داشتن نقشه راه معمولا بسیاری جزئی است یا اصلاً وجود ندارد. محیط ممکن است استاتیک نباشد و ربات در طول حرکتش با انواع رباتهای دیگر، انسان یا اشیا مواجه شود. به این دلیل مسیر یابی کلی، همواره در ارتباط با بحث شناسایی موانع و گریز از آنهاست. گریز از موانع یعنی ربات در مسیر خود به سمت هدف از موانع ناخواسته اجتناب کند، در این میان خوانده های سنسور نقش مهمی را ایفا می کند. الگوریتم های متفاوتی برای گریز از موانع وجود دارد، مانند الگوریتم های ساده اصلاح مسیر تا الگوریتمهای بازدارنده در استراتژی های کنترلی. چهار الگوریتم در اینجا مختصرا توضیح داده می شود:
1- BUG1 : در این الگوریتم، ربات مسیر مستقیم به سمت هدف را طی می کند و موانع احتمالی سر راه را دور می زند تا به نزدیکترین نقطه به هدف برسد سپس از مانع جدا می شود، در این الگوریتم خوانده های فعلی سنسور نقش اساسی را دارند. ضعف این روش در ماندن بیش از اندازه ربات در کنار موانع می باشد.
2- BUG2 : در این الگوریتم ربات روی خط شروع تا هدف حرکت می کند و اگر مانعی دید آن را دور می زند تا جایی که دوباره به نقطه ای روی خط واصل بین شروع تا هدف برسد آنگاه مانع را رها می کند .در این روش نیز ربات زمان زیادی را صرف حرکت در کنار ربات می کند ولی این زمان کمتر از الگوریتم قبلی است.
3- میدان پتانسیل[1] : این الگوریتم بر پایه اصول ساده و قوی نهفته شده در ربات است که اولین بار توسط اسامه خطیب پیشنهاد شد، در این روش ربات مانند یک ذره که در میدان پتانسیل حرکت می کند، فرض شده است. این میدان پتانسیل بوسیله هدف و موانع موجود در محیط بوجود می آید. هدف، پتانسیل جذبی و موانع، پتانسیل دفعی ایجاد می کنند. در این روش موانع یا از قبل شناخته شده هستند که در اینصورت میدان پتانسیل بصورت off-line محاسبه می شود، یا موانع بصورت on-line بوسیله سنسورها شناسایی می شوند. اساسا در کنار گریز از موانع، مسیر یابی میدان پتانسیلی نیز وجود دارد که با هم استراتژی کنترل حرکت را می سازند. این کنترل، بردار سرعت ربات را تعریف می کند که با آن به سمت هدف حرکت می کند و در عین حال از موانع اجتناب می کند. الگوریتم لانه مورچه ای نیز بر اساس جاذبه هدف و دافعه موانع کار می کند.
40 - هیستوگرام میدان برداری[2]: این الگوریتم یک سابقه نما قطبی بوجود می آورد که به بررسی آنی فضا ایجاد شده در مجاورت ربات می پردازد و اولین بار توسط Borenstein و Korem معرفی شد.سپس مناسب ترین قطاع از میان همه قطاع های قطبی با چگالی مانع کمتر را پیدا می کند و ربات در طول آن رانده می شود. این روش از شبکه توری دو بعدی کارتزین به عنوان مدل جهانی استفاده می کند. که این مدل به طور پیوسته بوسیله سنسورهای ربات ارتقا می یابد. روش میدان برداری از دو مرحله استفاده می کند. در مرحله اول یک زیرمجموعه دو بعدی شبکه توری پیرامون ربات، به یک هیستوگرام قطبی یک بعدی تقلیل می یابد. هر قطاع این هیستوگرام قطبی شامل مقادیر هستند که نشان دهند چگالی مانع قطبی در آن جهت هست. در مرحله دوم، الگوریتم مناسبترین قطاع را از میان همه قطاع ها با چگالی مانع کمتر انتخاب و ربات را در جهت آن قطاع می راند. سه گام اصلی در اجرای روش VFH به طور خلاصه چنین است:
گام اول: ساختن یک شبکه توری هیستوگرام کارتزینی دو بعدی
گام دوم: از شبکه توری دو بعدی قبل یک پنجره دو بعدی فعال اطراف ربات در نظر گرفته می شود و این پنجره دو بعدی را تبدیل به شبکه توری قطبی یک بعدی می کند.
گام سوم: محاسبه زاویه فرمان و کنترل سرعت در شبکه توری یک بعدی.
برای ربات UWater در این طرح از الگوریتمی استفاده شده است که ابتدا روی خط مستقیم به سمت هدف حرکت می کند و از این نظر با الگوریتمهای BUG شباهت دارد و برای جدا شدن از مانع روشی نو را پیش می گیرد و آن عبارت است از : نبودن مانعی در خط ربات تا هدف و قرار گرفتن جهت ربات در زوایه 45 درجه با خط ربات تا هدف است.