Cơ sở dữ liệu của mọi di chuyển có thể có trong cờ vua


12

Hãy tưởng tượng rằng có một cơ sở dữ liệu cờ vua của mọi di chuyển và vị trí có thể. Cơ sở dữ liệu này chứa tất cả các di chuyển có thể từ mở đến kết thúc trò chơi.

Nếu tôi chơi bằng trực giác của mình trước một cỗ máy cờ vua, nó có thể dự đoán động tác nào sẽ khiến tôi thua và thắng.

Vì vậy, điều này có nghĩa là không cần "động cơ cờ vua" vì tất cả các động tác có thể đã được ghi lại.

Nếu một cơ sở dữ liệu như vậy tồn tại, nó sẽ có những lợi thế sau:

  • Trong các trò chơi blitz nhanh, động cơ cờ vua chắc chắn sẽ thua cơ sở dữ liệu di chuyển khả năng cờ vua.
  • Chúng ta có thể biết chính xác lối mở nào sẽ có nhiều cơ hội hơn để giành chiến thắng trước những người khác.

Hoặc nếu một cơ sở dữ liệu như vậy chưa tồn tại, chúng ta có thể có một phép tính toán học về tất cả các chuyển động có thể từ khi mở cho đến khi kết thúc trò chơi.

Liệu một cơ sở dữ liệu như vậy có thể tồn tại?


4
Không, không thể với bất kỳ công nghệ có thể tưởng tượng.
Tony Enni

Tôi đi lang thang một lúc .. Và vẫn không tạo ra nó. Bạn đúng rồi. À
Ahmad Azwar Anas

Chúc may mắn xây dựng cơ sở dữ liệu có nhiều byte hơn các nguyên tử trong Vũ trụ
David

Câu trả lời:


31

Tôi tin rằng câu hỏi của bạn về cơ bản tập trung vào chủ đề liệu có thể hoàn toàn "giải quyết" cờ vua hay không. Wikipedia có một bài viết tuyệt vời về chủ đề này sẽ cung cấp cho bạn một cái nhìn tổng quan tốt.

Tóm lại, số lượng biến thể trò chơi có thể có trong cờ vua được ước tính là 10 ^ 120. Đây là một con số khổng lồ đáng kinh ngạc, để so sánh, hãy xem xét rằng số lượng nguyên tử trong vũ trụ quan sát được ước tính là khoảng 10 ^ 80 . Nói cách khác, nếu bạn đang sử dụng toàn bộ vũ trụ quan sát được như ổ cứng của mình, bạn vẫn cần lưu trữ 10 ^ 40 tổ hợp trò chơi cờ trên mỗi nguyên tử , để đơn giản lưu trữ tất cả. Không cần phải nói, điều này vượt xa các công nghệ hiện tại và có thể thấy được của chúng tôi mà hầu hết mọi người coi nó là hoàn toàn không thể.

Các kết thúc cờ vua ít phức tạp hơn đáng kể và chúng ta đã đến mức có thể tính toán tất cả các kết hợp có thể có cho các kết thúc năm phần và sáu phần . Đây thường là những cam kết khổng lồ được thực hiện bởi các nhà nghiên cứu có quyền truy cập vào siêu máy tính và cơ sở dữ liệu kết thúc là rất lớn (theo thứ tự hàng trăm terabyte). Mỗi khi một phần mới được thêm vào, kích thước và độ phức tạp của các phép tính sẽ tăng theo cấp số nhân, điều đó có nghĩa là trong tương lai gần, chúng ta có thể hy vọng những kết quả này sẽ mở rộng chỉ bằng một vài phần.


bây giờ tôi tưởng tượng rằng có thuật toán đại diện cho End Game Table .. ^^
Ahmad Azwar Anas

