ভিজ্যুয়াল ইনপুট ব্যবহার করে ডায়াবলো 2 খেলতে কোনও কৃত্রিম নিউরাল নেটওয়ার্ক কীভাবে প্রশিক্ষণ দেওয়া যায়?


139

আমি বর্তমানে একটি ভিডিও গেম খেলতে একটি এএনএন পাওয়ার চেষ্টা করছি এবং আমি এখানে অপূর্ব সম্প্রদায়ের কাছ থেকে কিছুটা সাহায্য পাওয়ার আশা করছিলাম।

আমি ডায়াবলো ২ তে স্থির হয়েছি Game গেম প্লেটি রিয়েল-টাইমে এবং আইসোমেট্রিক দৃষ্টিকোণ থেকে প্লেয়ারের সাথে একক অবতারকে নিয়ন্ত্রণ করছে যার ক্যামেরাটি কেন্দ্রিক।

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

এখানে

এখন, যেহেতু আমি পর্দার পিক্সেলগুলি থেকে প্রাপ্ত তথ্যের ভিত্তিতে নেটটি কেবল পরিচালনা করতে চাই, দক্ষতার সাথে খেলতে খেলতে অবশ্যই এটি একটি খুব সমৃদ্ধ প্রতিনিধিত্ব শিখতে হবে, যেহেতু সম্ভবত এটি জেনে রাখা দরকার (অন্তত অন্তত) কীভাবে গেমের বিশ্বকে বস্তুগুলিতে ভাগ করুন এবং কীভাবে তাদের সাথে ইন্টারঅ্যাক্ট করবেন।

এবং এই সমস্ত তথ্য অবশ্যই কোনওভাবে নেটকে শেখানো উচিত। এই জিনিসটি কীভাবে প্রশিক্ষণ দেওয়া যায় তা আমি আমার জীবনের জন্য ভাবতে পারি না। আমার একমাত্র ধারণাটি হ'ল একটি পৃথক প্রোগ্রাম দৃশ্যমানভাবে স্ক্রিন থেকে গেমটিতে জন্মগতভাবে ভাল / খারাপ কিছু (যেমন স্বাস্থ্য, সোনার, অভিজ্ঞতা) বের করে আনতে হবে এবং তারপরে একটি স্ট্যান্ডার্ডকে শক্তিবৃদ্ধি শেখার পদ্ধতিতে ব্যবহার করবে। আমি মনে করি যে এটি উত্তরের অংশ হবে , তবে আমি মনে করি না এটি যথেষ্ট হবে; আমার জীবনকালের মধ্যে নেট প্রশিক্ষণের জন্য সীমিত প্রতিক্রিয়াটির জন্য কাঁচা ভিজ্যুয়াল ইনপুট থেকে লক্ষ্য-ভিত্তিক আচরণ পর্যন্ত বিস্তৃত মাত্রার অনেকগুলি স্তর রয়েছে।

সুতরাং, আমার প্রশ্ন: কমপক্ষে এই কাজের কিছু অংশ করার জন্য নেটকে প্রশিক্ষণ দেওয়ার জন্য আপনি অন্য কোন উপায়ের কথা ভাবতে পারেন? পছন্দ হিসাবে হাজার হাজার লেবেলযুক্ত উদাহরণ না তৈরি করে।

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

আপডেট (04/27/12):

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

তবুও আরও মূল্যবান ইনপুট খুঁজছেন, বিশেষত রিয়েল-টাইমে অ্যাকশন নির্বাচনের সমস্যা এবং কীভাবে এএনএন প্রসেসিংয়ের জন্য রঙিন চিত্রগুলি এনকোড করতে হবে :-)

আপডেট (10/21/15):

শুধু মনে আছে আমি এই প্রশ্নটি ইন-দ্য ইন-দ্য ইন জিজ্ঞাসা করেছি এবং ভেবেছিলাম আমার উল্লেখ করা উচিত যে এটি আর পাগল ধারণা নয়। আমার শেষ আপডেটের পরে, ডিপমাইন্ড ভিজ্যুয়াল ইনপুটগুলি থেকে আটারি গেম খেলতে স্নায়বিক নেটওয়ার্ক পেতে তাদের প্রকৃতি কাগজ প্রকাশ করেছে । প্রকৃতপক্ষে, ডায়াবলো 2-এর তাদের আর্কিটেকচারটি খেলতে আমাকে বাধা দেওয়ার একমাত্র বিষয় অন্তর্নিহিত গেম ইঞ্জিনের অ্যাক্সেসের অভাব। স্ক্রিনে রেন্ডারিং এবং তারপরে এটিকে নেটওয়ার্কে পুনঃনির্দেশিত করা যুক্তিসঙ্গত সময়ে প্রশিক্ষণের জন্য খুব ধীর। সুতরাং আমরা সম্ভবত এই ধরণের বটটি খুব শীঘ্রই যে কোনও সময় ডায়াবল 2 খেলতে দেখব না, তবে কেবলমাত্র এটি ওপেন-সোর্স বা রেন্ডারিং টার্গেটে এপিআই অ্যাক্সেস সহ কিছু খেলবে। (সম্ভবত ভূমিকম্প?)


