• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Robocode的智能機器人的設計與實現(xiàn)

      2016-05-19 11:12:13羅慶佳
      電腦知識與技術 2016年8期
      關鍵詞:智能算法人工智能

      羅慶佳

      摘要:該文是基于IBM公司開發(fā)的Robocode的JAVA機器人仿真引擎,分析并探索基于此平臺的智能機器人方案。在子彈跟蹤,反重力運動,以及模式匹配瞄準等人工計算智能技術的基礎上,比較并改進策略,然后以onedan1.0機器人為例完成一個可行的智能方案,并編程實現(xiàn)部分機器人代碼。最后還做了效果測試。

      關鍵詞:人工智能;機器人仿真引擎;智能算法;Robocode

      中圖分類號:TP18 文獻標識碼:A 文章編號:1009-3044(2016)08-0160-02

      1 概述

      本文先對IBM公司研制開發(fā)的Robocode智能機器人仿真平臺進行系統(tǒng)介紹。然后結合人工智能的應用領域,對過去和現(xiàn)在流行的機器人智能算法進行總結,比較其優(yōu)劣。最后結合自己的理解,對如何提高機器人智能化水平進行探討,以Onedan1.0機器人為例,選擇其中的一些算法用java語言進行實現(xiàn)。

      本文對于智能機器人的應用研究領域,比賽機器人應用領域,特別是在射擊類戰(zhàn)略類游戲編程領域有一定的價值。

      2 Robocode系統(tǒng)簡介

      Robocode編程平臺簡介:Robocode 是由IBM公司開發(fā)的一套虛擬機器人仿真引擎。其中包括機器人運行平臺Robocode,代碼編輯器Robot Editor等組件。程序員可以在Robocode中創(chuàng)建自己的機器人,利用系統(tǒng)提供的編程接口以編程的方式對機器人進行控制。簡單的說,Robocode就是一個用java語言編寫機器人的工具,同時也是機器人比賽的場地和實現(xiàn)機器人智能算法思想的良好平臺。

      3 onedan1.0的瞄準策略

      3.1 常見瞄準策略比較分析

      一個好的機器人除了良好的移動策略外,另一個不可缺少的特征就是打擊移動目標的能力,并且能達到精確的效果。下面我就對各種瞄準策略做一個系統(tǒng)的分析。

      3.1.1 單一瞄準

      單一瞄準是那些專門為某一種運動方式而設計的瞄準算法。大致分為以下幾種:1)向當前目標的位置開火:是一個最簡單也是效果最差的瞄準算法,只要目標稍微移動都將導致子彈打偏。2)線性預測瞄準:向目標將去的地方開火,前提是目標以一定速率沿著直線前進。尤其是當目標離自己很近時,這個算法相當?shù)挠行?。在短時間內機器人的所有運動都可近似為直線運動。不過,這種算法對于鐘擺運動,隨機很強的運動以及一些高級移動算法幾乎無能為力。

      3.2 onedan1.0的瞄準策略(模式識別)

      模式是指對象的表示形式,也可以叫做樣本。在Robocode中通常是指機器人的狀態(tài)屬性,比如說坐標,方向,速度等。要進行模式匹配,首先得記錄模式,也就是記錄機器人的狀態(tài)。在進行匹配判斷的時候把當前的狀態(tài)和記錄下來的狀態(tài)進行比較,找出記錄中非常相似的一段狀態(tài),則認為目前的狀態(tài)和那段狀態(tài)相匹配。

      但是對于onedan1.0機器人,我嘗試使用模式識別技術。模式識別是嘗試指出敵方機器人是否在使用任何一種預定義的模式的過程,然后基于假定它將繼續(xù)使用那個模式來瞄準敵人。但是需要注意的是,這個技術不同于能適應目標使用任何重復模式的模式分析。

      3.3 模式識別瞄準的智能改進

      模式識別瞄準的識別能力應該可以通過以下的幾方面得到改進:

      1)更多的模式:這是最顯然的擴充。增加更多的復雜的基于速度的模式。

      2)分析朝向的變化:能在速度識別時分析朝向的變化。這個分析要比速度模式分析更復雜,但花上一些努力能產生非常強大有力的瞄準系統(tǒng)。

      3)模式分析:比較適用一對一的比賽,它能快速地學習新的模式,但是缺點是對CPU有強烈的要求。如果實現(xiàn)了這個,將擁有一個難以對付的機器人。

      4 onedan1.0機器人部分代碼實現(xiàn)和測試

      4.1 onedan1.0機器人的結構

      在進行實現(xiàn)時,第一個robot只寫成了一個類文件。開始時,這種作法還可行,但如果試圖給robot增加更多的智能的時候,這就導致了難以管理的缺點。因此必須得做一個更好的結構化設計。

      較好的解決方法是把robot分成模塊,每一塊都可重用,并且分別管理robot行為的每一部分。為移動、雷達、火炮和瞄準控制各寫了一個類。并且把對敵人信息的跟蹤和存儲也寫成類。

      Onedan類:該類繼承AdvansedRobot類,提供了整個機器人的大框架。

      Util類:所有基本的數(shù)據(jù)表示和操作。

      Enemy類:用來儲存敵人數(shù)據(jù)。

      Radar類:雷達策略類。

      Movement類:移動策略類。

      Fire類:各種開火方法,槍口調整,火力調整都不獨立出去,包括在這個類中。

      接下來,編寫Onedan1.0機器人瞄準模塊的代碼,由于代碼比較簡短,只需要寫在了一個類文件中。

      4.2 瞄準模塊代碼

      通過在本文之前介紹的模式匹配算法中進行一些改進,使其還可以分析直線前進和靜止的機器人,并根據(jù)代碼的需要做了一些調整。以下就是Onedan1.0機器人的模式匹配模塊主要函數(shù)的代碼:

      4.3 onedan1.0機器人瞄準模塊測試

      首先,以下簡單地介紹用于測試onedan1.0機器人瞄準系統(tǒng)的sample機器人:

      sample.Walls:是一個圍繞比賽場地的繞墻機器人,瞄準系統(tǒng)是對原始點射擊的方法。

      sample.Corrners:是一個在比賽開始后,自動尋找最接近的角落,并且迅速移動過去,在角落附近進行鐘擺運動的機器人,瞄準系統(tǒng)也是對原始點進行射擊的方法。

      由于在測試中,onedan1.0機器人是靜止不動的,所以用于測試的兩個sample機器人對onedan1.0機器人的命中率均為100%,顯然對onedan1.0機器人不是很公平,降低了測試效果,可采取了一些平衡措施:將sample.Walls機器人的發(fā)彈速度降低到onedan1.0機器人的2/3,將sample.Corrners機器人的子彈能量降低為onedan1.0機器人的2/3。由于打飛的子彈會造成能量損失,也就是說onedan1.0機器人必須有70%以上的命中率才可能取得比賽勝利。

      以下就是Onedan1.0機器人和sample.Walls機器人的一對一比賽。從結果可以看出,Onedan1.0機器人取得了九勝一負的好成績。

      從結果可見,Onedan1.0機器人的瞄準系統(tǒng)相當優(yōu)秀,具有一定的智能,在和Robocode自帶的Sample機器人比賽中取得了很好的成績。

      5 結束語

      Java作為面對對象語言已經被人們認識并接受,我們不可否認Robocode是個完美的學習、游戲平臺,但它也存在自身的缺陷,本文對Robocode 在子彈跟蹤,反重力運動,以及模式匹配瞄準等人工計算智能技術的基礎上,比較并改進策略,然后以onedan1.0機器人為例完成一個可行的智能方案,并編程實現(xiàn)部分機器人代碼。最后還做了效果測試。

      參考文獻:

      [1] 劉玉寬.Robocode——我的樂趣[J].程序員,2003(8):53-56.

      [2] 劉陽.打造自己的第一個機器人[J].程序員,2003(8):57-60.

      [3] 梁曉峰.DIY實戰(zhàn)機器人[J].程序員,2003(8):61-65.

      猜你喜歡
      智能算法人工智能
      融合注意力機制的CNN圖像智能識別算法研究
      科技資訊(2025年2期)2025-03-15 00:00:00
      我校新增“人工智能”本科專業(yè)
      基于智能算法的風力助航船舶航線優(yōu)化
      神經網(wǎng)絡智能算法在發(fā)電機主絕緣狀態(tài)評估領域的應用
      大電機技術(2022年1期)2022-03-16 06:40:12
      基于超像素的圖像智能算法在礦物顆粒分割中的應用
      2019:人工智能
      商界(2019年12期)2019-01-03 06:59:05
      人工智能與就業(yè)
      IT經理世界(2018年20期)2018-10-24 02:38:24
      從雞群算法看群體智能算法的發(fā)展趨勢
      數(shù)讀人工智能
      小康(2017年16期)2017-06-07 09:00:59
      改進的多目標快速群搜索算法的應用
      價值工程(2016年32期)2016-12-20 20:30:37
      许昌县| 江陵县| 康马县| 宜都市| 石家庄市| 朔州市| 瑞昌市| 边坝县| 前郭尔| 辽宁省| 刚察县| 武隆县| 隆德县| 武功县| 临西县| 肃宁县| 九龙县| 三江| 昌平区| 惠州市| 裕民县| 叙永县| 喀喇| 陇南市| 托克逊县| 廉江市| 邓州市| 土默特左旗| 噶尔县| 凉城县| 重庆市| 蚌埠市| 靖西县| 乐安县| 三穗县| 双城市| 华安县| 苍山县| 丹东市| 洪雅县| 隆化县|