动物识别专家系统-js

动物识别-专家系统(js)

最近上人工智能的研究生课程,老师留了道课后作业,用于动物识别的专家系统;看完题目要求后,自然而然的到网上百度,发现用c、java写的		
代码有很多,作为一个比较熟悉前端的我来说,必然首先会想到用js来搞一搞。废话不多说,上代码:
// An highlighted block
<html>  
<head>  
<title>人工智能</title>
</head> 

<body> 
	<h1>人工智能——基于产生式的动物识别系统(JS</h1>
	<div id="themeList">
	</div>
	</br>
	检索条件(输入标志序号,英文逗号分隔)<input id="condion" type="text" value="" />
	<button type="button" id="closeb" onclick="check()">检索 </button>
	</br>
	<div id="result">
	</div>
</body> 

<script type="text/javascript">
	var themeList = ["反刍","有蹄","哺乳动物","眼向前方",
					"有爪","犬齿","吃肉","下蛋",
					"不能飞","有羽毛","有蹄类","食肉类",
					"鸟类","有奶","毛发","善飞",
					"黑白二色","游泳","长腿","长脖子",
					"黑条纹","暗斑点","黄褐色"];
	var result = {
		'[15]':'哺乳动物',
		'[14]':'哺乳动物',
		'[10]':'鸟类',
		'[9,16]':'鸟类',
		'[7]':'食肉类',
		'[4,5,6]':'食肉类',
		'[2,3]':'有蹄类',
		'[1,3]':'有蹄类',
		'[3,7,22,23]':'金钱豹',
		'[3,7,21,23]':'虎',
		'[2,19,20,22]':'长颈鹿',
		'[2,21]':'斑马',
		'[9,13,17,19,20]':'鸵鸟',
		'[9,13,17,18]':'企鹅',
		'[13,16]':'信天翁'
	}
	var resultObj = {
		r1:[15],
		r2:[14],
		r3:[10],
		r4:[9,16],
		r5:[7],
		r6:[4,5,6],
		r7:[2,3],
		r8:[1,3],
		r9:[3,7,22,23],
		r10:[3,7,21,23],
		r11:[2,19,20,22],
		r12:[2,21],
		r13:[9,13,17,19,20],
		r14:[9,13,17,18],
		r15:[13,16]
	}
	window.onload=function(){
		init();
	}
	function init(){
		var str = "";
		for(var i=0;i<themeList.length;i++){
			str += (i+1)+"-"+themeList[i];
			if((i+1)%3 == 0 || (i+1) == themeList.length){
				str += '</br>'
			}else{
				str += '————'
			}
		}
		document.getElementById('themeList').innerHTML = str; 
	}

	function check(){
		var flag = 0;
		var arr = document.getElementById('condion').value;
		if(arr.indexOf(",") != -1){
			arr = arr.split(",");
		}
		for(var i=1;i<16;i++){
			var ch = 'r'+i;
			var resultObjStr = resultObj[ch];
			if(resultObjStr > 1){
				resultObjStr = resultObjStr.sort(sortNumber);
			}
			if(typeof(arr)!='string'){
				arr = arr.sort(sortNumber)
			}
			if(resultObjStr.toString()==arr.toString()){
				flag = 1;
				document.getElementById('result').innerHTML = result['['+resultObj[ch].toString()+']']; 
				return;
			}
		}
		if(flag == 0){
			document.getElementById('result').innerHTML = '没有符合检索条件的结果,请重试!'; 
		}
	}
	function sortNumber(a,b)
	{
		return a - b
	}
</script>
</html> 

代码比较简单,创建一个html文件,复制代码后直接双击运行即可


版权声明:本文为qq_33055131原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。