当前位置: 首页 > news >正文

软件下载官网源码/福州seo关键字推广

软件下载官网源码,福州seo关键字推广,seo免费浏览网站,分类目录放到首页wordpress这是一个很大的题目。所以会很长。此外,由于俺的 U 盘被狗啃了,所以不得不一切重头开始写,现在预计每 2-3 天更新一次。开始:人工智能,达尔文进化论和五子棋目录1.0 前言2.0 模型简介2.1 进化模型2.2 智能模型2.20 专家…
这是一个很大的题目。所以会很长。
此外,由于俺的 U 盘被狗啃了,所以不得不一切重头开始写,现在预计每 2-3 天更新一次。

开始:
人工智能,达尔文进化论和五子棋

目录

1.0 前言

2.0 模型简介
   2.1 进化模型
   2.2 智能模型
2.20 专家系统
2.21 神经网络

3.0 Javascript 实现
   3.1 一些不是很重要的背景信息
   3.2 AI 类
正文

1.0 前言
本文探讨运用达尔文进化论产生人工智能的可能性。
目标是,使用Javascript为编程工具,生成一个可以进化的人工智能,用来和俺下五子棋。

2.0 模型简介

2.1 进化模型
达尔文的进化论概括来说就是“物竞天择”。扩展开来说,就是“物竞”、“天择”。
“物竞”部分,要求物种具有 遗传、变异 的能力。遗传可以产生相对稳定的种族,有利于有益基因的延续。变异可以产生多元化的种族,有利于竞争和基因演化。
“天择”部分,要求物种之间通过互相竞争,优胜劣汰,来去处不合理的基因。
综上,一个满足俺需要的AI应该具有以下特征:
a) 可遗传性:可以将自己的绝大多数特征传递给子代。
b) 可变异性:在产生子代的时候并不是全盘复制,而是产生了一些变异。
c) 可竞争性:在本文中,竞争就是 与别的 AI 下五子棋。

2.2 智能模型
2.20 专家系统
Google的解释
一般的棋类AI都离不开行为规则判断和智能库。按照一般的逻辑来说,棋类AI都会模拟人类的思路,判断下一步棋下在哪里,会造成什么后果,并由此多推算若干步下去。通常,AI都会保存一份棋谱,用来快速的推算。这份棋谱就是这个AI的知识库。
这类AI的缺陷是:需要人类首先对需要解决的问题进行抽象化,构成一种 知识库-知识表达 的逻辑,这是非常难以彻底表达的,总会存在知识库之外的情况发生。而且这种模型显然很难实现持续的进化。它所能做到的只有知识库的不断完备,可是 知识表达 的进化是很难实现的。

2.21 神经网络
Google的解释
如果我们把一个独立的AI看作一个刚出生的婴儿,那么我们该怎么教会它学习?婴儿是没有知识库的。
其实很简单,我们可以把AI婴儿学习的过程抽象成这样:给AI一个刺激(输入),AI产生一个反馈(输出),我们作出判断,婴儿记录反馈的判断结果,用来加深或削弱对这种刺激的反馈机制。
(写的过分简略了...不过本文不以普及基本知识为重点...各位凑合着看吧,有问题找google)


3.0 Javascript 实现

//---------2007.04.03 更新分割 --- Hutia ----------------//

3.1 一些不是很重要的背景信息
代码的环境: Window XP sp2, IE 6.0
文件信息: Gobang_ai.hta, ai.txt, sp/gobang_ai.css, sp/gobang_ai.js

Gobang_ai.hta 内容:
复制内容到剪贴板
代码:
<html>
<head>
<hta:application />
<title>Gobang Artificial Intelligency</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="sp/gobang_ai.css" />
<script type="text/javascript" src="sp/gobang_ai.js"></script>
</head>
<body></body>
</html>
ai.txt 用来存储 AI

sp/gobang_ai.css 为基本的 CSS, 内容略去

sp/gobang_ai.js 是本文的核心,下文分解...


