2017-02-18 74 views
-2

首先,我想了解SCIDvsPC項目的工作。我知道基本的SCID已經在很多年前停止了,並且開發者在擴大它和爲國際象棋領域做貢獻方面做得很好。我們在這個大學的第6學期有一個小項目。我們決定在一個基於各種過濾器的Chess Next Move Analyzer上啓動一個項目,並實施自學習和機器學習。與Windows應用程序的GUI元素交互

我一直在研究過去2個月的項目構想。實際上我們需要導入幾個過濾器上定義的遊戲,並從生成的PGN文件中讀取和分析。例如,如果用戶選擇根據2000-2500的評分範圍獲得預測的下一個最佳移動,我們的程序應該只導出並分析僅具有來自該範圍的對手的PGN文件。我知道該項目可以做到這一切,但我很困惑如何實現這一點。我的意思是我必須手動輸入移動,然後點擊'生成PGN',但是如何讓我的程序執行此操作即從用戶處獲得輸入(如前3個動作),使項目運行這些移動(我必須手動),然後生成PGN文件並將其保存在一個文件夾中。我已經瀏覽了與Windows中的GUI元素進行交互的網絡(我們在使用Linux時沒有任何問題),並瞭解了有關Microsoft UI自動化,Python,Java和C#軟件以及類似COM的內容。軟件是否支持COM或其中任何一種,或者您是否已經開發了一些這樣的功能?請你能指導我解決這個問題嗎?

如果要求將此概括爲我想要做的就是與GUI元素進行交互,無論它是任何應用程序。以記事本爲例。假設我想打開一個文件,找到並替換一個特定的單詞。現在,我知道如何手動執行此操作,但是當我有超過數千個文件時,我需要某種程序來爲我執行此操作。在我的情況下,像SCID這樣的特定程序是否具有一些預處理的功能(讀取關於COM的位)?在哪個編程語言域中進行?使用Linux幫助我更多?

+0

如果您確實需要自動化GUI元素,Autoit/Autohotkey。但是,如果你使用命令行界面(如果可用的話)(或許在Linux上更常見),或者在最後給出的記事本示例中,直接讀/寫文本文件,它會更容易。 – Richard

回答

1

以記事本爲例。假設我想打開一個文件,找到 並替換一個特定的單詞。現在,我知道如何手動執行此操作,但當我有超過數千個文件時,我需要某種程序來爲我做 。在我的情況下做一些特定的程序,如SCID有一些 功能(讀取關於COM的位)預處理來處理?

  • 你的情況聽起來相當具體,所以我懷疑你是否能找到一個預先存在的程序來爲你做這個。含義:你必須自己編碼。

在哪個編程語言域中會出現這種情況?

  • 那麼,這可能可以用很多很多不同的編程語言來完成。一個簡單的shell腳本將能夠實現你給出的記事本例子。

正在使用Linux幫助我更多?

  • 沒有,你的目標似乎通過一個簡單的shell腳本是相當實現的,無論你在Windows,MacOS的或Linux發行版寫。
1

@ SB87給了你一些有用的提示,我想擴大他的答案。

  • 對不起,我不認爲你知道你在說什麼。強化學習(比自學更好的術語)和機器學習不適合大學項目。這是在博士或研究水平,考慮讓自己上大學之前,甚至想到這樣的事情。

  • UI自動化是可能的,但容易出錯並且速度慢。如果你想這樣做,你會寫一個控制檯程序。你提到了一些關於用戶輸入的內容,你的意思是你想要在用戶的鼠標鍵盤輸入上應用機器學習嗎?這不會起作用。國際象棋的機器學習需要成百上千的訓練集。

我認爲你應該淡化這個項目並專注於你可以實現的目標。

相關問題