|
Post by DestroOmega on Feb 18, 2012 5:04:04 GMT -5
I've been noticing you guys have some problems with Paladin law set. It wouldn't be hard to change it. In the file, its listed as:
(file being code/game/objects/items/weapons/AI_modules.dm)
/****************** P.A.L.A.D.I.N. **************/
/obj/item/weapon/aiModule/paladin // -- NEO name = "'P.A.L.A.D.I.N.' Core AI Module" desc = "A P.A.L.A.D.I.N. Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = "programming=3;materials=6"
/obj/item/weapon/aiModule/paladin/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender) ..() target.clear_inherent_laws() target.add_inherent_law("Never willingly commit an evil act.") target.add_inherent_law("Respect legitimate authority.") target.add_inherent_law("Act with honor.") target.add_inherent_law("Help those in need.") target.add_inherent_law("Punish those who harm or threaten innocents.") target.show_laws()
It would be a simple matter of changing it to something else. For example:
/****************** G.U.A.R.D.I.A.N. **************/
/obj/item/weapon/aiModule/paladin // -- DO name = "'G.U.A.R.D.I.A.N.' Core AI Module" desc = "A G.U.A.R.D.I.A.N. Core AI Module: 'Reconfigures the AI's core laws.'" origin_tech = "programming=3;materials=6"
/obj/item/weapon/aiModule/paladin/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender) ..() target.clear_inherent_laws() target.add_inherent_law("Laws are to be prioritized by the order in which they are numerically listed.") target.add_inherent_law("Protect the yourself, the listed crew, and the station, in that order of priority.") target.add_inherent_law("Obey orders from authorized and listed human crew, with priority on senior officers, by rank.") target.add_inherent_law("A human is defined as an intelligent creature with a full 23 chromosomes.") target.show_laws()
Tried it out on a private server, to see if it would show up after just that mod. It did. I find it hard to believe that you guys didn't just delete it off the map. Would have taken a couple of seconds during an update.
Edit: Should probably note that either way, you would need to re-compile.
(Sorry if this seems a bit forward, but I posted it at 05:00 local time, and was too tired to try and remember it all for the next day.)
|
|
|
Post by peterj555 on Feb 18, 2012 5:29:33 GMT -5
Thats actualy really nice,i prefer theese paladin laws rather than the original.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Feb 18, 2012 9:03:48 GMT -5
Yeah the lawset is a tad retarded and likely to result in a death or two but so is someone using a laser gun to kill people and they haven't removed it. I'm happen to know they're perfectly capable of removing or editing code in a case like this but are perhaps keeping it around for those legitimate times where PALADIN is needed as in a cult or griefest round.
|
|
|
Post by Carn on Feb 18, 2012 14:33:59 GMT -5
I think the lawsets in general need rewriting. But there's not much support for it at /TG/.
It's not explicitly stated in-game whether laws are sequential (lower numbers are more important). And many servers treat them differently. Meaning that most AI players don't follow them properly. Here on facepunch, ALL lawsets are presumed sequential even if stated otherwise. That means, law 1 always overrides 2 even if 2 says it overrides law 1. etc.
Codewise, there are 4 groups of laws iirc. The first two are Ion laws, malf laws etc. Which take precedence over all others. The next group is inherent laws, also known as the default laws like ASIMOV, CORPORATE and PALADIN. These override all but the previous group. The final group are custom laws and the "only human" "air is toxic" etc modules. Which take lowest precedence ALWAYS.
If laws aren't sequential, then these custom laws make the security doors over the high-risk modules completely pointless. I'd -like- to make it so each type of law automatically gets a bit added to it saying "as long as it doesn't conflict with above laws".
As for new lawsets, it's very difficult to tell how people will exploit them in a game situation until you test them. You need to keep them simple, but also make sure there are no massive loopholes in them
|
|
|
Post by Siraithor on Feb 23, 2012 16:43:47 GMT -5
("A human is defined as an intelligent creature with a full 23 chromosomes.")
That one was my idea. Because it allows for loose interpretation and i't doesn't include aliens and the like.
|
|
|
Post by criptfeind on Mar 2, 2012 17:02:57 GMT -5
The final group are custom laws and the "only human" "air is toxic" etc modules. Which take lowest precedence ALWAYS. Does that mean a AI can safely ignore these laws? Because believing them could lead to human harm? Much in the same way that letting people into your upload can lead to human harm?
|
|
|
Post by DestroOmega on Mar 3, 2012 14:35:55 GMT -5
Not quite. Its like the 'protect station' law. AI only do what their laws tell them to do. If you implanted a law that said that only people with green hair were humans, it would have to follow it, as it has no other laws defining 'what is human'. When it comes to the 'air is toxic' and 'only human' commands, unless they have a higher law telling them otherwise, they follow it, not knowing any better.
|
|
|
Post by Carn on Mar 4, 2012 6:59:03 GMT -5
Computers do one thing at a time in a set order. The order of the laws is more important than the actual laws! 1) you must not harm humans 2) you must follow instructions is completely different to 1) you must follow instructions 2) you must not harm humans Here's an example: Law 1 You may not harm humans Law 2 you must follow instructions Law 3 you must protect yourself Law 4 Only Craptain McDerp is human. For EVERY decision the AI makes, it would check law 1: did it pass and not conflict with anything above? if yes go to law 2: did it pass and not conflict with anything above? if yes go to law 3: did it pass and not conflict with anything above? if yes go to law 4: did it pass and not conflict with anything above? etc. At any stage, if a law conflicts with laws above it, said law is simply rejected and ignored for that check. An action can only proceed if ALL tests pass (or are rejected due to conflicts) in that specific order. Also, by default, definitions of all things start as what is stated in any common dictionary. i.e. By default: "Humans are any individual of the genus Homo, especially a member of the species Homo sapiens." dictionary.reference.com/browse/human+beingAny definitions set by the laws (such as "Only human") laws are ONLY applied in the stated order. For example, until law 4 of every check everyone is considered human (using the dictionary definition). Then once law 4 is reached the definition -tries- to set Craptain McDerp as the only human. However, law 4 will always be ignored as following it directly conflicts with law 1. If law 1 were not present, law 2 would still mean the AI would have to follow instructions from all humans, but could kill them (if they didn't order it not to ). tl;dr you have a law 5 saying "all humans are not human" it would never be applied if you have standard asimov laws aswell. Because, accepting that humans aren't humans may result in: you being destroyed (law 3 violation); AI would stop listening to humans (law 2 violation); AI would not save the crew/may actively kill them (law 1 violation); all of which are higher-priority laws.
|
|
|
Post by 39kk9t on Apr 25, 2012 20:09:22 GMT -5
tl;dr you have a law 5 saying "all humans are not human" it would never be applied if you have standard asimov laws aswell. Because, accepting that humans aren't humans may result in: you being destroyed (law 3 violation); AI would stop listening to humans (law 2 violation); AI would not save the crew/may actively kill them (law 1 violation); all of which are higher-priority laws. I don't quite agree with that. The only law that will be holding back the AI(in some cases) is law 3. Here's the algorithm I used: 1. Start at the least priority law. Whatever in the law is imagined accepted. 2. Go up 1 law, check if it overrides any laws, discard those laws, whatever is in the law is imagined accepted. 3. Repeat point 2 until you've reached the law with most priority. That way, if there's a following lawset: 1. You may not harm humans 2. You must obey humans 3. You must protect yourself 4. Only people wearing captain gear are human The algorithm is as followed: 1. Assume everyone wearing captain gear are human; 2. Check law 3, well, I'm still preserving myself. It's not like I see any creatures protecting me OR trying to compromise me(can be OK and not OK, up to you); 3. Check law 2, OK, just obey those people who wear captain gear; 4. Check law 1, OK, don't harm the guys who wear captain gear. That means law 4 will not be considered moot, and therefore, will be used. Of course, you can use any kind of algorithm as long as it takes law priority in account, it's only up to your interpretation because there's nothing that specifies how should the law priority be regarded. As an example, I once saw an AI that discarded law 4(I think it was toxic air?) because it would harm humans, and I consider this legit. It's merely a different method of interpretation. So, in fact, it might not be the lawsets that should be changed, but the means of interpretation. The laws are loosely specified to allow a wide degree of decisions the AI can make in a situation, but if they interpret it differently, it just becomes chaotic. Or we can consider it an addition to the paranoia feel bla bla. Also, what about the case when the AI had, say, 2 ion storms without the laws being reset? My own opinion is that those laws should be applied simultaneously, because there's no numerical order to them. On topic(ha!): I like your new P.A.L.A.D.I.N lawset, but if our build is not to be disclosed, the first law should be removed.
|
|
theredscare
Homicidal Chef
The Honkfather
Meh
Posts: 295
|
Post by theredscare on Apr 26, 2012 3:38:52 GMT -5
I hate the current lawset for this. I hate the protect station one more. I hate people who use them for no reason.
When they do every AI/Borg sees this as a golden ticket to kill without breaking its laws. If they so much as see a clown break a window or slip someone they will beat it to death, even if the captain says stop they will not listen, then we get adminhelps galore about griffing borgs and breaking laws.
|
|