From fc4492e03d0df77a4e7e53edfbec61a7977ad504 Mon Sep 17 00:00:00 2001 From: Andrew John Dougherty Date: Thu, 19 Nov 2020 11:34:47 -0500 Subject: [PATCH] Initial commit. --- part1.pl | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ to.do | 86 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 185 insertions(+) create mode 100644 part1.pl create mode 100644 to.do diff --git a/part1.pl b/part1.pl new file mode 100644 index 0000000..74e7c2b --- /dev/null +++ b/part1.pl @@ -0,0 +1,99 @@ +%% from /game/media/storage-sshfs/all/[Des_Conway]_The_Home_Security_Handbook(b-ok.org).pdf + +physicalSecurity :- + Definitions = [ + 'vulnerability is the vector by which a threat harms us', + 'threat is any occurrence that causes harm', + 'risk is extent of exposure to threats', + 'impact of a threat is a a measure of the damage sustained if the threat happens', + 'likelihood is the frequency of the exposure to a threat', + 'countermeasure is something that can be done to improve safety and security' + ]. + +genls([impact,likelihood],risk). +genls([vulnerability,threat,risk],item). +genls([person,property,facility],target). + +%% isa(V,vulnerability). +%% isa(T,threat). +%% hasThreat(V,T). +argIsa(hasThreat/2,1,vulnerability). +argIsa(hasThreat/2,2,threat). + +%% isa(L,likelihood). +%% hasRisk(T,likelihood(L)). +%% isa(I,impact). +%% hasRisk(T,impact(I)). +argIsa(hasRisk/2,1,threat). +argIsa(hasRisk/2,2,risk). + +%% isa(Pe,person). +%% isa(Pr,property). +%% isa(F,facility). +%% isExposedToThreat(Pe,T). +%% isExposedToThreat(Pr,T2). +%% isExposedToThreat(F,T3). +argIsa(isExposedToThreat/2,1,target). +argIsa(isExposedToThreat/2,2,threat). + + +increaseCausally(done(C,E),and(safety(S),security(S))) :- + isa(C,countermeasure), + appliesTo(C,S). + +%% hasCountermeasure(V,C). +%% hasCountermeasure(T,C). +%% hasCountermeasure(L,C). +%% hasCountermeasure(I,C). +argIsa(hasCountermeasure/2,1,item). +argIsa(hasCountermeasure/2,2,countermeasure). + + +hasCountermeasureTypes(T,[ + ignoreItHopeItGoesAway, + takeActionTo(reduce,L,A), + takeActionTo(reduce,I,A), + takeActionTo(avoid,L,A), + takeActionTo(avoid,I,A), + takeActionTo(remove,T,A) + ]). + +hasCountermeasure(T,C). +isa(R,reason). +neg(isAppropriate(C,T,R)). +neg(isAcceptable(C,T,R)). + +moreAcceptableThan(C1,C2). +moreSensibleThan(C1,C2). + +isUnrealistic(C,T). +isFoolhardy(C,T). + +courseOfAction. + +genls([additionalThreat,modifiedThreat],threat). + +arg2Isa(hasAdditionalThreat/2,additionalThreat). +isa(AdditionalThreat,additionalThreat) :- + foreach(member(Threat,Threats),isa(Threat,threat)), + SetOfThreats = setFn(Threats), + hasAdditionalThreat(SetOfThreats,AdditionalThreat), + isa(AdditionalThreat,threat). + +arg2Isa(hasModifiedThreat/2,modifiedThreat). +isa(ModifiedThreat,modifiedThreat) :- + foreach(member(Threat,Threats),isa(Threat,threat)), + SetOfThreats = setFn(Threats), + hasModifiedThreat(SetOfThreats,ModifiedThreat), + isa(ModifiedThreat,threat). + +hasCircumstances(Pe,Circumstances) :- + foreach(member(Circumstance,Circumstances),isa(Circumstances,circumstance)). + +hasPrimaryObjective(User, + [ + findall(X,genls(X,threat),SortsOfThreats), + 'recognize all additional and/or modified threats to which we are vulnerable due to our circumstances' + %% foreach(SetOfThreats,(isa(SetOfThreats,setTFn( + ]). + diff --git a/to.do b/to.do new file mode 100644 index 0000000..e827b93 --- /dev/null +++ b/to.do @@ -0,0 +1,86 @@ +(This is a course I put together in 1 hour, it's going to look that way :) +(it's looking like a shallow survey course on different topics in KRR) + +(https://dai.fmph.uniba.sk/~sefranek/kri/handbook/handbook_of_kr.pdf) +(https://www.cin.ufpe.br/~mtcfa/files/in1122/Knowledge%20Representation%20and%20Reasoning.pdf) +(https://www.seas.upenn.edu/~cis700dr/Spring19/slides/Lec3-R-1-30-2019.pdf) + +(introduction to logic ltl + (https://www.math.ucla.edu/~ynm/lectures/lnl.pdf) + ) +(logic) +(proof theory + (proofs that the square root of 2 is irrational) + ) +(set theory) +(tarskian semantics) +(model theory) +(modal logic) +(defeasible logic) +(epistemic logic) +(autoepistemic logic + (assert ) + (assert ) + (must therefore retract ) + ) +(event calc) +(sit calc) +(fluent calc + (FLUX + (https://github.com/aindilis/flux-frdcsa) + ) + ) +(temporal logic + (PDDL 2.2 strips/adl) + ) +(logic forms + (free logic form) + ) +(neodavidsonian logic forms + (http://www.coli.uni-saarland.de/courses/incsem-12/neodavidsonian.pdf) + ) +(computational semantics + (candc-tools) + ) + +(Some prolog KRR programs + (shanahan.pl Murray Shanahan's Abductive Event Calculus reasoner) + (pttp.pl PTTP Prolog Technology Theorem Prover) + (Robert Sasak's: Prolog PDDL parser and planner + (https://github.com/RobertSasak/Prolog-Planning-Library) + ) + (Marty's Interactive Fiction Engine + (https://github.com/logicmoo/logicmoo_nlu/blob/master/prolog/marty_white/README.md) + ) + (mprolog - modal logic) + ) + +(PrologCYC + + ) + +(commonsense reasoning + (https://www.seas.upenn.edu/~cis700dr/Spring19/) + (FraCaS + (https://nlp.stanford.edu/~wcmac/downloads/fracas.xml) + + ) + ) + +(natural language processing + + ) + +(formal verification) + +(LogicMOO + () + ) + +(Risk Ontology + (part1.pl) + ) + +(MegaMath + + )