问题标签 [watchmaker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
508 浏览

java - Genetic Algorithms: Genes values should sum up to one

I want to implement a genetic algorithm (I'm not sure about the language/framework yet, maybe Watchmaker) to optimize the mixing ratio of some fluids.

Each mix consists of up to 5 ingredients a, b, c, d, e, which I would model as genes with changing values. As the chromosome represents a mixing ratio, there are (at least) two additional conditions:

I'm still in the stage of planning my project, therefore I can give no sample code, however I want to know if and how these conditions can be implemented in a genetic algorithm with a framework like Watchmaker.

[edit]
As this doesn't seem to be straight forward some clarification:

The problem is condition (1) - if each gene a, b, c, d, e is randomly and independently chosen, the probability of this to happen is approximately 0. I would therefore need to implement the mutation in a way where a, b, c, d, e are chosen depending on each other (see Random numbers that add to 100: Matlab as an example).

However, I don't know if this is possible and if it this would be in accordance with evolutionary algorithms in general.

0 投票
1 回答
614 浏览

java - 制表师 API 入门

我是 Watchmaker 框架的新手,有兴趣为 tsp 构建一个最基本的遗传算法求解器,以了解它的工作原理并进一步探索。我已经有一个城市的距离矩阵,其中每个元素都是行索引城市和列索引城市之间的距离(对角线元素将为零,因为它将是相同城市之间的距离)。我想生成几百个初始人口,计算适应度函数,取两个最好的,产生最小的适应度函数,产生孩子等等..(基本例程)

我的问题是,

我的距离矩阵是否足以作为初始人口提供?格式正确吗?我应该使用哪些对象来生成初始种群?

技术:运行 OpenJDK 1.7 的 Ubuntu 12.10 上的 Netbeans 7.4。计划在我的项目的库中添加jar文件。csv 格式的输入文件(距离矩阵)。现在,我只是好奇地想看看生成初始种群的输出。

我没有广泛使用 Java API,所以如果我问错了什么,请纠正我。

0 投票
2 回答
252 浏览

java - 结合终止条件的制表师遗传算法

使用 Stagnation(numGenerations, true) 终止 Watchmaker 的进化。

我希望 numGenerations 取决于进化的进展情况。如果我有一个腐烂的人口(低健康度),那么我想早点退出。如果人口表现良好,我想给它更多时间。

我该怎么做?

我阅读了用户手册,浏览了http://watchmaker.uncommons.org/上的示例,查看了 API,并在网络上进行了搜索。没有看到这个主题专门解决。我是 Java 和遗传算法的新手,所以我很容易错过一些东西。

0 投票
0 回答
157 浏览

java - 如何在制表师框架上实现合作协同进化遗传算法模型

我正在尝试实现一个基于协作协同进化 GA 的模型,其中我有两个具有不同数据类型的种群,它们应该相互交互以在每一代之后产生更好的结果。我正在使用 Watchmaker 框架来执行此操作。我已经建立了第一个种群,现在我正在尝试添加第二个种群。我不知道该怎么做。我找不到任何支持添加第二个种群的类或方法。我所发现的只是包 org.uncommons.watchmaker.framework.islands 类,它管理跨多个 EvolutionEngine(岛)的并行进化,并在它们之间进行定期迁移。我不确定这是否可以帮助我,但据我了解,该课程支持具有相似数据类型的人群。

有人可以帮我解决这个问题吗?有没有办法使用制表师框架来实现协同进化的 GA 模型?我做了大量的工作,如果在这个框架中有任何可能的方法,我不想改变框架。

0 投票
1 回答
353 浏览

wear-os - 在 Android Wear 表盘上点击操作

所以,我知道这是无证和不支持的,不推荐等。

但是,我并没有放弃尝试向 Android 表盘添加按钮。如果你熟悉 WatchMaker,你就知道他们支持这个功能!

我的猜测是这与onCommand在引擎上实现有关,但我遇到了这个方法的两个问题:

  1. 由于某种原因,X 和 Y 始终为 0
  2. 我不知道如何禁用将您带到菜单的默认点击操作。

无论如何,如果有人能猜到或知道 WatchMaker 是如何做到的,请提出解决方案!

0 投票
1 回答
227 浏览

java - 基因表达编程[Java]:如何查看种群的成员

我正在使用基因表达编程演示来获得替代数学表达式。我下载了 uncommons.watchmaker 框架的所有类文件,并创建了一个无需 jar 文件即可运行的新项目。Java 项目(完整源代码)附在此处

我对演示进行了一些修改,以生成给定数字的替代数学表达式。例如,假设我想得到 2 - 11 之间的所有数字组合,它们相乘得到 12。我会得到 6 * 2、3 * 4、3 * 2 * 2、2 * 6、4 * 3、2 * 2 * 3. 主程序为TestMainProg.java

我有兴趣知道如何打印最后一代的人口

发现:

在制表商 API 中,它说EvolutionEngine 接口中的 EvolutionPopulation()可用于获取最终人口数据。但是我不确定如何调用该方法并打印数据。查看 EvolutionEngine.java,EvaluatedCandidate.java 和 AbstractEvolutionEngine.java 将很有用。

下面是我使用的代码:

0 投票
0 回答
105 浏览

lua - 将高度转换为楼梯

我有一个使用 WatchMaker 中的 {aalt} 标签支持海拔高度的华为手表 2 和一部 Android 手机。

如何使用此标签转换为爬楼梯?

在华为健康应用程序中,它显示“爬过”读数,它转换为爬升楼梯的近似值,但我不知道该怎么做。

如果我只记录高度的变化,它可能会上升或下降。

对此的任何帮助将不胜感激。TIA

0 投票
1 回答
677 浏览

lua - 在lua中打印斜线字符

我正在使用使用lua的制表师设计手表,我想做的就是打印日期“tue 2/13”。我从性格开始 {ddw} {dn}/{ddz}

它返回“ '' 预计在 '2' 附近”

我尝试将所有请求的位用引号括起来,但它仍然失败,我尝试将它们分解为 (),但我远非 lua 专家,语法也远非我的基本网络实践。

0 投票
1 回答
134 浏览

android - 在 Lua 中点击动作脚本给出错误

我试图在 lua 中为我与制表师创建的表盘创建一个简单的点击动作,以将一个图像更改为另一个图像。基本上这个想法是,当我点击 Image1 时,它会变为 Image2。但是当我将代码添加到编辑器时,它给了我错误 '< eof >' 预期在 '=' 附近 。代码如下。

谢谢你。

0 投票
0 回答
995 浏览

windows - Packer - 通过 Powershell 脚本配置程序重新启动 Windows VM 后无响应

问题: 在运行最终在软件安装后重新启动 Windows VM 的 powershell 脚本时,我无法让 Packer 工作。

脚本完成后(scripts/watchMaker_stigVM.ps1),机器将重新启动,Packer 继续运行下一个 Provisioner。在这种情况下,下一个配置程序是 sysprep 的 Powershell 内联配置程序

Packer 挂起,然后抛出错误,并删除资源进行清理

我尝试过的事情:”

1) 在导致 VM 重新启动的 Powershell 脚本配置程序之后使用“Windows-Restart”Packer 配置程序 (scripts/watchMaker_stigVM.ps1)。

2) 添加“restart_check_command”以检查“RebootPending”注册表项

3) 在Powershell Script Provisioner 之后和Windows -Restart 配置器之前添加一个“Pause_before” ,让机器有时间重新联机,并允许 WinRM 重新连接。

具有上述尝试的供应商:

] }

上述场景中使用的构建脚本,没有任何 Windows-Restart 或 Pause 配置程序:

Packer 日志,显示 Powershell 脚本“scripts/watchMaker_stigVM.ps1”的成功完成,下一个 Powershell 内联配置器尝试运行,挂起,然后加壳器失败,并删除资源

如您所见,Powershell 脚本最终使 VM 重新启动,这不是由 Packer 自己启动的。

==> azure-arm:2019-11-08 17:38:04,508 [watchmaker.Client][INFO][3392]:计划重启。脚本退出后系统将重新启动。

以前的 Packer Success 的上下文:

我已经使用 Packer 成功构建了一个 Windows VM,通过 Powershell 脚本配置器安装软件,然后使用 powershell 内联配置器来对映像进行 sysprep。

感谢您对此的任何帮助。