資訊工程學系

Permanent URI for this communityhttp://rportal.lib.ntnu.edu.tw/handle/20.500.12235/60

本系前身「資訊教育學系」成立於民國七十四年,首先招收大學部學生,民國九十年成立資訊工程研究所碩士班,而後於民國九十五年進行系、所調整合併為「資訊工程學系」;並於九十六年成立博士班。本系目前每年約招收大學部四十餘人,碩士班六十餘人,博士班約五人,截至民國一百零四年十一月止,總計現有大學部一百九十多人,碩士班一百二十多人,博士班二十三人,合計學生人數約為三百三十多位。

News

Browse

Search Results

Now showing 1 - 10 of 21
  • 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
    蜜月橋牌程式叫牌與換牌階段的策略改進
    (2022) 陳玠宇; Chen, Chieh-Yu
    不完全資訊賽局在當前的研究中仍存在許多尚須攻克的難點,其中大量存在的可能性狀態就是一個需要克服的難關。本研究希望透過對蜜月橋牌這項遊戲的研究來加深對不完全資訊賽局的了解並找到一些方法來處理爆炸性增長的狀態的問題。蜜月橋牌是一種三階段的遊戲,在每個階段中遊戲性質都會發生變化。本研究透過蜜月橋牌特性,成功完成及時分析換牌階段單一層的殘局庫全搜索,並撰寫了全新的蜜月橋牌程式,採用了bitboard的形式來實現,這大幅提升了程式的效能,並將程式讀取殘局庫的效能提升至每秒三千萬次的搜索速度。本研究利用打牌階段的資訊來代替使用人類經驗所建立牌力表,並使用取樣搜索的方式來判斷可執行行為的好壞,以此方法來使程式操作在打牌階段脫離人類經驗,這使得程式可以做到人類經驗以外的好步,大大提升了程式在換牌階段的能力。在經過調整叫牌階段策略與換牌階段策略後蜜月橋牌程式整體的對戰能力已經有著不錯的提升,在對戰人類玩家時有著不錯的勝率,並對戰先前的程式中也能保持超過六成的勝率。
  • Item
    蜜月橋牌程式開發及殘局庫的建立
    (2020) 楊承恩; Yang, Chang-En
    蜜月橋牌為兩人對戰的橋牌遊戲,遊戲有三個階段,分別為叫牌、換牌、打牌,規則與合約橋牌大致相同。只是多了換牌階段,增加了更多變化性,在叫牌階段屬於不完全資訊賽局,換牌階段會從不完全資訊賽局慢慢變成完全資訊賽局,在最後的打牌階段則是完全資訊賽局,是非常有挑戰性的遊戲。 在本論文中針對此三個遊戲階段設計了不同的演算法及策略,改良並整合了前人的策略,將無王及有王的規則結合在一起。並構思一套嶄新的做法,建立了殘局庫,將雙方13張手牌所有可能的組合,包含先後手及不同王牌花色的賽局結果紀錄起來,已成功破解蜜月橋牌的打牌階段,使得打牌階段不再需要花大量時間搜索。針對殘局庫的資料也進行了壓縮,完整的有王殘局庫Trump_D_level1~13大小共佔4.59GB,無王殘局庫NoTrump_D_level1~13大小共佔1.34GB,目前程式牌力有很不錯的水平,已與蜜月橋牌高手相當了。 最後開發了簡易蜜月橋牌對局平台,方便後人研究蜜月橋牌時使用,也有助於推廣此項遊戲。
  • Item
    利用他家資訊模組來改良麻將程式
    (2020) 林猷琛; Lin, Yu-Chen
    近年來,隨著設備及技術的發展,在完全資訊的眾多遊戲上,電腦已經超越人類。不同於圍棋、黑白棋、將棋,麻將是一個多人、機率性、不完全資訊的遊戲,還有更多的發展課題。這篇論文將會簡單介紹麻將的玩法,並簡述過去的麻將程式相關技術。 本論文採用部分Let’s Play Mahjong!論文的方法,將說明是如何實作出判斷手牌狀態、如何判斷鳴牌的抉擇,並以此來加強麻將程式。 本篇論文在進攻的選擇上,採用注重機率的棄牌選擇。在防守上則將他人的棄牌以及整個盤面紀錄,以此分析並將其資訊化成數值。最後將防守和進攻的選擇一同判斷後,選擇出最佳的棄牌。 在防守策略上並非純以統計或模擬的方式,而是根據玩家在棄牌時,會以最佳化自己的手牌做處理為原則,並依照在其他論文看到的理論進行推導,做出一個防守模組。 解讀數據上,將實驗時的統計解讀方式做了修正,避免運氣上的成分超過實際的實力差。
  • Item
    利用AlphaZero框架實作與改良MiniShogi程式
    (2020) 陳品源; Chen, Pin-Yuan
    2016年3月,DeepMind的AlphaGo程式以4:1的結果擊敗了當時韓國職業圍棋9段棋士李世乭,讓電腦對局的AI程式在強化學習的路上取得了巨大的突破與成就。隨後2017年10月更提出了AlphaGo Zero方法,以100:0的比數戰勝了原本的AlphaGo Lee程式,也證明了不用人類的棋譜當作先驗知識,就可以訓練出比人類還要更強的圍棋程式。而DeepMind最終把AlphaGo Zero方法一般化成了AlphaZero方法,也訓練出了當今世界棋力最強的西洋棋與將棋程式。但相對的,DeepMind也運用了非常龐大的運算資源來訓練,才得到了最強的棋力。 本論文所研究的棋類為1970年楠本茂信所發明的5五將棋,5五將棋是一種將棋變體,特色是棋盤大小比本將棋還要小,只有5×5的盤面,將棋則有9×9,所以5五將棋是很適合一般人在硬體資源有限的情況下,來實作電腦對局的AI程式項目。 本實驗是使用AlphaZero的演算法,搭配AlphaZero General框架來實作出使用神經網路搭配強化學習來訓練的AI程式,而我們也搭配了一些已知的優勢策略做改良,讓我們可以在有限的硬體資源下,增進神經網路模型的訓練效率。 在5五將棋的訓練中,我們使用兩種方法去做改良,第一種方法是依盤面的重要性對樣本做採樣,設定中局會比終盤與開局還要高的採樣機率,期待能讓神經網路學習下中盤棋局時能比一般的版本下的更好。 第二種方式是用能贏直接贏的方式去訓練,藉由提前一回合看到終局盤面,來達到Winning Attack的效果,因為MCTS在下棋時,即便是遇到能分出勝負的走步,不一定會走出能分出勝負的那一步,導致神經網路權重會收斂的很慢,而藉由此方法,可以比一般的訓練方法還要快的收斂。 本研究所採用的兩個方法是一個成功一個失敗的結果,以實驗數據來說,如果取樣取的好,是有機會提升棋力的,但數據的表現上除了一組數據外,其他數據皆不盡理想;而Winning Attack的棋力提升的數據就非常顯著了,不過兩種方法搭配起來一起訓練時,雖然也會提升棋力,但是兩個方法沒有互相加成的效果。
  • Item
    基於強化學習之Surakarta棋程式開發與研究
    (2019) 陳毅泰; Chen, Yi-Tai
    Surakarta棋是起源於印尼爪哇島的一種雙人零和遊戲,原名Permainan,在印尼文是遊戲之意,後來由法國人命名為Surakarta,取自當地地名「梭羅」。遊戲中獨一無二的吃子方法是這種棋的最大亮點,透過棋盤外圍的環狀構造,將對手的棋子一網打盡後,方可獲得最後的勝利。 除了現實的遊戲外,Surakarta棋也是Computer Olympiad定期舉辦的比賽項目之一,歷年來誕生了不少棋力高強的程式。而這兩年的AlphaGo和AlphaZero將電腦對局推向了新的里程碑,也有了新的契機,希望能夠將Surakarta棋程式的棋力向上提升。 本研究將利用AlphaZero的架構,搭配不同的參數及架構上的改良,訓練及實做Surakarta棋的AI和視覺化平台。除了單一神經網路的版本,研究中也嘗試了一種新的多神經網路架構,將遊戲的過程分成三階段並訓練三種不同的神經網路來各司其職,分別為「開局網路」、「中局網路」和「殘局網路」。其中,使用殘局網路版本的AlphaZero算法和DTC殘局庫做了交叉驗證,顯示其正確率高達99%。
  • Item
    基於AlphaZero作法之國際跳棋程式開發及研究
    (2020) 簡沅亨; Chien, Yuan-Heng
    國際跳棋是由民族跳棋演變而來的。據說在一七二三年,居住在法國的一名波蘭軍官把六十四格的棋盤改為一百格,因此又被稱為「波蘭跳棋」。國際跳棋擁有flying king和連吃的特殊規則,使得下法有趣多變,深受大眾的喜愛。 近年來,AlphaZero演算法在多種棋類AI訓練上,都獲得極大的成功。因此,本研究使用AlphaZero的架構來實作國際跳棋的AI。然而,國際跳棋擁有連吃路徑的問題,無法以單次神經網路輸出來完整表達連吃的路徑,所以本研究設計連續走步,藉由神經網路的多次走步輸出來完整描述連吃的路徑。 為了提高國際跳棋AlphaZero的訓練效率,本研究使用大贏策略來加速訓練,讓神經網路能夠往大贏的方向去訓練。經過100迭代訓練之後,使用大贏策略訓練的神經網路模型與原始AlphaZero版本訓練的神經網路模型相比,擁有較高的勝率。
  • Item
    中國跳棋對弈平台與AI的實作
    (2019) 陳律濃; Chen, Lu-Nung
    近年來關於人工智慧的研究如火如荼的湧現,未來電腦的效能越高,相同時間內能處理的資訊量也會越高,人工智慧能解決的問題複雜程度亦會越來越大,例如近年來電腦對局中圍棋與人工智慧的成功結合例子AlphaGo。然而電腦對局的研究若要進展得順利,設計良善的使用者操作介面必不可少,所以本研究針對中國跳棋遊戲設計一個支援多玩家遊戲的自動對弈平台,期望在電腦對局的發展上能貢獻微薄之力。 本研究開發之電腦中國跳棋自動對弈平台利用OpenCV函式庫實作出一個直觀且方便的圖形化使用者操作介面,可以只用滑鼠點選各項功能進行設定並操作棋子。另外平台具備程式偵錯與對戰等主要功能,除了在比賽時能夠使雙方更清楚地檢視遊戲過程並減少手動操作失誤與爭議之外,偵錯時也可以藉由此平台檢視與驗證每一個走步的正確性,預設對戰對手也包含了本研究開發之AI引擎提供開發者測試強度。如此一來其他跳棋研究者只需專注於研發跳棋程式的AI引擎,以期望有更多同好加入電腦中國跳棋的研究,也有助於推廣中國跳棋這項遊戲。