Inconsistency Robustness for Logic Programs
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Deduction Systems Based on Resolution, We Limit the Following Considerations to Transition Systems Based on Analytic Calculi
Author’s Address Norbert Eisinger European Computer–Industry Research Centre, ECRC Arabellastr. 17 D-8000 M¨unchen 81 F. R. Germany [email protected] and Hans J¨urgen Ohlbach Max–Planck–Institut f¨ur Informatik Im Stadtwald D-6600 Saarbr¨ucken 11 F. R. Germany [email protected] Publication Notes This report appears as chapter 4 in Dov Gabbay (ed.): ‘Handbook of Logic in Artificial Intelligence and Logic Programming, Volume I: Logical Foundations’. It will be published by Oxford University Press, 1992. Fragments of the material already appeared in chapter two of Bl¨asis & B¨urckert: Deduction Systems in Artificial Intelligence, Ellis Horwood Series in Artificial Intelligence, 1989. A draft version has been published as SEKI Report SR-90-12. The report is also published as an internal technical report of ECRC, Munich. Acknowledgements The writing of the chapters for the handbook has been a highly coordinated effort of all the people involved. We want to express our gratitude for their many helpful contributions, which unfortunately are impossible to list exhaustively. Special thanks for reading earlier drafts and giving us detailed feedback, go to our second reader, Bob Kowalski, and to Wolfgang Bibel, Elmar Eder, Melvin Fitting, Donald W. Loveland, David Plaisted, and J¨org Siekmann. Work on this chapter started when both of us were members of the Markgraf Karl group at the Universit¨at Kaiserslautern, Germany. With our former colleagues there we had countless fruitful discus- sions, which, again, cannot be credited in detail. During that time this research was supported by the “Sonderforschungsbereich 314, K¨unstliche Intelligenz” of the Deutsche Forschungsgemeinschaft (DFG). -
Ubuntu Kung Fu
Prepared exclusively for Alison Tyler Download at Boykma.Com What readers are saying about Ubuntu Kung Fu Ubuntu Kung Fu is excellent. The tips are fun and the hope of discov- ering hidden gems makes it a worthwhile task. John Southern Former editor of Linux Magazine I enjoyed Ubuntu Kung Fu and learned some new things. I would rec- ommend this book—nice tips and a lot of fun to be had. Carthik Sharma Creator of the Ubuntu Blog (http://ubuntu.wordpress.com) Wow! There are some great tips here! I have used Ubuntu since April 2005, starting with version 5.04. I found much in this book to inspire me and to teach me, and it answered lingering questions I didn’t know I had. The book is a good resource that I will gladly recommend to both newcomers and veteran users. Matthew Helmke Administrator, Ubuntu Forums Ubuntu Kung Fu is a fantastic compendium of useful, uncommon Ubuntu knowledge. Eric Hewitt Consultant, LiveLogic, LLC Prepared exclusively for Alison Tyler Download at Boykma.Com Ubuntu Kung Fu Tips, Tricks, Hints, and Hacks Keir Thomas The Pragmatic Bookshelf Raleigh, North Carolina Dallas, Texas Prepared exclusively for Alison Tyler Download at Boykma.Com Many of the designations used by manufacturers and sellers to distinguish their prod- ucts are claimed as trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals. The Pragmatic Starter Kit, The Pragmatic Programmer, Pragmatic Programming, Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers, LLC. -
A Universal Modular ACTOR Formalism for Artificial
Artificial Intelligence A Universal Modular ACTOR Formalism for Artificial Intelligence Carl Hewitt Peter Bishop Richard Steiger Abstract This paper proposes a modular ACTOR architecture and definitional method for artificial intelligence that is conceptually based on a single kind of object: actors [or, if you will, virtual processors, activation frames, or streams]. The formalism makes no presuppositions about the representation of primitive data structures and control structures. Such structures can be programmed, micro-coded, or hard wired 1n a uniform modular fashion. In fact it is impossible to determine whether a given object is "really" represented as a list, a vector, a hash table, a function, or a process. The architecture will efficiently run the coming generation of PLANNER-like artificial intelligence languages including those requiring a high degree of parallelism. The efficiency is gained without loss of programming generality because it only makes certain actors more efficient; it does not change their behavioral characteristics. The architecture is general with respect to control structure and does not have or need goto, interrupt, or semaphore primitives. The formalism achieves the goals that the disallowed constructs are intended to achieve by other more structured methods. PLANNER Progress "Programs should not only work, but they should appear to work as well." PDP-1X Dogma The PLANNER project is continuing research in natural and effective means for embedding knowledge in procedures. In the course of this work we have succeeded in unifying the formalism around one fundamental concept: the ACTOR. Intuitively, an ACTOR is an active agent which plays a role on cue according to a script" we" use the ACTOR metaphor to emphasize the inseparability of control and data flow in our model. -
An User & Developer Perspective on Immutable Oses
An User & Developer Perspective on Dario Faggioli Virtualization SW. Eng. @ SUSE Immutable OSes [email protected] dariof @DarioFaggioli https://dariofaggioli.wordpress.com/ https://about.me/dario.faggioli About Me What I do ● Virtualization Specialist Sw. Eng. @ SUSE since 2018, working on Xen, KVM, QEMU, mostly about performance related stuff ● Daily activities ⇒ how and what for I use my workstation ○ Read and send emails (Evolution, git-send-email, stg mail, ...) ○ Write, build & test code (Xen, KVM, Libvirt, QEMU) ○ Work with the Open Build Service (OBS) ○ Browse Web ○ Test OSes in VMs ○ Meetings / Video calls / Online conferences ○ Chat, work and personal ○ Some 3D Printing ○ Occasionally play games ○ Occasional video-editing ○ Maybe scan / print some document 2 ● Can all of the above be done with an immutable OS ? Immutable OS: What ? Either: ● An OS that you cannot modify Or, at least: ● An OS that you will have an hard time modifying What do you mean “modify” ? ● E.g., installing packages ● ⇒ An OS on which you cannot install packages ● ⇒ An OS on which you will have an hard time installing packages 3 Immutable OS: What ? Seriously? 4 Immutable OS: Why ? Because it will stay clean and hard to break ● Does this sound familiar? ○ Let’s install foo, and it’s dependency, libfoobar_1 ○ Let’s install bar (depends from libfoobar_1, we have it already) ○ Actually, let’s add an external repo. It has libfoobar_2 that makes foo work better! ○ Oh no... libfoobar_2 would break bar!! ● Yeah. It happens. Even in the best families distros -
Downloads." the Open Information Security Foundation
Performance Testing Suricata The Effect of Configuration Variables On Offline Suricata Performance A Project Completed for CS 6266 Under Jonathon T. Giffin, Assistant Professor, Georgia Institute of Technology by Winston H Messer Project Advisor: Matt Jonkman, President, Open Information Security Foundation December 2011 Messer ii Abstract The Suricata IDS/IPS engine, a viable alternative to Snort, has a multitude of potential configurations. A simplified automated testing system was devised for the purpose of performance testing Suricata in an offline environment. Of the available configuration variables, seventeen were analyzed independently by testing in fifty-six configurations. Of these, three variables were found to have a statistically significant effect on performance: Detect Engine Profile, Multi Pattern Algorithm, and CPU affinity. Acknowledgements In writing the final report on this endeavor, I would like to start by thanking four people who made this project possible: Matt Jonkman, President, Open Information Security Foundation: For allowing me the opportunity to carry out this project under his supervision. Victor Julien, Lead Programmer, Open Information Security Foundation and Anne-Fleur Koolstra, Documentation Specialist, Open Information Security Foundation: For their willingness to share their wisdom and experience of Suricata via email for the past four months. John M. Weathersby, Jr., Executive Director, Open Source Software Institute: For allowing me the use of Institute equipment for the creation of a suitable testing -
Mutation COS 326 Speaker: Andrew Appel Princeton University
Mutation COS 326 Speaker: Andrew Appel Princeton University slides copyright 2020 David Walker and Andrew Appel permission granted to reuse these slides for non-commercial educational purposes C structures are mutable, ML structures are immutable C program OCaml program let fst(x:int,y:int) = x struct foo {int x; int y} *p; let p: int*int = ... in int a,b,u; let a = fst p in a = p->x; let u = f p in u = f(p); let b = fst p in b = p->x; xxx (* does a==b? Yes! *) /* does a==b? maybe */ 2 Reasoning about Mutable State is Hard mutable set immutable set insert i s1; let s1 = insert i s0 in f x; f x; member i s1 member i s1 Is member i s1 == true? … – When s1 is mutable, one must look at f to determine if it modifies s1. – Worse, one must often solve the aliasing problem. – Worse, in a concurrent setting, one must look at every other function that any other thread may be executing to see if it modifies s1. 3 Thus far… We have considered the (almost) purely functional subset of OCaml. – We’ve had a few side effects: printing & raising exceptions. Two reasons for this emphasis: – Reasoning about functional code is easier. • Both formal reasoning – equationally, using the substitution model – and informal reasoning • Data structures are persistent. – They don’t change – we build new ones and let the garbage collector reclaim the unused old ones. • Hence, any invariant you prove true stays true. – e.g., 3 is a member of set S. -
By Robert Kowalski
Edinburgh Research Explorer Review of "Computational logic and human thinking: How to be artificially intelligent" by Robert Kowalski Citation for published version: Bundy, A 2012, 'Review of "Computational logic and human thinking: How to be artificially intelligent" by Robert Kowalski', Artificial Intelligence, vol. 191-192, pp. 96-97. https://doi.org/10.1016/j.artint.2012.05.006 Digital Object Identifier (DOI): 10.1016/j.artint.2012.05.006 Link: Link to publication record in Edinburgh Research Explorer Document Version: Early version, also known as pre-print Published In: Artificial Intelligence General rights Copyright for the publications made accessible via the Edinburgh Research Explorer is retained by the author(s) and / or other copyright owners and it is a condition of accessing these publications that users recognise and abide by the legal requirements associated with these rights. Take down policy The University of Edinburgh has made every reasonable effort to ensure that Edinburgh Research Explorer content complies with UK legislation. If you believe that the public display of this file breaches copyright please contact [email protected] providing details, and we will remove access to the work immediately and investigate your claim. Download date: 27. Sep. 2021 Review of \Computational Logic and Human Thinking: How to be Artificially Intelligent" by Robert Kowalski Alan Bundy School of Informatics, University of Edinburgh, Informatics Forum, 10 Crichton St, Edinburgh, EH8 9AB, Scotland 1 August 2012 Abstract This is a review of the book \Computational Logic and Human Thinking: How to be Artificially Intelligent" by Robert Kowalski. Keywords: computational logic, human thinking, book review. -
An Algebraic Theory of Actors and Its Application to a Simple Object-Based Language
An Algebraic Theory of Actors and Its Application to a Simple Object-Based Language Gul Agha and Prasanna Thati University of Illinois at Urbana-Champaign, USA {agha,thati}@cs.uiuc.edu http://osl.cs.uiuc.edu/ 1 Introduction The development of Simula by Ole-Johan Dahl and Kristen Nygaard introduced a number of important programming language concepts – object which supports modularity in programming through encapsulation of data and procedures, the concept of class which organizes behavior and supports Abstract Data Types, and the concept inheritance which provides subtyping relations and reuse [6]. Peter Wegner terms programming languages which use objects as object-based languages, and reserves the term object-oriented languages for languages which also support classes and inheritance [58]. Concurrency provides a natural model for the execution of objects: in fact, Simula uses co-routines to simulate a simple form of concurrency in a sequen- tial execution environment. The resulting execution is tightly synchronized and, while this execution model is appropriate for simulations which use a global virtual clock, it is not an adequate model for distributed systems. The Actor Model unifies the notion of objects with concurrency; an actor is a concurrent object which operates asynchronously and interacts with other actors by sending asynchronous messages [2]. Many models for concurrent and distributed computation have been devel- oped. An early and influential model is Petri Nets developed by Carl Adam Petri [44]. In the Petri Net model, there are two kinds of elements – nodes and tokens. Nodes are connected to other nodes by fixed (static) links. Tokens are passed be- tween nodes using these links. -
The Method of Variable Splitting
The Method of Variable Splitting Roger Antonsen Thesis submitted to the Faculty of Mathematics and Natural Sciences at the University of Oslo for the degree of Philosophiae Doctor (PhD) Date of submission: June 30, 2008 Date of public defense: October 3, 2008 Supervisors Prof. Dr. Arild Waaler, University of Oslo Prof. Dr. Reiner H¨ahnle, Chalmers University of Technology Adjudication committee Prof. Dr. Matthias Baaz, Vienna University of Technology Prof. emer. Dr. Wolfgang Bibel, Darmstadt University of Technology Dr. Martin Giese, University of Oslo Copyright © 2008 Roger Antonsen til mine foreldre, Karin og Ingvald Table of Contents Acknowledgments vii Chapter 1 Introduction 1 1.1 Influential Ideas in Automated Reasoning2 1.2 Perspectives on Variable Splitting4 1.3 A Short History of Variable Splitting7 1.4 Delimitations and Applicability 10 1.5 Scientific Contribution 10 1.6 A Few Words of Introduction 11 1.7 Notational Conventions and Basics 12 1.8 The Contents of the Thesis 14 Chapter 2 A Tour of Rules and Inferences 15 2.1 Ground Sequent Calculus 16 2.2 Free-variable Sequent Calculus 17 2.3 Another Type of Redundancy 19 2.4 Variable-Sharing Calculi and Variable Splitting 20 Chapter 3 Preliminaries 23 3.1 Indexing 23 3.2 Indices and Indexed Formulas 24 3.3 The -relation 28 3.4 The Basic Variable-Sharing Calculus 28 3.5 Unifiers and Provability 30 3.6 Permutations 31 3.7 Conformity and Proof Invariance 35 3.8 Semantics 37 3.9 Soundness and Completeness 40 Chapter 4 Variable Splitting 41 4.1 Introductory Examples 41 4.2 Branch Names -
Actorscript™ Extension of C#®, Java®, Objective C®, Javascript ®, and Systemverilog Using Iadaptivetm Concurrency for Anti
ActorScript™ extension of C#®, Java®, Objective C®, JavaScript®, and SystemVerilog using iAdaptiveTM concurrency for antiCloudTM privacy and security Carl Hewitt This article is dedicated to Ole-Johan Dahl and Kristen Nygaard. Message passing using types is the foundation of system communication: Messages are the unit of communication Types enable secure communication Actors ActorScript™ is a general purpose programming language for implementing iAdaptiveTM concurrency that manages resources and demand. It is differentiated from previous languages by the following: Universality o Ability to directly specify exactly what Actors can and cannot do o Everything is accomplished with message passing using types including the very definition of ActorScript itself. Messages can be directly communicated without requiring indirection through brokers, channels, class hierarchies, mailboxes, pipes, ports, queues etc. Programs do not expose low-level implementation mechanisms such as threads, tasks, locks, cores, etc. Application binary interfaces are afforded so that no program symbol need be looked up at runtime. Functional, Imperative, Logic, and Concurrent programs are integrated. A type in ActorScript is an interface that does not name its implementations (contra to object-oriented programming languages beginning with Simula that name implementations called “classes” that are types). ActorScript can send a message to any Actor for which it has an (imported) type. 1 o Concurrency can be dynamically adapted to resources available and current load. Safety, security and readability o Programs are extension invariant, i.e., extending a program does not change the meaning of the program that is extended. o Applications cannot directly harm each other. o Variable races are eliminated while allowing flexible concurrency. -
7. Logic Programming in Prolog
Artificial Intelligence 7. Logic Programming in Prolog Prof. Bojana Dalbelo Baˇsi´c Assoc. Prof. Jan Snajderˇ University of Zagreb Faculty of Electrical Engineering and Computing Academic Year 2019/2020 Creative Commons Attribution{NonCommercial{NoDerivs 3.0 v1.10 Dalbelo Baˇsi´c, Snajderˇ (UNIZG FER) AI { Logic programming AY 2019/2020 1 / 38 Outline 1 Logic programming and Prolog 2 Inference on Horn clauses 3 Programming in Prolog 4 Non-declarative aspects of Prolog Dalbelo Baˇsi´c, Snajderˇ (UNIZG FER) AI { Logic programming AY 2019/2020 2 / 38 Outline 1 Logic programming and Prolog 2 Inference on Horn clauses 3 Programming in Prolog 4 Non-declarative aspects of Prolog Dalbelo Baˇsi´c, Snajderˇ (UNIZG FER) AI { Logic programming AY 2019/2020 3 / 38 Logic programming Logic programming: use of logic inference as a way of programming Main idea: define the problem in terms of logic formulae, then let the computer do the problem solving (program execution = inference) This is a typical declarative programming approach: express the logic of computation, don't bother with the control flow We focus on the description of the problem (declarative), rather than on how the program is executed (procedural) However, we still need some flow control mechanism, thus: Algorithm = Logic + Control Different from automated theorem proving because: 1 explicit control flow is hard-wired into the program 2 not the full expressivity of FOL is supported Dalbelo Baˇsi´c, Snajderˇ (UNIZG FER) AI { Logic programming AY 2019/2020 4 / 38 Refresher: Declarative programming -
Constraint Microkanren in the Clp Scheme
CONSTRAINT MICROKANREN IN THE CLP SCHEME Jason Hemann Submitted to the faculty of the University Graduate School in partial fulfillment of the requirements for the degree Doctor of Philosophy in the Department of School of Informatics, Computing, and Engineering Indiana University January 2020 Accepted by the Graduate Faculty, Indiana University, in partial fulfillment of the require- ments for the degree of Doctor of Philosophy. Daniel P. Friedman, Ph.D. Amr Sabry, Ph.D. Sam Tobin-Hochstadt, Ph.D. Lawrence Moss, Ph.D. December 20, 2019 ii Copyright 2020 Jason Hemann ALL RIGHTS RESERVED iii To Mom and Dad. iv Acknowledgements I want to thank all my housemates and friends from 1017 over the years for their care and support. I’m so glad to have you all, and to have you all over the world. Who would have thought that an old house in Bloomington could beget so many great memories. While I’m thinking of it, thanks to Lisa Kamen and Bryan Rental for helping to keep a roof over our head for so many years. Me encantan mis salseros y salseras. I know what happens in the rueda stays in the rueda, so let me just say there’s nothing better for taking a break from right-brain activity. Thanks to Kosta Papanicolau for his early inspiration in math, critical thinking, and research, and to Profs. Mary Flagg and Michael Larsen for subsequent inspiration and training that helped prepare me for this work. Learning, eh?—who knew? I want to thank also my astounding undergraduate mentors including Profs.