Abductive logic programming

These problems can be either observations that need to be explained (as in classical abduction) or goals to be achieved (as in normal logic programming).where: Normally, the logic program P does not contain any clauses whose head (or conclusion) refers to an abducible predicate.The clauses in P define a set of non-abducible predicates and through this they provide a description (or model) of the problem domain.A problem, G, which expresses either an observation that needs to be explained or a goal that is desired, is represented by a conjunction of positive and negative (NAF) literals.Thus abductive explanations extend the logic program P by the addition of full or partial definitions of the abducible predicates.The abductive logic program below describes a simple model of the lactose metabolism of the bacterium E. coli.The program, P, describes (in its first rule) that E. coli can feed on the sugar lactose if it makes two enzymes permease and galactosidase.This goal has two abductive explanations: The decision which of the two to adopt could depend on additional information that is available, e.g. it may be known that when the level of glucose is low then the organism exhibits a certain behaviour – in the model such additional information is that the temperature of the organism is low – and by observing the truth or falsity of this it is possible to choose the first or second explanation respectively.[3] Conversely, it is possible to simulate abduction in ALP using negation as failure with the stable model semantics.This technique for simulating abduction is commonly used in answer set programming to solve problems using a generate and test methodology.The formal semantics of the central notion of an abductive explanation in ALP can be defined in the following way.of ground atoms on abducible predicates such that: This definition leaves open the choice of the underlying semantics of logic programming through which we give the exact meaning of the entailment relationis consistent, can be sufficient, meaning that there exists at least one model (possible ensuing world) of the extended program where the integrity constraints hold.In practice, in many cases, these two ways of formalizing the role of the integrity constraints coincide as the logic program and its extensions always have a unique model.Most of the implementations of ALP extend the SLD resolution-based computational model of logic programming.
knowledge-representationabductive reasoninglogic programmingplanningmachine learningnegation as failurefirst-order classical formulaeintegrity constraintsdefault reasoningstable model semanticsanswer set programmingconsistentInductive logic programmingToni, F.Journal of Logic and ComputationCiteSeerXKowalski, R.A.Journal of Logic ProgrammingArtificial IntelligenceProgramming paradigmsComparison by languageImperativeStructuredJackson structuresBlock-structuredModularNon-structuredProceduralProgramming in the large and in the smallDesign by contractInvariant-basedNested functionObject-orientedcomparisonClass-basedPrototype-basedObject-basedImmutable objectPersistentUniform Function Call SyntaxDeclarativeFunctionalRecursiveAnonymous functionPartial applicationHigher-orderPurely functionalStrictDependent typesFunctional logicPoint-free styleExpression-orientedApplicativeConcatenativeFunction-levelValue-levelDataflowFlow-basedReactiveFunctional reactiveSignalsStreamsSynchronousAnswer setConstraintConstraint logicInductive logicNondeterministicOntologyProbabilistic logicAlgebraic modelingAutomata-basedActionCommandSpacecraftDifferentiableEnd-userGrammar-orientedInterface descriptionLanguage-orientedList comprehensionLow-codeModelingNatural languageNon-English-basedPage descriptionfiltersProbabilisticQuantumScientificScriptingSet-theoreticSimulationStack-basedSystemTactileTemplatingTransformationGraph rewritingProductionPatternVisualConcurrentdistributedparallelActor-basedAutomatic mutual exclusionChoreographic programmingConcurrent logicConcurrent constraint logicConcurrent OOMacroprogrammingMultitier programmingOrganic computingParallel programming modelsPartitioned global address spaceProcess-orientedRelativistic programmingService-orientedStructured concurrencyMetaprogrammingAttribute-orientedAutomaticInductiveDynamicExtensibleGenericHomoiconicityInteractiveHygienicMetalinguistic abstractionMulti-stageProgram synthesisBayesianInferentialby demonstrationby exampleReflectiveSelf-modifying codeSymbolicTemplateSeparationof concernsAspectsComponentsData-drivenData-orientedEvent-drivenFeaturesIntentionalLiterateSubjects