مسیریابی حمل‌ونقل همگانی #نشان در تمام ایران

با نزدیک شدن به روزهای اول مهر، سرویس مسیریاب اتوبوس و مترو را برای ۲۰ شهر کوچک و بزرگ ایران روی نشان ارایه کردیم. حالا کاربر‌های نشان می‌تونن بهترین و سریع‌ترین مسیر سفر با مترو و اتوبوس را در خیلی از شهرهای کشور پیدا کنن. برای استفاده از این سرویس فقط کافیه مقصد‌تون را روی نقشه مشخص کنید و دکمه‌ی «مسیریابی» را بزنید. بعد هم گزینه‌ی «حمل‌ونقل همگانی» را انتخاب کنید.یکی از قابلیت‌هایی که خودم خیلی دوسش دارم ارایه‌ی سرویس یک‌پارچه بین تهران و کرج هست. حالا دیگه کاربرها از بومهن تا مهرشهر کرج می‌تونن از نشان مسیر ون و مترو و اتوبوس بگیرن و این فاصله را خیلی ارزان و با دور زدن ترافیک وسط تهران طی کنن.اینو اضافه کنم که نسخه‌ی اولیه این سرویس را درست چند روز پیش از نمایشگاه الکامپ برای ۳ شهر و برای ۲۰٪ کاربرها در گوگل‌پلی به صورت آزمایشی منتشر کردیم. و اواخر مرداد اون نسخه به صورت کامل در گوگل‌پلی و سایر ا‌پ‌استورها منتشر شد.خب، از این‌جا به بعد می‌خوام کمی از گذشته‌ی این الگوریتم براتون بنوسیم و دربارش توضیح بدم.مسیریابی حمل‌ونقل همگانی یکی از قابلیت‌های محبوب گوگل‌مپ و سایر اپلیکیشن‌های نقشه در سراسر دنیا بوده و هست. اما هیچ وقت داخل ایران ارایه نشده. یادم میاد بهار ۹۲ من هنوز دانشجوی ترم چهار کارشناسی بودم که همکلاسی‌هام یک اپلیکیشن به نام نقشه‌ی ترافیک مشهد - که امروز به نام نقشه‌ی همراه مشهد شناخته می‌شه - بهم معرفی کردن. این اپلیکیشن علاوه بر دیتای ترافیک، بهترین مسیر اتوبوس و مترو بین دو نقطه را پیشنهاد می‌داد.اون‌روزها این سرویس برام خیلی جذاب بود. دو سال بعد هم که خودم عضو این تیم شدم همه‌اش دنبال این بودم که بفهمم این الگوریتم چطور کار می‌کنه، تا در نهایت کارهای الگوریتم مسیریابی حمل‌ونقل همگانی به خودم واگذار شد! :)در این سال‌‌ها کارهای زیادی روی بهبود این سرویس انجام دادیم، اما کلیت روش کار تغییر زیادی نداشته. چیزی که برای خودم خیلی جالبه اینه که این الگوریتم بر مبنای همون روش‌های کلاسیک هوش‌مصنوعی پیاده‌سازی شده که دانشجوهای کامپیوتر در مقطع کارشناسی یاد می‌گیرن! یعنی ساختن یک گراف (شبکه‌ای بین نقاط مختلف شهر) که بهمون کمک می‌کنه بهترین مسیر را در کسری از ثانیه پیدا کنیم.شاید براتون سوال باشه که چرا مسیریابی حمل‌ونقل همگانی نشان، تاکسی نداره؟وقتی تازه عضو این تیم شده بودم، فکر کردم چقدر خوبه اگر تاکسی خطی رو هم به این سرویس اضافه کنیم. وقت زیادی گذاشتم و در نهایت یک نسخه از این سرویس را برای تهران آماده کردم. اما مهندس‌ ترافیک‌مون، خیلی جدی با این سرویس مخالف بود و دو تا دلیل هم داشت و در نهایت نذاشت سرویس منتشر بشه :(اولین دلیل که به نظرم خیلی مهم نبود این‌ بود که تاکسی خطی جزیی از حمل‌ونقل عمومی نیست و تاثیرش بر ترافیک به علت توقف‌های مکرر تقریبا هم‌سنگ سواری است. اما دلیل دومش مهم‌تر بود. ما فقط می‌تونیم از تاکسی‌های خطی که مسیر مشخص دارن استفاده کنیم تا مشکلی برای کاربر پیش نیاد. اما تاکسی‌های خطی در شهرهای بزرگ - مثل تهران - اغلب همون اول خط کامل پر می‌شن تا نزدیک‌های آخر خط عملن جایی برای سوار کردن مسافر ندارن. پس گرچه الگوریتم ما به خوبی کاربر رو به سر مسیر تاکسی می‌رسوند و برای بخشی از مسیر تاکسی پیشنهاد می‌داد، اما بیشتر تاکسی‌های خطی در اون نقطه پر هستن و کاربر مجبوره سوار سواری‌های شخصی بشه.حالا من چند وقته دارم روی یک ایده کار می‌کنم که امیدوارم بتونه این مشکل و نگرانی را برطرف کنه و بهمون اجازه بده با خیال راحت مسیرهای اتوبوس و مترو را به شکلی ایمن و مطمئن با خطوط تاکسی رسمی ترکیب کنیم.و یک سوال مهم دیگه این‌که دیتا اتوبوس‌های این همه شهر رو از کجا آوردیم؟شاید این سوال در ذهن‌تون شکل گرفته باشه که دیتای اتوبوس‌های این همه شهر را چطور گردآوری کردیم. راستش در بیشتر شهرها این دیتا با مشارکت شهرداری‌ها و یا کمک شهروندانی که دوست‌داشتن به تیم جوان ما کمک کنند، جمع‌آوری شده. در چندین شهر دیگه هم با کمک کاربرهای داوطلب، نقشه‌ی مسیرهای اتوبوس داره تکمیل می‌شه و به زودی منتشر خواهد شد.اما اینو باید اضافه کنم که همچنان برای تکمیل نقشه‌ی اتوبوس‌های سایر شهرها و به روز نگه داشتن دیتا به کمک و مشارکت خود کاربرها نیاز داریم. پس لطفن اگر دیدید سرویس مسیریابی اتوبوس را در شهر شما ارایه نکردیم و فکر کردید می‌تونید بهمون کمک کنید، لطفن از طریق ایمیل bus@neshan.org یا شناسه‌ی تلگرام neshan_admin@ بهمون اطلاع بدید.نشان یک بستره تا به هم در پیدا کردن مقصد و بهترین مسیر رسیدن به اون کمک کنیم. پس لطفن بازم کنارمون باشید تا هرچی پلیس، دوربین و سرعت‌گیر هست را پیدا کنیم و سریع‌ترین و ارزان‌ترین مسیر را به هم دیگه نشان بدیم :)