重啟撲克機器人之路 -15:數據庫的深淵與突破

更新於 發佈於 閱讀時間約 3 分鐘
raw-image

今天大部分時間都在鑽研數據庫建構的程式碼,嘗試理解它如何將撲克牌局記錄轉化為結構化的資料庫。老實說,雖然大概掌握了60%的邏輯,但細節處仍有許多迷霧籠罩著我。

程式的核心邏輯其實與我之前用來提取特徵點訓練機器學習模型的代碼類似,只是現在轉向了資料庫的建構。然而,縱使我對SQL有基本認識,表與表之間的關聯(SQL的外鍵邏輯)對我來說還是顯得有些陌生。這就像是知道每個房間的功能,卻不太清楚它們之間的走廊如何相連。

當我開始拿自己建構的數據與Hand2Note產生的統計資料進行對比時,表面上看似相符,但深入特定情境(如小盲位置在14-18大盲籌碼區間的行動分佈)後,卻發現了一些差異。這並不意外,畢竟我的程式還處於初期階段,我對它的理解也還不夠深入,無法進行全面檢查。

其中一個有趣的差異是在all-in的定義上。在Hand2Note中,只有玩家將所有籌碼都推出去才被視為全押;而在我的程式中,即使玩家留下了一點點籌碼(例如推出80%的籌碼),也被歸類為全押。這種細微的差異可能會導致統計結果的偏差。

目前當我需要查詢特定資料點時,由於不熟悉SQL語法,我不得不依賴語言模型為我編寫查詢語句。這帶來了一個不小的挑戰:語言模型確實能依照我的指令生成查詢,但問題在於我常常表達不夠精確。就像今天,我只請求了「小盲位置的行動分佈」,而沒有明確指定是「小盲位置的第一個行動分佈」,這意味著結果中可能混入了小盲在面對BB反應後的行動,而非我真正想要的資訊。

與使用現成工具如Hand2Note相比,這些細節在專業軟體中都已經被考慮周全,用戶只需選擇想要的統計資料即可。而自建系統則要求我思考每一個細節,這確實是一種學習,但也是一種障礙。我需要訓練自己更加細緻地思考每個查詢需求。

儘管如此,我還是看到了自建數據庫的潛力。相較於現成工具的固定框架,自建系統提供了無與倫比的靈活性。例如,對於「幾乎全押」的情況,我可以根據需要自由定義分類標準,而不受限於工具的預設規則。

下一步的關鍵是確保數據庫的準確性,因為這是整個項目的基石。若基礎數據有誤,後續所有分析都將偏離正軌,導致誤導性的結果。一旦確立了準確的數據基礎,我希望能建立一個系統,讓我能瀏覽決策樹的每個節點,繪製出行動頻率和手牌分佈。這將為訓練撲克機器人或學習如何對抗特定類型的玩家提供強大的工具。

在過去,我需要手動收集這些數據,然後自行分析,這不僅耗時耗力,而且常常難以保證準確性。例如,分析手牌分佈時,即使能從Hand2Note獲取一些數據,我還是需要手動將手牌範圍輸入到像Cardrunners EV或Solver這樣的工具中,而這些工具之間又是相互獨立的,整合起來相當費力,最終結果也往往不夠精確。

而透過這個自建且靈活的數據庫,我可以將所有資訊整合在一起,無論是用來尋找對抗特定玩家類型的最佳策略,還是訓練撲克模型,都能更加精確高效。

回顧今天的工作,我意識到有時候選擇較為困難的道路可能會帶來更多收穫。雖然自建系統需要更多的前期投入,但長遠來看,這種靈活性和控制力或許正是突破瓶頸的關鍵。