1
এই কাগজটি দেখুন। : ডি ri.cmu.edu/pub_files/pub2/pomerleau_dean_1992_1/…
জেরগাইলর্ড

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

1
আমার স্মৃতিচারণের সেরা হতে ডায়াবলো 2 সহজেই সরিয়ে নেওয়া স্প্রাইট শিট ব্যবহার করে। সম্পর্কিত স্প্রাইটের তালিকায় অবজেক্টগুলি (প্লেয়ার, শত্রু ইত্যাদি ...) টাই করা মোটামুটি সহজ হওয়া উচিত। এটি একে অপরের দ্বারা অস্পষ্ট হওয়া বিষয়গুলির সমস্যার সমাধান করে না, তবে এটি একটি শুরু।
রায়ান জেনকিন্স

@ জাজিরিলর্ড আপনার একমাত্র ইনপুট উত্স হিসাবে পর্দায় টানা পিক্সেল ব্যবহার করে ক) ডায়াবলো 2 এবং খ বাজানো) এর নিজের মানদণ্ডটি কতটা দৃly়তার সাথে রাখতে চান তা যদি আপনি বলতে পারেন তবে এটি সাহায্য করবে। আপনি যদি নিজের জিনিসগুলিকে আরও সহজ করতে চান তবে আমি মনে করি যে আপনি সেগুলির মধ্যে একটি (বা উভয়) কিছুটা শিথিল করে ফেলতে চান - আপনি কি এটি করতে ইচ্ছুক?
স্টম্পচিকেন

1
খুব বিস্তৃত হিসাবে বন্ধ করতে ভোট দেওয়া।
সিরো সান্তিলি :45 冠状 病 六四 事件 法轮功

উত্তর:


54

আমি দেখতে পাচ্ছি যে আপনি কীভাবে এএনএনকে প্রশিক্ষণ দেবেন তা নিয়ে আপনি চিন্তিত, তবে এই প্রকল্পটি এমন একটি জটিলতা লুকিয়ে রেখেছে যে সম্পর্কে আপনি অবগত নন। ইমেজ প্রসেসিংয়ের মাধ্যমে কম্পিউটার গেমগুলিতে অবজেক্ট / চরিত্রের স্বীকৃতি এটি অত্যন্ত চ্যালেঞ্জিং কাজ ( এফপিএস এবং আরপিজি গেমসের জন্য ক্রেজি বলবেন না )। আমি আপনার দক্ষতার বিষয়ে সন্দেহ করি না এবং এটিও করা যায় না বলেও বলছি না, তবে আপনি নিজেই এএনএন বাস্তবায়নের চেয়ে স্টাফ সনাক্তকরণে 10x বেশি সময় ব্যয় করতে পারেন (ধরে নিই যে ডিজিটাল চিত্র প্রক্রিয়াকরণের কৌশলগুলির সাথে আপনার ইতিমধ্যে অভিজ্ঞতা আছে) )।

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

আমার মনে আছে যে অন্য কেউ টিউনস খুঁজতে অন্যরকম এসেছিলেন তবে কোনও একরকম প্রকল্প খুব বেশি আগে হয়নি। এটি পরীক্ষা করে দেখার মতো।

অন্যদিকে, খেলাগুলি শনাক্ত করার জন্য আরও ভাল / সহজ উপায় থাকতে পারে যদি আপনি প্রস্তাবগুলি গ্রহণ করেন। তবে প্রথমে আপনি এই প্রকল্পটি যা হতে চান তার জন্য কল করুন: একটি স্মার্ট বট

বটগুলি প্রয়োগের জন্য একটি পদ্ধতি গেমের ক্লায়েন্টের স্মৃতিতে প্রাসঙ্গিক তথ্যগুলি সন্ধান করে যেমন পর্দার চরিত্রের অবস্থান এবং এটি স্বাস্থ্য। কম্পিউটারের মেমোরি পড়া তুচ্ছ, তবে ঠিক কোথায় মেমোরি খুঁজছেন তা নির্ধারণ করা। চিট ইঞ্জিনের মতো মেমরি স্ক্যানারগুলি এটির জন্য খুব সহায়ক হতে পারে।

গেমের অধীনে কাজ করা অন্য একটি পদ্ধতিতে রেন্ডারিংয়ের তথ্যাদি চালানো জড়িত। গেমের সমস্ত অবজেক্ট অবশ্যই স্ক্রিনে রেন্ডার করতে হবে। এর অর্থ হল যে সমস্ত 3 ডি অবজেক্টের অবস্থানগুলি শেষ পর্যন্ত প্রসেসিংয়ের জন্য ভিডিও কার্ডে প্রেরণ করা হবে। কিছু গুরুতর ডিবাগিংয়ের জন্য প্রস্তুত থাকুন।

