資訊工程學系
Permanent URI for this communityhttp://rportal.lib.ntnu.edu.tw/handle/20.500.12235/60
本系前身「資訊教育學系」成立於民國七十四年,首先招收大學部學生,民國九十年成立資訊工程研究所碩士班,而後於民國九十五年進行系、所調整合併為「資訊工程學系」;並於九十六年成立博士班。本系目前每年約招收大學部四十餘人,碩士班六十餘人,博士班約五人,截至民國一百零四年十一月止,總計現有大學部一百九十多人,碩士班一百二十多人,博士班二十三人,合計學生人數約為三百三十多位。
News
Browse
6 results
Search Results
Item Multiple Policy Value MCTS 結合 Population Based Training 加強連四棋程式(2024) 蔡宜憲; Tsai, Yi-Sian電腦對局是人工智慧在計算機科學和工程方面的最古老和最著名的應用之一,而AlphaZero在棋類對局領域是一個非常強大的強化學習算法。AlphaZero是用了MCTS與深度神經網路結合的演算法。較大的神經網路在準確評估方面具有優勢,較小的神經網路在成本和效能方面具有優勢,在有限的預算下必須兩者取得平衡。Multiple Policy Value Monte Carlo Tree Search此方法結合了多個不同大小的神經網路,並保留每個神經網路的優勢。本研究以Surag Nair先生在GitHub上的AlphaZero General程式做修改,加入Multiple Policy Value Monte Carlo Tree Search,並實現在連四棋遊戲上。另外在程式中使用了Multiprocessing來加快訓練速度。最後使用了Population Based Training的方式來尋找較佳的超參數。Item 使用KataGo方法及迫著空間搜尋提升AlphaZero在六子棋的訓練成效(2023) 林育璋; Lin, Yu-Chang自從Google DeepMind提出AlphaZero演算法之後,許多使用傳統搜尋法的電腦對局程式都被AlphaZero作法取代。然而AlphaZero作法需要非常大量的算力,才能夠達到頂尖的水準,因此我們希望透過程式效能改進及傳統做法的輔助,提升AlphaZero在六子棋遊戲的訓練效率,讓我們可以使用個人電腦達到頂尖水準。本篇論文使用Alpha-Zero-General開源程式碼作為基礎,研發一支AlphaZero的六子棋程式。我們參考galvanise_zero的做法修改MCTS的搜尋方式、參考OOGiveMeFive提出的通用型Bitboard,將其進行修改後用於六子棋程式中,並且參考陽明交通大學的CZF_Connect6提出的六子棋強度改進方式。本篇論文從三個面向來加速AlphaZero的訓練效率。第一個是提升程式效能,我們分析Alpha-Zero-General的一個效能瓶頸是MCTS的部分,因此透過C++及平行化的方式重新實作MCTS,大幅提升AlphaZero的訓練效率。第二個是提升神經網路的性能,使用KataGo提出的Global Pooling及Auxiliary Policy Targets方法修改神經網路,並套用於六子棋程式中。第三個是提升訓練資料的品質,使用KataGo提出的Forced Playout and Policy Target Pruning方法及傳統的迫著空間搜尋提升訓練資料的品質。另外本篇論文提出一種新的訓練方式,提升AlphaZero加入heuristics的訓練效果。我們使用C++、平行化及批次預測的方式可以讓MCTS的搜尋效率達到26.4的加速比,並且使用Bitboard的方式可以讓迫著空間搜尋達到6.03的加速比。在短時間的訓練中,雖然使用相同時間AlphaZero方法可以訓練更多個迭代,不過使用相同時間訓練的KataGo方法與原始AlphaZero方法相比依然可以取得57.58%的勝率,且使用相同時間訓練的KataGo-TSS Hybrids方法與原始AlphaZero方法相比也可以取得70%的勝率。並且這三種作法訓練到500個迭代後與NCTU6_Level3對戰,都可以取得超過65%的勝率。Item 利用啟發式法則與數種訓練策略來評估中國跳棋程式(2023) 江曛宇; Jiang, Syun-Yu中國跳棋(Chinese Checkers)是一個知名且充滿挑戰性的完全資訊遊戲。與一些其他的傳統遊戲如五子棋、圍棋不同,賽局樹的搜索空間並不會隨著遊戲的進行而越來越小。若是單純使用AlphaZero架構之演算法,在短時間內甚至難以訓練出初學者程度之程式。過去雖有使用蒙地卡羅樹搜索法結合深度學習與強化學習,並應用於中國跳棋上的演算法,但是仍有改進的空間。若是能夠適當的加入一些中國跳棋的先備知識,應該能使棋力進一步的提升。本研究針對中國跳棋設計數種策略,修改了前代程式Jump的設計,人為的增加先備知識,以期有更好的棋力,並且針對中國跳棋在神經網路訓練初期棋力很弱的問題,提出一連串的解決方案與策略,使其能夠在不使用人為訓練資料以及預訓練的狀況下,能夠獲得一定的棋力,並且對這些策略的特點進行探討,分析出各個策略的優缺點。Item 暗棋程式DarkCraft的設計與實作(2012) 施宣丞; Hsuan-Chen Shih電腦對局在人工智慧領域中佔有很大的份量,它主要分為完全資訊遊戲和不完全資訊遊戲兩大類,完全資訊遊戲是指所有玩家都可以掌握全部資訊的遊戲,例如:圍棋、西洋棋、象棋,不完全資訊則是各方玩家都只能掌握一部分資訊的遊戲,例如:暗棋、麻將、撲克牌遊戲,其中電腦暗棋是近年剛起步,擁有很大發展空間的不完全資訊遊戲。 一個程式的基礎是資料結構,有了好的資料結構才可以讓我們有足夠的基礎去構思出好的演算法,本研究將西洋棋最有效率的資料結構BitBoard融合到暗棋裡,讓程式能有很快的執行速度,並改良演算法強化棋力。 本研究已設計並實作了一個暗棋程式DarkCraft,在2011年於荷蘭獲得由國際電腦對局協會(International Computer Games Association)舉辦之電腦奧林匹亞(Computer Olympiad)冠軍。Item 電腦暗棋程式Observer的設計與實作(2014) 徐大開近幾年來電腦暗棋程式逐漸發展,目前已具有一定程度的棋力。暗棋程式下棋時需要考慮走子和翻子之間的選擇。如果選擇翻子,還要考慮期望值的問題。 本程式會評估各個子力的價值,並使用搜尋尋求一個好的走法,另外有時候要做特殊處理以解決一些盤面上的問題。在翻子的問題上我們除了算出期望值之外,還做了一些額外的調整。 在殘局時由於棋子可走的空間通常較大,使得搜尋時每一層會有較多的步數。當每一層的步數變多時,能搜尋的層數就下降了。如果有殘局庫,程式搜尋的過程在找到殘局庫的內容後可以馬上知道結果,以提高殘局時程式搜尋的效率。我們實作出可以有一個暗子的五子以內的殘局庫,使得程式在殘局的處理上更有方向性。 本程式在TCGA 2014的比賽中得到銅牌。希望讀者能夠從本文所使用的方法中發現一些值得參考的地方。Item 電腦暗棋程式Dancing的設計與實作(2013) 陳昱廷; Chen,Yu-Ting暗棋,又稱盲棋,只使用中國象棋棋盤的一半(所以也叫半棋),傳說發明者為"棋壇總司令"謝俠遜。因為要輪流翻棋走子,所以也叫"翻翻棋"。 電腦暗棋是屬於不完全資訊含機率性的棋類遊戲,不像西洋棋、中國象棋是 屬於完全資訊的棋類遊戲。如果用一般遊戲樹進行搜尋,在走棋與翻棋夾雜的情 況下,若需要對未翻棋子也要作走步搜尋,則需要對所有的未翻棋子都作假設模 擬,以求得一個接近的的結果。但並不容易準確且有效率地計算出結果。 本論文主要提出天敵、半天敵以及兵與卒數量三項策略,作為評估棋子的子力在動態設置模式下的考量因素,以達到更準確的棋子的子力之計算,並且使用選擇性展開遊戲樹以及不同的時間控制方法以提升遊戲樹搜尋速度及中盤搜尋層數提升的效果。實測結果顯示,本程式Dancing比起去年TAAI 2015 的亞軍暗棋程式 Observer(本所研究生-徐大開所研發)約有五成至六成的贏率。 我們已經分別實作出暗棋程式TsaiB8以及Dancing並且分別參與TAAI 2015、TCGA 2016、ICGA 2016的對局比賽。