avatar-img
3會員
18內容數
留言
avatar-img
留言分享你的想法!
傑劉的沙龍 的其他內容
記錄了在撲克機器人開發中從機器學習模型轉向建立自定義數據庫的過程,以及這個策略轉變背後的思考。通過分析真實玩家的行動分布,希望能訓練出更有效的撲克機器人。
記錄了在開發過程中與LLM合作的經驗教訓,以及在資料處理和模型設計上的一些思考。特別強調了在開發過程中,有時看似繁瑣的基礎工作反而是最重要的。
記錄了在改進數據處理過程中的一些突破,包括簡化行動分類、修正數據計算方式,以及從Random Forest到LSTM的轉變。同時也反思了過度追求完美反而可能限制進展的現象。
記錄了在學習Coursera機器學習課程時的心得,以及如何從寫程式的經驗中找到面對數學的新思維方式,體現了學習態度的轉變。
記錄了在開發撲克機器人對手模型時,如何與語言模型協作的心得,以及在這過程中對開發方法論的一些思考。特別強調了「先求有,再求好」的重要性,以及如何在保持開發效率和深入理解技術細節之間找到平衡。
記錄了在開發撲克機器人時處理數據的心得,從最初對XML格式感到困惑,到現在能夠從容面對數據處理的轉變過程。反思了數據品質在機器學習project中的重要性,以及自己在程式開發能力上的進步
記錄了在撲克機器人開發中從機器學習模型轉向建立自定義數據庫的過程,以及這個策略轉變背後的思考。通過分析真實玩家的行動分布,希望能訓練出更有效的撲克機器人。
記錄了在開發過程中與LLM合作的經驗教訓,以及在資料處理和模型設計上的一些思考。特別強調了在開發過程中,有時看似繁瑣的基礎工作反而是最重要的。
記錄了在改進數據處理過程中的一些突破,包括簡化行動分類、修正數據計算方式,以及從Random Forest到LSTM的轉變。同時也反思了過度追求完美反而可能限制進展的現象。
記錄了在學習Coursera機器學習課程時的心得,以及如何從寫程式的經驗中找到面對數學的新思維方式,體現了學習態度的轉變。
記錄了在開發撲克機器人對手模型時,如何與語言模型協作的心得,以及在這過程中對開發方法論的一些思考。特別強調了「先求有,再求好」的重要性,以及如何在保持開發效率和深入理解技術細節之間找到平衡。
記錄了在開發撲克機器人時處理數據的心得,從最初對XML格式感到困惑,到現在能夠從容面對數據處理的轉變過程。反思了數據品質在機器學習project中的重要性,以及自己在程式開發能力上的進步
你可能也想看
Google News 追蹤
Thumbnail
靈感用盡、鍵盤不再響,盯著喜歡、分享、留言的數字,心跳跟著小鈴鐺七上八下⋯⋯vocus 2025 年 4 月限定新商品,要為創作者打氣! 🚨「創作者打氣包」 最懂創作者的vocus,為創作者打造 ✨ 打氣包,包什麼?!四件道具挺創作者 一、【打氣復活卷】 專屬你的打氣小語,成功登記免費
Thumbnail
全新 vocus 挑戰活動「方格人氣王」來啦~四大挑戰任你選,留言 / 愛心 / 瀏覽數大 PK,還有新手專屬挑戰!無論你是 vocus 上活躍創作者或剛加入的新手,都有機會被更多人看見,獲得站上版位曝光&豐富獎勵!🏆
Thumbnail
1. 持續學習:學習是提升圍棋水平最重要的一環。閱讀圍棋書籍、觀看專業比賽、參加圍棋課程等都是不錯的方法。選擇一個合適的學習方式,並持之以恆。
圍棋,是一種古老棋類遊戲,兩位玩家輪流在棋盤上放置黑白兩色的圓形石子,目標是在棋盤上形成多個區域,以擴大自己的領地並同時圍堵對手的石子。儘管規則簡單,但卻擁有極其豐富的戰術和戰略,每一步都是挑戰與機遇的交錯。加入我們,一同探索、學習、成長,讓圍棋成為你生活中不可或缺的一部分!
學習如何提升子效,不浪費每一手棋的價值,透過精妙的佈局,不僅拓展你的棋界視野,更能在對局中一展長才⚫️⚪️
Thumbnail
我想 這就是圍棋最純粹的樣子吧
現今進入了高手人手一機的 「AI時代」一 每步棋都有最佳解+勝率參考 卻仍然要強調基本功 為什麼呢?
Thumbnail
圍棋的訓練過程,與人對弈是必不可少的,課堂中可以找人下棋,但是課後呢?
帶領同學們發揮自己的創意,在棋盤上譜出屬於自己的棋局,千年萬局,皆不相同。培養小朋友獨立思考,建構自己的圍棋王國,成為黑軍或白軍的最強軍師。
前言 上文提及訓練記憶術時常使用撲克牌做為訓練內容,在訓練時首先必須先將每一張的撲克牌轉換成一個圖像,然後以一次翻開兩張撲克牌的方式翻開,並迅速將這兩張圖像聯結在一起,接著將之放置在一個事先規畫好的固定的位置上,如此一一將兩張圖像聯結在一起,並將之放置在不同的位置上,在回憶時,順著位置走一圈就
成績刷新的通知立即出現在了所有正在操作象棋軟件的玩家的屏幕上,以滾條的方式播放着。 雖然這款軟件是專門供玩家與人機對抗的,但卻並非真正意義上的單機遊戲。 因爲有排行榜的原因,所以但凡某榜單的第一名被替換,都會進行全服公告。 這全服公告一出,所有在玩玩家都不淡定了。 “什麼!5分10秒,這傢伙
Thumbnail
靈感用盡、鍵盤不再響,盯著喜歡、分享、留言的數字,心跳跟著小鈴鐺七上八下⋯⋯vocus 2025 年 4 月限定新商品,要為創作者打氣! 🚨「創作者打氣包」 最懂創作者的vocus,為創作者打造 ✨ 打氣包,包什麼?!四件道具挺創作者 一、【打氣復活卷】 專屬你的打氣小語,成功登記免費
Thumbnail
全新 vocus 挑戰活動「方格人氣王」來啦~四大挑戰任你選,留言 / 愛心 / 瀏覽數大 PK,還有新手專屬挑戰!無論你是 vocus 上活躍創作者或剛加入的新手,都有機會被更多人看見,獲得站上版位曝光&豐富獎勵!🏆
Thumbnail
1. 持續學習:學習是提升圍棋水平最重要的一環。閱讀圍棋書籍、觀看專業比賽、參加圍棋課程等都是不錯的方法。選擇一個合適的學習方式,並持之以恆。
圍棋,是一種古老棋類遊戲,兩位玩家輪流在棋盤上放置黑白兩色的圓形石子,目標是在棋盤上形成多個區域,以擴大自己的領地並同時圍堵對手的石子。儘管規則簡單,但卻擁有極其豐富的戰術和戰略,每一步都是挑戰與機遇的交錯。加入我們,一同探索、學習、成長,讓圍棋成為你生活中不可或缺的一部分!
學習如何提升子效,不浪費每一手棋的價值,透過精妙的佈局,不僅拓展你的棋界視野,更能在對局中一展長才⚫️⚪️
Thumbnail
我想 這就是圍棋最純粹的樣子吧
現今進入了高手人手一機的 「AI時代」一 每步棋都有最佳解+勝率參考 卻仍然要強調基本功 為什麼呢?
Thumbnail
圍棋的訓練過程,與人對弈是必不可少的,課堂中可以找人下棋,但是課後呢?
帶領同學們發揮自己的創意,在棋盤上譜出屬於自己的棋局,千年萬局,皆不相同。培養小朋友獨立思考,建構自己的圍棋王國,成為黑軍或白軍的最強軍師。
前言 上文提及訓練記憶術時常使用撲克牌做為訓練內容,在訓練時首先必須先將每一張的撲克牌轉換成一個圖像,然後以一次翻開兩張撲克牌的方式翻開,並迅速將這兩張圖像聯結在一起,接著將之放置在一個事先規畫好的固定的位置上,如此一一將兩張圖像聯結在一起,並將之放置在不同的位置上,在回憶時,順著位置走一圈就
成績刷新的通知立即出現在了所有正在操作象棋軟件的玩家的屏幕上,以滾條的方式播放着。 雖然這款軟件是專門供玩家與人機對抗的,但卻並非真正意義上的單機遊戲。 因爲有排行榜的原因,所以但凡某榜單的第一名被替換,都會進行全服公告。 這全服公告一出,所有在玩玩家都不淡定了。 “什麼!5分10秒,這傢伙