এই উত্তরে আমি ইমেজ প্রসেসিংয়ের মাধ্যমে আপনি যা চান তা সম্পন্ন করার জন্য 2 টি পদ্ধতি সংক্ষেপে বর্ণনা করেছি। আপনি যদি সেগুলিতে আগ্রহী হন তবে এই বিষয়টির একটি দুর্দান্ত বই, এক্সপ্লোইটিং অনলাইন গেমস (chapter ষ্ঠ অধ্যায়) সম্পর্কে তাদের সম্পর্কে আরও জানতে পারেন ।


43

আপডেট 2018-07-26: এটাই! আমরা এখন সেই জায়গায় পৌঁছে যাচ্ছি যেখানে এই ধরণের গেমটি দ্রবণযোগ্য হবে! ওপেনএআইআই ব্যবহার করে এবং গেম ডোটা 2 এর উপর ভিত্তি করে, একটি দল এমন একটি এআই তৈরি করতে পারে যা 5v5 গেমটিতে আধা-পেশাদার গেমারদের পরাজিত করতে পারে । আপনি যদি ডোটা ২ জানেন, তবে আপনি জানেন যে এই গেমটি মেকানিক্সের দিক থেকে ডায়াবলোর মতো গেমগুলির সাথে বেশ মিল, তবে কেউ যুক্তি দিতে পারে যে টিম খেলার কারণে এটি আরও জটিল।

যেমনটি প্রত্যাশা করা হয়েছিল, গভীর শিক্ষার মাধ্যমে পুনর্বহাল শেখার ক্ষেত্রে সর্বশেষ অগ্রগতির জন্য এবং ওপেনএআইআই এর মতো উন্মুক্ত গেম ফ্রেমওয়ার্কগুলি ব্যবহার করে যা আপনি একটি ঝরঝরে এপিআই পেয়ে যাওয়ায় এআই এর বিকাশ সহজতর করে এবং আপনি গেমটি ত্বরান্বিত করতে পারেন বলেও এটি অর্জন করা হয়েছে (এআই খেলল প্রতিদিন নিজের বিরুদ্ধে 180 বছরের গেমপ্লে সমতুল্য!)।

5 আগস্ট 2018 এ (10 দিনের মধ্যে!) , শীর্ষ ডোটা 2 গেমারদের বিরুদ্ধে এই এআইয়ের পরিকল্পনা করার পরিকল্পনা করা হয়েছে। যদি এটি কার্যকর হয় তবে একটি বড় বিপ্লব আশা করুন, সম্ভবত গো গেমটি সমাধান করার মতো মিডিয়াযুক্ত নয়, তবে এটি গেমস এআইয়ের জন্য একটি বিশাল মাইলফলক হবে!

আপডেট 2017-01: আলফাগোর সাফল্যের পর থেকে মাঠটি খুব দ্রুত গতিতে চলেছে এবং প্রায় প্রতি মাসে গেমসে মেশিন লার্নিং অ্যালগরিদমগুলির বিকাশের সুবিধার্থে নতুন ফ্রেমওয়ার্ক রয়েছে। আমি যে সর্বাধিক সন্ধান পেয়েছি তার একটি তালিকা এখানে রয়েছে:

  • ওপেনএআইএর ইউনিভার্স : মেশিন লার্নিং ব্যবহার করে কার্যত যে কোনও গেম খেলতে একটি প্ল্যাটফর্ম । এপিআই পাইথন-এ রয়েছে এবং এটি ভিএনসি দূরবর্তী ডেস্কটপ পরিবেশের পিছনে গেমগুলি চালায়, যাতে এটি কোনও গেমের চিত্রগুলি ক্যাপচার করতে পারে! আপনি সম্ভবত মেশিন লার্নিং অ্যালগরিদমের মাধ্যমে ডায়াবলো দ্বিতীয় খেলতে ইউনিভার্স ব্যবহার করতে পারেন!
  • ওপেনআইএর জিম : ইউনিভার্সের অনুরূপ তবে বিশেষত শক্তিবৃদ্ধি শেখার অ্যালগরিদমকে লক্ষ্যযুক্ত করা (যাতে এটি আলফাগো দ্বারা ব্যবহৃত কাঠামোর সাধারণীকরণের মতো তবে আরও অনেক গেমের ক্ষেত্রে)। নেই Udemy উপর একটি কোর্স OpenAI জিম ব্যবহার ব্রেকআউট বা নিয়তি মত গেম মেশিন লার্নিং প্রয়োগের আচ্ছাদন।
  • টর্চক্রাফ্ট : টর্চ (মেশিন লার্নিং ফ্রেমওয়ার্ক) এবং স্টারক্রাফ্ট: ব্রুড ওয়ারের মধ্যে একটি সেতু ।
  • পাইজিটিএ 5 : কেবলমাত্র স্ক্রিন ক্যাপচার ( অনলাইনে প্রচুর ভিডিও সহ ) ব্যবহার করে জিটিএ 5 -এ স্ব-ড্রাইভিং গাড়ি তৈরির একটি প্রকল্প ।

