游戏开发中的人工智能(八):描述式 AI 及描述引擎

2024年C C++最新游戏开发中的人工智能(八):描述式 AI 及描述引擎_npcai脚本,我三年开发经验从字节跳动抖音离职后 Say(“你找到了红色护身符,把它拿到石庙,你将得到奖赏”);Say(“放下你的剑,否则我就打扁你!Say(“你没有力气挥动那把战斧”);//例8-11:友善NPC的AI脚本。Say(“放下弓就让你活命”);//例8-10:巨人嘲讽语脚本。//例8-12:基本的询名脚本。//例8-14:关键字描述机制。Say(“好可爱的小刀”);//例8-6:基本行为脚本。//例8-8:移动模式脚本。//例8-9:口语嘲讽脚本。//例8-15:搜寻关键字。 阅读详情

接上文 游戏开发中的人工智能(七):A* 路径寻找算法

本文内容:程序员通常只写描述引擎,而由设计者使用工具创建内容和定义 AI。本章探讨一些开发人员把描述系统应用在游戏中的技巧,以及他们所得到的益处。


描述式 AI 及描述引擎

本章讨论某些技巧,让你把描述系统应用到游戏软件 AI 的问题上,以及这样做以后所能获得的好处。

从最基本的层次上来看,你可以把描述机制想象成非常简单的程序语言,专门为与游戏问题相关的特定工作而量身打造。描述机制可以说是游戏开发过程中,不可缺少的一部分,因为这可以让游戏设计师,而不是游戏程序员,撰写出游戏,并予以精细化。玩家也可以利用描述语言,建立或修改其所处的游戏世界或登记。再进一步的话,你可以在超大型多人在线角色扮演游戏(MMORG)中使用描述系统,当人们实际在玩游戏时,就能改变游戏的行为。

实现描述系统时,可以采用好几种手段。例如,精致的描述系统,可以让实际所用的游戏引擎和现有的描述语言(例如 Lua 或 Python)衔接起来。有些游戏会建立专用的描述语言,专门设计处理个别游戏的需求。虽然有时候利用这些方法比较方便,但是,让游戏分析包含描述命令的标准文字文件,会比较简单。如果采用这种手段,你就可以用任何标准的文字编辑器,建立脚本。在实际游戏中,当游戏开始时或者在某些特定时刻,可以读取脚本,并予以分析。例如,当玩家实际进入城堡时,控制城堡内的生物或事件的脚本,就能被读进来并进行分析。

在游戏软件 AI 的范围里,你可以用描述机制改变对手的属性、行为、响应方式以及游戏事件。本章要解释的就是这些用法。

描述机制技巧

本章我们要建立简单的描述命令,并将之存储在标准文字文件内。我们想避开复杂语言的分析器,就要慎重地选择词汇,才能令人轻松的读写脚本。即,我们所用的字词,要正确地反映脚本要修改的游戏的哪个方面。

描述对手属性

利用某种描述机制,指定每个 AI 对手的所有基本属性。这是很常见也很有益处的做法,这会让我们在开发和测试过程中,能够轻易调整 AI 对手。如果把所有重要数据都直接写进程序里,即使是最基本的修改,也必须得重新编译。

一般而言,我们可以描述对手的属性,比如智能、速率、强度、胆量以及魔法能力。实际上,可以描述的属性类型或数量是没有限制的,真正的决定因素是你正在开发的游戏是什么类型的。例如,有较高智能的 AI,和较低智能的 AI 相比,行为就会不同。较高智能的 AI ,会采用比较高级的路径寻找算法追踪玩家;而较低智能的 AI,则会在试着走向玩家时,很容易被困住。

例8-1 是 设定游戏属性的基本脚本。

//例8-1:设定属性的基本脚本

CREATURE=1;
INTELLIGENCE=20;
STRENGTH=75;
SPEED=50;
END;

此例中,我们的脚本分析器必须编译五个命令。第一个是 CREATURE,指的是要设定哪一个 AI 作为玩家的对手。下面三个分别是 INTELLIGENCE 智力、STRENGTH 强壮、SPEED 速度,都是实际设定的属性。最后的命令 END,是通知脚本分析器,这个生物已经设定完成。

脚本的基本分析

我们已经介绍了基本属性脚本是怎样的,如例8-1。我们打算进一步探索游戏如何读取脚本并予以分析。举个例子,我们要以基本脚本设定巨人的某些属性。建立一个名叫 Troll Settings.txt 的文字文件。例8-3 是巨人设定文件的内容。

//例8-3:设定属性的基本脚本

INTELLIGENCE=20;
STRENGTH=75;
SPEED=50;

例8-3 是一个简单的范例,只为生物设定了3个生物属性。我们要编写一个程序,以便能够轻易地增加其他属性,我们打算编写自己的脚本分析器,使其搜寻指定文件,找出特定的关键字,并返回与该关键字相关的值。例8-4 显示了在实际游戏程序中的内容。

//例8-4:设定属性的基本脚本

intelligence[kTroll] = fi_GetData(Troll Settings.txt,"INTELLIGENCE");
strength[kTroll] = fi_GetData(Troll Settings.txt,"STRENGTH");
speed[kTroll] = fi_GetData(Troll Settings.txt,"SPEED");

在例8-4 中,这三个假想的数组,可以存储生物属性。此时我们通过从名为 Troll Settings.txt 的外部文件中载入生物属性值。fi_GetData( ) 函数会检查这个外部文件,直到找到指定的关键词,然后,返回与该关键字相关的值。这样,游戏设计师可以调整生物设定值,而不需在每次修改之后,都得重新编译程序代码。

接下来详细看一下 从脚本中读取数据,即 fi_GetData( ) 函数,如例8-5 所示。

//例8-5:从脚本读取数据

int fi_GetData(char filename[kStringLength],char searchFor[kStringLength])
{
    FILE *dataStream;
    char inStr[kStringLength];
    char rinStr[kStringLength];
    char value[kStringLength];
    long ivalue;
    int i;
    int j;

    dataStream=fopen(filename,"r");
    if(dataStream != NULL)
    {
        while(!feof(dataStream))
        {
            if(!fgets(rinStr,kStringLength,dataStream))
            {
                fclose(dataStream);
                return 0;
            }
            j=0;
            strcpy(inStr,"");
            for(i=0;i<strlen(rinStr);i++)
            {
                if(rinStr[i]!= ' ')
                {
                    inStr[j]=rinStr[i];
                    inStr[j+1]='\0';
                    j++;
                }
            }
            if(strncmp(searchFor,inStr,strlen(searchFor))==0)
            {
                j=0;
                for(i=strlen(searchFor);i<kStringLength;i++)
                {
                    if(inStr[i]==';')
                        break;
                    value[j]=inStr[i];
                    value[j+1]='\0';
                    j++;
                }
                StringToNumber(value,&ivalue);
                fclose(dataStream);
                return ((int)ivalue);
            }
        }
        fclose(dataStream);
        return 0;
    }
    return 0;
}

例8-5 中的函数一开始是接受两个字符串参数。第一个参数是指定要搜寻的脚本名称,而第二个是要搜寻的词汇。然后,这个函数会以指定的文件名打开脚本文件。一旦文件打开了,这个函数就开始检查脚本文件。一次检查一行文字,每一行都会被当做字符串而读进来。

注意,每一行都会读进变量 rinStr 中,再立即复制到 inStr 中,但会去掉空白。

我们利用字符串变量 searchFor 把要搜寻的词传给 fi_GetData( ) 函数。此时在,在这个函数里,我们用 C 函数 strncmp( ) 搜寻 inStr,以期能找到所要搜寻的词。

如果要搜寻的词没有找到,这个函数就会继续读取脚本文件里的下一行文字。如果找到了,就会进入新的循环,把 inStr 变量中含有该属性值的部分,复制到名为 value 的新字符串中。接着再调用外部函数 StringToNumber( ),把这个字符串转换成整数值,然后,fi_GetData( ) 函数就返回 ivalue 的值。

描述对手行为

直接影响对手的行为是描述机制在游戏软件 AI 中最常用的方式之一。

描述行为可以让我们直接操纵 AI 对手的行为。我们需要采取某种方式让脚本能看懂游戏世界和检查条件,以改变 AI 行为。为了做到这一点,我们可以新增预先定义好的全局变量到我们的描述系统里。实际的游戏引擎会替这些变量赋值,而不是由描述语言来指定。

例如,在我们的描述系统里,我们可能有一个全局布尔变量,名叫PlayerArmed,会让胆小的巨人只敢去攻击没有武装的对手,如例8-6所示。

//例8-6:基本行为脚本

if(PlayerArmed==TRUE)
    BEGIN
        DOFlee();
    END
ELSE
    BEGIN
        DOAttack();
    END

在例8-6 中,脚本没有替 PlayerArmed 赋值,此变量是代表游戏引擎里的某个值。游戏引擎将评估此脚本,并把此行为连接到胆小的巨人身上。

描述行为的另一个方面是 AI 角色的移动。我们可以在描述系统中应用在第三章中提到的移动模式。之前在第三章中,我们直接将移动模式写进程序代码中,如果每次做出较小的修改之后都得重新编译。图8-1 是游戏设计师用描述系统实现的移动模式范例。

这里写图片描述

例8-8 显示了我们如何编写一个脚本,借此实现图8-1 中的行为。

//例8-8:移动模式脚本

if(creature.state==kPatrol)
    begin 
        move(0,1);
        move(0,1);
        move(0,1);
        move(0,1);
        move(0,1);
        move(-1,0);
        move(-1,0);
        move(0,-1);
        move(0,-1);
        move(0,-1);
        move(0,-1);
        move(0,-1);
        move(0,1);
        move(0,1);
    end

在此描述范例中,如果 AI 生物处在巡逻状态中,则使用指定的移动模式。每一步都是从前一位置移动一个单位。要了解移动模式的细节说明,参见 游戏开发中的人工智能(三):移动模式。

描述口语互动

智能行为可以让游戏更富有挑战性,而口语互动也属于智能行为。游戏软件 AI 必须检查一组已知的游戏参数,并据此来做出相应。

例如,玩家的武装程度怎样,就是可以被检查的参数。然后,我们可以让敌方 AI 角色评论此种武器,看起来就好像计算机控制的角色,可以知道游戏里正在发生什么事情一样。例8-9 是说明这种脚本的简单范例。

//例8-9:口语嘲讽脚本

if(PlayerArmed == Dagger)
    Say("好可爱的小刀");
if(PlayerArmed == Bow)
    Say("放下弓就让你活命");
if(PlayerArmed == Sword)
    Say("那把剑正好可以让我当做收藏品");
if(PlayerArmed == BattleAxe)
    Say("你没有力气挥动那把战斧");

这里写图片描述

图8-2 是一个假象的游戏场景,一个巨人正在追逐玩家。就此而言,游戏软件 AI 可以使用游戏状态下特有的元素,根据当前情况,提供适当的嘲讽语。

例8-10 显示了游戏软件 AI,如何在计算机控制的巨人和玩家控制的人类之间的战斗中,找出适当的嘲讽语。

//例8-10:巨人嘲讽语脚本

if(Creature==Giant) and (player==Human)
    begin
        if(PlayerArmed == Staff)
            Say("你需要更多的棍子吧,小矮人!");
        if(PlayerArmed == Sword)
            Say("放下你的剑,否则我就打扁你!");
        if(PlayerArmed == Dagger)
            Say("你的小刀抵不上我的棍子!");

当然,这种描述机制不限于哪些要杀玩家的地方角色。友善的计算机控制角色也能利用相同的技巧。例8-11 说明了脚本如何协助剧情,并引导玩家的行为。

//例8-11:友善NPC的AI脚本

if(Creature == FreiendlyWizard)
    begin
        if(playerHas==RedAmulet)
            Say("你找到了红色护身符,把它拿到石庙,你将得到奖赏");
    end

如例8-11 所示,直到护身符被玩家得到,并且玩家面对友善的法师时,有关护身符应该放在何处的重要信息才会展现出来。

前几个脚本范例让你知道了游戏软件 AI 可以在指定情况下做出反应,但是有时候,游戏角色还需要和玩家做某种类型的口语互动。

在这种场景中,玩家必须以某种机制把文字输入给游戏。然后,游戏引擎再把文字字符串送交给描述系统,描述系统再分析文字,并提供适当的响应。图 8-3 显示了在实际游戏里的画面。

这里写图片描述

就图8-3 所示的情况而言,玩家输入了“What is your name?”,而描述系统做出响应的文字是“I am Merlin”。例8-12 是用于实现此种做法的基本脚本。

//例8-12:基本的询名脚本

If Ask("What is your name?");
begin
    Say("I am Merlin");
end

例8-12 有一个严重的缺点。只有当玩家输入和脚本中的问题完全一样的文字时,才能起作用。

检查每个口语文字字符串的另一种做法是建立语言分析器,解析每个句子,确定其到底在问什么。不过对于多数游戏来说,可以仅仅搜寻特定的关键字,并据此作出响应即可。

如例8-14 所示,脚本将检查玩家所输入的文字中,是否有“what”和“name”两个关键字存在。

//例8-14:关键字描述机制

If(Ask("what") and Ask("name"))
    begin
        Say("I am Merlin");
    end

下面将介绍如何根据指定关键字检查玩家输入的问题。例8-15就是这种做法。

//例8-15:搜寻关键字

Boolean FoundKeyword(char inputText[kStringLength],char searchFor[kStringLength])
{
    char inStr[kStringLength];
    char searchStr[kStringLength];
    int i;

    for(i=0;i<=strlen(inputText);i++)
    {
        inStr[i]=inputText[i];
        if( ((int)inStr[i]>=65) && ((int)inStr[i]<=90) )
            inStr[i]=(char)( (int)inStr[i]+32 );
    } 
    for(i=0;i<=strlen(searchFor);i++)
    {
        SearchStr[i]=searchFor[i];
        if( ((int)seachStr[i]>=65) && ((int)searchStr[i]<=90) )
            searchStr[i]=(char)( (int)searchStr[i]+32 );
    }
    if(strstr(inStr,searchStr)!=NULL)
        return true;
    return false;
}

例8-15 是游戏引擎中实际的程序代码,当游戏设计师的脚本中使用了 Ask( ) 函数时,就会被调用。这个函数有两个参数:inputText(玩家输入的文字)以及 searchFor(要搜寻的关键字)。我们在此函数中做的第一件事,就是把字符串都转换成小写。一旦有两个小写字符串,我们可以调用 C 函数 strstr()来比较两个字符串。strstr()函数会搜寻 inStr 中首次出现 searchStr 的地方,如果在 inStr 中找不到 searchStr,就会返回 false。

描述事件

本节中,我们要检视脚本如何触发与 AI 角色可能不太有直接关联的游戏事件。例如,也许站在特定位置上时,就会触发一个陷阱,如例8-16 所示。

//例8-16:陷阱事件脚本

If(PlayerLocation(120,76))
    Trigger(kExposionTrap);
If(PlayerLocation(56,16))
    Trigger(kPoisonTrap);

如例8-16 所示,描述系统可以把玩家位置和某些默认值比较,如果两者相等,就触发陷阱。

描述机制也是增加游戏气氛的有效方式,可以把某种情况或物体与特定的声音效果相连接。例8-17 说明了玩家的位置或游戏的情况(如游戏事件),触发相关音效。

//例8-17:触发音效脚本

If(PlayerLocation(kDoorway)) //玩家站在门口,播放门嘎吱响的声音
    PlaySound(kCreakingDoorSnd);
If(PlayerLocation(kDock)) //玩家在甲板走动,启用海鸥音效
    PlaySound(kSeagullSnd);
If(GameTime==kNight)      //夜晚,播放蟋蟀声
    PlaySound(kCricketsSnd);
If(GameTime==kDay)    //白天,播放鸟儿声
    PlaySound(kBirdsSnd);
人工智能(AI)与机器学习(ML):塑造未来的技术引擎 人工智能是一种模拟、延伸和扩展人类智能的理论、方法、技术及应用系统。它旨在让计算机能够像人类一样思考、学习,并能在各种环境下自主地做出决策。AI的发展经历了从最初的符号主义、连接主义到如今的深度学习等多个阶段,每一次的突破都极大地推动了科技的进步。尽管AI与ML技术取得了巨大的进步,但它们仍然面临着诸多挑战。首先,数据的获取和标注是一个巨大的问题。高质量的标注数据是机器学习模型训练的关键,但数据的获取和标注往往需要耗费大量的人力和时间。其次,模型的泛化能力也是一个需要解决的问题。 阅读详情

相关推荐

AI人工智能方向

图像处理,犬类识别,场景文字识别,人脸算法,图像增强,计算机影像,车型识别,物体检测,黄色图片识别,目标检测API文档Logo检测使用手册,名人识别,车辆分析,显微识别,图像风格化,天空分割,概念识别,图像美学评分,图像质量评估,场所识别,风格迁移,网红人物识别,无限天空,图像视频分析,智能相册,智能贴图,暴力图像识别,场景识别,智能视觉生产,思维导图评估,动漫化身独家,物体识别,内容安全,图像分割,车型识别(含配置参数),猫狗脸技术,图像识别,垃圾分类,图像比对,超清人像独家,图像识别引擎,宝宝检测,图像

weixin_73136678的博客 1万+

游戏开发中的人工智能(一):游戏人工智能简介

本系列文章对《游戏开发中的人工智能》David M.Bourg / Glenn Seemann 一书进行解读。这本书谈了很多游戏软件 AI 的主题,内容深度适合初涉开发人员。所以,无论你是游戏开发新手还是资深游戏开发人员,如果需要尽快掌握 AI 技术,比如有限状态机、模糊逻辑、神经网络以及其他议题,这本书都非常适合。针对游戏软件 AI 的初学者,假定你没有任何 AI 背景知识,但是假定你知道怎么用

学愈进而愈惘 2万+

游戏开发中的人工智能 复习

个人复习,一些仅是给自己的复习提示(=w=)

水果君の日常 3853

游戏开发中的人工智能

前言 今天非常开心,观看cocos官方直播居然在几千人中中奖,可以买彩票了。 言归正传,所谓的人工智能,也就是大家常说的AI(Artificial Intelligence)。一说到AI可能就会让人觉得比较深奥,其实也就是非玩家角色思考和行为的综合。比如,在什么样的条件下,触发什么样的行为。 其实我们在游戏开发中的AI要比学术理论中的AI简单很多,甚至有些行为不需要AI也能体现。比如使用剧情对话体现非玩家角色的想法。 那么AI 都涉及到哪些东西呢? 控制器 我理解的控制器,就是非玩家角色的大脑,是用来思考

~生命淡如水~ 1462

【AI】人工智能AI网站推荐

AI爱好者在论文整理和分享方面有着非常出色的内容和质量,其中不仅有很多经典的AI论文,还有大量来自大牛教授的学术讲座和专业领域的实践案例。如果想开展AI领域的深度研究和学习,这个平台值得一试。AI中国(https://www.aicn.me/)致力于收集与AI相关的热门工具,包括但不限于ChatGPT、AI视频、AI办公、AI语音等领域,并为广大AI爱好者提供学习平台,降低获取学习资源的成本。该机构致力于推动科技信息的传播和共享,他们的网站提供了丰富的学术论文资源,包括人工智能领域的研究成果。

wnm23的专栏 3301

人工智能在游戏开发中的应用:你目前所需的 6 大 AI 工具

本文中,我们将介绍 AI 如何帮助游戏开发人员更快地创建游戏,我们还会给出一些 AI 应用于游戏的案例,另外还会介绍几种专门用于游戏开发的 AI 工具。

讨论软件开发加速、持续集成/持续交付(CI/CD)、C++、开发者生产力以及所有相关话题。 1104

人工智能与游戏开发:创新的游戏设计与玩家体验

1.背景介绍 随着人工智能(AI)技术的发展,游戏开发领域也不断发展和创新。在过去的几年里,我们已经看到了许多与AI相关的游戏,例如自动生成的内容、智能非玩家角色(NPC)、智能对手等。这些技术使得游戏更加智能化、个性化和有趣。在本文中,我们将探讨如何将人工智能与游戏开发结合,以创新游戏设计和提高玩家体验。 2.核心概念与联系 2.1 AI在游戏开发中的应用 人工智能在游戏开发中的应用主要...

AI天才研究院 1621

Bing AI:探索人工智能搜索引擎Bing Chat工具

Microsoft 于 2023 年 2 月推出了新的 AI 驱动的 Bing,以及 Microsoft Edge 浏览器的更新版本。新的 Bing 使用 GPT-4,这是 OpenAI 的生成式预训练转换器 (GPT) 大型语言模型 (LLM) 的最新版本。它是 ChatGPT 使用的 GPT-3.5 的后续版本。此重大更新为用户提供了新的搜索方式。搜索者现在还可以使用 Microsoft 的 Bing AI 聊天机器人来获得简洁的 AI 生成的响应。用户仍然可以使用传统的搜索栏。

SEOjiaoxue的博客 5062

人工智能与游戏开发:如何创造更酷炫的游戏体验

1.背景介绍 人工智能(AI)已经成为现代游戏开发中的一个重要组成部分,它可以帮助开发者创造更酷炫、更有吸引力的游戏体验。随着AI技术的不断发展,游戏开发者可以利用这些技术来提高游戏的智能性、实时性和个性化,从而提高游戏的质量和玩家的满意度。 在本文中,我们将探讨人工智能在游戏开发中的核心概念、算法原理、具体操作步骤以及数学模型公式。我们还将通过详细的代码实例来展示如何将这些理论应用到实际开发...

AI天才研究院 852

AI 内容分享(一):人工智能技术概述

人工智能 (AI),数字计算机或计算机控制的机器人执行通常与智能生物相关的任务的能力。该术语经常用于开发具有人类智力过程特征的系统的项目,例如推理、发现意义、概括或从过去的经验中学习的能力。自 1940 年代数字计算机发展以来,已经证明可以对计算机进行编程以非常熟练地执行非常复杂的任务,例如发现数学定理的证明或下棋。尽管如此,尽管计算机处理速度和内存容量不断进步,但目前还没有程序可以在更广泛的领域或需要大量日常知识的任务中与人类的灵活性相匹配。

之乎者也·的博客 2628

决策引擎简介-人工智能的应用

要理解人工智能为什么很适合融入决策引擎,又为什么能够大大增强其功能,我们要从人工智能的本质说起。大多数人工智能模型,都依赖于机器学习而构建。

myITShow的博客 1287

Game AI ——游戏人工智能(逻辑及剧情生成)

"Game AI"(游戏人工智能)通常指的是在电子游戏中使用的各种人工智能技术和算法,用于控制游戏中的非玩家角色(NPC)、敌人、队友等,以及为玩家提供有挑战性的对手或有趣的互动体验。Game AI 的核心目的是增强游戏的可玩性和沉浸感,使游戏世界更加生动和富有挑战性。包括 AI bot、NPC 逻辑及剧情生成和数字资产生成。游戏AI主要关注实体根据当前条件所采取的行动。这就是传统人工智能文献所指的控制“ 智能代理”,代理通常是游戏中的角色,但也可以是车辆,机器人。

m0_75253143的博客 3647

人工智能技术AI

使计算机理解、生成和处理人类语言的技术,涵盖语音和文本分析。

wlq_567的博客 1995

人工智能与游戏:AI在游戏开发中的应用

1.背景介绍 人工智能(Artificial Intelligence, AI)是一门研究如何让计算机模拟人类智能行为的科学。随着计算能力的提升和数据量的增加,人工智能技术在各个领域得到了广泛应用。游戏开发也不例外。在这篇文章中,我们将探讨人工智能在游戏开发中的应用,包括背景介绍、核心概念与联系、核心算法原理和具体操作步骤以及数学模型公式详细讲解、具体代码实例和详细解释说明、未来发展趋势与挑战以...

AI天才研究院 2665

Quantum Espresso Hands-On实战训练(四)——PDOS计算与轨道分析

本文详细介绍了Quantum Espresso中PDOS计算与轨道分析的实战方法,重点解析了PDOS在材料电子结构研究中的核心价值,包括原子级分辨率、轨道级解析和自旋极化分析。通过具体案例和操作步骤,帮助读者掌握从输入文件准备到结果解读的全流程,并提供了高级分析技巧和疑难问题解决方案。

weixin_29211309的博客 498

SecureCRT串口连接保姆级教程:从驱动安装到波特率设置(附常见问题解决)

本文提供SecureCRT串口连接的保姆级教程,涵盖从USB转串口驱动安装、端口识别到波特率等核心参数设置的完整流程。针对连接失败、乱码、键盘输入无响应等高频问题,给出了深度排查与解决方案,帮助网络与嵌入式开发新手快速掌握串口调试技能。

weixin_29281941的博客 428

什么是AI+?什么是人工智能+?

本文系统梳理了“AI+”与“人工智能+”的概念区别与行业应用。“AI+”强调以AI为核心驱动力的颠覆式创新,如智能医疗诊断、自适应教育系统;“+AI”则侧重AI技术对传统行业的增量优化,如银行风控增强。文章分析了AI在医疗、金融、教育、制造、交通等领域的典型应用,并展望未来趋势:AI将从辅助工具演变为自主决策者,从垂直领域扩展到跨行业协同。随着大模型和生成式AI的发展,“AI+”将成为推动社会智能化转型的重要引擎。两种模式相辅相成,共同构建智能未来。

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:CSDNWF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 6549

青藏高原冻土数据实战:如何用QGIS分析1961-2020年冻土退化趋势(附完整操作步骤)

本文详细介绍了如何使用QGIS分析1961-2020年青藏高原冻土退化趋势,包括数据准备、预处理、时空分析和模型验证等全流程操作。通过TTOP模型和Stefan方程,揭示了冻土退化的空间差异和海拔依赖性,为环境研究提供科学依据。

weixin_29276847的博客 124

AI赋能教育:AI人工智能在教育中的 8 个应用示例(老师必须收藏)

在日新月异的技术改革中,人工智能正以前所未有的速度重塑教育学习的面貌。人工智能在教育领域的潜力尚未完全揭示,但其影响力不容小觑。借助大数据分析、机器学习、自然语言处理和自动化评分系统等先进技术,AI 能够针对从幼儿园到研究生的每一个学习阶段,实现定制化的教育体验。有趣的是,据数据显示,近半数的青少年承认在做作业时利用AI人工智能作为辅助工具。现在,无论身处教室还是家庭,学生都能更容易地获取支持他们学习与发展的资源。教师也同样受益于AI的应用。

xx_nm98的博客 4万+

第零章 序 Chisel教程汇总

笔者目前西安交通大学微电子硕士在读,研究方向为数字集成电路设计与体系结构。鉴于目前RISC-V的火热程度,笔者参与了课题组的RISC-V项目,并了解、学习了颇受关注的新型硬件构建语言——Chisel,当前参与的神经网络加速器设计便是使用Chisel开发的。这是一门敏捷开发语言,据称要比传统的Verilog语言快很多。在亲身使用过后,笔者发现确实快了不少。这主要得益于Scala作为高级语言的简洁风格...

qq_34291505的博客 7万+

【Bug已解决】[Bug]: ValueError: No user query found in messages QWEN 3.5 27B VLLM 0.16.0 NIGHTLY 解决方案

用 vLLM 0.16.0 nightly 给发聊天请求时,服务端在处理消息时抛ValueError,请求失败。

博客 378

也谈人工智能——AI科普入门

面对2023年初chatGPT引领的AI一波热度,结合政府在人工智能领域政策上的引导作用,企业需要从产品和技术侧关注AI相关领域的技术相关信息,本篇重新介绍人工智能的科普入门

星猿科技的博客 2万+

华为OD机试 - 猴子吃桃 - 二分查找(Java 新系统 100分)

每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

学Java,找哪吒 3834

「AI人工智能」什么是AI技术

本文主要介绍什么是AI技术。人工智能(Artificial Intelligence),英文缩写为AI。它是用于模拟、延伸和扩展人的某些思维过程和智能行为,集理论、方法、技术及应用系统于一身的一门新的技术科学。通俗来说,人工智能就是由人类生产制造出来的,具有一定思考能力的、能够模拟人类行为的一种计算机技术。

拥抱AI Design 2万+

Linux | i.MX6ULL Mqtt 移植教程

本文介绍了MQTT协议在物联网中的应用及其实现工具Mosquitto的移植过程。使用Ubuntu 16.04环境和gcc交叉编译器,详细说明了从X86平台安装测试到ARM开发板移植的完整步骤。重点包括:Mosquitto的安装配置、服务启动测试方法、依赖库openssl和libuuid的交叉编译过程、路径参数修改要点,以及最终在开发板上的功能测试验证。文中提供了具体的命令操作和路径修改示例,强调路径一致性对编译成功的重要性。该移植方案实现了轻量级MQTT协议在嵌入式设备中的应用。

Qt历险记,专注Qt技术,三年医疗设备研发经验,1年机器视觉研发经验,半年柔性传感研发经验。 134

【QNX+Android虚拟化方案】136 - QNX 侧 Coredump 文件解析

【QNX+Android虚拟化方案】136 - QNX 侧 Coredump 文件解析

|~~~热爱生活、努力学习的小伙汁~~~| 1891
上一篇: 游戏开发中的人工智能(七):A* 路径寻找算法
下一篇: 游戏开发中的人工智能(九):有限状态机
Jurbo
博客等级 码龄10年 1211粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值