проверки требуют 58 правок.
Три зако́на роботехники в научной фантастике — обязательные правила поведения для роботов, впервые сформулированные Айзеком Азимовым в рассказе «Хоровод» (1942).
Айзек Азимов, 1965
Законы гласят:
Робот не может причинить вред человеку или своим бездействием допустить, чтобы человеку был причинён вред.
Робот должен повиноваться всем приказам, которые даёт человек, кроме тех случаев, когда эти приказы противоречат Первому Закону.
Робот должен заботиться о своей безопасности в той мере, в которой это не противоречит Первому или Второму Законам.
Оригинальный текст (англ.)
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.
Трём Законам, а также возможным причинам и следствиям их нарушения, посвящён цикл рассказов Азимова о роботах. В некоторых из них, наоборот, рассматриваются непредвиденные последствия соблюдения роботами Трёх Законов (например, «Зеркальное отражение»).
В одном из рассказов цикла персонаж Азимова приходит к заключению об этической основе Трёх Законов: «…если хорошенько подумать, Три Закона роботехники совпадают с основными принципами большинства этических систем, существующих на Земле… попросту говоря, если Байерли исполняет все Законы роботехники, он — или робот, или очень воспитанный человек»[1].
В 1986 году в романе «Роботы и Империя» (англ. Robots and Empire) Азимов предложил Нулевой Закон:
0. Робот не может причинить вред человечеству или своим бездействием допустить, чтобы человечеству был причинён вред.
Оригинальный текст (англ.)
0. A robot may not harm humanity, or, by inaction, allow humanity to come to harm.
Три закона роботехники — объединяющая тема для всей фантастики Азимова, включая не только цикл о роботах, но и некоторые другие произведения.
Для создания алгоритма (программы) необходимо знать:
полный набор исходных данных задачи (начальное состояние объекта);
цель создания алгоритма (конечное состояние объекта);
систему команд исполнителя (то есть набор команд, которые исполнитель понимает и может выполнить).
Полученный алгоритм (программа) должен обладать следующим набором свойств:
дискретность (алгоритм разбит на отдельные шаги - команды);
однозначность (каждая команда определяет единственно возможное действие исполнителя);
понятность (все команды алгоритма входят в систему команд исполнителя);
результативность (исполнитель должен решить задачу за конечное число шагов).
Большая часть алгоритмов обладает также свойством массовости (с одного и того же алгоритма можно решать множество однотипных задач).
2. 2 бита
3. бита 2