খুব উত্তেজনাপূর্ণ সময়!

গুরুত্বপূর্ণ আপডেট (২০১-0-০6): ওপি দ্বারা উল্লিখিত হিসাবে, শুধুমাত্র ভিজ্যুয়াল ইনপুট ব্যবহার করে গেম খেলতে প্রশিক্ষণ দেওয়ার এই সমস্যাটি এখন বেশ কয়েকটি গুরুতর প্রতিষ্ঠান যেমন ডিপমাইন্ড ডিপ-ক্লিয়ারিং-নেটওয়ার্ক (ডিকিউএন) এর মতো বেশ কিছু আশাব্যঞ্জক ফলাফলকে মোকাবেলা করছে। )

এবং এখন, আপনি যদি পরবর্তী স্তরের চ্যালেঞ্জটি গ্রহণ করতে চান, তবে কেবলমাত্র ভিজ্যুয়াল ইনপুট ব্যবহার করে ডুম খেলতে নেটওয়ার্ক প্রশিক্ষণ দেওয়ার জন্য আপনি বিভিন্ন এআই ভিশন গেম ডেভেলপমেন্ট প্ল্যাটফর্মগুলি যেমন ভিজডুম , একটি উচ্চতর অনুকূলিত প্ল্যাটফর্ম (7000 fps) ব্যবহার করতে পারেন :

ভিজেডডুম এআই বটগুলিকে বিকাশ করতে দেয় যা কেবল দর্শনীয় তথ্য (স্ক্রিন বাফার) ব্যবহার করে ডুম খেলা। এটি মূলত মেশিন ভিজ্যুয়াল লার্নিং এবং বিশেষত গভীরতর শক্তিবৃদ্ধি শেখার গবেষণার জন্য উদ্দিষ্ট। ভিআইজেডম গেম মেকানিক্স সরবরাহ করতে জেডডুমের উপর ভিত্তি করে।

এবং ফলাফলগুলি বেশ আশ্চর্যজনক, তাদের ওয়েবপৃষ্ঠায় ভিডিওগুলি এবং সুন্দর টিউটোরিয়াল (পাইথনে) এখানে দেখুন!

ভূমিকম্প 3 অ্যারেনার জন্যও একই ধরণের প্রকল্প রয়েছে, যাকে বলা হয় কোয়েজেন্টস , যা অন্তর্নিহিত গেমের ডেটাতে সহজ এপিআই অ্যাক্সেস সরবরাহ করে তবে আপনি এটি স্ক্র্যাপ করতে পারেন এবং কেবলমাত্র আপনার এজেন্টকে নিয়ন্ত্রণ করতে স্ক্রিনশট এবং এপিআই ব্যবহার করতে পারেন।

আমরা যদি কেবল স্ক্রিনশট ব্যবহার করি তবে কেন এই জাতীয় প্ল্যাটফর্মটি কার্যকর? এমনকি যদি আপনি অন্তর্নিহিত গেমের ডেটা অ্যাক্সেস না করেন তবে এই জাতীয় প্ল্যাটফর্ম সরবরাহ করে:

  • গেমগুলির উচ্চ কার্যকারিতা বাস্তবায়ন (আপনি কম সময়ের সাথে আরও ডেটা / নাটক / শেখার প্রজন্ম তৈরি করতে পারেন যাতে আপনার শেখার অ্যালগরিদমগুলি দ্রুত রূপান্তর করতে পারে!)।
  • আপনার এজেন্টগুলিকে নিয়ন্ত্রণ করার জন্য একটি সহজ এবং প্রতিক্রিয়াশীল এপিআই (যেমন, আপনি যদি কোনও খেলা নিয়ন্ত্রণ করতে মানবিক ইনপুটগুলি ব্যবহার করার চেষ্টা করেন তবে আপনার কিছু কমান্ড হারিয়ে যেতে পারে, তাই আপনি আপনার ফলাফলগুলির অবিশ্বস্ততার সাথেও ডিল করতে পারেন ...)।
  • কাস্টম পরিস্থিতিতে সহজ সেটআপ ।
  • কাস্টমাইজযোগ্য রেন্ডারিং (প্রসেসিংয়ে স্বাচ্ছন্দ্যের জন্য চিত্রগুলি "সরলীকরণ" করতে কার্যকর হতে পারে)
  • সিঙ্ক্রোনাইজড ("টার্ন-বাই-টার্ন") খেলুন (যাতে আপনাকে প্রথমে রিয়েলটাইমে কাজ করার জন্য আপনার অ্যালগরিদমের প্রয়োজন হয় না, এটি একটি বিশাল জটিলতা হ্রাস)
  • অতিরিক্ত সুবিধা বৈশিষ্ট্য যেমন ক্রসপ্ল্যাটফর্মের সামঞ্জস্যতা, রেট্রোকম্প্যাটিবিলিটি (নতুন গেম আপডেটের সময় আপনি নিজের বটটিকে আর গেমের সাথে কাজ না করার ঝুঁকি দেন না) ইত্যাদি etc.

