gpt4 book ai didi

mysql - 如何在 SQL 中为贝叶斯网络建模,或者更一般地说,为有向加权图建模?

转载 作者:可可西里 更新时间:2023-11-01 06:37:05 25 4
gpt4 key购买 nike

我在网上找到了几篇文章,提供了如何在 SQL 中对各种图形(尤其是 DAG)建模的示例,但鉴于它们所建模的内容相对简单,它们看起来都非常复杂。

有没有最好的/标准的方法来做到这一点?我目前的想法是这样的:

create table node (
id int not null auto_increment,
name TEXT
)

create table edge (
from_node int not null,
to_node int not null,
weight float
)

这有什么问题吗?有人知道更好(也许更强大)的方法吗?

最佳答案

这将是一个相当合理的方法。 SQL并没有真正做好递归结构,虽然一些系统如Oracle或SQL Server有递归查询功能。

虽然您可能会找到一种对特定搜索类型效果更好的结构,但我认为在一般情况下您不会找到明显更好的结构。如果您的应用程序的要求以这种方式受到限制,则此类优化可能会给您带来好处。

因为贝叶斯网络是一个 Directed Acyclic Graph (DAG),纯粹的递归父子关系不足以对网络建模(即一个节点可以有多个父节点),因此您所描述类型的 M:M 关系将是必要的。

Joe Celko 的各种“SQL for Smarties”书籍很好地概述了在 SQL 中实现和查询层次结构和图形结构的技术。这些是迄今为止我所知道的关于该主题的最佳资源。 强烈推荐。

关于mysql - 如何在 SQL 中为贝叶斯网络建模,或者更一般地说,为有向加权图建模?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/323456/

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