Asimovs lagar i pseudokod eller tillämpar de tre lagarna idag [stängd]

21

Jag frågade först detta på Writers.SE men blev uppmanad att jag skulle kunna göra bättre här ...

Jag jobbar på en science fiction roman som kommer att innebära en stor mängd och olika syntetiska livsformer. Jag har varit starkt influerad av Asimovs verk, och även om jag inte uttryckligen anger de lagar jag använder för styrningen av det artificiella livet, vill jag ha en solid grund för hur mina robotar - eller vad de än kallas - kan att fatta etiska beslut. Ur ett plottperspektiv vill jag också på några realistiska sätt sätt att dessa regler kan hackas eller på annat sätt brytas ner.

Vad jag skulle älska att hitta / engagera är en diskussion om vad några algoritmer som skulle göra Asimovs lagar om robotikar fungerar , kan se ut som översatt till nuvarande programmeringskoncept. Om det redan finns så bra! Om inte, hoppas jag att vi kan prata om det eller att folk kan rikta mig till rätt ställe.

Jag vet att jag kunde ställa den här frågan på en ren kodningsplats, men jag vill inte översvämmas med rader med raden kod. Samtidigt vill jag inte läsa igenom tomter av filosofi som inte har någon grund i modern datorprogrammering. Jag letar efter något däremellan ... Så jag trodde att det måste finnas några andra sci-fi-sinnen i SO-samhället med erfarenhet av denna typ av forskning.

Jag vill att min slutprodukt ska vara hård SF och jag har en examen i programvara, men jag vill inte behöva spendera 20 år i robotik för att kunna undersöka detta ämne heller. Om någon skulle vilja att jag skulle klargöra, bara kommentera eller skjuta ett försök till ett svar. Jag uppskattar mycket hjälp med att hitta några svar på den här frågan.

Redigera: Tack för kommentarerna ... är någon villig och kan starta en chatt på den här ideen?

    
uppsättning Steve the Maker 25.01.2012 04:20

7 svar

29

En mycket spekulativ fråga, men låt oss ta en koll på det:

Steg # 1: Definiera en robot

  • En robot är i grunden en dator med givare och manöverdon anslutna.
  • Du kan ta bort sensorerna och manöverdonen utan att minska kärnan i en robot, som lämnar datorn eller hjärnan.
  • En dator är baserad på tre saker (som någon med din utbildningsnivå vet väldigt bra): Input, Processing and Output

