এমন কোনও প্যাথফাইন্ডিং অ্যালগরিদম রয়েছে যা বিভিন্ন চলাচলের প্রকারগুলি পরিচালনা করতে পারে?


12

আমি একটি ব্যাটেলটেক বোর্ড গেম সিমুলেটারের জন্য একটি বট বিকাশ করছি http://en.wikedia.org/wiki/BattleTech , এটি টার্ন ভিত্তিক।

বোর্ডটি হেক্সাগনগুলিতে বিভক্ত, প্রত্যেকের পৃথক অঞ্চল এবং উচ্চতা রয়েছে। আপনি এমন একটি রোবট চালান যা তাদের উপরে চলে যায়, অন্য রোবট ধ্বংস করতে।

আমি কেবল ডিজজস্ট্রা এবং এ * প্যাথফাইন্ডিং অ্যালগরিদমগুলি জানি, তবে সমস্যাটি হ'ল এখানে 3 ধরণের চলাচল রয়েছে: বেশ কয়েকটি হেক্সাগন হাঁটুন, চালান এবং লাফ দিন (তাদের প্রত্যেকের নিজস্ব নিয়ম রয়েছে)। ওয়াক অ্যান্ড রান প্রায় একই রকম।

সর্বোত্তম পথটি একটি সংমিশ্রণ বা প্রতিটি চলনের ধরণের হতে পারে। এখানে মানচিত্রের উদাহরণ রয়েছে http://megamek.info/sites/default/files/isometric_view.png

আপনি কি এই জটিল প্যাথফাইন্ডিংয়ের জন্য ভাল অ্যালগরিদম বা প্রতিটি আন্দোলনের ধরণের জন্য A * ফলাফলগুলিকে একত্রিত করার উপায় জানেন?


আমি মনে করি এটি প্রায়শই এ * (ওজন সেই পথ / বর্গের ব্যয়) এর সাথে ওজনযুক্ত পথের কিছু চালাক হেরফের দ্বারা পরিচালিত হয়। উদাহরণস্বরূপ, যদি জাম্পিং পছন্দসই হয় তবে এটি হাঁটার চেয়ে কম ওজন (উদা। 5) পায় (উদাঃ 10)।
ashes999

তিন ধরণের চলাফেরায় ঠিক কীভাবে পার্থক্য রয়েছে? এগুলি একত্রিত করা যেতে পারে (এ টায় টলে হাঁটুন, তারপরে বি তে দৌড়ুন এবং তারপরে একই টার্নে সিটিতে ঝাঁপ দিন)? যখন হ্যাঁ, টাইল এ থেকে টালি বি পেতে সর্বনিম্নতম পদ্ধতি ব্যবহার করে প্লেয়ার ফর্ম প্রতিরোধকারী নিয়মগুলি কী?
ফিলিপ

@ ফিলিপ হ্যাঁ তারা হতে পারে, এ * ব্যবহার করার সময়। আপনি প্রতিটি টালি আপনি প্রতিটি চলন প্রকারের সাথে ওপেন তালিকায় যোগ করতে পারেন, তারপরে প্রত্যেকের দামের উপর ভিত্তি করে + একটি ভাল হিউরিস্টিক আপনি নির্ধারণ করতে পারেন কোনটিকে আরও এগিয়ে যেতে হবে।
আকালতার

@ ফিলিপ না, আপনি প্রতিটি পালা মাত্র এক প্রকারের সরানো ব্যবহার করতে পারেন।
আলেক্সভিসিও

হেঁটে চলুন: উচ্চতায় সামান্য পার্থক্য নিয়ে ষড়জাগরগুলির মধ্য দিয়ে যান। চালান: সমান তবে আপনি অনেকদূর যেতে পারেন, যদিও আপনি তাপ উত্পন্ন করবেন এবং যথার্থ শুটিং হারাবেন (তাই এটি সর্বদা সেরা নয়)। ঝাঁপ দাও: আপনি চারপাশে হাঁটার পরিবর্তে বাধা (কোনও দেয়াল বা নদী) লাফিয়ে উঠতে পারেন।
আলেক্সভিসিও

