23

我最近在审查关于分诊的帖子,偶然发现了一个:https://stackoverflow.com/questions/77876897/knights-and-knaves-logical-equivalences-problem-for-discrete-structures网站

在此处输入图像描述

我立即认为这与编程无关,并标记了它。然而,当我检查答案时,一位高级代表回答了这个问题。它还标记了但是,该标签的描述是:

只有与离散数学相关的软件开发问题才是主题。离散数学是与离散现象相关的数学分支,与几何、实分析、物理等连续现象相反。典型的离散数学主题包括离散概率、组合学、图论、算法和复杂性,以及矩阵、差分方程、递归。

我认为这不符合标准,但这个问题仍有可能与编程有关。

我找到了[离散数学]的目的是什么?,但它没有答案。

这个问题适合堆栈溢出吗?

6
  • 21
    在我看来,这不是一个编程问题。答案也不包括任何编程。这是一个常见的逻辑谜题,但与编程无关。 评论 1月28日16:06
  • 35
    "一位资深用户回答了这个问题“声誉高的用户发布答案与话题无关。只需忽略回答者的声誉,并以最佳判断评估问题。 评论 1月28日16:21
  • 4
    与主题问题合理的标签有关并不能使其成为主题问题。请参见如何提问,帮助中心&关闭和权限文档。PS逻辑的使用是离散数学,但该术语通常不包括逻辑。 评论 1月28日18:34
  • 1
    我想这个标签是相关的。布尔代数和德摩根定律等可以主题明确。尽管大多数时候这样的问题可能属于cs.stackexchange.com而不是。
    – 伦丁
    评论 1月29日11:52
  • 1
    出于某种原因,这个问题有一个“不查找输入”近距离投票,以及明显偏离主题这个问题有两个未删除的注释。。。发生什么事?这几乎不是一个有争议的结局。。。 评论 1月30日12:57
  • @塞尔布鲁斯未被删除的选民可能没有意识到,如果他们的未被删除成功,问题会自动再次被删除,因为他们被关闭并被负面评分。
    – 泰勒H
    评论 1月31日16:13

2个答案2

重置为默认值
42

这个问题适合堆栈溢出吗?

不,因为这不是一个编程问题。

这个标签上写着:

只有与离散数学相关的软件开发问题才是主题。

这个问题不涉及任何算法或任何与软件开发相关的东西。

8
  • 4
    在我看来,这个问题需要一种算法,或者至少是一种解决它的方法。事实上,这就是问题的第一行所说的。因此,不要阅读“我如何开始解决这个问题”,默认情况下不包括“通过编程”,假设这是一个编程问答,您只需假设“通过编程。”。现在这确实是一个编程问题。 评论 1月29日21:42
  • 2
    @jmarkmurphy即使被解释为算法问题是,它仍然缺乏重点,也不清楚。 评论 1月29日22:42
  • @jmarkmurphy当然,你可以添加这个(更像是使用哪种编程语言……),然后编辑问题使其成为本体论,或者发布你自己关于这个主题的问题。事实上,最初的创建者并没有这样做,所以大多数人都没有意识到这个问题与编程有关。我相信有很多方法可以使它与编程相关,但必须有人这样做,否则就不算了。 评论 1月30日11:23
  • 4
    @jmarkmurphy要求一个算法是不合时宜的。我们需要实用的问题,例如,给我这个算法的实现。只要有一些明显与编程有关的问题,算法问题就可以了,要么是因为这是一个关于实现的问题,要么是程序员面临的常见问题。 评论 1月30日12:29
  • @NoDataDumpNoContribution询问“使用哪种编程语言”是非常主观的,很可能会演变成一场关于哪种语言最好的圣战,所以这肯定是不可能的,但算法是编程的核心,除非你只是在漫不经心地编写代码。当然,它们是一个抽象,必须实现,但程序员面临的不常见问题是最有趣的问题。 评论 1月30日16:13
  • @Braiam我想在询问算法和询问算法之间有一条很细的界线。你是否也会说,针对特定情况要求设计模式也是不符合主题的? 评论 1月30日16:28
  • 1
    @jmarkmurphy算法问题本身在堆栈溢出方面通常是不受关注的,除非它们专门涉及代码/编程实现所述算法的。
    – 泰勒H
    评论 1月30日18:09
  • @jmarkmurphy“非常主观”对不起,我是指另一种(非常客观的)方式,提问者指定他/她对什么编程语言感兴趣。我模糊地记得有一次关于不要求特定语言的问题是否是本体论的讨论,但不再是细节。然而,指定一种语言通常会使问题本体化。只有在这种情况下,我才能读懂最初创造者的想法。如果我能做到这一点,我会简单地编辑这些信息,但我不能接受(或想)这个问题。 评论 1月30日22:22
-22

