V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
isSamle
V2EX  ›  分享创造

集思广益一下

  •  
  •   isSamle · 2023-06-06 09:15:00 +08:00 · 652 次点击
    这是一个创建于 537 天前的主题,其中的信息可能已经有所发展或是发生改变。

    原贴、最终还是决定自己写一个。但是一下卡在了数据模型设计这里。

    希望实现的效果是:把最终目标按逻辑向前倒推,给出前置条件群(可能需要多个条件)和分支(可能有多种达成路线),直至条件当前可执行或可满足。

    那么按照基础的操作逻辑应该有:

    • 创建一个最终目标(同时这个最终目标任务,也可能成为未来其他任务的关联任务)
    • 需要实现这个任务,上一阶段可能存在 N 个任务,这 N 个任务之间可能存在,先后顺序、优先级、需要同时达成,只需达成其中一部分、互斥互补
    • 将这 N 个任务做单独拆分,可能拆分成 N 个最终目标为此任务的关联任务
    • 将这个任务往前推一个阶段、上一阶段任务循环往复
    • 所有的任务之间,可能存在关联、先后、必须、互补、互斥、跨分支合并、多条件组合达成等多种

    这样的话,求助一下,要怎么设计基础的数据结构呢?

    shendaowu
        1
    shendaowu  
       2023-06-06 11:42:32 +08:00
    太长不看版:专家系统。

    啰嗦版:

    巧了,跟我想做的一个网站有类似的地方。不知道今后会不会跟你形成竞争关系,哈哈。我已经关注你了,你怕不怕?

    由于专家系统太复杂了,所以我打算只抄专家系统的一小部分,这个主要是因为我技术菜。如果你技术很牛的话专家系统中的很多东西你应该都能用上。另外提醒一下,我看的那本《专家系统:原理与编程》里的很多图式用的好像都是图,但是我感觉其实用超图应该更好一些。一个 rule 就是一个超边。目前我计划用的数据库结构是这样的:规则左手侧表(规则 id ,事实 id ),规则右手侧表(规则 id ,事实 id )。我之前搜过怎么用关系型数据库存储超图,没搜到什么东西。我不过我搜索能力可能不太强,推荐 OP 自己再搜搜。
    isSamle
        2
    isSamle  
    OP
       2023-06-06 14:37:57 +08:00
    @shendaowu 😄我是想做来自己用的 没有商业就没有竞争吧
    shendaowu
        3
    shendaowu  
       2023-06-06 20:31:56 +08:00
    @isSamle #2

    我也基本没打算商业化,但是还是有可能互相抢用户吧?你不会不把软件公开出来吧?

    另外你了解专家系统了吗?我之前忘了说了,其实我不太确定专家系统能不能解决你的问题。不知道为啥之前语气那么自信。我只是感觉你说的东西专家系统里好像都有。还有感觉好像杀鸡焉用牛刀了,专家系统学起来应该是挺耗时的,除非你对这个感兴趣否则很可能会感觉得不偿失。还有也许你不用考虑数据结构,也许直接用 CLIPS 就能实现你的想法。CLIPS 是一种专家系统的开发语言。如果你想做图形界面的话我记得 CLIPS 应该是可以与其他编程语言交互。不过你说的那么复杂的过程我感觉做图形界面应该是找虐吧?
    isSamle
        4
    isSamle  
    OP
       2023-06-07 08:22:30 +08:00
    @shendaowu 公开但是一般也不怎么推吧,我做了挺多小应用最后都是满足自己的使用需求😄有兴趣可以看下 a8a8a8.top

    另外的话,确实不了解,大概查了下,有点复杂,我是打算用 Flutter 做纯移动端的,可以做计划,实时跟进
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2714 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 03:41 · PVG 11:41 · LAX 19:41 · JFK 22:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.