2
@AhmadAzwarAnas Vâng, tôi nghĩ rằng những cái đơn giản đã được sử dụng trong động cơ cờ vua, và những cái hoàn chỉnh hơn sẽ được thêm vào dưới dạng giấy phép công nghệ. Về mặt thuật toán, tôi đoán bạn có thể "nén" một bảng trò chơi kết thúc bằng cách phân tích nó cho các mẫu và khái quát chúng thành một bộ quy tắc rõ ràng dẫn đến kết quả. Tuy nhiên, trong mọi trường hợp, bộ quy tắc này vẫn sẽ rất lớn, vì các biến thể nhỏ (như có phản đối hay không) có thể thay đổi kết quả của trò chơi.
Daniel B

@AhmadAzwarAnas thực sự, tại sao không chỉ là một thuật toán cho cờ vua? phải có một động thái trong mỗi trò chơi bị mất đó là sai, phải không? tức là di chuyển trước đó đã tồn tại một con đường để không thua bất kể đối thủ di chuyển, nhưng sau đó điều này không còn đúng nữa. sau đó "tất cả" thuật toán phải làm là xác định các động thái này để bạn có thể tránh chúng.
Michael

1
@Michael khó hơn thế - làm sao bạn có thể biết một con đường tồn tại để chiến thắng bất kể đối thủ di chuyển bằng gì? tốt nhất, sẽ có một chỉ 50% thời gian, bởi vì nếu một người chiến thắng, thì người kia buộc phải thua. Trên thực tế cho phép đưa nó trở lại vị trí bắt đầu - để tồn tại một con đường xa hơn trong trò chơi, nên tồn tại một "con đường chiến thắng tuyệt đối" vào thời điểm đó - nếu chúng ta tìm ra điều đó, thì tại sao mọi người lại chơi mất màu nữa , biết rằng bất kể những gì họ di chuyển họ sẽ mất? Tại sao mọi người sẽ chơi cờ nữa nếu chúng ta có thể làm điều đó?
user2813274

1
+1 nhưng phân tích của bạn sai. Để lưu trữ một bảng cơ sở, bạn chỉ cần lưu trữ từng vị trí, không phải mỗi trò chơi có thể. Shannon ước tính rằng có khoảng 10 ^ 43 vị trí , so với khoảng 10 ^ 50 nguyên tử trên trái đất . Vì vậy, bạn có thể giải cờ vua bằng cách biến toàn bộ trái đất thành một máy tính .
David Richerby

6

Không, cơ sở dữ liệu như vậy sẽ không thể tồn tại. Việc tính toán nó sẽ đòi hỏi một máy tính lớn vô cùng và việc tính toán sẽ mất nhiều thời gian để máy tính của bạn không tồn tại đủ lâu để hoàn thành nhiệm vụ.

Claude Shannon ước tính rằng có khoảng 10 43 vị trí có thể có trong cờ vua và cơ sở dữ liệu của bạn sẽ cần lưu trữ kết quả của tất cả những vị trí này (về cơ bản, đây sẽ là một cơ sở bàn 32 người ). Tuy nhiên, người ta ước tính Trái đất chỉ chứa khoảng 10 50 nguyên tử , nên ngay cả khi bạn có thể xây dựng một ô nhớ trong số 10.000.000 nguyên tử, bạn vẫn sẽ cần một máy tính có kích thước của Trái đất chỉ để lưu trữ tất cả các vị trí.

Nhưng một máy tính lớn như vậy mang lại những vấn đề lớn. Đường kính của trái đất là khoảng 12.800 km và ánh sáng mất khoảng 43ms để vượt qua khoảng cách đó. Điều đó có nghĩa là, nếu một chu kỳ đồng hồ kéo dài hơn 43ms, thì bạn không chỉ bị lệch đồng hồ khủng khiếp mà các bộ phận khác nhau trong máy tính của bạn thậm chí không nằm trên cùng một chu kỳ đồng hồ. Tránh điều này giới hạn tốc độ xung nhịp của bạn ở khoảng 23,5Hz (không phải GHz hoặc MHz; chỉ Hz). Ngay cả khi bạn hoàn toàn có thể đánh giá một vị trí trong một chu kỳ đồng hồ duy nhất, điều đó có nghĩa là máy tính của bạn sẽ mất khoảng 4,3x10 41 giây để hoàn thành nhiệm vụ. Đó là khoảng 1,4x10 34 năm. Đó là 14 triệu tỷ tỷ năm.

