小编Sas*_*aZd的帖子

使用Python(或R)提取Google学术搜索结果

I'd like to use python to scrape google scholar search results. I found two different script to do that, one is gscholar.py and the other is scholar.py (can that one be used as a python library?).

Now, I should maybe say that I'm totally new to python, so sorry if I miss the obvious!

The problem is when I use gscholar.py as explained in the README file, I get as a result

query() takes at least 2 arguments (1 given) …

python r google-scholar

11
推荐指数
2
解决办法
2万
查看次数

在C#中创建AI行为树 - 如何?

我试图使用C#创建一个"行为树".

对于任何不知道的人来说,行为树基本上是一个可以构建AI的框架.有顺序器,选择器,装饰器,复合动作和其他东西.

我找到了一个单独的库,它在C#中建立了一个"行为树",位于这里(http://code.google.com/p/treesharp/)但我无法理解如何实际使用它,因为没有示例代码我可以借鉴.这里的任何人都可以制作一些简单的示例代码来说明如何实际使用这个框架..或者你可能知道在C#中使用行为树的另一种方式?

非常感谢!

c# artificial-intelligence behavior-tree

9
推荐指数
1
解决办法
2万
查看次数

自上而下游戏AI

我正在创建一个游戏,要求屏幕上的单位根据团队和每个团队的指定敌人进行战斗.玩家不控制任何坦克或团队.

问题在于单位之间的战斗(目前的坦克)对于玩家来说应该足够有趣,他们可以在不做任何事情的情况下观看并享受乐趣.

我现在让坦克完全随机移动并在射程内相互射击,但我正在寻找更聪明的东西.

我应该研究哪些类型的ai和ai算法?欢迎所有的想法,我只是想让每场战斗都变得有趣.

artificial-intelligence behavior-tree

7
推荐指数
1
解决办法
3014
查看次数

从嵌套状态转换到嵌套状态的最佳实践(参见图表)

我试图围绕在单线程编程语言(Actionscript)中实现嵌套状态转换的最佳方法.假设我有一个像这个行为树的结构:行为树

现在想象每个叶子节点是网站上的目标点,如图库中的图像,或嵌套在页面视图中嵌套的帖子视图中的注释......目标是能够从叶子运行动画过渡节点到叶节点,通过设置前一个树的动画(从下到上),并在当前树中设置动画(从上到下).

因此,如果我们位于最左下方的叶节点,并且我们想要转到最右下方的叶节点,我们必须:

  • 转换出左下方节点
  • 完成后(比如说动画一秒钟之后),转换出它的父级,
  • 完成后,转出它的父母
  • 完成后,转移到最右边的父母
  • 完成,最右边的孩子过渡
  • 完成,叶片过渡

我的问题是:

如果您将这些节点中的每一个想象为HTML视图(其中叶子是'partials',借用rails中的术语),或者MXML视图,那么您将嵌套子组件,并且您不一定知道嵌套级别来自应用程序root,如上所述,为转换设置动画的最佳方法是什么?

一种方法是全局存储所有可能的路径,然后说"应用程序,转换出此路径,在此路径中转换".如果应用程序非常简单,那就行.这就是Gaia如何做到的,一个Actionscript框架.但是,如果您希望它能够转换进/出任意嵌套路径,则无法全局存储,因为:

  1. Actionscript无法处理所有处理
  2. 似乎不是很好的封装

所以这个问题可以改写为,你如何动画最左边的叶子节点和它的父节点,从叶子开始动画,并在最右边的叶子节点中动画,从根开始? 存储的信息在哪里(转入和转出的内容)?

另一种可能的解决方案是只说"应用程序,转换出以前的子节点,以及何时完成,在当前子节点中转换",其中"子节点"是应用程序根的直接子节点.然后,应用程序根目录的最左边的子节点(具有两个子节点,每个子节点有两个子节点)将检查它是否处于正确的状态(如果它的子节点被"转出").如果没有,它会在它们上面调用"transitionOut()"......这样一切都将被完全封装.但似乎这对处理器来说非常密集.