সংক্ষিপ্তসার হিসাবে, এই প্ল্যাটফর্মগুলির দুর্দান্ত জিনিসটি হ'ল তারা আপনাকে যে আগের প্রযুক্তিগত সমস্যাগুলি মোকাবেলা করেছিল তার অনেকটাই হ্রাস করে (গেম ইনপুটগুলি কীভাবে পরিচালনা করতে হবে, পরিস্থিতিগুলি কীভাবে সেটআপ করা যায় ইত্যাদি) যাতে আপনাকে কেবল শিখন অ্যালগরিদমকে মোকাবেলা করতে হবে নিজেই।

সুতরাং এখন, কাজ করুন এবং আমাদের সেরা এআই ভিজ্যুয়াল বট করুন;)


পুরানো পোস্টটি কেবল ভিজ্যুয়াল ইনপুটগুলিতে নির্ভর করে এআই উন্নয়নের প্রযুক্তিগত সমস্যাগুলি বর্ণনা করে:

উপরের আমার কয়েকজন সহকর্মীর বিপরীতে, আমি মনে করি না যে এই সমস্যাটি অক্ষম। তবে এটি অবশ্যই একটি হেলা শক্ত!

উপরে উল্লিখিত হিসাবে প্রথম সমস্যাটি হ'ল গেমের রাজ্যের প্রতিনিধিত্ব : আপনি কেবল একটি একক চিত্র সহ পুরো রাজ্যের প্রতিনিধিত্ব করতে পারবেন না, আপনাকে কিছু ধরণের মুখস্থ রাখতে হবে(স্বাস্থ্য কিন্তু জিনিসগুলি সজ্জিত এবং আইটেমগুলি ব্যবহারের জন্য উপলব্ধ, অনুসন্ধান এবং লক্ষ্যগুলি ইত্যাদি)। এই জাতীয় তথ্য আনার জন্য আপনার দুটি উপায় রয়েছে: হয় সরাসরি গেমের ডেটা অ্যাক্সেস করে, যা সবচেয়ে নির্ভরযোগ্য এবং সহজ; অথবা হয় আপনি কয়েকটি সাধারণ পদ্ধতি প্রয়োগের মাধ্যমে এই তথ্যগুলির একটি বিমূর্ত উপস্থাপনা তৈরি করতে পারেন (খোলার তালিকা, একটি স্ক্রিনশট নিন, ডেটা উত্তোলন করুন)। অবশ্যই, স্ক্রিনশট থেকে ডেটা আহরণ করতে হয় আপনাকে কিছু তদারকি পদ্ধতিতে (যা আপনি সম্পূর্ণরূপে সংজ্ঞায়িত করেন) বা আনসারভিজড (কোনও মেশিন লার্নিং অ্যালগরিদমের মাধ্যমে প্রয়োগ করতে হবে তবে এটি জটিলতা অনেক বাড়িয়ে দেবে ...)। অকার্যকর মেশিন লার্নিংয়ের জন্য আপনাকে স্ট্রাকচারাল লার্নিং অ্যালগরিদম (যা কীভাবে শ্রেণিবদ্ধ করা বা কোনও মান পূর্বাভাস দেওয়ার চেয়ে ডেটার কাঠামো শিখতে পারে) নামে পরিচিত একটি সাম্প্রতিক ধরণের অ্যালগোরিদম ব্যবহার করতে হবে।http://techtalks.tv/talks/54422/

তারপরে, আরেকটি সমস্যা হ'ল আপনি প্রয়োজনীয় সমস্ত ডেটা আনার পরেও গেমটি কেবল আংশিকভাবে পর্যবেক্ষণযোগ্য । সুতরাং আপনাকে বিশ্বের একটি বিমূর্ত মডেল ইনজেকশনের প্রয়োজন এবং এটিকে গেম থেকে প্রক্রিয়াজাত তথ্য দিয়ে খাওয়ানো দরকার, উদাহরণস্বরূপ আপনার অবতারের অবস্থান, তবে পর্দার বাইরে অনুসন্ধান আইটেম, লক্ষ্য এবং শত্রুদের অবস্থান। আপনি সম্ভবত এর জন্য ভার্মাক 2003 এর মিশ্রণ কণা ফিল্টারগুলি সন্ধান করতে পারেন।

