প্রারম্ভিক গেমটিতে চেকমেট করার বিভিন্ন উপায় কী?


15

আমরা সবাই জানি সংক্ষিপ্ততম চেকমেটটি 4 টি প্লাই:

  1. f3 ই 5

  2. g4 Qh5 #

এটি কেবলমাত্র সম্ভাব্য পদক্ষেপের আদেশ নয়। প্রকৃতপক্ষে, সাদাটি প্রথমে এফ বা জি প্যাঁকে সরায় কিনা, সে চ-দোস্তকে এফ 3 বা এফ 4 এ স্থানান্তরিত করে, এবং কালো নাটক ই 6 বা ই 5 খেলবে কিনা তার উপর নির্ভর করে 8 টি রয়েছে। অবশ্যই, এটি চলাচলের সম্ভাব্য 4-প্লাই সিকোয়েন্সগুলির কেবলমাত্র একটি ক্ষুদ্র ভগ্নাংশ তৈরি করে, তবে এগুলি কেবল গেমটি শেষ করে।

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

  • 4 প্লাই: এক্স নন-চেকমেট সিকোয়েন্সস, 8 4-প্লাই চেকমেট
  • 5 প্লাই: ওয়াই নন-চেকমেট সিকোয়েন্সস, 8 4-প্লাই চেকমেট, এন 5-প্লাই চেকমেট
  • 6 প্লাই: জেড নন-চেকমেট সিকোয়েন্সস, 8 4-প্লাই চেকমেট, এন 5-প্লাই চেকমেট, এম 6-প্লাই চেকমেট

এবং তত গভীর হিসাবে এটি করা যুক্তিসঙ্গত।

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


1
সম্পর্কিত (তবে অভিন্ন নয়) এমন প্রশ্ন যা আপনার আগ্রহের সন্ধান করতে পারে: chess.stackexchange.com/questions/24359/…
itub

2
আপনার প্রশ্নের প্রসঙ্গের ভিত্তিতে, আপনি এটি জানতে আগ্রহী হতে পারেন যে প্রায় 8 টি প্লাইতে পুনরাবৃত্তি হওয়ার কারণে একটি খেলা ড্রতে শেষ হতে পারে।
ডিএম