你怎么看?你还有其他选择吗?或者你能指出我在AI行为树或分层状态机上的任何好资源,它们描述了它们实际上如何实现异步状态转换:

  • 他们从哪里在一个物体上称为"transitionOut"?从根或特定的孩子?
  • 国家存储在哪里?在全球范围内,在当地?什么是定义调用"transitionIn()"和"transitionOut()"的范围?

我已经看过/阅读过很多关于人工智能和状态机的文章/书籍,但我还没有找到描述他们如何在一个复杂的MVC面向对象项目中实现异步/动画过渡的方法,其中100个视图/图形参与了行为树.

我应该从最父对象或孩子那里调用转换吗?

以下是我检查过的一些事情:

虽然这不一定是人工智能问题,但没有其他资源描述如何将嵌套状态架构应用于网站; 这些是最接近的东西.

提出问题的另一种方式:如何向应用程序广播状态更改?你在哪里保留事件听众?如何在任意嵌套时找到动画视图?

注意:我不是想构建一个游戏,而是试图建立一个动画网站.

optimization actionscript state-machine hsm behavior-tree

6
推荐指数
1
解决办法
1133
查看次数

模型 - 视图 - 控制器是否与人工智能和行为树很好地配合?

我来自MVC背景(Flex和Rails),喜欢代码分离,可重用性,封装等的想法.它使得快速构建和在其他项目中重用组件变得容易.但是,在尝试构建复杂的,状态驱动的异步动画应用程序时,很难坚持使用MVC原则.

我试图在应用程序中的许多嵌套视图之间创建动画过渡,它让我思考我是否误导自己......你能否将MVC的原则应用于人工智能的原理(行为树,分层状态机) ,嵌套状态),像游戏?这两个学科能很好地融合在一起吗?

当事物是静态的时,很容易使视图/图形对于自身之外的任何东西都不了解,比如使用HTML CMS系统或其他任何东西.但是当你开始添加复杂的状态驱动的转换时,似乎所有东西都需要了解其他所有内容,而MVC几乎会阻碍它.你怎么看?

更新:

一个例子.那么我现在在Flex的网站上工作.我得出结论,为了正确地为应用程序中的每个嵌套元素设置动画,我必须将它们视为AI代理.然后,每个"视图"都有自己的行为树.也就是说,它根据上下文执行操作(显示和隐藏自身)(所选数据是什么,等等).为了做到这一点,我需要一个ViewController类型的东西,我称之为Presenter.所以我有一个View(在MXML中布局的图形),一个Presenter(根据应用程序的状态和嵌套状态定义View可以采取的动画和动作),以及一个将数据呈现给View的Presentation Model(通过主持人).我还有值对象和控制器的模型,用于处理URL和数据库调用等...所有正常的静态/类似HTML的MVC.

有一段时间,我试图弄清楚如何构建这些"代理人",以便他们可以响应周围的环境(选择的内容等).似乎所有事情都需要了解其他一切.然后我读到了游戏的路径/导航表/列表,并立即认为他们有一个集中存储的表,其中包含每个代理可以采取的所有预先计算的操作.所以这让我想知道他们如何实际构建他们的代码.

所有的3D视频游戏都是一个很大的秘密,我所看到的很多都是通过图形UI /编辑器完成的,比如定义行为树.所以我想知道他们是否使用某种MVC来构建他们的代理如何响应环境,以及他们如何保持代码模块化和封装.

model-view-controller artificial-intelligence ruby-on-rails state-machine behavior-tree

6
推荐指数
1
解决办法
884
查看次数

Javascript错误 - 找不到变量:google

我写的代码在浏览器上运行得非常好.但是当我在iPhone上连接到wifi时,我在调试器中出现错误:Javascript错误 - 无法找到变量:google

每当我调用任何谷歌地图/路线/地理位置对象时,就会发生这种情况.


代码如下:

map = new Ext.Map({
    mapOptions : {
        center : center,
        zoom : 20,
       // mapTypeId : google.maps.MapTypeId.ROADMAP,
        navigationControl: true,
        navigationControlOptions: {
                style: google.maps.NavigationControlStyle.DEFAULT
            }
    },

    listeners : {
        maprender : function(comp, map){
            pos = new google.maps.LatLng(lats, longs, true);
            var marker = new google.maps.Marker({
                 position: pos,
                 //title : 'Sencha HQ',
                 map: map
            });

            map.setMapTypeId(google.maps.MapTypeId.HYBRID);
            setTimeout( function(){map.panTo (pos);} , 1000);
        }
    },

     geo:new Ext.util.GeoLocation({
         autoUpdate:true,
         maximumAge: 0,
         timeout:2000,
         listeners:{
             locationupdate: function(geo) {
                 pos = new google.maps.LatLng(lats, longs, …
Run Code Online (Sandbox Code Playgroud)

javascript iphone extjs google-maps-api-3

5
推荐指数
2
解决办法
1万
查看次数

按钮背景颜色在sencha

我是sencha touch的新手.我们如何将按钮的背景颜色更改为白色?我有一个按钮,每个角落有两个图像.我希望按钮是纯白色的.我尝试使用这样的css:

.quest {
background: url(../images/quest.jpg) no-repeat left,
       url(../images/rightarrow.jpg) no-repeat right;
       background-color: white;
       border: none;
       border-color:white;
       padding-left: 50px;
       text-align: left;
}
Run Code Online (Sandbox Code Playgroud)

我的按钮在这里:

{
    xtype: 'button',
    text: '<div class="quest">Info</div>',
    labelWidth: '100%',
    name: '',
    handler: function() {                 
    }
}
Run Code Online (Sandbox Code Playgroud)

我的按钮有灰色边框(在sencha中为灰色默认按钮颜色),中间为白色.我如何让它完全变白?请帮忙.

我甚至尝试过:

style: "background-color: white" 
Run Code Online (Sandbox Code Playgroud)

css css3 sencha-touch

4
推荐指数
2
解决办法
2万
查看次数

行为树中的状态类似动作

根据我对行为树的理解,每个行为应该是一个简短的面向目标的行动,可以在几次迭代中完成。

例如,下面是行为树的图像:

在此输入图像描述

现在让我们假设“驶向敌人”行为在树中需要多次迭代。因此,每次传递Drive To Enemy都会被调用,因为它现在处于运行状态。

问题是如果附近有敌人,我想呼叫躲避敌人。考虑到“Drive To Enemy”总是被称为“Drive To Enemy”,我从来没有机会调用“ Evade Enemy”可能应该被称为“Avoid Enemy”)。

  • 无论当前正在运行什么操作,我都应该每次遍历树吗?
  • 我以正确的方式处理这件事吗?
  • 处理这种行为的正确方法是什么?

artificial-intelligence behavior-tree

4
推荐指数
1
解决办法
2907
查看次数

确定NPC将采取什么行动,何时是部分随机但受偏好影响?

我想让游戏中的角色执行部分随机但也受首选项影响的动作.例如,如果一个角色感到愤怒,他们就会比说笑话更有可能大喊大叫.所以我正在考虑如何确定角色将采取的行动.以下是我的想法.

解决方案#1:迭代所有可能的操作.对于每个操作执行随机滚动,然后将首选项值添加到该随机数.具有最高值的动作是角色所采用的动作.

解决方案#2:为一个动作分配一系列数字,更可能的动作范围更广.因此,如果随机滚动从1-5返回,该角色将讲述一个笑话.如果它返回6-75,他们会大叫.等等.

解决方案#3:对所有操作进行分组并创建分支树.他们会采取友好行动还是敌对行动?随机滚动(添加了偏好值)表示敌意.他们会进行身体攻击还是言语?随机翻卷说话.继续行,直到你到达行动.

解决方案#1是最简单的,但效率不高.我认为解决方案#3有点复杂,但效率不高吗?

有没有人对此特定问题有任何了解?#3是最好的解决方案吗?有更好的解决方案吗?

artificial-intelligence behavior-tree

3
推荐指数
1
解决办法
264
查看次数

行为树实现

我正在寻找任何语言的行为树实现,我想了解更多关于它们如何实现和使用,所以可以自己滚动,但我只能找到一个 Owyl,不幸的是,它不包含如何使用它的示例.

任何人都知道我可以浏览代码的任何其他开源代码,看看他们如何使用的一些例子等?

编辑:行为树是数据结构的名称.

language-agnostic algorithm tree data-structures behavior-tree

3
推荐指数
1
解决办法
1万
查看次数