এছাড়াও, আপনার একটি স্বায়ত্তশাসিত এজেন্ট থাকা দরকার , লক্ষ্যগুলি গতিময়ভাবে উত্পন্ন হয়েছিল। বিডিআই এজেন্ট হিসাবে আপনি চেষ্টা করতে পারেন এমন একটি সুপরিচিত আর্কিটেকচার, তবে আপনার সম্ভবত ব্যবহারিক ক্ষেত্রে কাজ করার জন্য আপনাকে সম্ভবত এটির জন্য কোনও মন্তব্য করতে হবে। বিকল্প হিসাবে, রিকার্সিভ পেট্রি নেটও রয়েছে, যা আপনি সম্ভবত পেট্রি নেটগুলির সমস্ত ধরণের পরিবর্তনের সাথে একত্রিত করতে পারেন যা আপনি চান তা অর্জন করার জন্য এটি দুর্দান্ত औपचारিককরণ এবং প্রমাণাদি পদ্ধতি সহ একটি খুব ভাল অধ্যয়ন এবং নমনীয় কাঠামো is

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

এই উপসংহারে করতে, তুমি এখানে কি অর্জন করতে চান এ বর্তমান রাষ্ট্রীয় অত্যাধুনিক আলগোরিদিম সীমা (এবং হয়ত একটু পরলোক) । আমি মনে করি এটি সম্ভব হতে পারে তবে এটি হলেও আপনি অনেক সময় ব্যয় করতে যাচ্ছেন , কারণ এটি কোনও তাত্ত্বিক সমস্যা নয় বরং আপনি এখানে ব্যবহার করছেন এমন একটি ব্যবহারিক সমস্যা এবং সুতরাং আপনাকে বাস্তবায়ন করতে হবে এবং প্রচুর সংহত করতে হবে এটি সমাধানের জন্য বিভিন্ন এআই পদ্ধতির

এটি নিয়ে পুরো টিমের সাথে কাজ করা বেশ কয়েক দশক গবেষণা যথেষ্ট নাও হতে পারে, সুতরাং আপনি যদি একা থাকেন এবং খণ্ডকালীন সময়ে এটির উপর কাজ করেন (সম্ভবত আপনার জীবনধারণের জন্য কোনও কাজ রয়েছে) তবে আপনি সম্ভবত কোনও জায়গায় পৌঁছে না গিয়ে পুরো জীবনকাল কাটাতে পারেন may একটি কাজের সমাধান।

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

শুভকামনা, এবং যদি এটি কাজ করে তবে একটি নিবন্ধ প্রকাশের বিষয়টি নিশ্চিত করুন, আপনি অবশ্যই এইরকম কঠোর ব্যবহারিক সমস্যা সমাধানের জন্য বিখ্যাত হয়ে উঠতে পারেন!


27

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

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

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


যথেষ্ট ফর্সা। আপনি নেটওয়ার্ককে এএনএন এর অনুরূপ বেশিরভাগ কিছুই কল করতে পারেন, তবে এটি দৃly়রূপে আলোচনার দিকে নিয়ে যেতে পারে। :)
ডন রেবা

হ্যাঁ হ্যাঁ ... আমার প্রেরণাকে আরও গভীরতার সাথে ব্যাখ্যা করা উচিত ছিল। আমি জানি গেম এআই করার আরও ভাল উপায় আছে তবে আমি উন্নত করছি এমন এএনএন সিমুলেটারের সীমাটি সরিয়ে রাখতে আমি এটি করছি। দেখুন: stanford.edu/group/pdplab/pdphandbook
zergylord

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

18

দেখে মনে হচ্ছে এই প্রকল্পের হৃদয় কোনও এএনএন দিয়ে কী কী সম্ভব তা অন্বেষণ করছে, সুতরাং আমি এমন একটি গেমটি বাছাইয়ের পরামর্শ দেব যেখানে আপনাকে চিত্র প্রক্রিয়াকরণের সাথে মোকাবেলা করতে হবে না (যা এখানে অন্যান্য উত্তরগুলি থেকে পাওয়া যায়, এটি একটি সত্যিই কঠিন কাজ বলে মনে হচ্ছে) রিয়েল-টাইম গেম)। আপনি আপনার বট তৈরি করতে স্টারক্রাফ্ট এপিআই ব্যবহার করতে পারেন, তারা আপনাকে সমস্ত প্রাসঙ্গিক গেমের স্থিতিতে অ্যাক্সেস দেয়।

http://code.google.com/p/bwapi/


2