Các nhà vật lý thiên văn tin rằng vũ trụ sẽ trông hoàn toàn khác biệt trong 1,4x10 34 năm so với hiện tại. Đến lúc đó, các ngôi sao từ lâu đã không còn tồn tại và thậm chí các nguyên tố không có ý nghĩa phóng xạ cũng sẽ trải qua một lượng lớn phân rã phóng xạ. Ngay cả các proton tạo thành hạt nhân nguyên tử cũng sẽ trải qua quá trình phân rã phóng xạ đáng kể. Vì vậy, máy tính cỡ trái đất của bạn sẽ không còn tồn tại nữa.


2
Vậy ý bạn là có cơ hội?
bpromas

4

Tôi nghĩ rằng câu trả lời của Daniel là tuyệt vời (+1) nhưng dù sao cũng muốn thêm một vài suy nghĩ.

Một bàn chân 32 mảnh sẽ thực sự thay thế động cơ cờ vua? Câu trả lời chắc chắn là không!

Để chơi cờ tốt, cần nhiều thông tin hơn là việc di chuyển là thắng, vẽ hay thua. Tất nhiên một cơ sở dữ liệu như vậy sẽ là vô địch, nhưng nó cũng khó có thể đánh bại bất cứ ai.

Để chơi cờ mạnh mẽ, không đủ để chọn một nước đi không thua ở mỗi lượt. Trong số nhiều động tác vẽ ở mỗi vị trí, chỉ có một số ít gây áp lực thực sự lên đối thủ.

Động cơ cờ vua hiện có được thực hiện mạnh mẽ hơn đáng kể bằng cách truy cập vào bàn. Nhưng khi cơ sở dữ liệu phát triển, thời gian truy cập sẽ trở thành yếu tố cấm đoán từ lâu trước khi sử dụng mọi nguyên tử trong vũ trụ cho bộ nhớ ;-).

Vì vậy, tôi nghĩ rằng kết luận của bạn là sai: Cơ sở dữ liệu như vậy sẽ không bao giờ mất và hầu như không bao giờ thắng. Nó sẽ không cho chúng ta biết bất cứ điều gì về các lỗ mở ngoại trừ hầu hết tất cả chúng đều được vẽ. Có lẽ chúng ta có thể nghĩ ra các thuật toán mới để khai thác cơ sở dữ liệu này và đưa ra kết luận thú vị về tất cả các loại vị trí, nhưng tôi nghĩ rằng điều này sẽ không thay đổi thế giới cờ vua theo bất kỳ cách quan trọng nào.


Bạn đã hiểu nhầm những gì cơ sở dữ liệu sẽ chứa. Mỗi lần di chuyển có thể sẽ được đánh dấu là "Nếu tôi chơi trò này, đối thủ của tôi có thể giành chiến thắng bất cứ điều gì tôi làm tiếp theo", "Nếu tôi chơi trò này, tôi có thể buộc một chiến thắng cho dù đối thủ của tôi làm gì tiếp theo" hoặc "hòa". Vì vậy, bạn sẽ không chơi "di chuyển không thua ở mỗi lượt": bạn sẽ chơi các trận thắng bắt buộc ở mỗi lượt, miễn là có một nước đi như vậy tồn tại.
David Richerby

Chà, thực ra tôi đã hiểu chính xác cơ sở dữ liệu sẽ chứa những gì Điểm mà tôi đang cố gắng thực hiện là trong các trò chơi cờ vua cấp cao "Không có chiến thắng cưỡng bức!" trong hơn 90% các vị trí. Và bạn cần nhiều thông tin hơn "di chuyển này rút ra và di chuyển này thua", để thực sự giành được vị trí chiến thắng trước một người chơi tử tế.
BlindKungFuMaster

