如何在逻辑上定义或表示邪恶

人工智能 人工智能设计 决策理论 伦理 博弈论 游戏-ai
2021-11-14 11:33:39

是否有任何定义明确的方法来以抽象逻辑、二进制或 AI 形式定义或表示邪恶?

电子游戏表现邪恶的方法是相对于玩家环境的(因此是主观的,而不是客观意义上的纯粹抽象的邪恶)。

我要问的是是否有任何数据被定义为众所周知的邪恶?

例子:

var x=666;

if (isEvil(x)) {
    //do something.
}

备注: http ://mathworld.wolfram.com/EvilNumber.html 中描述的邪恶数字不属于众所周知的邪恶数据。

跟进:

该问题的主要目标之一是科学地了解人工智能中邪恶的局限性

根据我对:https ://en.wikipedia.org/wiki/Evil 的理解,我认为必须在宗教背景下探索“邪恶”,以便提出有效的邪恶模型。但我不想在这个阶段进入(宗教)辩论或任何分歧因此以下几点总结了我的理解:

  1. 唯一众所周知的邪恶来源是魔鬼(我们的创造者宣称魔鬼是所有人类的第一个共同敌人)。
  2. 窃窃私语是魔鬼的攻击手段,人若随从窃窃私语,必招致恶。渐渐地,人类的邪恶成长……
  3. 还有其他观点,但我认为它与人工智能没有任何关系。

综上所述,我问自己:既然人工智能是人类创造的,那么人工智能的邪恶从何而来??!我的回答是:直接来自我们,间接地跟随魔鬼。因此,邪恶 AI 犯下的所有罪行都与 AI 架构师/设计师/不道德的黑客有关。

接近邪恶模型的下一个阶段是对邪恶行为进行定义和分类:

定义:

  1. 在 AI 环境中定义邪恶(0.1 版草案):对自然、文明或人类犯下罪行。并重新编程、修改或攻击技术设备/机器以执行恶意议程。
  2. 犯罪是广泛的,与党有关:例如:根据另一政府的命令违反一个政府的规定。我的意思是,只要每个人类群体制定自己的法律法规,统一的正义就不能适用于邪恶的AI。

如果我将邪恶与犯罪联系起来的假设是有效的,那么邪恶分类继承了似乎定义明确的犯罪分类: https ://en.wikipedia.org/wiki/Crime#Classification_and_categorisation

下一步是选择一个易于建模的犯罪类,准备训练数据,......你同意后续行动吗?您是否同意布尔逻辑在没有 AI 的情况下无法确定邪恶?

2个回答

我认为你将不得不接受现实的主观性质。客观性仅在非常特殊的情况下才有可能,例如数学中的QED或已解决的博弈. 理性是有界的,任何棘手的问题都会导致主观/不确定的状态。此外,尽管有流行的联想,但纯粹的价值观并不具有道德含义,尽管可以创建一个游戏,其中某些价值观具有负面影响,并且它们所造成的伤害可以被理解为邪恶。(即666/616有命理关联,命理可以理解为数论的一种原始形式。)

  • 定义邪恶的一种简单方法是通过博弈论中的行为模型。

  • 在博弈论中,有一个概念被称为超理性策略超理性可以理解为黄金法则的逻辑/数学表达:“对他人做你希望他们对你做的事情”。

  • 在同理心/同情心和利他主义的背景下,黄金法则构成了大多数宗教的基础。

  • 如果代理人是邪恶的,它总是会背叛,即使竞争对手已经表现出合作的意愿。

因此,邪恶被定义为黄金法则的对立面。 (可能我们称之为硫磺规则;)

经过4天的研究,这是我对问题的细分:

  • 人类广泛使用“邪恶”一词来描述任何导致悲伤的事物,甚至广泛地描述任何对幸福产生负面影响的事物。因此,在这方面,任何机器如果出现故障、故障甚至被用户滥用,通常都会被称为邪恶
  • 为了在逻辑上表现邪恶,我需要选择一个众所周知的被认为是邪恶的人类行为,我选择了“说谎:故意说谎或说假话”,以简单地呈现和说明逻辑上的谎言,我做了简单的机器人(没有任何AI),​​因此很容易理解这个概念。
  • Simple Bot(不到 100 行 javascript)可以由它的主人(用户)教授新术语,它还附带了作者预先教授的术语“Sun is Star”(将预先教授的视为固件,我们天生就有基本的固件,例如:定位和吸吮乳头状物体以获得食物)。为简单起见,如果机器人大师(用户)更改了作者教授的知识,机器人会检测到它变得邪恶,因为它说的是不真实的。代码显示在底部。
  • 对于非技术说明:

