您是否知道此主题的任何示例? 我搜索了谷歌,但没有运气使用人工智能的任何决策实例(至少任何真正开发的)
答案 0 :(得分:4)
我有一个人工智能决策的例子。这是关于选择一件衣服来购买。它要求输入如下: 1)无论你是男性还是女性 2)价格范围必须小于1000或大于1000 3)年龄<20或> 20
根据这些输入,我的代码将分析哪种类型的礼服适合您以及您可以在哪个商店购买。我刚刚在代码中提供了一些知识。我保留在我的知识库中只有3个商店的名字。 它以百分比形式给出输出。 例如)A店:20.5% B铺:40.5&amp; C店:39.0% 这意味着你很有可能在B铺找到你喜欢的衣服。
$ import java.util.*;
import java.lang.*;
import javax.swing.*;
import java.util.Collection.*;
import java.util.Set.*;
public class dress1
{
static int i,j;
static float[] count=new float[3];static int[] count1=new int[3];
static String[] shop=new String[] {"Jean and Tops","Jean and T-shirt","Jean and Shirt/T-shirt","Sherwani","Pyjamas","Formal shirt and Pant","Shorts and shirt","Coat Suit","Sari","Skirt and Tops","Ghagra Choli","Salwar kameez","Churidaar","Pattu Pavadai","Frock"};
static int[] divac= {10,9,8,1,1,2,1,1,7,1,1,1,5,1,1};
static int[] kalac= {1,1,1,2,1,1,1,1,10,1,8,2,2,9,1};
static int[] megac= {7,5,6,3,2,8,2,6,2,4,2,1,2,2,2};
static String[] selected=new String[15];
static boolean value;
public static void main(String arg[])
{
count[0]=0;count[1]=0;count[2]=0;
Set uni = new HashSet();
uni.add("Jean and Tops");
uni.add("Jean and T-shirt");
uni.add("Sari");
uni.add("Skirt and Tops");
uni.add("Ghagra Choli");
uni.add("Salwar kameez");
uni.add("Churidaar");
uni.add("Pattu Pavadai");
uni.add("Sherwani");
uni.add("Frock");
uni.add("Formal shirt and Pant");
uni.add("Jean and Shirt/T-shirt");
uni.add("Shorts and shirt");
uni.add("Coat Suit");
uni.add("Pyjamas");
Set male = new HashSet();
male.add("Sherwani");
male.add("Pyjamas");
male.add("Formal shirt and Pant");
male.add("Jean and Shirt/T-shirt");
male.add("Shorts and shirt");
male.add("Coat Suit");
Set fem = new HashSet();
fem.add("Jean and Tops");
fem.add("Jean and T-shirt");
fem.add("Sari");
fem.add("Skirt and Tops");
fem.add("Ghagra Choli");
fem.add("Salwar kameez");
fem.add("Churidaar");
fem.add("Pattu Pavadai");
fem.add("Frock");
Set l20=new HashSet();
l20.add("Jean and Tops");
l20.add("Jean and T-shirt");
l20.add("Skirt and Tops");
l20.add("Churidaar");
l20.add("Pattu Pavadai");
l20.add("Frock");
Set g20=new HashSet();
g20.add("Jean and T-shirt");
g20.add("Sari");
g20.add("Salwar kameez");
g20.add("Churidaar");
Set ml20=new HashSet();
ml20.add("Pyjamas");
ml20.add("Shorts and shirt");
Set mg20=new HashSet();
mg20.add("Sherwani");
mg20.add("Formal shirt and Pant");
mg20.add("Coat Suit");
mg20.add("Jean and Shirt/T-shirt");
Set mpl1000= new HashSet();
mpl1000.add("Pyjamas");
mpl1000.add("Shorts and shirt");
mpl1000.add("Formal shirt and Pant");
Set mpg1000=new HashSet();
mpg1000.add("Sherwani");
mpg1000.add("Coat Suit");
mpg1000.add("Jean and Shirt/T-shirt");
Set pl1000=new HashSet();
pl1000.add("Frock");
pl1000.add("Skirt and Tops");
pl1000.add("Churidaar");
pl1000.add("Salwar kameez");
Set pg1000=new HashSet();
pg1000.add("Jean and Tops");
pg1000.add("Jean and T-shirt");
pg1000.add("Sari");
pg1000.add("Ghagra Choli");
pg1000.add("Pattu Pavadai");
Scanner input=new Scanner(System.in);
System.out.println("Enter M for Male and F for Female");
String st=input.nextLine();
Set int1 = new HashSet (uni);
if(st.equals("M"))
{
System.out.println("Male");
int1.retainAll(male);
Scanner input1=new Scanner(System.in);
System.out.println("Enter 1 if age <20 or enter 2 if age > 20");
String st1=input1.nextLine();
Set int2= new HashSet (int1);
if(st1.equals("1"))
{
System.out.println("Age Less than 20 Male");
int2.retainAll(ml20);
}
else if(st1.equals("2"))
{
System.out.println("Age Greater than 20 Male");
int2.retainAll(mg20);
}
Scanner input2=new Scanner(System.in);
System.out.println("Enter 1.Price Range < 1000 or 2. Price Range >1000");
String st2=input2.nextLine();
Set int3= new HashSet (int2);
if(st2.equals("1"))
{
System.out.println("Price Less than 1000 ,Male");
int3.retainAll(mpl1000);
}
else if(st2.equals("2"))
{
System.out.println("Price Greater than 1000 ,Male");
int3.retainAll(mpg1000);
}
i=0;
for(Object object : int3)
{
String element = (String) object;
selected[i++]=element;
System.out.println(element);
}
calc();
} /*end of male*/
else if(st.equals("F"))
{
System.out.println("Female");
int1.retainAll(fem);
Scanner input1=new Scanner(System.in);
System.out.println("Enter 1 if age <20 or enter 2 if age > 20");
String st1=input1.nextLine();
Set int2= new HashSet (int1);
if(st1.equals("1"))
{
System.out.println("Age Less than 20 Female");
int2.retainAll(l20);
}
else if(st1.equals("2"))
{
System.out.println("Age Greater than 20 Female");
int2.retainAll(g20);
}
Scanner input2=new Scanner(System.in);
System.out.println("Enter 1.Price Range < 1000 or 2. Price Range >1000");
String st2=input2.nextLine();
Set int3= new HashSet (int2);
if(st2.equals("1"))
{
System.out.println("Price Less than 1000 ,Female");
int3.retainAll(pl1000);
}
else if(st2.equals("2"))
{
System.out.println("Price Greater than 1000 ,Female");
int3.retainAll(pg1000);
}
i=0;
for(Object object : int3)
{
String element = (String) object;
selected[i++]=element;
System.out.println(element);
}
calc();
}/*end of female*/
}/*end of main*/
public static void calc()
{
float finalcount=0;
int k=0;
while(k<i)
{
for(j=0;j<15;j++)
{
value=selected[k].equals(shop[j]);
if(value)
{
break;
}
}/*end of j*/
count[0]=count[0]+divac[j];
count[1]=count[1]+kalac[j];
count[2]=count[2]+megac[j];
k++;
}/*end of while*/
for(int c=0;c<3;c++)
{
finalcount=finalcount+count[c];
}
for(int c=0;c<3;c++)
{
count[c]=((count[c]*100)/finalcount);
}
System.out.println("Availability of dresses available in various shops are:");
System.out.println("Diva is "+count[0]+"%");
System.out.println("Kalanikethan is "+count[1]+"%");
System.out.println("Megamart is "+count[2]+"%");
}
}/*end of class*/
答案 1 :(得分:2)
http://msl.cs.uiuc.edu/~lavalle/cs397/
阅读本文。人工智能决策的方法有很多种。这些例子位于底部。
答案 2 :(得分:2)
有太多的例子要算!例如,专家系统开发的整个(大)领域包括构建程序,其明确目的是模仿人类决策。谷歌“专家系统”找到了数千个例子。
我将插入Jess的插件,这是我用Java编写的专家系统shell。全世界成千上万的公司都在使用它来自动化决策过程。
答案 3 :(得分:2)
决策制定(DM)是不同科学领域广泛研究的主题。 (认知科学,神经科学,计算机科学,行为经济学,运筹学等。* 1)
但是,DM问题是多种多样的,解决该问题的计算方法也会相应地变化。例如:
如果您必须频繁做出影响前一个决策的决定,则您正在处理顺序DM问题。在这种情况下,可以使用强化学习 * 2或深度强化学习 * 3解决此问题。这些问题的示例可以在视频游戏中看到,其中游戏AI需要随着时间的流逝采取不同的动作(策略)以最大化其得分。 (奖励)
如果您的问题不是连续的,而是要处理多个标准以找到最有吸引力的替代方法,那么您正在处理的是多标准决策问题,这是运筹学中广泛研究的主题。有一些常用的算法可用于辅助决策,例如 AHP * 4,TOPSIS * 5,ELECTRE * 6,PROMETREE * 7 。 MCDC的一个示例是选择要购买的房屋,您必须在其中考虑位置,价格以及其他理想或不理想的特征。
根据不确定性,主观数据和问题的不完整信息,您可能需要使用所提及算法的模糊,直觉或中智变体。 * 8
您可能需要通过不同的竞争目标来优化DM。在这种情况下,您要处理多目标决策优化问题(MODM)。请参阅决策树* 9,遗传算法* 10 。
此外,DM问题可能会有不同的“代理商”决策影响到我们。因此,这被称为“多主体”决策。在计算机科学中,多主体系统仿真通常用于研究这些问题。 * 11
您还可能会遇到这样的情况,即座席必须做出影响所有座席的协作决策。这就是所谓的“团体”决策。
在行业中,可以通过广泛使用的推荐系统(例如Netflix或Amazon的系统)来看到计算DM。* 13在B2B部门中,可以在决策中看到DM中的AI支持系统和说明性分析服务* 14。
我希望您发现这些信息有用。确实,关于这个复杂的主题,我只是想总结一下。
您可能需要检查的一些资源:
参考:
* 3 Van Hasselt,H.,Guez,A.,&Silver,D.(2016年2月)。通过双重Q学习进行深度强化学习。在AAAI(第2卷,第5页)中。
* 4Aczél,J.,&Saaty,T.L.(1983)。比率判断综合程序。数学心理学杂志,27(1), 93–102。 doi:10.1016 / 0022-2496(83)90028-7
* 4 Saaty,R.W.(1987)。层次分析流程-它是什么以及如何使用它。数学建模,9(3-5),167.
doi:10.1016 / 0270-0255(87)90473-8
* 4 Saaty,T.L.(1986)。层次分析过程的公理基础。管理科学,32(7),841.
doi:10.1287 / mnsc.32.7.841
* 4 Hwang,C.L.,&Yoon,K.(1981)。多属性决策方法。在多属性决策中 制作(第58-191页)。施普林格,柏林,海德堡。
* 6 Zhou,Y.(1915年)。软件开发中的多标准决策:系统文献综述。
* 7 Zhou,Y.(1915年)。软件开发中的多标准决策:系统文献综述。
* 8 Pramanik,S.,Biswas,P.,&Giri,B.C.(2015)。混合向量相似性度量及其
中智在多属性决策中的应用
环境。神经计算与应用,28(5),1163
doi:10.1007 / s00521-015-2125-3
* 8 Mardani,A.,Nilashi,M.,Zavadskas,E.K.,Awang,S.R.,Zare,H.,和Jamal,N.M.(2018)。基于模糊的决策方法
集合运营商:1986年至2017年的三个十年回顾。
国际信息技术与决策杂志,
17(02),391–466。 doi:10.1142 / s021962201830001x
* 9 Zhao,H.(2007)。开发帕累托最优决策树的多目标遗传规划方法。决策支持 系统,43(3),809-826。
* 9 Laumanns,M.和Ocenasek,J.(2002年9月)。用于多目标优化的贝叶斯优化算法。在
从自然界解决并行问题国际会议(pp。
298-307)。施普林格,柏林,海德堡。
* 9 Jin,Y.(Ed。) (2006)。多目标机器学习(第16卷)。施普林格科学与商业媒体。
10 Tamaki,H.,Kita,H.&Kobayashi,S.(1996年5月)。
遗传算法的多目标优化:综述。
在《进化计算》(1996年)中,IEEE论文集
国际会议(pp.517-522)。 IEEE。
* 11 Rodriguez,S.,Gaud,N.,&Galland,S.(2014年8月)。 SARL:一种通用的面向代理的编程语言。在 Web Intelligence(WI)和Intelligent Agent Technologies(IAT), 2014年IEEE / WIC / ACM国际联合会议(第3卷, pp.103-110)。 IEEE。
* 12 Rao,A.S.(1996年1月)。 AgentSpeak(L):BDI代理以逻辑可计算语言说出来。在关于多代理世界中的自治代理建模的欧洲研讨会上(第42-55页)。施普林格,柏林,海德堡。
* 13 Ricci,F.,Rokach,L.,&Shapira,B.(2015年)。推荐系统:介绍和挑战。在推荐系统中 手册(第1-34页)。马萨诸塞州波士顿,斯普林格。
答案 4 :(得分:1)
我在网上做了一些浏览,我遇到了这个example project。
您也可以查看AI-Depot网站here。
可能没有那么多工作示例的原因是因为AI决策算法(例如神经网络,遗传算法和决策树)变得非常复杂,非常快。这些算法的大多数开发人员,至少是稳定且实际工作的算法,都非常保护他们的IP。并且,有充分的理由。
无论如何,希望这会有所帮助。