1
Để đưa ra một ví dụ: Ở vị trí bắt đầu, trong tất cả khả năng, thông tin duy nhất trong cơ sở dữ liệu sẽ là "Tất cả các bước di chuyển." Vì vậy, bạn sẽ hoàn toàn một mình. Và nếu bạn hoàn toàn tự lập, làm thế nào để bạn có được vị trí chiến thắng trước một người chơi mạnh mẽ? Câu trả lời là: Bạn không. Vị trí của bạn sẽ trở nên tồi tệ và tồi tệ hơn cho đến khi bạn đi theo đường vẽ một và duy nhất.
BlindKungFuMaster

Không, điều đó không đúng. Thật là tầm thường để có được chiến thắng của bạn. Đơn giản chỉ cần tính toán tất cả các di chuyển có thể từ vị trí hiện tại, kiểm tra các vị trí kết quả trên DB và chọn một vị trí thắng hoặc hòa. Theo định nghĩa, nếu vị trí hiện tại của bạn là "bạn thắng", sẽ có ít nhất một vị trí trong các vị trí tiếp theo đó là "bạn thắng"; và nếu vị trí hiện tại của bạn là "hòa", ít nhất một trong các vị trí tiếp theo sẽ là "hòa" (và có thể một số "bạn thắng" nếu đối thủ của bạn không chơi hoàn hảo).
Ignacio Calvo

Vấn đề là vị trí hiện tại thường không phải là "bạn thắng". Ví dụ, rất có khả năng là không có chiến thắng bắt buộc ở vị trí bắt đầu.
BlindKungFuMaster

2

Tôi nghĩ một ngày nào đó cờ vua sẽ được giải quyết. Tại sao? Bởi vì, cách đây không lâu, chơi cờ với máy tính thật kỳ lạ và không thể tưởng tượng được! Làm thế nào bạn có thể đào tạo một máy tính để chơi cờ vua? Vâng, họ đã làm điều đó! (Ngoài ra, ý tưởng về một chiếc máy tính thật kỳ lạ ...) Quan điểm của tôi là, nó có vẻ kỳ lạ bởi vì chúng tôi chưa bao giờ nhìn thấy hoặc nghe về nó. Nó không phải là một cái gì đó chúng ta có thể dễ dàng tưởng tượng. Nhưng công nghệ đang mở rộng với tốc độ theo cấp số nhân. Tôi sẽ không ngạc nhiên nếu trong tương lai gần (hơn 10 năm) rằng nó được giải quyết, dưới hình thức này hay hình thức khác.


Trở ngại để giải cờ vua là lượng dữ liệu thiên văn theo nghĩa đen mà bạn cần sắp xếp. Shannon ước tính rằng có khoảng 10 ^ 43 vị trí trong cờ vua và bạn cần lưu trữ kết quả cho mỗi một trong số đó. Để đặt điều này vào viễn cảnh, trái đất chứa khoảng 10 ^ 50 nguyên tử , ngay cả khi bạn có thể xây dựng một ô nhớ từ 10.000.000 nguyên tử, bạn vẫn cần chuyển đổi toàn bộ trái đất thành ngân hàng bộ nhớ chỉ để lưu trữ kết quả!
David Richerby

1
@DavidR Richby Hãy nói rằng cờ vua là một trận hòa với cách chơi tốt nhất. Sau đó, cho mỗi di chuyển màu trắng, có một phản ứng thích hợp cho màu đen. Đối với động thái trắng tiếp theo, màu đen cũng có một phản ứng thích hợp, v.v. Có thể hình dung rằng việc xây dựng một "cây vẽ" như vậy đòi hỏi ít hơn 10 ^ 43 vị trí.
Dag Oskar Madsen

2
@DagOskarMadsen Vâng, có thể thực sự lưu trữ cây sẽ cần ít bộ nhớ hơn (mặc dù vẫn là một lượng thiên văn). Tuy nhiên, kỹ thuật hiện tại để xây dựng những cây như vậy là phân tích ngược từ tất cả các vị trí kết thúc, đòi hỏi phải xây dựng cơ sở dữ liệu đầy đủ về những việc cần làm ở mọi vị trí, ít nhất là giai đoạn trung gian.
David Richerby