প্রথম পদক্ষেপ হিসাবে আপনি পরপর ফ্রেমের পার্থক্যটি দেখতে পারেন। আপনাকে ব্যাকগ্রাউন্ড এবং আসল দৈত্য স্প্রিটের মধ্যে পার্থক্য করতে হবে। আমার ধারণা পৃথিবীতে অ্যানিমেশনও থাকতে পারে। তাদের সন্ধানের জন্য আমার চরিত্রটি চারদিকে ঘোরাতে হবে এবং পৃথিবীর সাথে বড় আকারের পটভূমির চিত্র / অ্যানিমেশনে স্থানান্তরিত সমস্ত কিছু সংগ্রহ করতে পারে।

পারস্পরিক সম্পর্কযুক্ত শত্রুদের সনাক্ত এবং সনাক্ত করতে পারেন (এফএফটি ব্যবহার করে)। তবে অ্যানিমেশনগুলি যদি পিক্সেল-সঠিক পুনরাবৃত্তি করে তবে কয়েকটি পিক্সেলের মানগুলি দেখার জন্য এটি দ্রুত হবে। আপনার মূল কাজটি হ'ল একটি শক্তিশালী সিস্টেম লিখুন যা স্ক্রিনে কোনও নতুন অবজেক্ট উপস্থিত হওয়ার সময় সনাক্ত করবে এবং ধীরে ধীরে স্প্রিট ফ্রেমের সমস্ত ফ্রেম একটি ডাটাবেসে উপস্থিত হবে। সম্ভবত আপনাকে অস্ত্রের প্রভাবগুলির জন্যও মডেল তৈরি করতে হবে। এগুলিকে বিয়োগ করা উচিত যাতে তারা আপনার প্রতিপক্ষের ডাটাবেসকে বিশৃঙ্খলা না করে।


2
ডায়াবলো II গেমের সাথে পরিচিত হওয়ার কারণে, আমি বলতে পারি যে এটি 256 টি রঙ ব্যবহার করে (যদি না কিছু মোড উচ্চ বা সত্য রঙ ব্যবহার করে)। এটি বিভিন্ন বস্তু প্রদর্শন করতে স্প্রিটের ভারী ব্যবহার করে। যদি আপনি কিছু স্প্রিট বের করতে সক্ষম হন (এমনকি স্ক্রিনশট থেকেও) আপনি স্প্রাইটের উপর ভিত্তি করে অবজেক্টগুলি সনাক্ত করতে আপনার সরঞ্জামটিকে প্রশিক্ষণ দিতে পারেন (উদাহরণস্বরূপ একটি বাদ দেওয়া 'মাইনর হিলিং পশন' সর্বদা একই দেখায়)। তবে আমি যদি ডায়াব্লো ২-এর নির্দিষ্ট জিনিসগুলিতে আরও গভীর হয়ে যাই তবে আরও প্রশ্ন উঠবে। শুভকামনা
Ivaylo স্লাভভ

1

ওয়েল ধরে নিচ্ছেন যে কোনও সময় আপনি সম্ভাব্য সমস্ত 'চাল'গুলির সেট থেকে' ফলাফল '(সম্ভাব্যতা জড়িত থাকতে পারে) এর একটি সেট তৈরি করতে পারেন এবং গেমটিতে ধারাবাহিকতার কিছু ধারণা রয়েছে (যেমন আপনি বারের চেয়ে বেশি স্তর স্তর খেলতে পারেন) আবার), আপনি এলোমেলো ওজন সহ এন নিউরাল নেটওয়ার্কগুলির সাথে শুরু করতে পারেন এবং তাদের প্রত্যেককে নিম্নলিখিত উপায়ে গেমটি খেলতে হবে:

1) প্রতিটি সম্ভাব্য 'পদক্ষেপের' জন্য, সম্ভাব্য 'ফলাফলগুলির একটি তালিকা তৈরি করুন (সম্পর্কিত সম্ভাব্যতার সাথে) 2) প্রতিটি ফলাফলের জন্য,' ফলাফলের 'সম্পর্কিত' মূল্য '(স্কোর) নির্ধারণ করতে আপনার নিউরাল নেটওয়ার্কটি ব্যবহার করুন (যেমন একটি সংখ্যাটি -1 এবং 1 এর মধ্যে, 1 সেরা সম্ভাব্য ফলাফল, -1 সবচেয়ে খারাপ হতে পারে) 3) সর্বোচ্চ চালানো * স্কোরের দিকে পরিচালিত 'পদক্ষেপ' চয়ন করুন 4) যদি পদক্ষেপটি 'জয়' বা 'হারাতে' পরিচালিত করে, বন্ধ করুন, অন্যথায় পদক্ষেপ 1 এ ফিরে যান।