这类问题需要严格的逻辑推理,不要混淆,有时还需要对逻辑进行创造性的评估。在这个层次上,这与编程无关。这样的谜题应该是人类的乐趣,而不是计算机任务。

然而,您可以很容易地将这个谜题转换为符号布尔逻辑中的语句,然后任何编程语言都可以解决它(使用符号简化或强制搜索)。也许不是OP所期望的,但对于任何试图解决此类谜题的人来说,使用编程的答案将是一个非常有用的工具。

我刚刚问过ChatGPT这个谜题,它输出了很多看起来可信的推理,从逻辑角度来看,这完全是胡说八道。这显示了编程对此类难题的另一种可能应用:如何验证可能包含错误的解决方案?将所有内容转换为布尔逻辑语句并验证每个语句!因此,对OP的回答对任何想这样做的人都很有用。

所以,在我看来,你可以对OP做一个主题上的回答,这也有点让OP成为主题。

21
  • 16
    你在ChatGPT失去了我。人工智能的想法或输出是什么超过无关紧要。不,能够制定出一个主题答案并不能成为一个主题外的问题。“空气阻力的公式是什么”可以用代码回答。这并不是一个编程问题。 评论 1月30日12:55
  • 1
    我想知道你是否真的不同意我在ChatGPT上的观点,或者不明白我想说什么。我已经澄清并扩展了我的想法。无论如何,你不同意我其余的推理,所以我们没有机会达成一致;只是想知道具体的部分。
    – 解剖
    评论 1月30日13:22
  • 你在那里表明了你可以应用为拼图编程。你基本上是在重申可以用编程来回答。再说一次,这并不能使问题成为主题。 评论 1月30日13:26
  • 2
    好的,我已经知道你不同意我的观点。这里没有什么新鲜事。
    – 解剖
    评论 1月30日13:32
  • 9
    是你让我澄清的;-) 评论 1月30日13:47
  • 11
    现在,这是跳出框框的思考,以规避既定规则。现在我可以回答关于堆栈溢出的烹饪问题,只要我将答案表述为生成配方的代码!
    – 金比
    评论 1月30日16:03
  • 5
    @Gimby只要用厨师; 食谱是本机支持的! 评论 1月30日16:42
  • "你可以对OP做一个主题式的回答,这也可以让OP成为主题式的。“这是不对的。你可以编写代码来执行用户在计算机上可以执行的任何操作。这并不会使问题“如何打开我的web浏览器”成为一个主题问题。
    – 泰勒H
    评论 1月30日18:08
  • 一个好的答案可以把一个坏问题变成一个好问题。我在这里看过很多次了。这并不总是发生;可能发生在1%的病例中。我的主张是,这甚至可以成为一个关于主题的非主题问题。比方说1%的情况。所以你的例子代表了其他99%。我同意它们的存在。我们之间的区别在于,你不相信另外1%的存在,而我相信。
    – 解剖
    评论 1月30日18:58
  • 1
    @剖析而不是简单地重新陈述你的观点“但它可以发生“,你的论点将是许多如果你能链接到一些已经发生过的例子。。。我很难相信。 评论 1月30日22:22
  • 2
    问题是否主题化完全取决于问题无论发布什么答案都是无关紧要的。
    – 克里斯
    评论 1月31日0:59
  • 4
    如果问题不是关于编程,那么将答案扭曲成编程解决方案并不会改变问题本身。如果问题是非主题的,那么它就是非主题的。该指南的目的是减少噪音和混乱,而找到一种复杂的方法来避免跑题会适得其反。 评论 1月31日2:10
  • 2
    如果你考虑一个关于主题的答案,并且足够好,以至于一个非主题的问题应该保留下来,编辑非主题问题,使其成为主题。答案的存在并不能使问题成为主题。 评论 1月31日5:43
  • 1
    @KenWhite虽然我正式同意你的观点,但我的看法正好相反:如果你有机会获得关于如何将编程应用于某个问题的有价值的答案,那么由于问题的呈现方式而忽视它是适得其反的。不知道答案的人通常无法完美地表述问题;有时甚至足够。如果问题是非主题的,请编辑它,使其成为主题。该指南的目的是在社区中共享有价值的编程解决方案,而不会造成混乱。
    – 解剖
    评论 1月31日9:08
  • 1
    仅仅因为你可以用一段代码来回答一个问题,这并不意味着这个问题是一个合适的答案,或者说这个问题是关于主题的。举个例子:OP问“我如何使word文档中的第一句话成为标题?”仅仅因为你可以提供这样做的代码并不能使这个问题变得更好/更符合主题,最多你是在允许人们绕过“SO不是编码服务”的界限最糟糕的是,你给了一个甚至不懂你写答案的编程语言的人一个无用的答案。
    – 尼菲姆
    评论 1月31日16:44

你必须登录来回答这个问题。

不是你想要的答案吗?浏览标记的其他问题.