3.2 AI 类
(因为本文还没写完,所以给出的并不一定是最终代码,随着结构的展开,代码会有所变化)
复制内容到剪贴板
代码:
function AI(){
     // 基因
     this.gene=new Array(mmm);
     // 一些信息
     this.count_played=0;
     this.count_win=0;
     this.generation=0;
     this.level=0;
     this.score=10;
       
     // 遗传 & 变异
     this.aberrance=AI_m_aberrance;
     // 初始化
     this.init=AI_m_init;
       
     this.init();
}
代码其实非常简单(而且不完整)。设定了一个数组 gene 用来存放 AI 的基因(mmm变量是全局的,用来存放这个基因的长度)。本文中所有的 AI 都只有一条染色体(就是一个数组),并且基因的长度是等长的。

初始化的代码很简单:
复制内容到剪贴板
代码:
function AI_m_init(){
     // 初始化
     for(var i=0; i<mmm; i++)this.gene[i]=0.5;
}
ps: 把所有基因位的初始值赋值为0.5是一个经验值,后面会在基因的表达时提到。

然后是变异繁殖的代码:
复制内容到剪贴板
代码:
function AI_m_aberrance(){
     // 遗传 & 变异
     var mi, ni, n, aberranced_ai;
    
     aberranced_ai=new AI();
    
     // 遗传
     for(var i=0; i<mmm; i++)aberranced_ai.gene[i]=this.gene[i];
    
     mi=parseInt(mmm*aberrance_ratio);
     ni=5/mi;
     n=aberranced_ai.gene.length;
    
     // 变异
     for(var i=0; i<mi; i++){
         if(Math.random()<ni)aberranced_ai.gene[parseInt(n*Math.random())]*=(1+(Math.random()-0.5)/5);
     }
    
     return(aberranced_ai);
}
本文的所以 AI 都是无性分裂繁殖的。虽然性的引入会使得 AI 的进化的更加优化,但那对更复杂的 AI 来说也许更合适些。现在的这种简单 AI 基因只有一个表达方向(下五子棋)和一条染色体,如果利用性来交换染色体是有点高射炮打蚊子了。

aberrance_ratio是一个全局的变量,用来存放俺的世界的基因变异率--变异率高的世界进化会比较快些,但是太高的变异率反而难以产生真正有价值的 AI. (想想现实世界,如果到处都是核辐射,也许会产生多姿多彩的微生物,但是很难产生灵长类动物)

转载于:https://www.cnblogs.com/see7di/archive/2008/06/26/2239941.html

http://www.jmfq.cn/news/4987243.html

相关文章:

  • html5响应式网站建设平台/简易的旅游网页制作
  • 一个网站如何做桌面快捷链接/网络电商推广方案
  • vue和react可以做pc网站吗/营销图片素材
  • 曲阳网站建设推广/2023全民核酸又开始了
  • 用自己电脑做网站的空间/东莞做网站优化
  • 福建省建设人才与科技发展中心网站首页/百度如何推广产品
  • 手机做网站视频/单页网站seo如何优化
  • 河北沧州做网站的电话/百度统计收费吗
  • 网站建设及维护涉及哪些内容/申泽seo
  • 商务网站创建流程是什么/游戏优化大师官方下载
  • 江苏网站制作/最新国际新闻10条
  • 小米路由可以做网站吗/2345网址导航电脑版官网
  • 天长做网站公司/软文大全800字
  • 加强政府网站的建设管理/seo长尾快速排名
  • 摄影后期教程网站/三明网站seo
  • 做感恩网站的图片素材/太原百度推广开户
  • 广州网站建设中心/免费网站seo优化
  • 怎样做自己网站/什么是seo?
  • 怎么用模板建站/佛山seo按效果付费
  • 申请网站平台怎么做/谷歌浏览器网页版入口在哪里
  • 天津百度推广排名优化/专业seo网络推广
  • 网站建设山东/网络运营商
  • 如何学做网站优化/seo技术蜘蛛屯
  • 用淘宝做公司网站/搜索引擎优化的各种方法
  • 建仿网站/大连中小企业网络营销
  • 网站是否被k/腾讯企点下载
  • 小米网站建设案例/深圳专门做seo的公司
  • 做外贸怎么看外国网站/合理使用说明
  • 企业电子商务网站建设规划/雅诗兰黛网络营销策划书
  • 佛山网站建设专业公司/建立免费网站