V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
imn1
V2EX  ›  奇思妙想

不算什么奇思妙想,我觉得应该有这样的工具但没找到

  •  
  •   imn1 · 2016-10-28 14:30:57 +08:00 · 2879 次点击
    这是一个创建于 2977 天前的主题,其中的信息可能已经有所发展或是发生改变。
    需要一个 GUI ,简单如 html with js 也行

    举个例子
    有 ABCD 四个环境条件, AB 各有两种状态, CD 各有三种状态
    根据不同状态的组合,罗列所有可能性,每种可能对应一个值(类别),类别也只有三种
    例如此例共 36 种可能性

    然后写逻辑式(规律需要自己发掘),每条限订使用不超过若干个(例如 5 个)基础逻辑比较,期望用最少的条数涵盖所有的可能性
    限订较少基础判断是避免一长串 (...) or (...) or (...) or (...) ... 这样的超长逻辑式难以阅读,不是说非要这样
    “基础逻辑”的意思是只有一个逻辑判断符,例如 A==2

    期望 GUI 做什么呢?就是每写一条,能把这条所涵盖的可能性“亮灯”,例如背景颜色改变
    这样,可以比较清晰知道在已完成的部分,还有什么可能性没有被逻辑判断涵盖,避免遗漏

    需求源自写某些程序,需要根据逻辑对“全体”进行分类,但逻辑未知,需要自己依据已知状态规律组织逻辑语句
    像上面例子,写满 36 条当然就没问题了,但这时往往希望逻辑语句尽可能少,但又要在尽可能少的情况下没有遗漏,要么反复测试,不然就比较烧脑了


    如果有这样的工具请介绍一个给我, linux/web 均可

    -----------------------------------------------------------------
    A B C D V
    1 1 1 1 1
    1 1 1 2 2
    1 1 1 3 3
    1 1 2 1 1
    1 1 2 2 2
    1 1 2 3 3
    1 1 3 1 1
    1 1 3 2 1
    1 1 3 3 3
    1 2 1 1 1
    1 2 1 2 3
    1 2 1 3 3
    1 2 2 1 1
    1 2 2 2 2
    1 2 2 3 3
    1 2 3 1 1
    1 2 3 2 1
    1 2 3 3 3
    2 1 1 1 1
    ……
    下面的值全是 1 ,所以第一条逻辑很简单 if A==2 then V=1 ,填入一个框后,上表对应的行变色就可以了
    这个只是例子,不是让大家做这道题

    至于这个工具的实用性,写程序自然不用说,我首先想到的是足球比赛,某队伍小组出线(或夺冠)的可能性,罗列所有可能,把实时比分填进去就能知道还剩多少条可能
    那些足球解说或者记着,显然都是文科出身,总是“算错”,不过也难为他们,有些逻辑是比较烧脑的
    11 条回复    2016-11-04 23:55:11 +08:00
    forestyuan
        1
    forestyuan  
       2016-10-28 22:04:35 +08:00
    自己写一个貌似也不难吧
    imn1
        2
    imn1  
    OP
       2016-10-29 10:49:11 +08:00
    @forestyuan
    所有关于界面的都不熟悉,包括 html , js 知识停留在 ie6 时代吧
    现在写 js 只写 firefox 浏览器级的 uc.js ,写过几个 uc.js 辅助浏览,如自动输入密码,小按钮之类
    可怜 firefox 现在也要放弃 uc.js 了,这样我又多了一门过时的技巧……

    其他的基本只会 cli

    不难,当然原因是懒,主要是不算迫切需求,没有“一定搞定它”的动力
    jedihy
        3
    jedihy  
       2016-10-30 11:04:54 +08:00 via iPhone
    这不是一个 dfs 吗?
    imn1
        4
    imn1  
    OP
       2016-10-30 11:38:05 +08:00
    @jedihy
    dfs 是什么,科普一下
    jedihy
        5
    jedihy  
       2016-10-30 14:32:05 +08:00 via iPhone
    深度优先搜索
    imn1
        6
    imn1  
    OP
       2016-10-30 14:52:59 +08:00
    @jedihy
    哦,果然是这个,我也没搜索错
    不过你说的应该是怎样找规律,就是达成“最少语句”这个需求
    但我说的需求不是这点,写逻辑这个交给其他去做(怎么找另话),而是在已经找出规律后能逐条语句显示覆盖了多少范围
    yalanaika
        7
    yalanaika  
       2016-10-31 11:56:41 +08:00
    最少语句先要有运算集啊。。 如果全是布尔逻辑的话那就是数字逻辑 这个的最简形的研究已经很透彻了 问题是有三值和多值 就很烦了
    domty
        8
    domty  
       2016-11-03 17:42:54 +08:00
    就是说假设有多个变量组成的一个组合的状态。
    当你指定其中一个(或几个)变量的状态后,程序能够返回所有符合这个状态的组合状态的结果?
    imn1
        9
    imn1  
    OP
       2016-11-03 17:59:36 +08:00
    @domty
    差不多,重点是显示不符合的结果
    skyblue
        10
    skyblue  
       2016-11-04 15:55:48 +08:00
    excel?
    Arnie97
        11
    Arnie97  
       2016-11-04 23:55:11 +08:00 via Android
    Prolog ?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   875 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:00 · PVG 06:00 · LAX 14:00 · JFK 17:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.