Tôi xin lỗi để thông báo cho bạn rằng bạn sai! @DagOskarMadsen Nhưng nếu bạn không biết cách bác bỏ những phản hồi "không thỏa đáng", bạn có thực sự khẳng định mình đã giải quyết được trò chơi không?
David

1

Quay trở lại trường đại học vào đầu những năm 1980, tôi đọc trong một trò chơi chơi văn bản rằng nếu một máy tính có thể lập kế hoạch, đánh giá và thực hiện một động tác, bất kỳ động thái nào, từ khi bắt đầu trò chơi đến tất cả các kết luận có thể cứ sau 1/3 nano giây, đó là khoảng 3 tỷ di chuyển / giây, để làm điều này cho mỗi kết quả có thể tưởng tượng được sẽ mất từ ​​10 đến 120 thế kỷ để hoàn thành. Và ai có thời gian chờ đợi?

Một thống kê đáng kinh ngạc khác? Bạn đã nghe nói rõ ràng về một googol? Không phải Google, mà là số? Nó là sức mạnh thứ 10 đến thứ 100. Một số 10 theo sau là 100 số không. Bây giờ hãy tưởng tượng googolplex. Đó là 10 với sức mạnh của googol'th.

Tôi đã đọc rằng không có đủ bất cứ thứ gì trong vũ trụ đã biết, thậm chí là các nguyên tử, để yêu cầu sử dụng googleplex. Trong thực tế, ngay cả googol là quá lớn để mô tả bất cứ điều gì. Bạn nên kiểm tra một số câu đố đáng kinh ngạc về những con số này.


-2

Vâng, tôi nghĩ rằng nó sẽ có thể. Nhưng chỉ khi cơ sở dữ liệu giống như một mạng lưới thần kinh, thực hiện các động thái khiến nó bị mất và xóa chúng. Tính toán đó dựa trên lũy thừa (chịu đựng với tôi) tất cả các hành động có thể có trong một ván cờ khi di chuyển một, để di chuyển 100 hoặc một cái gì đó. Trong khi đó, nếu chúng ta thoát khỏi sự lặp lại, ((Ke3 Ke4 Ke3 Ke4) lặp) 10 ^ 120 có thể trở thành một cái gì đó giống như 10 ^ 70. Điều đó vẫn còn rất lớn một cách lố bịch nhưng nếu chúng ta bằng cách nào đó có thể mã hóa nó lên một mặt phẳng 4D (mà tôi tin là có thể) thì đó sẽ là trò chơi của trẻ em.


2
Chào mừng bạn đến với Cờ vua ! Hãy đi tham quan trong khi bạn đang ở đó. Bài viết của bạn có thể bị đánh giá thấp bởi vì đó là ý kiến ​​nhiều hơn và ít câu trả lời hơn như chúng tôi mong đợi ở đây; xem bài viết của Trung tâm trợ giúp Cách trả lời .
Glorfindel

Tôi không phải là người chơi cờ vua và đối với hồ sơ, tôi cũng không phải là một trong những người đã bỏ phiếu cho bạn, nhưng tôi đã đọc được rằng có 10 ^ 43 vị trí khác nhau. Chỉ vì bạn có một phương pháp cho phép lọc ra một số dữ liệu, tại sao bạn tự động cho rằng điều đó làm cho nó có thể? Tôi nghĩ rằng bạn đang đánh giá thấp chính xác cơ sở dữ liệu này cần phải lớn đến mức nào. Điều này vượt xa phạm vi của công nghệ điện toán hiện đại mà tôi không thể tưởng tượng được chúng ta đang trên một quỹ đạo cho điều này xảy ra ngay cả một thế kỷ kể từ bây giờ. Nhưng chào mừng bạn đến SE Chess. (Và cũng chào mừng tôi, tôi cho rằng: P)
Joe Majewski
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.