gpt4 book ai didi

c# - 迭代简单指令集的所有可能性

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:42:10 24 4
gpt4 key购买 nike

假设我有一个非常简单的指令集模型:

opcode 0, arg1[0-1]
ocode 1, arg1[0-2], arg2[0-1]

所以我正在寻找一种用它构建无限复杂程序的方法。

第一个程序是:

0,0

next is,
0,1

then
0,0
1,0,0

then
0,0
1,1,0

etc

这样,给定一个由以下定义的任意指令集:

class Instruction
{
public int opcode;
public int[] argLimits; //the maximum value of each argument, and number of arguments
}
Instruction[] allInstructions;

可以根据上一个程序生成下一个程序。例如:ExecutableInstruction[] GetNextProgram(ExecutableInstruction[] previous, Instruction[] instructionSet);

参数的值限制总是[0-n]参数都是必需的 - 如果一个操作码有 3 个参数,它们都是必需的。

当参数数量固定时,我知道如何做这种事情,但是当每个操作码可以有 N 个参数时,每个操作码的每个参数的值可以是 0-n,我不知道从哪里开始.

最佳答案

枚举您的指令以及所有可能的参数值,例如:

A: 0,0
B: 0,1
C: 1,0,0
D: 1,0,1
E: 1,0,2
F: 1,1,0
G: 1,1,1
H: 1,1,2
I: 1,2,0
J: 1,2,1
K: 1,2,2

现在任何程序都是 A-K 字母表中的任意单词。我希望你知道如何继续。

关于c# - 迭代简单指令集的所有可能性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46394810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com