AIMA.Core.Logic.FOL.Inference.FOLModelElimination.createChainsFromClauses C# (CSharp) Метод

createChainsFromClauses() публичный Метод

public createChainsFromClauses ( List clauses ) : List
clauses List
Результат List
        public List<Chain> createChainsFromClauses(List<Clause> clauses)
        {
            List<Chain> chains = new List<Chain>();

            foreach (Clause c in clauses)
            {
                Chain chn = new Chain(c.getLiterals());
                chn.setProofStep(new ProofStepChainFromClause(chn, c));
                chains.Add(chn);
                chains.AddRange(chn.getContrapositives());
            }

            return chains;
        }

Usage Example

Пример #1
0
            public AnswerHandler(FOLKnowledgeBase kb, Sentence aQuery,
                                 long maxQueryTime, FOLModelElimination folModelElimination)
            {
                finishTime = System.DateTime.UtcNow.Ticks + maxQueryTime;

                Sentence refutationQuery = new NotSentence(aQuery);

                // Want to use an answer literal to pull
                // query variables where necessary
                Literal answerLiteral = kb.createAnswerLiteral(refutationQuery);

                answerLiteralVariables = kb.collectAllVariables(answerLiteral
                                                                .getAtomicSentence());

                // Create the Set of Support based on the Query.
                if (answerLiteralVariables.Count > 0)
                {
                    Sentence refutationQueryWithAnswer = new ConnectedSentence(
                        Connectors.OR, refutationQuery, (Sentence)answerLiteral
                        .getAtomicSentence().copy());

                    sos = folModelElimination.createChainsFromClauses(kb
                                                                      .convertToClauses(refutationQueryWithAnswer));

                    answerChain.addLiteral(answerLiteral);
                }
                else
                {
                    sos = folModelElimination.createChainsFromClauses(kb
                                                                      .convertToClauses(refutationQuery));
                }

                foreach (Chain s in sos)
                {
                    s.setProofStep(new ProofStepGoal(s));
                }
            }
All Usage Examples Of AIMA.Core.Logic.FOL.Inference.FOLModelElimination::createChainsFromClauses