উত্তর:


10

ডিজকস্ট্রা এবং এ * উভয়ই এক টাইল থেকে অন্য টালিতে প্রান্তগুলিতে (= সংযোগগুলি) বিভিন্ন ব্যয় যুক্ত করতে পারে। তারা একাধিক প্রান্তের সাথে দুটি নোড (= টাইলস) সংযোগ করার অনুমতি দেয়, প্রত্যেকে আলাদা আলাদা ব্যয় সহ।

বিকল্প জাম্প-মোডের অর্থ হ'ল জাম্পের দূরত্বে প্রতিটি টালি থেকে প্রতিটি টাইলের বিকল্প প্রত্যক্ষ প্রান্ত রয়েছে। তবে যেহেতু একটি মেছ হয় একটি হাঁটা বা একটি ঘুরিয়ে লাফাতে পারে, এই প্রান্তটি ব্যবহারের জন্য ব্যয়টি পুরো মোড়ের মুভিং পয়েন্ট এবং ততক্ষণে যখন ইতিমধ্যে এই পালা চলছিল তখন বর্তমান টার্নের অবশিষ্ট পয়েন্টগুলি।

আপনার বিবরণ অনুসারে, চলমান বনাম চলার সিদ্ধান্তটি পথের পছন্দ সম্পর্কে খুব বেশি পার্থক্য রাখে না, বরং এটি করার কৌশলগত সিদ্ধান্ত বলে মনে হয়। অভিনেতা অবশ্যই দৌড়াতে পারেন যখন গন্তব্যটি বর্তমান পালায় পৌঁছানো যায় দৌড়ে যাওয়ার অবলম্বন না করে। তবে অন্যথায় অনেকগুলি কারণ রয়েছে যার মধ্যে রয়েছে:

  • বর্তমান তাপের স্তর এবং শীতল হয়ে উঠতে সক্ষম হওয়ার আগে যুদ্ধে জড়িত থাকার মতোই
  • এই রাউন্ড গুলি করা প্রয়োজন যা কোনও শট এর অসুবিধা
  • গন্তব্যটিতে দ্রুত পৌঁছানো কতটা কৌশলগতভাবে গুরুত্বপূর্ণ

এই সিদ্ধান্ত নেওয়ার পক্ষে কোনও কঠোর নিয়ম নেই। আপনি যা করতে পারেন তা হ'ল একটি হিউরিস্টিক পদ্ধতির ব্যবহার। সকল পরিস্থিতিতে ইতিবাচক বা নেতিবাচক পয়েন্টের মান নির্ধারণ করুন, সেগুলি যুক্ত করুন এবং দেখুন ফলাফলটি ইতিবাচক বা নেতিবাচক কিনা।

প্যাথফাইন্ডিংয়ের জন্য আপনাকে আরও জবাবদিহি করতে হবে এমন আরও একটি কারণ রয়েছে: কিছু অবস্থার অধীনে নির্দিষ্ট স্থানে মেখের পালা শেষ না করা এড়াতে মেকের পক্ষে বুদ্ধিমান হতে পারে। যখন কোনও বিপদজনক স্থানে, এ থেকে বিতে তিনটি টার্ন ব্যবহার করা হয় তবে প্রতিটি কভারে শেষ করা কেবল দুটি ব্যবহারের চেয়ে ভাল হতে পারে তবে প্রতিটিটির শেষে প্রকাশ করা হয়। হয়তো বা না. এটি পরিস্থিতি এবং সঠিক গেম মেকানিক্সের উপর নির্ভর করে। এটি আবারও একটি কৌশলগত সিদ্ধান্ত যা আপনাকে হিউরিস্টিকের ভিত্তিতে করতে হবে। আপনি এআইকে এই পদক্ষেপটি থেকে নিরুৎসাহিত করার জন্য একটি বিপজ্জনক টাইলের মোড় ঘুরিয়ে দেওয়ার জন্য প্রান্তগুলিতে অতিরিক্ত ব্যয় যুক্ত করে এটি উপস্থাপন করতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.