Engee 文档
Notebook

二进制逻辑

在这个例子中,我们探讨了使用Julia编程语言编写的方程及其在模型中的实现来解决逻辑问题的二进制逻辑的应用。

二进制逻辑是一种基于处理两种状态的逻辑形式:true(1)和false(0)。 它用于描述和解决结果可以用"是"或"否"表示的问题。 二进制逻辑广泛应用于计算机系统,数字电子和编程。

逻辑任务是其解决方案涉及使用逻辑操作的任务,例如"和"(AND),"或"(OR),"不是"(NOT)及其组合。 这些任务经常出现在自动化、数字电路设计和编程领域。

该示例演示了如何将理论基础(Julia中的逻辑方程)与其在模型中的实际实现相结合,使您能够直观地探索和分析解决逻辑问题的过程。

二元方程的描述

让我们设置我们的系统的状态,在这种情况下将是三个:
𝐴,𝐵和𝐶. 与此同时,条件
𝐴将随机确定:如果随机值为
𝑋大于0.5,则𝐴为true,否则为false。

In [ ]:
X = rand()
println("X = $(X)")
A = X > 0.5
println("A = $(A)")
X = 0.7960830917866893
A = true
In [ ]:
B = false
C = true
println("B = $(B)")
println("C = $(C)")
B = false
C = true

现在让我们继续讨论方程的描述。
让我们假设我们的逻辑由以下等式定义:Z=((A和B)或(C和B))

In [ ]:
Z = ((A && B) || (C && B))
println("Z = $(Z)")
Z = false

现在,使用这个方程,我们将建立一个模型,并比较模拟结果和模型中获得的结果。
image.png

辅助功能

In [ ]:
# Подключение вспомогательной функции запуска модели.
function run_model( name_model)
    
    Path = (@__DIR__) * "/" * name_model * ".engee"
    
    if name_model in [m.name for m in engee.get_all_models()] # Проверка условия загрузки модели в ядро
        model = engee.open( name_model ) # Открыть модель
        model_output = engee.run( model, verbose=true ); # Запустить модель
    else
        model = engee.load( Path, force=true ) # Загрузить модель
        model_output = engee.run( model, verbose=true ); # Запустить модель
        engee.close( name_model, force=true ); # Закрыть модель
    end
    sleep(5)
    return model_output
end

二进制逻辑建模

In [ ]:
run_model("Logical_Operator") # Запуск модели.
Z_model = collect(Z_model)
println("Z_model = $(Z_model.value[1])")
Building...
Progress 100%
Progress 100%
Z_model = false

我们将通过比较仿真结果和在Engee计算过程中获得的结果来进行验证。

In [ ]:
println((Z_model.value[1]) == Z ? "Проверка пройдена" : "Результаты не совпали")
Проверка пройдена

结论

作为研究的结果,使用在Julia和模型中实现的方程的示例演示了二元逻辑的工作。 置的系统状态(𝐴、𝐵、𝐶)进行正确处理,并根据描述进行逻辑运算。 检查显示模型和代码匹配,系统功能没有错误。

示例中使用的块