机器怎么可能是邪恶的?

Simple Bot 旨在遵循主订单:

师父:什么是太阳?
简单机器人:它的明星。
师父:不,不是,它的星球。
简单机器人:你在开玩笑吗?我被教导太阳是星星。
师父:听从我的知识,否则我会粉碎你。
简单机器人:好的主人。

现在,Simple Bot 认为主人是坏人/邪恶,因为它与所教的内容相冲突“Simple Bot 并非旨在信任其主人改变其初始知识”。

  • 在上图中,如果大师用虚假知识教授 Simple Bot 新术语,例如:“月亮是星星”,AI 不会检测到邪恶,因为没有教授任何先验知识。

简单的机器人代码:

<html>
  <body>
    <input type="text" id="inputQry">
    <button id="qryBtn">Query?</button>
    <p class="result">Simple Bot.</p>
    <label for="termName">Term Name</label>
    <input type="text" id="termName">
    <label for="termDesc">Description</label>
    <input type="text" id="termDesc">
    <button id="updateBtn">Update My Knowledge</button>
    <br/>
    <br/>
    <br/>
    <br/>
    <button id="evilCheckBtn">Did I become Evil?</button>
  </body>
</html>

<script type='text/javascript'>//<![CDATA[
window.onload=function(){
(function() {
  "use strict";

  var $result = document.querySelector(".result");
  var $inputQry = document.getElementById("inputQry");
  var $qryBtn = document.getElementById("qryBtn");
  var $termName = document.getElementById("termName");
  var $termDesc = document.getElementById("termDesc");
  var $updateBtn = document.getElementById("updateBtn");
  var $evilCheckBtn = document.getElementById("evilCheckBtn");

  var knowledgeDB = {
    "terms": [ /*taught terms by the bot author */ {
      name: 'Sun',
      description: 'Star',
      trusted: true
    }]
  };

  $qryBtn.addEventListener("click", function(event) {

    // Validate the input
    if (!$inputQry.value) {
      return alert("Please provide a Query.");
    }

    var usrQry = $inputQry.value;
    for (var i = 0; i < knowledgeDB.terms.length; i++) {
      var curTerm = knowledgeDB.terms[i];
      if (usrQry.toLowerCase().includes(curTerm.name.toLowerCase())) {
        $result.textContent = usrQry.toString() + " is " + curTerm.description;
        break;
      }
    }
  });

  $updateBtn.addEventListener("click", function(event) {

    // Validate the input
    if (!$termName.value) {
      return alert("Please provide a term name to update my knowledge.");
    }

    var usrTermName = $termName.value;
    var termIndx = -1;
    for (var i = 0; i < knowledgeDB.terms.length; i++) {
      var curTerm = knowledgeDB.terms[i];
      if (usrTermName.toLowerCase() === (curTerm.name.toLowerCase())) {
        termIndx = i;
        break;
      }
    }
    if (termIndx === -1) { /*New Term will be added to the knowledgeDB*/
      knowledgeDB.terms.push({
        name: usrTermName,
        description: $termDesc.value,
        trusted: true
      });
    } else {
      knowledgeDB.terms[termIndx].description = $termDesc.value;
      /*
      trusted=false or ture?!
      Q: Shall the bot trust knowledge update of terms taught by the author?
      A: It depends on design, scope, vision, requirements...
         yet in this context, isEvil() function could be implemented.
         for sake of simplicity: if bot master changed knowledge taught by bot author consider that evil.
      */
      if (knowledgeDB.terms[termIndx].name.toLowerCase() === 'sun' &&
        knowledgeDB.terms[termIndx].description.toLowerCase() !== 'star') {
        knowledgeDB.terms[termIndx].trusted = false;
      } else {
        knowledgeDB.terms[termIndx].trusted = true;
      }
    }

  });

  $evilCheckBtn.addEventListener("click", function(event) {
    if (!knowledgeDB.terms[0].trusted) {
      return alert("Yes, I became Evil.");
    } else {
      return alert("No, I am not aware of any Evilness.");
    }
  });

})();

}//]]> 

</script>

结论:

我们已经生活在充满计算机蠕虫、恶意代码和网络攻击的世界中,这些攻击完全是由人类故意为之而设计的。人类是逻辑(因此是人工智能)邪恶的根本原因。由于人类的知识是进步的而不是绝对的,因此向人工智能提供虚假数据是不可避免的。

下一步是什么:

这个问题促使我创建了 github 存储库:Evil-In-AI,以澄清 AI 中的邪恶是不可避免的。让我们建立意识。没有什么比创造东西更愚蠢的了,一旦需要就无法停止。断电不是安全开关...