人工智能试验-天气决策树
- 格式:doc
- 大小:171.49 KB
- 文档页数:10
ID3算法是一种用于构建决策树的经典机器学习算法,它可以根据给定的数据集,自动构建出一个决策树模型,用于对未知数据进行分类。
在实际应用中,ID3算法被广泛应用于各种领域,包括天气预测和决策制定。
本文将以天气和是否适合打球这一主题为例,具体介绍ID3算法对于天气-打球关系的决策树。
1. 背景介绍天气对于人们的日常生活有着重要的影响,尤其是对于室外活动,比如打球。
在实际生活中,人们往往会根据当天的天气情况来决定是否适合进行打球活动。
而要根据天气来进行决策,就需要建立一个天气-打球的决策模型。
而ID3算法正是用来构建这样的决策模型的利器。
2. 数据采集为了构建天气-打球的决策树模型,首先需要收集一定量的天气相关数据和打球相关数据。
可以记录每天的天气情况(如晴天、阴天、下雨)、温度、湿度等天气指标,以及当天是否适合进行打球活动(是/否)。
通过收集大量的这样的数据,就可以构建出一个合适的数据集。
3. 分析数据在收集到足够的数据后,就可以开始分析这些数据,寻找天气与打球之间的关系。
ID3算法的核心思想是选择最佳的属性来进行划分,以便对数据进行分类。
在本例中,可以将天气指标(如晴天、阴天、下雨)作为属性,将打球活动(是/否)作为分类结果,然后根据ID3算法来选择最佳的属性进行数据划分,从而构建出决策树模型。
4. 构建决策树在进行数据分析后,就可以利用ID3算法来构建天气-打球的决策树。
ID3算法通过计算信息增益来确定最佳的属性,然后进行递归地对数据进行划分,直到构建出完整的决策树模型。
在这个过程中,ID3算法会根据不同的属性值来确定最佳的决策点,从而使得对于未知天气情况的打球决策变得更加准确。
5. 评估和优化构建出决策树模型后,还需要对模型进行评估和优化。
可以利用交叉验证等方法来检验模型的准确性,并根据验证结果对模型进行调整和优化。
这一步骤是非常重要的,可以帮助进一步提高决策树模型的预测能力。
6. 应用和推广构建出决策树模型后,可以将其应用到实际的天气预测和打球决策中。
决策树算法案例
咱来唠唠决策树算法的一个超有趣案例。
就说判断一个人今天会不会出门逛街这个事儿吧。
首先呢,我们看天气。
如果天气是大暴雨,狂风呼呼吹的那种,那这就是一个节点啦。
在这种天气下,大部分人可能就不想出门逛街了,直接就走向“不出门”这个分支。
但要是天气特别好,阳光明媚的,这又到了下一个判断节点。
接着我们看有没有钱。
要是钱包瘪瘪的,可能就只能走向“不出门”这一支,毕竟逛街可能就意味着花钱呀。
可要是有钱呢,那再看有没有小伙伴一起。
要是没有小伙伴陪着,有些人可能就觉得逛街没啥意思,还是选择“不出门”。
要是有小伙伴一起呢,哈哈,那基本就会走向“出门逛街”这个分支啦。
再比如说判断一个水果是苹果还是橙子。
我们先看形状。
如果形状是圆圆的,这就是一个节点。
然后再看颜色,如果是红色的,那很可能就是苹果这个分支啦。
要是颜色是橙色的呢,那再看看皮是不是光滑的。
如果皮光滑,那很可能就是橙子这个分支;要是皮有点粗糙,那还得再看看有没有果把儿之类的小特征,最后来确定到底是啥水果。
你看,决策树算法就像我们平时做决定一样,一步一步根据不同的条件来做出最后的判断,是不是很容易理解呢?。
人工智能与决策树算法近年来,人工智能技术得到了广泛的关注和应用。
其中,决策树算法是一种经典的人工智能算法,具有较强的应用性和实用价值。
本文将分析人工智能与决策树算法的关系,并探讨其在不同领域的应用。
一、人工智能技术的发展人工智能是一种模拟人类智能行为的技术,近年来得到了快速发展。
其背后涉及了很多重要的方法和算法,比如机器学习、深度学习、数据挖掘等等。
这些技术可以辅助人们更好地处理和分析数据,从而得出更加精准的结论。
在现代科技社会中,人工智能的应用越来越广泛。
它在金融、医疗、教育等领域都可以发挥巨大的作用。
比如,近年来在银行和证券公司中,人工智能已经被用于风险监测和预测、智能投资等方面。
同时,在医疗领域,人工智能也可以辅助医生进行疾病诊断和治疗。
二、决策树算法的介绍决策树算法是一种重要的人工智能算法,常被用于分类和预测。
其基本思想是构建一棵决策树,通过不断地做出选择和判断,最终得出正确的结论。
具体而言,决策树算法将问题分解为一系列的判断和决策,从而建立起一棵决策树,使得问题的解决变得更加简单。
与其他人工智能算法不同,决策树算法具有很强的可解释性和易扩展性。
其主要优势在于它能够帮助我们理解数据,并通过一系列的判断和选择,找到最优的决策方案。
当然,决策树算法也有一些限制,比如易于过拟合,需要考虑如何避免这种问题的出现。
三、人工智能与决策树算法的应用领域人工智能与决策树算法在不同领域都有着广泛的应用。
以下是几个具体的例子:1. 金融领域在金融领域中,决策树算法经常被用于股市预测、银行反欺诈等方面。
比如,人们可以通过构建决策树,预测股票涨跌情况。
同时,决策树算法也可以辅助银行机构进行反欺诈,保护客户资金安全,降低欺诈率。
2. 医疗领域在医疗领域中,决策树算法可以帮助医生进行疾病诊断和治疗。
通过构建一系列的判断和选择,决策树算法可以辅助医生快速地找到正确的治疗方式,提高治疗效果和效率。
3. 其他领域除了上述两个领域,决策树算法还可以在很多其他领域中发挥作用。
AI机器学习的经典算法AI机器学习已经成为当今世界最热门的话题之一,其背后的技术也在不断发展。
然而,其中最重要的技术之一是机器学习的经典算法,这些算法是人工智能领域内最基础和最实用的算法之一。
本文将介绍AI机器学习的经典算法,以便您了解这些算法及其在机器学习中的应用。
回归算法回归算法是用来预测连续变量的机器学习算法。
简单来说,回归算法是一种预测未来数值的方法,因此在市场预测和金融预测等领域应用广泛。
其中,最常用的回归算法之一是线性回归。
线性回归是一种通过线性方程来建立变量之间关系的回归分析方法,该方法被广泛应用于预测股票价格、商品价格等。
决策树算法决策树是一种简单且易于理解的机器学习算法。
它将数据集拆分成多个子集,每个子集都与特定决策相关。
例如,在一个决策树中,一个决策点可能是"如果天气晴朗,则会出门锻炼"。
决策树算法已被广泛应用于许多领域,例如医学、自然语言处理和电子商务等。
朴素贝叶斯算法朴素贝叶斯算法是一种基于贝叶斯定理和条件概率的机器学习算法。
它用于分类和文本分类等问题。
具体来说,朴素贝叶斯算法可以用来判断垃圾邮件和正常邮件,并将其自动分类。
朴素贝叶斯算法已被广泛应用于邮件过滤、垃圾邮件检测和情感分析等领域。
支持向量机算法支持向量机算法是一种经典的机器学习算法,其主要用于分类问题。
支持向量机通过使一个折点沿分类分界线出现,以找到如何将不同的分类分离。
它被广泛应用于生物学、医学、犯罪和人脸识别等领域。
神经网络算法神经网络算法是一种模仿人脑的机器学习算法,其能够通过识别数据模式来执行任务。
神经网络算法已被广泛用于语音识别、图像识别和自然语言处理等领域。
与其他机器学习算法相比,神经网络算法的优势在于其能够找到更复杂的模式和动态性。
总结在AI机器学习领域,存在着许多经典的算法,这些算法是模型训练和预测等问题的解决方法,并被广泛应用于诸如金融预测、分类和文本分类、垃圾邮件检测和情感分析等各个领域。
人工智能决策树例题经典案例一、经典案例:天气预测决策树在天气预测中有广泛应用,下面是一个关于是否适宜进行户外运动的示例:1. 数据收集:- 温度:高(>30℃)/中(20℃-30℃)/低(<20℃)- 降水:是/否- 风力:高/中/低- 天气状况:晴朗/多云/阴天/雨/暴雨- 应该户外运动:是/否2. 构建决策树:- 根据温度将数据分为三个分支:高温、中温、低温- 在每个分支中,继续根据降水、风力和天气状况进行划分,最终得到是否适宜户外运动的决策3. 决策树示例:温度/ / \高温中温低温/ | | \ |降水无降水风力适宜/ \ | | / \是否高中低| |不适宜适宜- 如果温度是高温且有降水,则不适宜户外运动- 如果温度是高温且无降水,则根据风力判断,如果风力是高,则不适宜户外运动,如果风力是中或低,则适宜户外运动 - 如果温度是中温,则不论降水和风力如何,都适宜户外运动- 如果温度是低温,则需要考虑风力,如果风力是高,则适宜户外运动,如果风力是中或低,则不适宜户外运动4. 参考内容:决策树的构建和应用:决策树通过对输入特征进行划分,构建了一棵树形结构,用于解决分类或回归问题。
构建决策树主要包括数据预处理、特征选择、划分策略和停止条件等步骤。
特征选择可以使用信息增益、基尼指数等算法,划分策略可以使用二叉划分或多叉划分,停止条件可以是叶子节点纯度达到一定阈值或达到预定的树深度。
决策树的应用包括数据分类、特征选择和预测等任务。
天气预测案例中的决策树:将天气预测问题转化为分类问题,通过构建决策树,可以得到识别是否适宜户外运动的规则。
决策树的决策路径可以用流程图或树状图表示,帮助理解和解释决策过程。
决策树的节点表示特征值,分支表示判断条件,叶子节点表示分类结果。
决策树的生成算法可以基于启发式规则或数学模型,如ID3、C4.5、CART等。
决策树的优缺点:决策树具有可解释性强、易于理解和实现、能处理非线性关系等优点。
人工智能中的决策树算法及其应用人工智能是当今科技领域的热门话题之一,而在人工智能领域中,决策树算法是一种常见且广泛应用的算法。
决策树算法能够帮助我们处理复杂的决策问题,并且在各行各业都有着重要的应用。
本文将对决策树算法进行介绍,并探讨其在不同领域的应用。
一、决策树算法的原理和特点决策树算法是一种基于树结构的机器学习算法,它通过将决策问题转化为一系列简单的规则,从而进行决策。
决策树由根节点、内部节点和叶节点组成,其中根节点表示决策的开始,内部节点表示决策的中间步骤,叶节点表示最终的决策结果。
决策树算法的特点如下:1. 简单直观:决策树算法能够将复杂的决策问题转化为一系列简单的规则,并以图形化的方式呈现,易于理解和解释。
2. 可处理多种数据类型:决策树算法可以处理连续型数据、离散型数据和混合型数据,具有很强的适应性。
3. 规模可扩展:决策树算法可以处理大规模的数据集,并且可以通过合并和剪枝等方法缩小决策树的规模,减少计算资源的消耗。
4. 对噪声和缺失数据有较强的容忍性:决策树算法在处理噪声和缺失数据方面具有较好的鲁棒性,可以有效地处理这些问题。
二、决策树算法的应用1. 医疗领域决策树算法在医疗领域有着广泛的应用。
通过对病人的症状、体检结果和疾病的关联数据进行分析,决策树算法可以帮助医生进行诊断,并给出相应的治疗建议。
决策树算法能够根据患者不同的特征,判断出患者所患疾病的可能性,辅助医生进行正确的判断和决策。
2. 金融领域决策树算法在金融领域的应用也非常广泛。
例如,银行可以使用决策树算法来评估客户的信用风险,以便做出是否给予贷款的决策;保险公司可以利用决策树算法来评估保单持有人的风险,从而制定相应的保险策略。
决策树算法通过对客户的各种信息进行分析,能够准确地评估风险和预测未来的发展趋势,对金融机构的决策提供重要的参考。
3. 物流领域在物流领域,决策树算法可以帮助企业优化配送路线和调度策略,提高物流效率和降低成本。
AI在气象预测中的应用气象预测一直以来都是农业、交通、旅游等领域中不可或缺的一部分。
然而,随着人工智能技术的不断发展,其在气象预测中的应用日益增多,为我们提供了更准确、可靠的天气预报信息。
本文将探讨AI在气象预测中的应用,并介绍一些相关的技术和算法。
一、气象数据采集与预处理在气象预测过程中,准确的数据采集是关键。
传统的气象观测站点能够提供有限的观测数据,而AI技术可以通过无人机、卫星等手段获取更广泛、更详细的气象数据。
利用AI技术,可以对这些大量的数据进行处理和分析,从而提取出有用的信息,并进行预测模型的训练。
二、机器学习在气象预测中的应用机器学习是AI技术的重要分支,广泛应用于气象预测中。
它通过训练算法来识别数据中的模式和趋势,从而进行准确的预测。
常用的机器学习算法包括神经网络、决策树、支持向量机等。
神经网络是一种模仿人脑神经系统工作方式的算法。
它可以通过学习大量的历史气象数据,建立模型来预测未来的天气情况。
神经网络模型能够处理大规模的数据,并根据数据中的特征和关联性进行预测。
例如,通过分析历史的温度、湿度、气压等数据,神经网络可以准确地预测未来的气温变化。
决策树是一种根据给定的输入数据做决策的树形模型。
它通过对不同特征进行划分,逐步预测目标变量。
在气象预测中,决策树可以根据气象数据中的各项特征,例如风速、降水量等,来预测天气情况。
决策树算法简单易懂,训练速度较快,因此在气象预测中得到广泛应用。
支持向量机是一种常用的分类和回归算法。
它通过找到一个最优超平面,将不同类别的数据进行分割。
在气象预测中,支持向量机可以利用历史气象数据中的多个特征,如风速、湿度、降水量等,来预测未来的天气情况。
支持向量机具有较强的泛化能力和较高的预测准确率,因此在气象预测领域获得了广泛的应用。
三、深度学习在气象预测中的应用深度学习是近年来兴起的一种机器学习方法,其通过构建多层的神经网络结构来处理复杂的问题。
在气象预测中,深度学习能够更好地处理大规模、高维度的数据,并提取出更多的特征信息。
一种基于人工智能算法的强对流天气短时临近识别方法1. 数据收集:收集气象观测数据,例如雷达回波数据、卫星云图数据、气象站观测数据等。
2. 特征提取:对采集的数据进行特征提取,以获取有助于强对流天气识别的关键信息。
可以提取雷达回波的反射率、雷暴云的亮温、风速等特征。
3. 数据预处理:对特征数据进行预处理,包括数据的归一化、去噪、平滑等操作,以提高算法的鲁棒性和稳定性。
4. 模型选择:选择适合该任务的人工智能算法模型,例如卷积神经网络(CNN)、长短期记忆网络(LSTM)等。
这些模型在处理大规模数据和时间序列数据方面有很好的性能。
5. 模型训练:使用标注好的样本数据对选择的模型进行训练。
训练样本应该包含不同类型的强对流天气情况,例如雷暴雨、龙卷风等。
6. 模型验证:将验证数据集输入已训练好的模型,评估模型的性能指标,例如准确率、召回率、精确度等,以确保模型能够准确地识别强对流天气。
7. 实时识别:将实时采集的气象数据输入到训练好的模型中,进行实时的强对流天气短时临近识别。
模型能够实时判断当前天气是否存在强对流天气,并给出预测结果。
8. 策略制定:基于强对流天气的识别结果,制定相应的应对策略,比如人员疏散、交通管制、紧急通知等。
9. 模型优化:根据实际应用中的反馈信息,对模型进行优化和改进,以提高其性能和鲁棒性。
10. 建立实时预警系统:将强对流天气短时临近识别方法与实时气象观测数据相结合,建立一个实时的强对流天气预警系统。
该系统能够在天气突变前及时发出预警,提高对强对流天气的应对能力。
11. 存储和分析:对实时预警数据进行存储和分析,以便于后续的数据分析和天气趋势分析。
12. 可视化展示:将预警数据以图表、地图等形式进行可视化展示,方便用户了解当前的强对流天气情况和预警信息。
13. 自动化决策支持:预警系统还可以与自动化决策支持系统进行联动,提供决策支持和智能化的调度方案。
14. 人机交互界面:为用户提供友好的人机交互界面,方便用户查看和操作预警系统,包括实时数据查询、预警消息订阅、预警解析等功能。
如何利用AI技术预测天气变化引言:天气对我们的日常生活起着重要的影响,无论是决定出门还是穿什么衣服,了解准确的天气预报都是至关重要的。
然而,天气变化是一个非常复杂且难以准确预测的过程。
随着人工智能(Artificial Intelligence, AI)技术的迅速发展,越来越多的专家开始探索如何利用AI来提升天气预测的准确性和可靠性。
本文将介绍如何利用AI技术预测天气变化,并讨论其优势和挑战。
一、机器学习在天气预测中的应用1.数据收集与处理:在进行机器学习之前,首先需要收集大量的天气数据。
这包括温度、湿度、风力等指标,以及历史上相同或类似情况下的观测数据。
同时,对这些数据进行处理和清洗也是必不可少的步骤。
通过收集和处理这些数据,可以为后续机器学习模型提供有效有用的信息。
2.特征工程:经过数据收集与处理后,就可以开始进行特征工程。
也就是说,将原始数据转换为可以供机器学习模型理解的特征。
这可能涉及到对数据进行标准化、归一化、降维等操作,以使得模型能够更好地学习和预测。
3.模型选择与训练:选择合适的机器学习模型是关键。
常用的方法包括线性回归、支持向量机、决策树等。
这些模型可以通过历史天气数据的训练来建立一个函数,该函数将输入天气特征映射到相应的天气变化结果。
4.模型评估与调优:在训练完成后,需要对预测结果进行评估以确保其准确性和可靠性。
除了使用预留的测试数据集来评估模型外,还可以使用交叉验证等技术提高模型的泛化能力,并进一步调优算法参数以提升预测效果。
二、神经网络在天气预测中的应用1.深度学习神经网络:近年来,深度学习神经网络已成为AI领域炙手可热的技术。
对于天气预测,也可以利用深度学习神经网络进行建模和预测。
例如,卷积神经网络(Convolutional Neural Network, CNN)可以有效地处理具有空间相关性的天气数据,如图像数据;循环神经网络(Recurrent Neural Network, RNN)则能够处理具有时间相关性的天气序列数据。
人工智能技术中的决策树算法人工智能是当前科技领域的热点话题,而决策树算法则是人工智能中非常重要的一种算法。
本文将重点探究决策树算法在人工智能技术中的应用。
一、什么是决策树算法决策树算法是一种基于树形结构的分类算法。
它通过对已有的样本数据进行分析,构建出一个树形结构的分类模型,可以用于处理多种分类问题。
在决策树算法中,每个内部结点表示一个属性判断,每个分支代表着该属性的不同取值,而每个叶子节点则代表着一种类别。
通过对输入数据进行分类,即可得到其所属的具体分类。
二、决策树的构建过程决策树的构建过程一般分为两个步骤:树的生成和树的剪枝。
1.树的生成树的生成是指通过训练数据构建一棵完整的决策树。
具体的生成方法有很多种,例如ID3、C4.5、CART等,其中ID3和C4.5是比较常用的算法。
以ID3为例,其生成步骤如下:(1)计算每个属性的信息增益,选择信息增益最大的属性作为划分属性。
(2)根据该属性的不同取值,将训练数据划分为不同的子集。
(3)重复步骤1和步骤2,直到所有训练数据都被正确分类或无法继续划分为止。
此时,树的生成过程结束。
2.树的剪枝在生成决策树时,往往会出现过拟合的情况,即模型过于复杂,对训练数据过度拟合,导致在测试数据上的表现不佳。
为了避免过拟合,需要对决策树进行剪枝。
树的剪枝就是通过剪掉一些子树来降低模型复杂度,从而提高模型的泛化能力。
三、决策树算法的应用决策树算法在人工智能技术中有着广泛的应用。
以下列举几个常见的应用场景。
1.医学领域在医学领域中,决策树算法被广泛应用于医学诊断和预测。
例如,通过对病人的症状、检查结果等信息进行分析,构建出一颗诊断决策树,可以帮助医生快速准确地诊断患者的病情。
2.金融领域在金融领域中,决策树算法可以用于信用评估、风险评估等方面。
例如,通过对客户的个人信息、征信记录等信息进行分析,构建出一颗信用评估决策树,可以帮助金融机构实现快速准确地评估客户的信用水平。
2013 年秋季学期研究生课程考核
(读书报告、研究报告)
考核科目:人工智能实验报告(二)学生所在院(系):计算机学院
学生所在学科:计算机科学与技术
学生姓名:
学号:
学生类别:学术
考核结果阅卷人
一.问题描述
决策树是最简单的但是最成功的学习算法形式之一,一个决策树将用属性集合描述的事物或情景作为输入,并返回一个“决策”作为输入的预测的输出值,输入的属性值可以使离散的,也可以是连续的,实验中我们使用的是离散的数据,决策树通过执行一个测试序列来得到它的决策。
下面为实验数据,运用Information Gain构造一个天气决策树。
二、算法介绍及程序流程图
(1)设计并实现程序,构造出正确的决策树,实验考虑到几个属性:天况——晴、雨、多云;温度——热、中、冷;湿度——大、正常;风况——有、无;然后根据每个属性来算出信息增益,接下来我们根据信息增益最大的来进行划分。
根据问题设计算法,建立数据结构,设计需要用的类,然后通过编程实现问题求解。
了解和求解最大信息增益和最小熵选择平均熵最小的属性作为根节点,用同样的方法选择其他节点直至形成整个决策树。
dataset就是具体的划分过程,首先找到可用的划分项目,再第一次划分之后再相关的数据来计算熵。
问题分许:天况——晴、雨、多云
温度——热、中、冷
湿度——大、正常
风况——有、无
首先我们要根据每个属性来算出信息增益,接下来我们根据信息增益最大的来进行划分。
选择一个属性,根据该Information Gain把数据分割为K份。
分许如下:
数据集
计算
数据集列表
(2)主要函数流程图:
Basefun流程图
三、算法实现
1.实验环境
一台PC及VISUAL C++6.0软件2.部分程序代码
Main.cpp:
#include <fstream>
#include <iostream>
#include <list>
#include <sstream>
#include <string>
#include <vector>
#include "AttributeValue.h"
#include "DataPoint.h"
#include "DataSet.h"
DataPoint processLine(std::string const& sLine)
{
std::istringstream isLine(sLine, std::istringstream::in);
std::vector<AttributeValue> attributes;
// TODO: need to handle beginning and ending empty spaces.
while( isLine.good() )
{
std::string rawfield;
isLine >> rawfield;
attributes.push_back( AttributeValue( rawfield ) );
}
AttributeValue v = attributes.back();
attributes.pop_back();
bool type = v.GetType();
return DataPoint(attributes, type);
}
void main()
std::ifstream ifs("in.txt", std::ifstream::in);
DataSet initDataset;
while( ifs.good() )
{
// TODO: need to handle empty lines.
std::string sLine;
std::getline(ifs, sLine);
initDataset.addDataPoint( processLine(sLine) );
}
std::list<DataSet> processQ;
std::vector<DataSet> finishedDataSet;
processQ.push_back(initDataset);
while ( processQ.size() > 0 )
{
std::vector<DataSet> splittedDataSets;
DataSet dataset = processQ.front();
dataset.splitDataSet(splittedDataSets);
processQ.pop_front();
for (int i=0; i<splittedDataSets.size(); ++i)
{
float prob = splittedDataSets[i].getPositiveProb();
if (prob == 0.0 || prob == 1.0)
{
finishedDataSet.push_back(splittedDataSets[i]);
}
else
{
processQ.push_back(splittedDataSets[i]);
}
}
}
std::cout << "The dicision tree is:" << std::endl;
for (int i = 0; i < finishedDataSet.size(); ++i)
{
finishedDataSet[i].display();
}
}
Basefun.cpp:
#include <math.h>
float log2 (float x)
{
return 1.0 / log10(2) * log10(x);
}
float calEntropy(float prob)
{
float sum=0;
if (prob == 0 || prob == 1)
{
return 0;
}
sum -= prob * log2(prob);
sum -= (1 - prob) * log2 ( 1 - prob );
return sum;
}
Datapiont.cpp:
#include <iostream>
#include "DataPoint.h"
DataPoint::DataPoint(std::vector<AttributeValue> const& attributes, bool type) : m_type(type)
{
for (int i=0; i<attributes.size(); ++i)
{
m_attributes.push_back( attributes[i] );
}
}
void DataPoint::display()
{
for (int i=0; i<m_attributes.size(); ++i)
{
std::cout << "\t" << m_attributes[i].getValue();
}
if (true == m_type)
{
std::cout << "\tP";
}
else
{
std::cout << "\tN";
}
std::cout << std::endl;
}
3.实验结果。