Steg # 2: Lagarna i läsbar form

  • A robot may not injure a human being or, through inaction, allow a human being to come to harm.
  • A robot must obey orders given it by human beings except where such orders would conflict with the First Law.
  • A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.
  • Zeroth Law: A robot may not harm humanity, or, by inaction, allow humanity to come to harm.
  • Steg # 3: Algoritmförutsättningar

    • Förmåga att känna, objektivt kvantifiera och jämföra "Harm"
    • Grundlig kunskap om mänskliga sårbarheter (fysiologiska, näringsrika, psykologiska)
    • En grundlig förståelse av kausala lagar i dess operativa domän (t ex apparat A utsänder strålning; betongkolumn B kan bara motstå en kraft på 10 000 newtoner etc.).
    • Därmed har förmågan att förutsäga konsekvenserna av alla handlingar som är öppna för det och åtgärder som människor kan komma att ta, med en noggrannhet som är acceptabelt för människor.

    Steg # 4: Algoritm

    • Råingång : Sensoringångar (visuell, hörsel, taktil, fjärranslutna sensorer, realtidströmmar från distribuerade nätverk som Internet etc.)
    • Bearbetad ingång för algoritmen : En massiv vektor / matris med projicerade sannolikheter: t.ex. bilens hastighet & riktning projicerat att träffa mänsklig H på 3 sekunder; mänsklig förarens reflex: 0,3 sekunder; den här roboten är ETA till H: s plats: 2 sekunder - > Fortsätt bearbeta dessa variabler tills en riskgräns överskrids och (i detta fall innan bilens ETA når två sekunder) initiera förebyggande åtgärd.
    • Råproduktion : Utvärderad riskmatris av möjliga åtgärder
    • Utvärdering av möjliga förebyggande åtgärder mot tiden som tas, risk för själv och andra, sannolikhet för framgång, allvarlighet av mänsklig skada är t.ex. flytta människan H ur vägen? varna föraren? varna människan H om bilen rör sig långsamt?
    • Slutlig utmatning : Åtgärd
    • Samtidigt som åtgärder vidtas, kör en kontinuerlig utvärderingsslinga för att se om riskvariablerna ändras, så att åtgärder kan justeras vid behov.

    Inblandning

    • Observera att detta i princip är ett riskbedömningssystem.
    • Observera att klausulen "genom inaktivitet, tillåten" är mycket svår att genomföra. Endast robotar med en djupgående förståelse för människor kommer att kunna ingripa i mänskliga åtgärder för att förebygga skada.
    • Observera att den zerotiska lagen kräver riskdata som omfattar hela mänskligheten att det blir svårt att genomföra i enskilda robotar - det kommer att ta en super dator.
    svaret ges 25.01.2012 05:32
    10

    Som ett tillägg till @HNL svar, här är några diagram som visar robotinternals.

    Allmänt diagram

    Egentligenkanbearbetningendelasuppitvålager,påsammasättsomettmänskligtneuraltsystem.Detskafinnasettsystempåhögnivåsomutförhögauppgifter(som"Go shopping") och lågnivåuppgifter som "Vänster" ben - gör nästa steg ". Det verkar mer logiskt ur teknisk synvinkel. Det är lättare att utveckla. Det är också lättare att återanvända vissa moduler. Nivåns uppgifter har olika inriktning - högt system hanterar relationer och etiska, men låga nivåer - fysiska rörelser och interaktion med saker.

    Så processen i "neurala systemet" är som följer:

  • Modul för parsing av läge skapar en beskrivning som ska konsumeras av nästa modul. För högnivåsystem beskriver det berörda personer (mästare som beställde), platser (butik) etc. Lågnivå beskriver närmaste fysiska miljö (trottoar, korsning etc.).

  • Beslutsfattande -modulen fattar ett beslut. Högnivåmodul är den plats där vi implementerar tre lagar främst. Lågnivåmodul definierar om robot ska vänta på grönt ljus, eller stoppa rörelsen för att inte kasta en katt till exempel.

  • Åtgärder -modulen tar emot beslut och utför åtgärder. Hög nivå: För att handla behöver jag ta reda på vad som krävs, gå ner på gatan, etc. Högaktighetsåtgärder är uppdelade på serier av lågnivååtgärder (flytta armar, ben, säg något osv.)

  • Feedback ger roboten möjligheter att se / förutse sina egna handlingar eller deras konsekvenser.

  • Beslutsmodul

    Inmatningärsituationenbeskrivning(enutgångfrånparsermodulen).Beslutsmodulanvänderfleraolikametoderföranalys.

    Förstgenomattpasseragenomneuraltnätverkrealiserarrobotaruppgiftenochtillämparsedanlogiskaregler.Robotlagarkanstriktspecificerasiundantagsbehandling,sådetkanreageraomedelbart.Restenavuppgifternaskapasseragenomneuralanätverks/logikmoduler(kanskefleragånger)förattfåredapånågongenomförandeplan.

    Sammanställning

    Fördetförsta,frånetttekniskperspektiv,utförsrobotaravuppgifter.Uppgifterpåhögnivåäruppdeladepåensekvensavenklauppgifter,somäruppdeladepåensekvensavlågnivåuppgifter,somrörelseravenvissrobotdel.Robotanalyserarkontinuerligtsituationenochfattarbeslutomuppgiftskönskaändras.

    Härärnågratankaromhackingochsubversion:

  • Ävenomrobotarenssensorerärsåbraattrobotenkanspåraallamänniskoristaden,bördubegränsarobotaretsansvar.Robotkantillexempelintehjälpamänniskorsomliggerpåandrasidanstaden.(Dettastriderfaktisktmotförstalagen).Såtroligenuretisksynpunktbördubegränsarobotenssensornsförmågor.

  • Dukanintegerobotstyrdaprognoserförmågor-igatanrobotkommerattberäknamänniskordestiniesföralltid.Detkanfaktisktantingenvaraett"robot orakel" eller bara en intressant funktionsfel.

  • På grund av modulär natur kan du plugga in i en annan parseringsmodul för robotar. Till exempel, plugga robot i ett datorspel och se vad som händer.

  • Beslutsmodul ska vara olika i olika länder / kulturer. Bra exempel - olika gester i olika kulturer och robotar ska reagera på ett annat sätt. (Förvisso skulle japansk robot vara förvirrad i Europa).

  • Du kan ge robotar förmåga att kommunicera varandra via nätverket. Så de kunde förena och samordna sina handlingar för att uppfylla lagar. Från den andra sidan kan det vara en katastrof som Skynet.

  • När den del av beslutsfattande modulen är trasig och roboten dödar en mänsklig robot borde det fortfarande "förstå" att situationen skulle gå igenom sensorer till "hjärna" och "minne". Vad ska robot göra i det här fallet? Rapportera om sig själv som trasig, eller utveckla "självförsvar" instinkt?

  • Det kan vara intressant minne att radera flödet. Till exempel finns det ett neuralt nätverk som innehåller vissa regler implicit och ett separat "minne" där robotar lagrar vissa fakta. Så om du bara raderar rakt minne, kommer robotens beteende och en viss erfarenhet fortfarande att ligga i det neurala nätverket, och roboten kan på något sätt återställa "raderas" bortom sig själv.

  • svaret ges 20.02.2012 12:41
    3

    Från de historier jag har läst, ser det ut som om Asimov gjorde ett bra jobb på att skörda detaljerna om hur positronic hjärnan verkligen fungerar. Det här har skapat samma fråga, nämligen hur man genomför de tre lagarna i en artificiell hjärna. NHL gjorde ett bra jobb när man sammanfattade robotarna som datorenheter med en massa sensorer och manöverdon kopplade till dem. Men då tog han det vanliga sättet att se datorn som en mega-dator på något sätt. Vi har inte denna typ av mega-datorförmåga som människor, men vi kan själva bedöma risker och kan vidta åtgärder. Men som sunt förnuft kan misslyckas (ganska ofta faktiskt), det skulle vara en mycket bra förstoring och bör ses som en extra oberoende modul om du vill. Den modulen, när den matas med minnen eller några fakta som extraheras från sinnena, skulle ge ännu mer information i form av användbara utgångar till andra delar av en artificiell hjärna.

    Jeff Hawkins sa i sin bok On Intelligence , att vi kanske inte skulle kunna tala om "artificiell intelligens" utan snarare "sann intelligens inducerad av en artificiell enhet". Jag föreslår alla intresserade av denna typ av saker att läsa den här mycket intressanta boken. För mig var det en inspirerande. När jag jobbar i maskinlärningsfältet, blev jag ganska frustrerad av de anvisningar som hittills tagits på detta område, som Hawkins för en tid sedan.

    Kanske bör vi ta itu med problemet med att efterlikna biologin närmare, som hans arbete föreslår, genom att använda ett så kallat "hierarkiskt temporärt minne". Intelligens (och därför minne) är faktiskt gjord av en hierarki av föreningar av en mängd stimuli (inklusive åtgärds feedbacks) kodade i form av kretsar i hjärnan. Om vissa beteenden är djupt rotade i oss är det delvis på grund av vissa typer av belöningar som vår hjärna släpper från tid till annan i form av hormoner. Hormoner underlättar (eller hämmar) byggandet av särskilda föreningar som hjärnan anser vara bra (dåliga) för oss (vilket inte nödvändigtvis är bra (dåligt) i det absoluta ... tyvärr). I den meningen och med hänsyn till de tre lagarna anser jag att en robot, för att den ska vara riktigt anpassad till våra samhällen, borde ha begränsade handlingsmedel först (färre aktörer till exempel) och bör utsättas för samhället och dess miljö som så mycket som möjligt innan de får lov att samverka fullt ut med dem. Några önskade beteenden och föreningar kan genomföras med underlättad fast stimuli för att ge starka tips på vad som är bra eller dåligt i ett visst sammanhang. Dessa fasta stimuli är de närmaste sakerna jag kan komma att koda de tre lagarna i praktiken. Dessa föreningar bör frysas på något sätt för att de ska vara tillräckligt effektiva. Människor kan utveckla dåliga eller goda vanor som trots allt kan vara svåra att förändra. Genom att göra de speciellt svåra att förändra borde vi vara okej.

    Jag tror inte att perfektion någonsin kommer att uppnås med denna typ av arkitektur. I vissa fall skulle det misslyckas, som människorna själva gör, men med informationen från vissa extra moduler, som "mega-computing", kan detta lätt lindras. Jag är villig att satsa på att en artificiell hjärna i en känsla av en datormaskin ensam aldrig kommer att gå så långt som det heller. Faktum är att mänsklighetens intelligens själv i stor utsträckning kan överträffas av intelligens som induceras av sådana slags enheter. Det kan byggas upp istället för att gå vilse vid något tillfälle (som i slutet av ett mänskligt ämnes liv). Allt mänskligt är kvar med språk för att extrahera sin intelligens eller kunskap ur sin egen hjärna. Tyvärr tar det tid att överföra den kunskapen till en annan hjärna på detta sätt. Vidare, oavsett hur svårt du försöker förändras det ofta i processen. En annan fråga är att ibland gör vi aldrig viktiga föreningar som dock är latenta och ligger nära att bli gjorda om de ges lite mer tid. Slutsats, mycket tid går förlorad. Du ser aldrig mer än toppen av intelligensiset i en enda hjärna på så kort livstid som vår. Kanske en lösning på våra begränsningar skulle vara att hitta ett sätt för våra hjärnor att kommunicera med en sådan enhet. Det skulle vara mycket svårare jag tror men inte omöjligt. Etik skulle också peka på näsan jag antar.

    Jag skulle uppskatta om det här var på ett forum där jag kunde prata mer om det eftersom jag avviker mycket. Jag är inte den som höll på med det förresten ... Hawkins överförde det till min hjärna genom sin bok. Och för honom borde vi kanske överväga former av intelligenta agenter i en bredare mening, inte nödvändigtvis mänskliga eller djurliknande enheter. Gärna också stal dessa idéer för dig nästa bok:).

        
    svaret ges 23.04.2012 15:31
    3

    P.W. Sångare hävdar att Asimovs robotarlag inte fungerar. Han tog upp problem med genomförandet av Asimovs "Tre lagar av robotar" i sin bok " Wired for War " (2009), specifikt på sidan 423 i paperback-utgåvan.

    There are only three problems with these laws. The first is that they are fiction. They are a plot device that Asimov made up to help drive his stories. Indeed, his tales almost always revolved around robots' following the laws but then going astray and the unintended consequences that result. An advertisement for the 2004 movie adaptation of Asimov's famous book I, Robot put it best: "Rules were made to be broken."

    For example, in one of Asimov's stories, robots are made to follow the laws, but they are given a certain meaning of "human." Prefiguring what now goes on in real world ethnic cleansing campaigns, the robots only recognize people of a certain group as "human." They follow the laws, but still carry out genocide.

    The second problem is that no technology can yet replicate Asimov's laws inside a machine. As Rodney Brooks put it, "People ask me about whether our robots follow Asimov's laws. There is a simple reason [they don't]. I can't build Asimov's laws in them." Daniel Wilson is a bit more florid. "Asimov's rules are neat, but they are also bullshit. For example, they are in English. How the heck do you program that?"

    Finally, much of the funding for robotics research comes from the miltary. It explicitly wants robots that can kill, won't take orders from just any human, and don't care about their own lives. So much for Laws One, Two, and Three.

    Som programmerare skulle jag hata att ha dessa lagar som programvarukrav. De handlar om abstrakta begrepp: skada, passivitet, mänsklighet, ordning, existens, mänsklighet. Dessa begrepp är inte definierade i lagarna och du skulle ha svårt att få en grupp människor att komma överens om vad de menar.

    Om man antar att människor kan komma överens om konkreta, observerbara definitioner för dessa abstrakta begrepp och tekniska hinder kan man övervinna att många parter, särskilt militären, inte har något intresse av att koda dessa lagar i robotiskt beteende.

        
    svaret ges 25.04.2012 04:58
    2

    Jag föreslår att du utforskar följande vinklar:

    Asimov undersökte i sin robothistoria förändringar i beteende om lagens relativa vikt ändras. Till exempel, i en gruvmiljö, reducerades den första lagens vikt eller robotarna skulle inte tillåta människor att lämna sina rymdskepp (på grund av risken för att bli strålande). Så det finns en) en djup resonemang varför det finns tre lagar och b) varför de är i denna ordning.

    Naturligtvis är verkligheten mycket mer komplex än i berättelserna. Om du har ett tåg som kör ner ett spår och det finns tre personer i spåret, skulle du vända en korsning om det sparade de tre liven? Vad händer om det finns en enda person på andra spåret? Vad händer om det finns 500 personer i tåget och det finns en liten chans att tåget kommer att hoppa ut ur skenorna, eventuellt döda passagerarna och de tre personerna på banan? Skulle du döda de tre personerna om det skulle innebära att spåret var tillräckligt bra för att säkerställa att tusentals människor i den närmaste staden skulle vara välmående, vilket beror på de varor som togs med tåg?

    För att kunna bedöma en risk måste du kunna märka den. Sensorer är sällan perfekta. CPU-effekten är begränsad. Algoritmer är begränsade. Om tre personer ser ett brott får du fyra historier. Varför? Eftersom vår hjärna får 100 miljoner bitar av information varje sekund från kroppssensorerna, men bara 40 av dem gör det till vårt medvetande - vi skulle bli helt överväldigade om vi skulle ta itu med allting. Så informationen blir komprimerad. Ibland går viktiga delar bort. Dessa delar återskapas med sunt förnuft och minnen utan att vi någonsin märker. Kan vi bygga en robot som gör det bättre eller vill den artificiella hjärnan steka sig på några minuter?

    Det finns alltid hörnfall. Det finns sociala regler. Samhället bryr sig inte om en känd robot dödas men hur är roboten? Vad sägs om roboträttrörelsen? Hur många av dessa sociala regler kan en robot veta? Eller kanske de vet mer regler än vad någon människa någonsin kunde förstå och således agera på sätt som ingen människa kunde förstå?

    Kom alltid ihåg att saker aldrig är perfekta. Du har alltid en balans mellan fördelar och nackdelar. Om roboten kan bearbeta mycket information kan resonemanget bakom det bara vara grundt. Om det är en djuptänkare måste mängden information vara begränsad.

    Har det mål eller en dold agenda (Tänk på HAL 2001?)

    Transform syndrom: Om roboten hade utvecklats, hur lätt är kommunikationen med en människa? Så småningom kommer människor att vara som myror till roboten: Primitiva, enkla, små, men det är fortfarande svårt att få myror att bygga en skyskrapa.

        
    svaret ges 20.02.2012 15:06
    1

    En alternativ tagning (jag brukar försöka titta på saker från andra sidan om möjligt) skulle vara att göra det från Robots synvinkel. Det är inte det, inte ens han, men jag .

    Håll nu dina hästar stramare bara en sekund tack, jag vet att det redan är ett ganska känt arbete av en ganska berömd polymat vars titel tycks ha täckt exakt vad jag föreslår, men överväga denna potentiella öppning. . . .

    The beginning? Well, the first thing I can remember is my blocks. I had three blocks at first. And I could put one on top of another one. And I could put one next to another one. And if I wanted to I could put one behind another one. And I could make a tower with all three.

    . . . . ett avlägset spår av ett koordineringstest för motoruppfattning?

        
    svaret ges 25.04.2012 11:14
    1

    Du är överkomplicerad här:

    Första lagen

    391.133

    Andra lagen

    391.133

    Tredje lagen

    391.133

    Observera: om du inte kan berätta är det här ett dumt svar. Bli inte alltför upptagen på min blandning C ++ med BASIC eller med semikolon på fel ställe, okej?

        
    svaret ges 01.08.2015 11:42