Почему время шахматного двигателя Python идет вниз, хотя двигатель работает постоянно, не останавливаясь?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему время шахматного двигателя Python идет вниз, хотя двигатель работает постоянно, не останавливаясь?

Сообщение Anonymous »


Когда я попробовал этот код в своем основном проекте, чтобы получить бесконечный анализ в моем шахматном графическом графике (я хотел, чтобы двигатель бесконечно думал о положении и дал свои данные (оценка, лучший ход и т. Д.), И без глубины или ограничения по времени, когда я проверяю время анализа двигателя (который должен идти вверх по мере того, как он работает на индивидуальный Дайте мне странные времена, как это продолжается. How can I make the time go up only ( Make infinite analysis with engine ) , and for who is asking , I use threading so that I run the infinite analysis WITH the app (GUI) itself, as if if it used normally this line will be infinitely long and won't run rest of code

import queue
import time
import chess.engine
import threading
import chess
board = chess.Board()
info_queue = queue.Queue()
engine = chess.engine.SimpleEngine.popen_uci("C:/Program Files/ChessX/data/engines/stockfish/stockfish-windows-x86-64.exe")
multipv_dict = []
def test():
global board
global info_queue
global multipv_dict
global engine
with engine.analysis(board, chess.engine.Limit(time=None), multipv=1) as analysis:
for info in analysis:
try:
if "multipv" in info and "pv" in info:
multipv_dict.append(info) # Save the info

# If we got all PVs we asked for
if len(multipv_dict) == 1:
# 🧹 Clear old queue safely
with info_queue.mutex:
info_queue.queue.clear()

# 💡 Add all PVs
info_queue.put(multipv_dict)

multipv_dict = []
except chess.engine.EngineTerminatedError:break
while True:
tg = threading.Thread(target=test)
tg.start()
time.sleep(2) # Wait for the thread to start
if not info_queue.empty():
info_list = info_queue.get() # this is the [info_dict, ...]
# Since you requested multipv=1, you know info_list has exactly one item
info = info_list[0] # the InfoDict

# 2) Pull out the ‘time’ field
elapsed = info.get("time")
print(f"Engine thinking time: {elapsed:.3f} seconds")
< /code>
Engine thinking time: 1.970 seconds
Engine thinking time: 1.532 seconds
Engine thinking time: 1.980 seconds
Engine thinking time: 1.861 seconds
Engine thinking time: 1.765 seconds
Engine thinking time: 1.866 seconds
Engine thinking time: 1.499 seconds
Engine thinking time: 0.742 seconds
< /code>
and for who is wondering for analysis itself
[{'depth': 18, 'seldepth': 24, 'multipv': 1, 'score': PovScore(Cp(+28), WHITE), 'nodes': 278301, 'nps': 212281, 'hashfull': 108, 'tbhits': 0, 'time': 1.311, 'pv': [Move.from_uci('e2e4'), Move.from_uci('e7e5'), Move.from_uci('g1f3'), Move.from_uci('g8f6'), Move.from_uci('f3e5'), Move.from_uci('f6e4'), Move.from_uci('d2d4'), Move.from_uci('d7d5'), Move.from_uci('f1d3'), Move.from_uci('f8d6'), Move.from_uci('b1d2'), Move.from_uci('d8h4'), Move.from_uci('d1f3'), Move.from_uci('e4f6')]}]
[{'depth': 20, 'seldepth': 30, 'multipv': 1, 'score': PovScore(Cp(+26), WHITE), 'nodes': 252508, 'nps': 232940, 'hashfull': 81, 'tbhits': 0, 'time': 1.084, 'pv': [Move.from_uci('e2e4'), Move.from_uci('e7e5'), Move.from_uci('g1f3'), Move.from_uci('b8c6'), Move.from_uci('d2d4'), Move.from_uci('e5d4'), Move.from_uci('f3d4'), Move.from_uci('g8f6'), Move.from_uci('d4c6'), Move.from_uci('b7c6'), Move.from_uci('f1d3'), Move.from_uci('d7d5'), Move.from_uci('e4e5'), Move.from_uci('f6d7'), Move.from_uci('e1g1'), Move.from_uci('d7c5'), Move.from_uci('f2f4'), Move.from_uci('c5d3'), Move.from_uci('c2d3'), Move.from_uci('c8f5'), Move.from_uci('g2g4'), Move.from_uci('f5c8'), Move.from_uci('f4f5'), Move.from_uci('d8h4')]}]
[{'depth': 24, 'seldepth': 27, 'multipv': 1, 'score': PovScore(Cp(+28), WHITE), 'nodes': 443589, 'nps': 249067, 'hashfull': 164, 'tbhits': 0, 'time': 1.781, 'pv': [Move.from_uci('e2e4'), Move.from_uci('e7e5'), Move.from_uci('g1f3'), Move.from_uci('b8c6'), Move.from_uci('f1b5'), Move.from_uci('a7a6'), Move.from_uci('b5a4'), Move.from_uci('g8f6'), Move.from_uci('e1g1'), Move.from_uci('f6e4'), Move.from_uci('d2d4'), Move.from_uci('b7b5'), Move.from_uci('a4b3'), Move.from_uci('d7d5'), Move.from_uci('d4e5'), Move.from_uci('c8e6'), Move.from_uci('c2c3'), Move.from_uci('f8c5'), Move.from_uci('b1d2'), Move.from_uci('e8g8'), Move.from_uci('b3c2'), Move.from_uci('f7f5'), Move.from_uci('e5f6'), Move.from_uci('e4f6'), Move.from_uci('d2b3'), Move.from_uci('c5b6')]}]
[{'depth': 22, 'seldepth': 32, 'multipv': 1, 'score': PovScore(Cp(+34), WHITE), 'nodes': 526291, 'nps': 270031, 'hashfull': 198, 'tbhits': 0, 'time': 1.949, 'pv': [Move.from_uci('e2e4'), Move.from_uci('e7e5'), Move.from_uci('g1f3'), Move.from_uci('b8c6'), Move.from_uci('f1b5'), Move.from_uci('a7a6'), Move.from_uci('b5a4'), Move.from_uci('g8f6'), Move.from_uci('e1g1'), Move.from_uci('b7b5'), Move.from_uci('a4b3'), Move.from_uci('f6e4'), Move.from_uci('d2d4'), Move.from_uci('d7d5'), Move.from_uci('d4e5'), Move.from_uci('c8e6'), Move.from_uci('c2c3'), Move.from_uci('f8e7'), Move.from_uci('b1d2'), Move.from_uci('e4c5'), Move.from_uci('b3c2'), Move.from_uci('d5d4'), Move.from_uci('d2b3'), Move.from_uci('c5b3'), Move.from_uci('a2b3'), Move.from_uci('d4c3')]}]
[{'depth': 20, 'seldepth': 30, 'multipv': 1, 'score': PovScore(Cp(+19), WHITE), 'nodes': 456265, 'nps': 271748, 'hashfull': 167, 'tbhits': 0, 'time': 1.679, 'pv': [Move.from_uci('e2e4'), Move.from_uci('e7e5'), Move.from_uci('g1f3'), Move.from_uci('b8c6'), Move.from_uci('f1b5'), Move.from_uci('g8f6'), Move.from_uci('d2d4'), Move.from_uci('e5d4'), Move.from_uci('e1g1'), Move.from_uci('a7a6'), Move.from_uci('b5a4'), Move.from_uci('f8e7'), Move.from_uci('f1e1'), Move.from_uci('e8g8'), Move.from_uci('e4e5'), Move.from_uci('f6e8'), Move.from_uci('h2h3'), Move.from_uci('d7d6'), Move.from_uci('a4c6'), Move.from_uci('b7c6'), Move.from_uci('f3d4'), Move.from_uci('d8d7'), Move.from_uci('e5d6'), Move.from_uci('e7d6')]}]
[{'depth': 24, 'seldepth': 36, 'multipv': 1, 'score': PovScore(Cp(+31), WHITE), 'nodes': 427789, 'nps': 303181, 'hashfull': 154, 'tbhits': 0, 'time': 1.411, 'pv': [Move.from_uci('e2e4'), Move.from_uci('e7e5'), Move.from_uci('g1f3'), Move.from_uci('b8c6'), Move.from_uci('f1b5'), Move.from_uci('g8f6'), Move.from_uci('e1g1'), Move.from_uci('f6e4'), Move.from_uci('f1e1'), Move.from_uci('e4d6'), Move.from_uci('f3e5'), Move.from_uci('f8e7'), Move.from_uci('b5f1'), Move.from_uci('c6e5'), Move.from_uci('e1e5'), Move.from_uci('e8g8'), Move.from_uci('d2d4'), Move.from_uci('e7f6'), Move.from_uci('e5e1'), Move.from_uci('f8e8'), Move.from_uci('c1f4'), Move.from_uci('e8e1'), Move.from_uci('d1e1'), Move.from_uci('f6d4')]}]
[{'depth': 25, 'seldepth': 35, 'multipv': 1, 'score': PovScore(Cp(+27), WHITE), 'nodes': 371424, 'nps': 275946, 'hashfull': 154, 'tbhits': 0, 'time': 1.346, 'pv': [Move.from_uci('e2e4'), Move.from_uci('e7e5'), Move.from_uci('g1f3'), Move.from_uci('b8c6'), Move.from_uci('f1b5'), Move.from_uci('g8f6'), Move.from_uci('e1g1'), Move.from_uci('f6e4'), Move.from_uci('f1e1'), Move.from_uci('e4d6'), Move.from_uci('f3e5'), Move.from_uci('f8e7'), Move.from_uci('b5f1'), Move.from_uci('c6e5'), Move.from_uci('e1e5'), Move.from_uci('e8g8'), Move.from_uci('d2d4'), Move.from_uci('d6e8'), Move.from_uci('d4d5'), Move.from_uci('e7c5'), Move.from_uci('e5e1'), Move.from_uci('d7d6'), Move.from_uci('b1c3'), Move.from_uci('f7f5'), Move.from_uci('c1e3'), Move.from_uci('c5e3'), Move.from_uci('e1e3'), Move.from_uci('e8f6'), Move.from_uci('e3e2'), Move.from_uci('c8d7'), Move.from_uci('a2a4'), Move.from_uci('f8e8'), Move.from_uci('a4a5')]}]
< /code>
I THINK THIS IS CAUSED BY DIFFERENCE BETWEEN analysis and analyse ,COULD ANYONE HELP ME AND EXPLAIN DIFF BETWEEN THESE two
.........................................................................................

Подробнее здесь: https://stackoverflow.com/questions/796 ... running-co
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Почему время шахматного двигателя Python идет вниз, хотя двигатель работает постоянно, не останавливаясь?
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Почему функция Perft для моего шахматного двигателя дает два разных выхода? [закрыто]
    Anonymous » » в форуме C++
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Настройка графического интерфейса для шахматного движка Python
    Anonymous » » в форуме Python
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Код Python для проверки движения шахматного короля
    Anonymous » » в форуме Python
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • Perft-функция шахматного движка выдает противоречивые результаты
    Anonymous » » в форуме C++
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»