নির্দিষ্ট সময় (বা 'জয়' / 'হারাতে') পরে, নিউরাল নেটওয়ার্ক 'লক্ষ্য' এর কতটা কাছাকাছি ছিল তা মূল্যায়ন করুন (এটি সম্ভবত কিছু ডোমেন জ্ঞান জড়িত থাকবে)। তারপরে লক্ষ্য থেকে অনেক দূরে থাকা এনএনগুলির 50% (বা অন্য কোনও শতাংশ) ফেলে দিন, শীর্ষ 50% এর ক্রসওভার / মিউটেশন করুন এবং আবার এনএন এর নতুন সেটটি চালান। সন্তোষজনক এনএন বের না হওয়া অবধি চালিয়ে যান।


আহ, মিক্সে একটি জিএ যুক্ত করুন, আকর্ষণীয়। দুর্ভাগ্যক্রমে, যেহেতু আমার কাছে নেটওয়ার্কটি আসলে ক্রিয়া হিসাবে কীপ্রেস / মাউস আন্দোলন প্রেরণ করছে, তাই আমার প্রতি নেটওয়ার্কের জন্য একটি শারীরিক কম্পিউটার প্রয়োজন> << আর একটি সমস্যা হ'ল পরিবেশের রাজ্যের স্থানটি বিচ্ছিন্ন নয় (ভাল প্রযুক্তিগতভাবে এটি রয়েছে তবে একটি খুব সূক্ষ্ম শস্য)। উদাহরণস্বরূপ, মাউস ক্লিকের সাথে যুক্ত সম্ভাব্য পরিণতিটি কল্পনা করুন: নেট এর নিয়ন্ত্রণে একটি চরিত্র চলতে বা আক্রমণ করতে পারে তবে শত্রুরাও পাশাপাশি চলতে পারে এবং ছায়া এবং আবহাওয়ার প্রভাবের মতো পরিবেশে পিক্সেল-ভিত্তিক পার্থক্য থাকতে পারে ।
জেরগাইলর্ড

ঠিক আছে আমার দৃষ্টিকোণ থেকে আপনি কেবলমাত্র একটি নিউরাল নেট দিয়ে করতে পারেন। এটিকে সর্বোত্তম মনে হয় এটি একটি পৃথক রাষ্ট্রীয় স্থানের কিছু ধারণার একটি শিক্ষণীয় হিউরিস্টিক ফাংশন হিসাবে ব্যবহার করা যেতে পারে। শত্রুটির পরিবর্তনশীলতা সংযুক্ত করতে, আপনাকে সম্ভবত কিছু অন্যান্য তাত্পর্যপূর্ণ ব্যবহার করতে হবে, তারপরে আপনি এটি ব্যবহারের সাথে সম্পর্কিত সম্ভাব্যতার সাথে চলমান সম্ভাব্য ফলাফলের একটি সেট তৈরি করতে পারেন to এছাড়াও, যতক্ষণ না প্রাথমিক এবং চূড়ান্ত কনফিগারেশনের স্থির ধারণা রয়েছে, আপনি একবারে প্রতিটি স্নায়বিক নেট চালাতে পারবেন।
tstramer

1

আমার মনে হয় আপনার সেরা বাজিটি কয়েকটি / মে নেটওয়ার্কের সাথে জড়িত একটি জটিল স্থাপত্য হবে: অর্থাত্ আইটেমগুলিকে স্বীকৃতি দেওয়া এবং তাদের প্রতিক্রিয়া জানানো, একটি দোকানের জন্য, একটি যুদ্ধের জন্য (সম্ভবত এখানে আপনার শত্রুর স্বীকৃতির জন্য একটির প্রয়োজন, আক্রমণগুলির জন্য একটি) ইত্যাদি etc ।

তারপরে সহজতম ডায়াবলো দ্বিতীয় গেমপ্লে, সম্ভবত একটি বার্বিয়ান সম্পর্কে চিন্তা করার চেষ্টা করুন। তারপরে এটি প্রথমে সহজ রাখুন, প্রথম আইনের মতো, প্রথম অঞ্চল।

তারপরে আমি অনুমান করি মূল্যবান 'লক্ষ্যগুলি' হ'ল শত্রুপক্ষের বস্তুগুলি অদৃশ্য হয়ে যাওয়া এবং স্বাস্থ্য বারকে হ্রাস করা (বিপরীতে স্কোর করা)।

একবার আপনার এই পৃথক, 'সরল' কাজগুলির যত্ন নেওয়া হয়ে গেলে, কোন সাব-এএনএন সক্রিয় করা হবে তা সিদ্ধান্ত নিতে আপনি 'মাস্টার' এএনএন ব্যবহার করতে পারেন।

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

আপনার সমস্ত প্রকল্পের সমস্ত খুব উচ্চাভিলাষী। তবে আমি একজনের মনে করি যথেষ্ট সময় দেওয়া হলেও এটি 'তত্ত্বের সাথে সম্পন্ন' হতে পারে।

আশা করি এটি সাহায্য করে এবং ভাগ্য!

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