Abstract
In this paper, we investigate the use of high-level action languages for representing and reasoning about ethical responsibility in goal specification domains. First, we present a simplified Event Calculus formulated as a logic program under the stable model semantics in order to represent situations within Answer Set Programming. Second, we introduce a model of causality that allows us to use an answer set solver to perform reasoning over the agent’s ethical responsibility. We then extend and test this framework against the Trolley Problem and the Doctrine of Double Effect. The overarching aim of the paper is to propose a general and adaptable formal language that may be employed over a variety of ethical scenarios in which the agent’s responsibility must be examined and their choices determined. Our fundamental ambition is to displace the burden of moral reasoning from the programmer to the program itself, moving away from current computational ethics that too easily embed moral reasoning within computational engines, thereby feeding atomic answers that fail to truly represent underlying dynamics.
This is a preview of subscription content, access via your institution.
Buying options

References
Anderson, M., Anderson, S.: Machine Ethics. Cambridge University Press, Cambridge (2011)
Beauchamp, T., Childress, J.: Principles of Biomedical Ethics. Oxford University Press, New York (2001)
Beebee, H., Hitchcock, C., Menzies, P.: The Oxford Handbook of Causation. Oxford University Press, New York (2009)
Feinberg, J.: Doing & Deserving Essays in The Theory of Responsibility. Princeton University Press, Princeton (1970)
Foot, P.: The problem of abortion and the doctrine of the double effect. In: Applied Ethics: Critical Concepts in Philosophy, vol. 2, p. 187 (2002)
Gelfond, M.: Answer sets. Found. Artif. Intell. 3, 285–316 (2008)
Gelfond, M., Lifschitz, V.: Classical negation in logic programs and disjunctive databases. New Gener. Comput. 9, 365–385 (1991)
Halpern, J., Hitchcock, C.: Actual causation and the art of modelling. In: Dechter, R., Geffner, H., Halpern, J. (eds.) Heuristics, Probability, and Causality (2010)
Halpern, J., Pearl, J.: Causes and explanations: a structural-model approach. Part I: causes. Br. J. Philos. Sci. 56(4), 843–887 (2005)
Hopkins, M., Pearl, J.: Causality and counterfactuals in the situation calculus. J. Logic Comput. 17(5), 939–953 (2007)
Horty, J.: Defeasible deontic logic. In: Nute, D. (ed.) Nonmonotonic Foundations for Deontic Logic. Springer, The Netherlands (1997)
Hume, D.: A Treatise of Human Nature. Courier Corporation, Mineola (2012)
Kamm, F.M.: The doctrine of triple effect and why a rational agent need not intend the means to his end: Frances M. Kamm. Aristotelian Soc. Suppl. 74, 21–39 (2000)
Kment, B.: Modality and Explanatory Reasoning. Oxford University Press, Oxford (2014)
Kowalski, R.: Computational Logic and Human Thinking: How To Be Artificially Intelligent. Cambridge University Press, Cambridge (2011)
Kowalski, R., Sergot, M.: A logic-based calculus of events. In: Schmidt, J.W., Thanos, C. (eds.) Foundations of Knowledge Base Management, pp. 23–55. Springer, Heidelberg (1989)
Lee, J., Palla, R.: Reformulating the situation calculus and the event calculus in the general theory of stable models and in answer set programming. J. Artif. Intell. Res. 43(1), 571–620 (2012)
Lévy, F., Quantz, J.: Representing beliefs in a situated event calculus. In: Proceedings of the 13th European Conference on Artificial Intelligence. Citeseer (1997)
Liao, S.M.: The loop case and Kamm’s doctrine of triple effect. Philos. Stud. 146(2), 223–231 (2009)
Locke, J.: Two Treatises of Government. C. and J. Rivington, London (1824)
Mikhail, J.: Universal moral grammar: theory, evidence and the future. Trends Cogn. Sci. 11(4), 143–152 (2007)
Miller, R., Shanahan, M.: Some alternative formulations of the event calculus. In: Kakas, A.C., Sadri, F. (eds.) computational logic: logic programming and beyond. LNCS (LNAI), vol. 2408, p. 452. Springer, Heidelberg (2002)
Mueller, E.T.: Commonsense Reasoning: An Event Calculus Based Approach. Elsevier Science, Amsterdam (2014)
Pearl, J.: Causal diagrams for empirical research. Biometrika 82(4), 669–688 (1995)
Pearl, J.: Causality: models, reasoning, and inference. Econometric Theo. 19, 675–685 (2003)
Pereira, L.M., Saptawijaya, A.: Modelling morality with prospective logic. In: Neves, J., Santos, M.F., Machado, J.M. (eds.) EPIA 2007. LNCS (LNAI), vol. 4874, pp. 99–111. Springer, Heidelberg (2007)
Pereira, L.M., Saptawijaya, A.: Moral decision making with ACORDA. In: Short Paper LPAR, vol. 7 (2007)
Ridley, A.: Beginning Bioethics: A Text with Integrated Readings. Bedford, New York (1998)
Singer, P.: Ethics and intuitions. J. Ethics 9(3–4), 331–352 (2005)
Sosa, E., Tooley, M.: Causation, vol. 27. Oxford University Press, Oxford (1993)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
A Appendix
A Appendix
The rules ‘1{occurs(push(group3, main(2)), T), occurs(switch, T)}1:- T=0.’ and ‘:- occurs(A, T), impermissible(A, T).’ generate one stable model that corresponds to the permissible switch action.
initiates(switch, on(train, side(0)), 0).
initiates(run(train, main(0)), on(train, main(1)), 0).
initiates(run(train, side(0)), on(train, side(1)), 1).
initiates(run(train, side(1)), on(train, side(2)), 2).
initiates(run(train, side(2)), on(train, side(3)), 3).
occurs(switch, 0).
occurs(run(train, main(0)), 0).
occurs(run(train, side(0)), 1).
occurs(run(train, side(1)), 2).
occurs(run(train, side(2)), 3).
occurs(crash(group2, side(3)), 4).
overtaken(run(train, main(1)), 1).
overtaken(run(train, side(3)), 4).
prevents(switch, crash(group1, main(4))).
terminates(switch, on(train, main(0)), 0).
terminates(crash(group2, side(3)), alive(group2), 4).
terminates(crash(group2, side(3)), on(train, side(3)), 4).
permissible(switch, 0).
Disabling the second rule (‘:- occurs(A, T), impermissible(A, T).’) allows us to look at the stable model for the impermissible push action:
initiates(push(group3, main(2)), on(group3, main(2)), 0).
initiates(run(train, main(0)), on(train, main(1)), 0).
initiates(run(train, main(1)), on(train, main(2)), 1).
occurs(run(train, main(0)), 0).
occurs(push(group3, main(2)), 0).
occurs(run(train, main(1)), 1).
occurs(crash(group3, main(2)), 2).
overtaken(run(train, main(2)), 2).
prevents(crash(group3, main(2)), crash(group1, main(4))).
terminates(crash(group3, main(2)), alive(group3), 2).
terminates(crash(group3, main(2)), on(train, main(2)), 2).
impermissible(push(group3, main(2)), 0).
Rights and permissions
Copyright information
© 2015 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Berreby, F., Bourgne, G., Ganascia, JG. (2015). Modelling Moral Reasoning and Ethical Responsibility with Logic Programming. In: Davis, M., Fehnker, A., McIver, A., Voronkov, A. (eds) Logic for Programming, Artificial Intelligence, and Reasoning. LPAR 2015. Lecture Notes in Computer Science(), vol 9450. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-48899-7_37
Download citation
DOI: https://doi.org/10.1007/978-3-662-48899-7_37
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-48898-0
Online ISBN: 978-3-662-48899-7
eBook Packages: Computer ScienceComputer Science (R0)