1
আমি মনে করি না যে আপনি এখানে যে ডেটা চাইছেন তা ম্যাথ.এসই প্রশ্নে সম্ভাব্যতার জন্য সঠিক সীমানা সরবরাহ করার জন্য যথেষ্ট। গেম ট্রি এর গঠন সম্পর্কে আপনার আরও তথ্য দরকার need (উদাহরণস্বরূপ কাউন্টারেরেক্সামেলের জন্য, এমন একটি খেলা বিবেচনা করুন যেখানে প্রথম পদক্ষেপের জন্য দুটি সম্ভাব্য পছন্দ রয়েছে: এ এবং বি প্রথম পদক্ষেপটি যদি হয় তবে দ্বিতীয় স্থানান্তরের জন্য 1 মিলিয়ন স্বতন্ত্র সম্ভাব্য পছন্দ রয়েছে, যদিও এটি যদি বি হয় তবে একমাত্র সম্ভাব্য দ্বিতীয় পদক্ষেপটি হল সি। এখন গেমটিতে ১,০০,০০১ সম্ভাব্য দুটি
চলনক্রম রয়েছে

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

উত্তর:


26

0-3 প্লাই থেকে কোনও চেকমেট নেই।

4 ply: 8 checkmates, 197,281 total nodes
5 ply: 347 checkmates, 4,865,609 total nodes
6 ply: 10,828 checkmates, 119,060,324 total nodes
7 ply: 435,767 checkmates, 3,195,901,860 total nodes
8 ply: 9,852,036 checkmates, 84,998,978,956 total nodes
9 ply: 400,191,963 checkmates, 2,439,530,234,167 total nodes

"চেকমেটস" হ'ল চূড়ান্ত প্লাইতে করা চেকম্যাটিং চালগুলির সংখ্যা। সুতরাং 5 প্লাইয়ের জন্য, ঠিক দৈর্ঘ্যের 5 এর 347 চেকম্যাটিং ক্রম রয়েছে।

এই মানগুলি হ'ল: https://www.chessprogramming.org/Perft_Results

বর্তমানে 10 প্লাই বা তারও বেশি জন্য কোনও চেকমেট ডেটা নেই, সম্ভবত গণনাগত সংস্থানগুলির প্রয়োজনের কারণে।

আরও নির্দিষ্ট ডেটা প্রাপ্ত করার জন্য (যেমন লাইনগুলি নিজেরাই) আপনার নিজের পারফ্ট প্রোগ্রাম লিখতে হবে যা চেকমেটে শেষ হওয়া লাইনগুলি সংরক্ষণ করে।


13

পূর্ণসংখ্যার এই ক্রম হিসাবে পরিচিত হয় A079485 পূর্ণসংখ্যা সিকোয়েন্স (OEIS) এবং সংখ্যার অন লাইন এনসাইক্লোপিডিয়া পর্যন্ত এবং 13 অটলভাবে কাজ করা বিভিন্ন উপলব্ধ রেফারেন্স সঙ্গে পরিচিত হয় সহ।


REFERENCES Homer Simpson, Chess Review, Jan-Feb 1982. ঠিক আছে, আমি এটির একটি অংশ তৈরি করেছি, তবে এটি মজার হবে ...
মাইকেল

ওইআইএস-এর সত্যই সবকিছু আছে, তাই না?
চক্ষুফ্রোগ

8

এখানে একটি সরল পাইথন প্রোগ্রাম যা প্রশ্নের উত্তর দেয় তবে ধীর গতিতে, আমার ল্যাপটপে 5 টি প্লাইতে চালাতে 40 মিনিট সময় নেয় (এবং অতিরিক্ত প্লাইয়ের জন্য কমপক্ষে 30-গুণ বৃদ্ধি করে)। একটি দুর্দান্ত বিষয় হ'ল এটি আপনার গেমগুলি প্রিন্ট করে। আমি আউটপুট এখানে পোস্ট করতে পারতাম তবে 347-লাইনের দীর্ঘ উত্তর দিতে চাইনি ... :-)

import chess
from chess import pgn

def dfs(board, depth):
    global n
    result = board.result(claim_draw=True)
    if result != '*':
        game = pgn.Game.from_board(board)
        print(game.mainline())
    elif depth > 0:
        moves = list(board.legal_moves)
        for move in moves:
            n += 1
            board.push(move)
            dfs(board, depth-1)
            board.pop()

n = 0
try:
    board = chess.Board()
    dfs(board, 4)
except KeyboardInterrupt:
    pass
print(n, 'positions checked')

ভবিষ্যতের রেফারেন্সের জন্য আপনি পেটবিন.কম এ আউটপুট জাতীয় জিনিস ফেলে দিতে পারেন; পিক কখনই শেষ হয় না।
জেসন সি

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

7

এই ধরণের বিশ্লেষণের জন্য আমি যে শীর্ষ ব্যক্তিকে জানি, তিনি হলেন ফ্রানসোয়া লেবেল, তিনি দাবারের সাথে যুক্ত অনেকগুলি সংখ্যার গণনা করেছেন (প্লাইয়ের ফাংশন হিসাবে দাবা খেলার সংখ্যার সর্বাধিক বর্ধনের হারের অনুমান সহ) এবং বিশেষত গণনা করেছেন প্লাই পর্যন্ত চেকমেট সংখ্যা 13. প্লাই 12 পর্যন্ত মানগুলির জন্য, http://wismuth.com/chess/chess.html এ চিত্রটি দেখুন ।

তারপরে http://wismuth.com/chess/statistics-games.html এ তিনি 13 টি প্লাই পর্যন্ত নির্দিষ্ট পরিসংখ্যান সরবরাহ করেছেন যার স্পষ্টত 346,742,245,764,219 চেকমেট গেম রয়েছে।

গেমের মোট সংখ্যার জন্য, তিনি অন্যদের কাছ থেকে ফলাফল উদ্ধৃত করেছেন যারা 15 (!) চালিয়ে গেছে তবে আমি মনে করি তারা চেকমেট ট্র্যাক করেনি।

প্লিজ 5-13 থেকে 10,000 এ প্রায় 1 টি সুযোগ রয়েছে যে একটি পদক্ষেপ সাথিকে সরবরাহ করে। তবে কালো রঙের তুলনায় হোয়াইটের সাথে সঙ্গম করা উল্লেখযোগ্যভাবে সহজ বলে মনে হচ্ছে:

প্লাই বনাম সাথীর সুযোগের গ্রাফ

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

আমি দাবা র্যান্ডম গেম উপভোগ। একাধিক ওয়ার্ল্ড হাইপোথিসিস যদি ধরে রাখে তবে কোনও অনলাইন কোয়ান্টাম এলোমেলো সংখ্যার জেনারেটরের সাথে লিংক দেওয়া ভাল হবে program

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